18
edits
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
Status Report | Status Report | ||
Jul 2ed - Jul 8th | |||
(1)Try to port a complete Supertux. | |||
From the begining of the game to the real playing stage, there are three loops. | |||
a)title_loop, the demo session in the background when the game begins. | |||
b)display_loop, shows the worldmap and allow the player to select levels. | |||
c)main_loop, the game loop. | |||
Each loop will kill the previous loop. When in main_loop, the backtrace result looks like as follows: | |||
->main_loop(called by setInterval) | |||
->gamesession | |||
->display_loop(called by setInterval) | |||
->display | |||
->title_loop(called by setInterval) | |||
->title | |||
->main | |||
Because setInterval is non-blocking, each previous function will return immediately. For main_loop to work well, the stack recover statement before return in previous functions should be commented. But this will cause the stack growing rapidly because of setInterval. | |||
Jun 25th - Jul 1st | |||
(1)Find out why Fire/Run key not work. | |||
SDLK_LCTRL has different value in SDL headers and library_sdl.js. See https://github.com/kripken/emscripten/issues/504. | |||
(2)Try to use emcc -O1 and -O2 option. | |||
-O2 is too aggressive that many source information is removed. For example, it's hard to find the game loop in the generated html page. | |||
Jun 18th - Jun 24th | Jun 18th - Jun 24th |
edits