diff options
Diffstat (limited to 'src/screen_world.c')
| -rw-r--r-- | src/screen_world.c | 56 |
1 files changed, 41 insertions, 15 deletions
diff --git a/src/screen_world.c b/src/screen_world.c index 571b10e..02536de 100644 --- a/src/screen_world.c +++ b/src/screen_world.c @@ -13,6 +13,7 @@ #include "screen_choiceArena.h" #include "screen_table.h" +#include "keytable.h" #include "list.h" #include "layer.h" #include "image.h" @@ -32,11 +33,12 @@ #include "arenaFile.h" #include "proto.h" #include "term.h" +#include "font.h" static arena_t *arena; static int count; static int max_count; - +static my_time_t lastServerLag; static bool_t isScreenWorldInit = FALSE; static bool_t isEndWorld; @@ -70,6 +72,11 @@ void setMaxCountRound(int n) max_count = n; } +void setLagServer(my_time_t lag) +{ + lastServerLag = lag; +} + void setWorldEnd() { isEndWorld = TRUE; @@ -98,7 +105,7 @@ void countRoundInc() { printf("count %d ending\n", count); playSound("end", SOUND_GROUP_BASE); - addTimer(getCurrentArena()->listTimer, timer_endArena, NULL, TIMER_END_ARENA); + addTaskToTimer(getCurrentArena()->listTimer, TIMER_ONE, timer_endArena, NULL, TIMER_END_ARENA); } } @@ -158,6 +165,25 @@ void prepareArena() } } +/* +static void drawServerLag() +{ + char msg[STR_SIZE]; + + if( lastServerLag == LAG_SERVER_UNKNOWN ) + { + sprintf(msg, "lag server: unknown"); + } + else + { + sprintf(msg, "lag server: %d", lastServerLag); + } + + drawFont(msg, WINDOW_SIZE_X-150, 20, COLOR_WHITE); + +} +*/ + void drawWorld() { if( arena != NULL ) @@ -190,37 +216,37 @@ static void control_keyboard_right(tux_t *tux) assert( tux != NULL ); assert( mapa != NULL ); - if( mapa[(SDLKey)SDLK_UP] == SDL_PRESSED ) + if( mapa[(SDLKey)getKey(KEY_TUX_RIGHT_MOVE_UP)] == SDL_PRESSED ) { netAction(tux, TUX_UP); actionTux(tux, TUX_UP); } - if( mapa[(SDLKey)SDLK_RIGHT] == SDL_PRESSED ) + if( mapa[(SDLKey)getKey(KEY_TUX_RIGHT_MOVE_RIGHT)] == SDL_PRESSED ) { netAction(tux, TUX_RIGHT); actionTux(tux, TUX_RIGHT); } - if( mapa[(SDLKey)SDLK_LEFT] == SDL_PRESSED ) + if( mapa[(SDLKey)getKey(KEY_TUX_RIGHT_MOVE_LEFT)] == SDL_PRESSED ) { netAction(tux, TUX_LEFT); actionTux(tux, TUX_LEFT); } - if( mapa[(SDLKey)SDLK_DOWN] == SDL_PRESSED ) + if( mapa[(SDLKey)getKey(KEY_TUX_RIGHT_MOVE_DOWN)] == SDL_PRESSED ) { netAction(tux, TUX_DOWN); actionTux(tux, TUX_DOWN); } - if( mapa[(SDLKey)SDLK_KP0] == SDL_PRESSED && tux->isCanShot == TRUE ) + if( mapa[(SDLKey)getKey(KEY_TUX_RIGHT_SHOOT)] == SDL_PRESSED && tux->isCanShot == TRUE ) { netAction(tux, TUX_SHOT); actionTux(tux, TUX_SHOT); } - if( mapa[(SDLKey)SDLK_KP1] == SDL_PRESSED ) + if( mapa[(SDLKey)getKey(KEY_TUX_RIGHT_SWITCH_WEAPON)] == SDL_PRESSED ) { if( tux->isCanSwitchGun == TRUE ) { @@ -238,17 +264,16 @@ static void control_keyboard_left(tux_t *tux) assert( tux != NULL ); assert( mapa != NULL ); - if( mapa[(SDLKey)SDLK_w] == SDL_PRESSED )actionTux(tux, TUX_UP); - if( mapa[(SDLKey)SDLK_d] == SDL_PRESSED )actionTux(tux, TUX_RIGHT); - if( mapa[(SDLKey)SDLK_a] == SDL_PRESSED )actionTux(tux, TUX_LEFT); - if( mapa[(SDLKey)SDLK_s] == SDL_PRESSED )actionTux(tux, TUX_DOWN); - if( mapa[(SDLKey)SDLK_q] == SDL_PRESSED )actionTux(tux, TUX_SHOT); + if( mapa[(SDLKey)getKey(KEY_TUX_LEFT_MOVE_UP)] == SDL_PRESSED )actionTux(tux, TUX_UP); + if( mapa[(SDLKey)getKey(KEY_TUX_LEFT_MOVE_RIGHT)] == SDL_PRESSED )actionTux(tux, TUX_RIGHT); + if( mapa[(SDLKey)getKey(KEY_TUX_LEFT_MOVE_LEFT)] == SDL_PRESSED )actionTux(tux, TUX_LEFT); + if( mapa[(SDLKey)getKey(KEY_TUX_LEFT_MOVE_DOWN)] == SDL_PRESSED )actionTux(tux, TUX_DOWN); + if( mapa[(SDLKey)getKey(KEY_TUX_LEFT_SHOOT)] == SDL_PRESSED )actionTux(tux, TUX_SHOT); - if( mapa[(SDLKey)SDLK_TAB] == SDL_PRESSED ) + if( mapa[(SDLKey)getKey(KEY_TUX_LEFT_SWITCH_WEAPON)] == SDL_PRESSED ) { if( tux->isCanSwitchGun == TRUE ) { - netAction(tux, TUX_SWITCH_GUN); actionTux(tux, TUX_SWITCH_GUN); } } @@ -326,6 +351,7 @@ void startWorld() isEndWorld = FALSE; count = 0; + lastServerLag = LAG_SERVER_UNKNOWN; setGameType(); initTerm(); |