[Super-tux-commit] supertux/src gameobjs.cpp,1.17,1.18 gameobjs.h,1.11,1.12 resources.cpp,1.32,1.33
Brought to you by:
wkendrick
From: Ryan F. <sik...@us...> - 2004-05-16 03:28:31
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16389 Modified Files: gameobjs.cpp gameobjs.h resources.cpp world.cpp Log Message: - more game object changes. looks a bit nicer now Index: gameobjs.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/gameobjs.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- gameobjs.cpp 16 May 2004 00:36:58 -0000 1.17 +++ gameobjs.cpp 16 May 2004 03:28:22 -0000 1.18 @@ -216,7 +216,7 @@ #define TRAMPOLINE_FRAMES 4 Sprite *img_trampoline[TRAMPOLINE_FRAMES]; -void load_trampoline_gfx() +void load_object_gfx() { for (int i = 0; i < TRAMPOLINE_FRAMES; i++) { @@ -231,12 +231,15 @@ { base.x = x; base.y = y; + + base.height = 32; } void Trampoline::action(double frame_ratio) { (void) frame_ratio; + physic.apply(frame_ratio, base.x, base.y); // TODO: // If HELD // - move with tux Index: world.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/world.cpp,v retrieving revision 1.93 retrieving revision 1.94 diff -u -d -r1.93 -r1.94 --- world.cpp 16 May 2004 02:07:26 -0000 1.93 +++ world.cpp 16 May 2004 03:28:22 -0000 1.94 @@ -32,6 +32,7 @@ #include "level.h" #include "tile.h" #include "resources.h" +#include "gameobjs.h" Surface* img_distro[4]; @@ -166,7 +167,7 @@ for (std::vector< ObjectData<TrampolineData> >::iterator i = level->trampoline_data.begin(); i != level->trampoline_data.end(); ++i) - {puts("fo"); + { add_object<Trampoline, ObjectData<TrampolineData> >(*i); } } @@ -301,6 +302,9 @@ for (BadGuys::iterator i = bad_guys.begin(); i != bad_guys.end(); ++i) (*i)->action(frame_ratio); + for (Trampolines::iterator i = trampolines.begin(); i != trampolines.end(); ++i) + (*i)->action(frame_ratio); + /* update particle systems */ std::vector<ParticleSystem*>::iterator p; for(p = particle_systems.begin(); p != particle_systems.end(); ++p) @@ -554,7 +558,9 @@ World::add_object(U data) { T* tobject = new T(data); - trampolines.push_back(tobject); + + if (data.type == OBJ_TRAMPOLINE) + trampolines.push_back(tobject); return tobject; } Index: gameobjs.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/gameobjs.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- gameobjs.h 16 May 2004 01:36:54 -0000 1.11 +++ gameobjs.h 16 May 2004 03:28:22 -0000 1.12 @@ -26,6 +26,7 @@ #include "texture.h" #include "timer.h" #include "scene.h" +#include "physic.h" enum ObjectType { OBJ_NONE, OBJ_BADGUY, OBJ_TRAMPOLINE }; @@ -46,12 +47,6 @@ : x(0), y(0), type(OBJ_NONE), type_specific() {}; }; -struct TrampolineData -{ - int power; -}; - - /* Bounciness of distros: */ #define NO_BOUNCE 0 #define BOUNCE 1 @@ -110,6 +105,13 @@ std::string type() { return "FloatingScore"; }; }; + +/* Trampoline */ +struct TrampolineData +{ + int power; +}; + class Trampoline : public GameObject { public: @@ -120,17 +122,19 @@ Trampoline(ObjectData<TrampolineData> data) { - base.x = data.x; - base.y = data.y; - power = data.type_specific.power; - } + + init(data.x, data.y); + }; + + Physic physic; private: int power; }; -void load_trampoline_gfx(); + +void load_object_gfx(); #endif Index: resources.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/resources.cpp,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- resources.cpp 16 May 2004 00:36:58 -0000 1.32 +++ resources.cpp 16 May 2004 03:28:22 -0000 1.33 @@ -175,8 +175,8 @@ /* Upgrades: */ load_special_gfx(); - /* Trampoline */ - load_trampoline_gfx(); + /* Objects */ + load_object_gfx(); /* Distros: */ img_distro[0] = new Surface(datadir + "/images/tilesets/coin1.png", |