diff options
Diffstat (limited to 'src/test/testplay.c')
-rw-r--r-- | src/test/testplay.c | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/src/test/testplay.c b/src/test/testplay.c index 1d32104..aa73ec8 100644 --- a/src/test/testplay.c +++ b/src/test/testplay.c @@ -45,18 +45,21 @@ int main(int argc, char **argv) { if (res!=0) exit(res); res=mySDLInit(__FILE__, winPos, initFlags, winFlags, rendFlags, &win, &rend, &rendInfo, &viewport); + SDL_ShowCursor(SDL_DISABLE); if (res!=0) exit(res); res=loadMiscRes (rend, &gIni, &gRess); if (res!=0) exit(res); res=loadStyleRes(rend, &gIni, &gRess); if (res!=0) exit(res); + res=paintTerrain(&gIni, &gRess, &gState); if (res!=0) exit(res); + res=setInitialState(&gIni, &gState); if (res!=0) exit(res); + gUI.cameraX = gIni.level.xPos; - - res=paintTerrain(&gIni, &gRess, &gState); if (res!=0) exit(res); res=renderTerrainToTextures(rend, gState.terrain, &gUI); if (res!=0) exit(res); - res=buildGameRenderList(&gRess, &gUI) ;if (res!=0) exit(res); + + res=buildGameRenderList(&gRess, &gUI); if (res!=0) exit(res); /* Main render loop */ uiTick = 0; @@ -65,8 +68,20 @@ int main(int argc, char **argv) { /* Check for events */ while (SDL_PollEvent(&uiEvent)) { - if (uiEvent.type == SDL_QUIT) { - mainLoopEnd = 1; + switch (uiEvent.type) { + renderItem_t *cur; + case SDL_QUIT: + mainLoopEnd = 1; + break; + case SDL_MOUSEMOTION: + cur = &gUI.renderList[RLI_cursor]; + cur->x = uiEvent.motion.x - cur->sprite->size.w / 2; + cur->y = uiEvent.motion.y - cur->sprite->size.h / 2; + break; + case SDL_MOUSEBUTTONDOWN: + case SDL_MOUSEBUTTONUP: + //uiEvent.button + break; } } @@ -79,9 +94,9 @@ int main(int argc, char **argv) { if (uiTick % 4 == 0) { int i; gState.tick++; - for (i=0;i<gUI.renderListSize;i++) { + for (i=0;i<MAX_RENDERLIST_SIZE;i++) { renderItem_t *it = &gUI.renderList[i]; - if (it->animate==1) { + if ( it->sprite != NULL && it->animate==1) { it->currframe = (it->currframe + 1) % it->sprite->frames; } } |