3232// #define GAME_LQ
3333
3434#ifndef __EMSCRIPTEN__
35- #ifdef MIYOO
35+ #if defined( MIYOO ) || defined( RETROFW )
3636 #define SFG_FPS 60
3737 #define SFG_LOG (str ) puts(str);
3838 #define SFG_SCREEN_RESOLUTION_X 320
6666 #define SFG_RAYCASTING_MAX_STEPS 18
6767 #define SFG_RAYCASTING_MAX_HITS 8
6868 #endif
69- #endif /* MIYOO */
69+ #endif
7070#else
7171 // emscripten
7272 #define SFG_FPS 35
@@ -130,7 +130,14 @@ uint32_t SFG_getTimeMs()
130130
131131void SFG_save (uint8_t data [SFG_SAVE_SIZE ])
132132{
133+ #ifdef RETROFW
134+ const char * home = getenv ("HOME" );
135+ char path [256 ];
136+ sprintf (path , "%s/anarch.sav" , home );
137+ FILE * f = fopen (path , "wb" );
138+ #else
133139 FILE * f = fopen ("anarch.sav" ,"wb" );
140+ #endif
134141
135142 puts ("SDL: opening and writing save file" );
136143
@@ -148,7 +155,14 @@ void SFG_save(uint8_t data[SFG_SAVE_SIZE])
148155uint8_t SFG_load (uint8_t data [SFG_SAVE_SIZE ])
149156{
150157#ifndef __EMSCRIPTEN__
158+ #ifdef RETROFW
159+ const char * home = getenv ("HOME" );
160+ char path [256 ];
161+ sprintf (path , "%s/anarch.sav" , home );
162+ FILE * f = fopen (path , "rb" );
163+ #else
151164 FILE * f = fopen ("anarch.sav" ,"rb" );
165+ #endif
152166
153167 puts ("SDL: opening and reading save file" );
154168
@@ -207,7 +221,7 @@ void SFG_processEvent(uint8_t event, uint8_t data)
207221{
208222}
209223
210- #ifdef MIYOO
224+ #if defined( MIYOO )
211225int8_t SFG_keyPressed (uint8_t key )
212226{
213227 #define k (x ) sdlKeyboardState[SDLK_ ## x]
@@ -231,6 +245,30 @@ int8_t SFG_keyPressed(uint8_t key)
231245
232246 #undef k
233247}
248+ #elif defined(RETROFW )
249+ int8_t SFG_keyPressed (uint8_t key )
250+ {
251+ #define k (x ) sdlKeyboardState[SDLK_ ## x]
252+
253+ switch (key )
254+ {
255+ case SFG_KEY_UP : return k (UP ); break ;
256+ case SFG_KEY_RIGHT : return k (RIGHT ); break ;
257+ case SFG_KEY_DOWN : return k (DOWN ); break ;
258+ case SFG_KEY_LEFT : return k (LEFT ); break ;
259+ case SFG_KEY_A : return k (LCTRL ); break ;
260+ case SFG_KEY_B : return k (LALT ); break ;
261+ case SFG_KEY_C : return k (SPACE ); break ;
262+ case SFG_KEY_JUMP : return k (LSHIFT ); break ;
263+ case SFG_KEY_STRAFE_LEFT : return k (TAB ); break ;
264+ case SFG_KEY_STRAFE_RIGHT : return k (BACKSPACE ); break ;
265+ case SFG_KEY_MAP : return k (ESCAPE ); break ;
266+ case SFG_KEY_MENU : return k (RCTRL ) || k (RETURN ); break ;
267+ default : return 0 ; break ;
268+ }
269+
270+ #undef k
271+ }
234272#else
235273int8_t SFG_keyPressed (uint8_t key )
236274{
0 commit comments