# HG changeset patch # User Shinji KONO # Date 1291734428 -32400 # Node ID a6dc383287414d093d48ffcce741274a66f02f7a # Parent c88a4f98b5ef3834bf2794967597da448e59d23e merge diff -r c88a4f98b5ef -r a6dc38328741 Dandy.cc --- a/Dandy.cc Tue Dec 07 23:45:46 2010 +0900 +++ b/Dandy.cc Wed Dec 08 00:07:08 2010 +0900 @@ -5,10 +5,17 @@ -length Number of data (default DATA_NUM (Func.h))\n\ -count Number of task (default 1)\n"; +static Viewer *sgroot; + +static int screen_w; +static int screen_h; MainLoopPtr -Dandy::init(Viewer *sgroot, int w, int h) +Dandy::init(Viewer *sgroot_, int w, int h) { + screen_w = w; + screen_h = h; + sgroot = sgroot_; return sgroot; } @@ -17,15 +24,13 @@ return new Dandy(); } -static Viewer *sgroot; static int dandy_closing(int gamef); static int dandy_main_loop(int gamef); static int dandy_main_init(int gamef); bool -Dandy::app_main(Viewer *viewer){ - sgroot = viewer; +Dandy::app_loop(Viewer *viewer){ // don't use allExecute return 0; }; @@ -148,11 +153,6 @@ * timeprof があるんだけどね */ - - - - joy=SDL_JoystickOpen(0); - sgroot->createFromXMLfile("xml/character.xml"); sgroot->createFromXMLfile("xml/font.xml"); sgroot->createFromXMLfile("xml/effect.xml"); @@ -162,7 +162,7 @@ init_sprite(0,0,0,0); __debug("syokikaが呼びだされました\n"); - SDL_Joystick *joy=SDL_JoystickOpen(0); + joy=SDL_JoystickOpen(0); if(!joy) { fprintf(stderr,"failed to open joystick 0\n"); use_keybord = 1; @@ -367,9 +367,6 @@ gamef = 0; break; } - - - SDL_GL_SwapBuffers( ); } } @@ -475,14 +472,16 @@ SpriteTable sptable[DEFOBJ]; -void DefSpriteEx(int number, short middlex, short middley) +void +DefSpriteEx(int number, short middlex, short middley) { sptable[number].mx = middlex; sptable[number].my = middley; } -void DefSprite(int number, const char *name, float w, float h, int color, OBJECT *obj) +void +DefSprite(int number, const char *name, float w, float h, int color, OBJECT *obj) { SpriteTable *m = &sptable[number]; m->w = w; @@ -501,22 +500,26 @@ } -void PutSprite(int zorder, short x, short y, int number) +void +PutSprite(int zorder, short x, short y, int number) { SpriteTable *m = &sptable[number]; char *name = (char *) m->texture; SceneGraphPtr object = sgroot->createSceneGraph(name); - object->xyz[0] = x; - object->xyz[1] = y; + object->xyz[0] = x + screen_w /2; + object->xyz[1] = y + screen_h /2; + object->xyz[2] = -100; } -void PutSpriteEx(int number, int x, int y, float scalex, float scaley, float angle) +void +PutSpriteEx(int number, int x, int y, float scalex, float scaley, float angle) { SpriteTable *m = &sptable[number]; char *name = (char *) m->texture; SceneGraphPtr object = sgroot->createSceneGraph(name); - object->xyz[0] = x; - object->xyz[1] = y; + object->xyz[0] = x + screen_w /2; + object->xyz[1] = y + screen_h /2; + object->xyz[2] = -100; } diff -r c88a4f98b5ef -r a6dc38328741 Dandy.h --- a/Dandy.h Tue Dec 07 23:45:46 2010 +0900 +++ b/Dandy.h Wed Dec 08 00:07:08 2010 +0900 @@ -8,7 +8,7 @@ #include "Func.h" class Dandy : public Application { - bool app_main(Viewer *viewer); + bool app_loop(Viewer *viewer); HTaskPtr application_task(HTaskPtr next, Viewer* viewer); MainLoopPtr init(Viewer *viewer, int w, int h); };