@@ -2402,13 +2402,45 @@ void C2_HOOK_FASTCALL EnterUserMessage(void) {
24022402}
24032403C2_HOOK_FUNCTION_ORIGINAL (0x00444910 , EnterUserMessage , EnterUserMessage_original )
24042404
2405+ void C2_HOOK_FASTCALL MapChanged (void ) {
2406+
2407+ InitMap ();
2408+ SaveOptions ();
2409+ }
2410+
24052411void (C2_HOOK_FASTCALL * CheckMapMoveKeys_original )(int pKey0 );
24062412void C2_HOOK_FASTCALL CheckMapMoveKeys (int pKey0 ) {
24072413
2408- #if defined(C2_HOOKS_ENABLED )
2414+ #if 0 // defined(C2_HOOKS_ENABLED)
24092415 CheckMapMoveKeys_original (pKey0 );
24102416#else
2411- NOT_IMPLEMENTED ();
2417+
2418+ if (KeyIsDown (31 ) && pKey0 ) {
2419+ C2V (gHeadup_map_y_float ) -= (float )C2V (gFrame_period ) / 20.f ;
2420+ if (C2V (gHeadup_map_y_float ) < 0.f ) {
2421+ C2V (gHeadup_map_y_float ) = 0.f ;
2422+ }
2423+ MapChanged ();
2424+ } else if (KeyIsDown (32 ) && pKey0 ) {
2425+ C2V (gHeadup_map_y_float ) += (float )C2V (gFrame_period ) / 20.f ;
2426+ if (C2V (gHeadup_map_y_float ) + C2V (gHeadup_map_h_float ) > (float )C2V (gBack_screen )-> height ) {
2427+ C2V (gHeadup_map_y_float ) = (float )(C2V (gBack_screen )-> height - C2V (gHeadup_map_h ));
2428+ }
2429+ MapChanged ();
2430+ }
2431+ if (KeyIsDown (33 ) && pKey0 ) {
2432+ C2V (gHeadup_map_x_float ) -= (float )C2V (gFrame_period ) / 20.f ;
2433+ if (C2V (gHeadup_map_x_float ) < 0.f ) {
2434+ C2V (gHeadup_map_x_float ) = 0.f ;
2435+ }
2436+ MapChanged ();
2437+ } else if (KeyIsDown (34 ) && pKey0 ) {
2438+ C2V (gHeadup_map_x_float ) += (float )C2V (gFrame_period ) / 20.f ;
2439+ if (C2V (gHeadup_map_x_float ) + C2V (gHeadup_map_w_float ) + 8.f > (float )C2V (gBack_screen )-> width ) {
2440+ C2V (gHeadup_map_x_float ) = (float )(C2V (gBack_screen )-> width - C2V (gHeadup_map_w ) - 8 );
2441+ }
2442+ MapChanged ();
2443+ }
24122444#endif
24132445}
24142446C2_HOOK_FUNCTION_ORIGINAL (0x00497620 , CheckMapMoveKeys , CheckMapMoveKeys_original )
0 commit comments