diff --git a/C++ProjectTemplate b/C++ProjectTemplate index 13534a7..36b8233 100755 Binary files a/C++ProjectTemplate and b/C++ProjectTemplate differ diff --git a/main.cpp b/main.cpp index ea6c5ff..300b5ce 100644 --- a/main.cpp +++ b/main.cpp @@ -76,7 +76,7 @@ class Object{ int disableFlag; int enableFlag; //animationSpd is how long to wait before switching frames. - Object(int id,std::string name,vi2d pos,Animation*spr,vi2d scale={1,1},Pixel color=WHITE,int animationSpd=1) { + Object(int id,std::string name,vd2d pos,Animation*spr,vd2d scale={1,1},Pixel color=WHITE,int animationSpd=1) { this->spr=spr; this->pos=pos; this->id=id; @@ -183,7 +183,7 @@ public: void updateGame(){ frameCount++; for (auto&obj:OBJECTS) { - if (obj->frameCount++>obj->animationSpd) { + if (obj->animationSpd!=0&&obj->frameCount++>obj->animationSpd) { obj->frameCount=0; obj->frameIndex++; } @@ -504,7 +504,7 @@ public: } } if (enabled) { - Object*newObj = new Object(id,OBJ_INFO[id]->name,{x,y},OBJ_INFO[id]->spr); + Object*newObj = new Object(id,OBJ_INFO[id]->name,{x,y},OBJ_INFO[id]->spr,OBJ_INFO[id]->scale,OBJ_INFO[id]->color,OBJ_INFO[id]->animationSpd); OBJECTS.push_back(newObj); } printf("Object %s Loaded.\n",OBJ_INFO[id]->name.c_str()); @@ -617,21 +617,21 @@ public: return new Decal(new Sprite("assets/"+spriteName)); } - void SetupAnimations() { - SPRITES[PLAYER] = CreateSprite("player.png"); - ANIMATIONS[PLAYER] = new Animation(SPRITES[PLAYER],32); - SPRITES[TILESET1] = CreateSprite("terrainmap.png"); - } - - Object*CreateObject(Reference ref,std::string name,vd2d pos,int enableFlag=Flag::NONE,int disableFlag=Flag::NONE) { - Object*newObj = new Object(ref,name,pos,ANIMATIONS[ref]); + Object*CreateObject(Reference ref,std::string name,vd2d pos,std::string spriteFileName,int sprWidth,vd2d scale={1,1},Pixel tint=WHITE,int enableFlag=Flag::NONE,int disableFlag=Flag::NONE,int animationDelay=0) { + ANIMATIONS[ref] = new Animation(SPRITES[ref]=CreateSprite("player.png"),32); + Object*newObj = new Object(ref,name,pos,ANIMATIONS[ref],scale,tint,animationDelay); newObj->disableFlag=disableFlag; newObj->enableFlag=enableFlag; return newObj; } + + void SetupAnimations() { + SPRITES[TILESET1] = CreateSprite("terrainmap.png"); + } + void SetupObjectInfo() { - OBJ_INFO[PLAYER]=CreateObject(PLAYER,"player",{0,0}); + OBJ_INFO[PLAYER]=CreateObject(PLAYER,"player",{0,0},"player.png",32,{2,2},BLUE); } bool Collision(vd2d pos) {