aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordrumsetmonkey <abelleisle@roadrunner.com>2015-12-16 07:35:55 -0500
committerdrumsetmonkey <abelleisle@roadrunner.com>2015-12-16 07:35:55 -0500
commit983602c87add7161cc82311e690e066f96493c31 (patch)
tree3c4f3bb9eb440e6d78360291138c68c7faa86388
parentbf82dd59140d32f4eb265ae69a44784b5fda116a (diff)
parent2286361ea87b42e73ec2f544265c5fd5e1b5713b (diff)
Stuff
-rw-r--r--Changelog6
-rw-r--r--assets/dirt.pngbin0 -> 578 bytes
-rw-r--r--assets/door.pngbin252 -> 0 bytes
-rw-r--r--assets/maybeplayer.pngbin0 -> 2898 bytes
-rw-r--r--assets/music/ozone.wavbin0 -> 13013036 bytes
-rw-r--r--assets/music/theme.wavbin0 -> 23175212 bytes
-rw-r--r--assets/music/theme_jazz.wavbin0 -> 13193260 bytes
-rw-r--r--include/common.h13
-rw-r--r--include/ui.h11
-rw-r--r--main.cpp20
-rw-r--r--src/common.cpp10
-rw-r--r--src/entities.cpp3
-rw-r--r--src/gameplay.cpp1
-rw-r--r--src/inventory.cpp5
-rw-r--r--src/ui.cpp6
-rw-r--r--src/world.cpp34
-rw-r--r--xcf/dirt.xcfbin0 -> 1239 bytes
-rw-r--r--xcf/door.xcfbin1930 -> 0 bytes
-rw-r--r--xcf/maybeplayer.xcfbin3117 -> 7564 bytes
19 files changed, 68 insertions, 41 deletions
diff --git a/Changelog b/Changelog
index c894c5c..d1fac71 100644
--- a/Changelog
+++ b/Changelog
@@ -420,3 +420,9 @@
- fixed fading bugs
- continued fixing general game bugs
- fixed structure spawn issues
+
+12/15/2015:
+===========
+
+ - began/continued work on original player sprite
+ - began working on dirt textures
diff --git a/assets/dirt.png b/assets/dirt.png
new file mode 100644
index 0000000..04c87b6
--- /dev/null
+++ b/assets/dirt.png
Binary files differ
diff --git a/assets/door.png b/assets/door.png
deleted file mode 100644
index 7db551d..0000000
--- a/assets/door.png
+++ /dev/null
Binary files differ
diff --git a/assets/maybeplayer.png b/assets/maybeplayer.png
new file mode 100644
index 0000000..ee0e49d
--- /dev/null
+++ b/assets/maybeplayer.png
Binary files differ
diff --git a/assets/music/ozone.wav b/assets/music/ozone.wav
new file mode 100644
index 0000000..6cc2416
--- /dev/null
+++ b/assets/music/ozone.wav
Binary files differ
diff --git a/assets/music/theme.wav b/assets/music/theme.wav
new file mode 100644
index 0000000..8b4ea47
--- /dev/null
+++ b/assets/music/theme.wav
Binary files differ
diff --git a/assets/music/theme_jazz.wav b/assets/music/theme_jazz.wav
new file mode 100644
index 0000000..1c62bbc
--- /dev/null
+++ b/assets/music/theme_jazz.wav
Binary files differ
diff --git a/include/common.h b/include/common.h
index 31126d7..08ec73f 100644
--- a/include/common.h
+++ b/include/common.h
@@ -160,4 +160,17 @@ void safeSetColor(int r,int g,int b);
void safeSetColorA(int r,int g,int b,int a);
+/**
+ * We've encountered many problems when attempting to create delays for triggering
+ * the logic function. As a result, we decided on using the timing libraries given
+ * by <chrono> in the standard C++ library. This function simply returns the amount
+ * of milliseconds that have passed sine the epoch.
+ */
+
+#ifdef __WIN32__
+#define millis() SDL_GetTicks()
+#else
+unsigned int millis(void);
+#endif // __WIN32__
+
#endif // COMMON_H
diff --git a/include/ui.h b/include/ui.h
index 5d17c47..6a81dab 100644
--- a/include/ui.h
+++ b/include/ui.h
@@ -1,3 +1,7 @@
+/** @file ui.h
+ * @brief Contains functions for handling the user interface.
+ */
+
#ifndef UI_H
#define UI_H
@@ -12,9 +16,9 @@
namespace ui {
- /*
- * Contains the coordinates of the mouse in the window.
- */
+ /**
+ * Contains the coordinates of the mouse inside the window.
+ */
extern vec2 mouse;
@@ -90,6 +94,7 @@ namespace ui {
void toggleWhiteFast(void);
void waitForCover(void);
+ void waitForNothing(unsigned int);
}
#endif // UI_H
diff --git a/main.cpp b/main.cpp
index 5b9b1b6..a9cc2fa 100644
--- a/main.cpp
+++ b/main.cpp
@@ -4,7 +4,6 @@
*/
#include <cstdio> // fopen
-#include <chrono> // see millis()
#include <common.h>
#include <world.h>
@@ -188,25 +187,6 @@ std::string readFile(const char *filePath) {
vec2 offset; /* OFFSET!!!!!!!!!!!!!!!!!!!! */
-/**
- * millis
- *
- * We've encountered many problems when attempting to create delays for triggering
- * the logic function. As a result, we decided on using the timing libraries given
- * by <chrono> in the standard C++ library. This function simply returns the amount
- * of milliseconds that have passed sine the epoch.
- *
-**/
-
-#ifdef __WIN32__
-#define millis() SDL_GetTicks()
-#else
-unsigned int millis(void){
- std::chrono::system_clock::time_point now=std::chrono::system_clock::now();
- return std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()).count();
-}
-#endif
-
extern WEATHER weather;
extern bool fadeEnable;
diff --git a/src/common.cpp b/src/common.cpp
index a8a964e..7449a35 100644
--- a/src/common.cpp
+++ b/src/common.cpp
@@ -1,7 +1,15 @@
#include <common.h>
#include <cstdio>
+#include <chrono>
-#define DEBUG
+#ifndef __WIN32__
+
+unsigned int millis(void){
+ std::chrono::system_clock::time_point now=std::chrono::system_clock::now();
+ return std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()).count();
+}
+
+#endif // __WIN32__
void DEBUG_prints(const char* file, int line, const char *s,...){
va_list args;
diff --git a/src/entities.cpp b/src/entities.cpp
index 3b8b52b..0df6b17 100644
--- a/src/entities.cpp
+++ b/src/entities.cpp
@@ -83,7 +83,8 @@ Player::Player(){ //sets all of the player specific traits on object creation
subtype = 0;
health = maxHealth = 100;
speed = 1;
- tex = new Texturec(3, "assets/player1.png", "assets/player.png", "assets/player2.png");
+ //tex = new Texturec(3, "assets/player1.png", "assets/player.png", "assets/player2.png");
+ tex = new Texturec(3, "assets/maybeplayer.png", "assets/maybeplayer.png", "assets/maybeplayer.png");
inv = new Inventory(PLAYER_INV_SIZE);
}
Player::~Player(){
diff --git a/src/gameplay.cpp b/src/gameplay.cpp
index 6b62465..284bd78 100644
--- a/src/gameplay.cpp
+++ b/src/gameplay.cpp
@@ -141,6 +141,7 @@ void initEverything(void){
currentWorld = worldSpawnHill1;
+ worldSpawnHill2->addStructure(STRUCTURET,HOUSE,(rand()%120*HLINE),100,worldSpawnHill1,worldSpawnHill2);
worldSpawnHill2->addStructure(STRUCTURET,HOUSE,(rand()%120*HLINE),100,worldSpawnHill1,worldSpawnHill2);
player = new Player();
diff --git a/src/inventory.cpp b/src/inventory.cpp
index 5ae97b4..52ae02c 100644
--- a/src/inventory.cpp
+++ b/src/inventory.cpp
@@ -299,10 +299,10 @@ void itemDraw(Player *p,ITEM_ID id,ITEM_TYPE type){
glBindTexture(GL_TEXTURE_2D,itemtex[id]);
glColor4ub(255,255,255,255);
glBegin(GL_QUADS);
- glTexCoord2i(0,1);glVertex2f(itemLoc.x, itemLoc.y);
+ glTexCoord2i(0,1);glVertex2f(itemLoc.x, itemLoc.y);
glTexCoord2i(1,1);glVertex2f(itemLoc.x+item[id].width,itemLoc.y);
glTexCoord2i(1,0);glVertex2f(itemLoc.x+item[id].width,itemLoc.y+item[id].height);
- glTexCoord2i(0,0);glVertex2f(itemLoc.x, itemLoc.y+item[id].height);
+ glTexCoord2i(0,0);glVertex2f(itemLoc.x, itemLoc.y+item[id].height);
glEnd();
glDisable(GL_TEXTURE_2D);
glTranslatef(player->loc.x*2,0,0);
@@ -341,6 +341,7 @@ int Inventory::useItem(void){
}
break;
default:
+ //hangle++;
break;
}
}
diff --git a/src/ui.cpp b/src/ui.cpp
index 11bc195..08f503f 100644
--- a/src/ui.cpp
+++ b/src/ui.cpp
@@ -464,6 +464,12 @@ namespace ui {
}while(fadeIntensity < 255);
fadeIntensity = 255;
}
+ void waitForNothing(unsigned int ms){
+ unsigned int target = millis() + ms;
+ do{
+ mainLoop();
+ }while(millis() < target);
+ }
void importantText(const char *text,...){
va_list textArgs;
diff --git a/src/world.cpp b/src/world.cpp
index d26b0fb..1e205d1 100644
--- a/src/world.cpp
+++ b/src/world.cpp
@@ -17,13 +17,14 @@ bool worldInside = false; // True if player is inside a structure
WEATHER weather = SUNNY;
-const char *bgPaths[2][6]={
+const char *bgPaths[2][7]={
{"assets/bg.png", // Daytime background
"assets/bgn.png", // Nighttime background
"assets/bgFarMountain.png", // Furthest layer
"assets/forestTileBack.png", // Closer layer
"assets/forestTileMid.png", // Near layer
- "assets/forestTileFront.png"}, // Closest layer
+ "assets/forestTileFront.png", // Closest layer
+ "assets/dirt.png"}, // Dirt
{"assets/bgWoodTile.png",
NULL,
NULL,
@@ -51,7 +52,7 @@ float worldGetYBase(World *w){
void World::setBackground(WORLD_BG_TYPE bgt){
switch(bgt){
case BG_FOREST:
- bgTex = new Texturec(6,bgPaths[0]);
+ bgTex = new Texturec(7,bgPaths[0]);
break;
case BG_WOODHOUSE:
bgTex = new Texturec(1,bgPaths[1]);
@@ -344,13 +345,12 @@ void World::setBGM(const char *path){
}
}
-void World::bgmPlay(World *prev){
- if(!prev || strcmp(bgm,prev->bgm)){
+void World::bgmPlay(World *prev){
+ if(prev && strcmp(bgm,prev->bgm)){
+ Mix_FadeOutMusic(800);
Mix_VolumeMusic(50);
Mix_PlayMusic(bgmObj,-1); // Loop infinitely
- }/*else{
- Mix_FadeOutMusic(800);
- }*/
+ }
}
int worldShade = 0;
@@ -550,20 +550,25 @@ LOOP2:
*/
bool hey=false;
+ glEnable(GL_TEXTURE_2D);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); //for the s direction
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); //for the t direction
+ bgTex->bindNext();
glBegin(GL_QUADS);
for(i=is;i<(unsigned)ie-GEN_INC;i++){
cline[i].y+=(yoff-DRAW_Y_OFFSET); // Add the y offset
if(!cline[i].y){
cline[i].y=base;
hey=true;
- safeSetColor(cline[i].color-100+shade,cline[i].color-150+shade,cline[i].color-200+shade);
+ //safeSetColor(cline[i].color-100+shade,cline[i].color-150+shade,cline[i].color-200+shade);
}else{
- safeSetColor(cline[i].color+shade,cline[i].color-50+shade,cline[i].color-100+shade); // Set the shaded dirt color
+ //safeSetColor(cline[i].color+shade,cline[i].color-50+shade,cline[i].color-100+shade); // Set the shaded dirt color
}
- glVertex2i(cx_start+i*HLINE ,cline[i].y-GRASS_HEIGHT);
- glVertex2i(cx_start+i*HLINE+HLINE,cline[i].y-GRASS_HEIGHT);
- glVertex2i(cx_start+i*HLINE+HLINE,0);
- glVertex2i(cx_start+i*HLINE ,0);
+ glColor4ub(255,255,255,255);
+ glTexCoord2i(0,1);glVertex2i(cx_start+i*HLINE ,cline[i].y-GRASS_HEIGHT);
+ glTexCoord2i(1,1);glVertex2i(cx_start+i*HLINE+HLINE,cline[i].y-GRASS_HEIGHT);
+ glTexCoord2i(1,0);glVertex2i(cx_start+i*HLINE+HLINE,0);
+ glTexCoord2i(0,0);glVertex2i(cx_start+i*HLINE ,0);
cline[i].y-=(yoff-DRAW_Y_OFFSET); // Restore the line's y value
if(hey){
hey=false;
@@ -571,6 +576,7 @@ LOOP2:
}
}
glEnd();
+ glDisable(GL_TEXTURE_2D);
/*
* Draw grass on every line.
diff --git a/xcf/dirt.xcf b/xcf/dirt.xcf
new file mode 100644
index 0000000..6b50981
--- /dev/null
+++ b/xcf/dirt.xcf
Binary files differ
diff --git a/xcf/door.xcf b/xcf/door.xcf
deleted file mode 100644
index e4edc10..0000000
--- a/xcf/door.xcf
+++ /dev/null
Binary files differ
diff --git a/xcf/maybeplayer.xcf b/xcf/maybeplayer.xcf
index 5520815..fb885fc 100644
--- a/xcf/maybeplayer.xcf
+++ b/xcf/maybeplayer.xcf
Binary files differ