@@ -627,7 +627,113 @@ void func_800D6CF0(void) // 0x800D6CF0
627627 Event_ItemTake (InventoryItemId_ExaminationRoomKey , DEFAULT_PICKUP_ITEM_COUNT , EventFlag_M3S05_PickupExaminationRoomKey , 21 );
628628}
629629
630- INCLUDE_ASM ("asm/maps/map3_s05/nonmatchings/map3_s05" , func_800D6D1C );
630+ void func_800D6D1C (void ) // 0x800D6D1C
631+ {
632+ if ((g_Controller0 -> btnsClicked_10 & g_GameWorkPtr -> config_0 .controllerConfig_0 .skip_4 ) &&
633+ g_SysWork .sysStateStep_C [0 ] > 0 && g_SysWork .sysStateStep_C [0 ] < 11 )
634+ {
635+ SysWork_StateStepSet (0 , 15 );
636+ }
637+
638+ switch (g_SysWork .sysStateStep_C [0 ])
639+ {
640+ case 0 :
641+ Player_ControlFreeze ();
642+ g_SysWork .field_30 = 20 ;
643+
644+ Camera_PositionSet (NULL , Q12 (18.1f ), Q12 (-1.71f ), Q12 (-97.34f ), Q12 (0.0f ), Q12 (0.0f ), Q12 (0.0f ), Q12 (0.0f ), true);
645+ Camera_LookAtSet (NULL , Q12 (20.04f ), Q12 (-0.74f ), Q12 (-100.7f ), Q12 (0.0f ), Q12 (0.0f ), Q12 (0.0f ), Q12 (0.0f ), true);
646+
647+ D_800DAC74 = 0 ;
648+ func_8003D03C ();
649+ sharedFunc_800D2EB4_0_s00 ();
650+ Game_TurnFlashlightOn ();
651+
652+ SysWork_StateStepIncrement (0 );
653+
654+ case 1 :
655+ Map_MessageWithAudio (18 , & D_800DAC74 , & D_800DAC70 );
656+ break ;
657+
658+ case 2 :
659+ func_80086C58 (& g_SysWork .player_4C .chara_0 , 116 );
660+ break ;
661+
662+ case 3 :
663+ Map_MessageWithAudio (19 , & D_800DAC74 , & D_800DAC70 );
664+ break ;
665+
666+ case 4 :
667+ func_800865FC (true, 0 , 0 , FP_ANGLE (0.0f ), Q12 (21.7f ), Q12 (-100.9f ));
668+ func_800865FC (true, 0 , 1 , FP_ANGLE (0.0f ), Q12 (21.9f ), Q12 (-100.3f ));
669+ func_800865FC (true, 0 , 2 , FP_ANGLE (0.0f ), Q12 (21.0f ), Q12 (-99.4f ));
670+ SysWork_StateStepIncrement (0 );
671+
672+ case 5 :
673+ func_800866D4 (53 , 3 , false);
674+ SysWork_StateStepIncrementDelayed (Q12 (2.0f ), false);
675+ break ;
676+
677+ case 6 :
678+ Camera_PositionSet (NULL , Q12 (18.44f ), Q12 (-4.54f ), Q12 (-100.98f ), Q12 (0.0f ), Q12 (0.0f ), Q12 (0.0f ), Q12 (0.0f ), true);
679+ Camera_LookAtSet (NULL , Q12 (20.54f ), Q12 (-1.58f ), Q12 (-99.3f ), Q12 (0.0f ), Q12 (0.0f ), Q12 (0.0f ), Q12 (0.0f ), true);
680+ SysWork_StateStepIncrement (0 );
681+
682+ case 7 :
683+ func_800866D4 (53 , 3 , false);
684+ break ;
685+
686+ case 8 :
687+ MapMsg_DisplayAndHandleSelection (false, 20 , 0 , 0 , 0 , false);
688+ break ;
689+
690+ case 9 :
691+ func_80086E50 (FILE_TIM_ALESSA_TIM , 0 , 0 );
692+ break ;
693+
694+ case 10 :
695+ func_800862F8 (2 , FILE_1ST_2ZANKO80_TIM , false);
696+ MapMsg_DisplayAndHandleSelection (false, 16 , 0 , 0 , 0 , false);
697+ break ;
698+
699+ case 11 :
700+ vcReturnPreAutoCamWork (true);
701+ SysWork_StateStepIncrement (0 );
702+
703+ case 12 :
704+ func_80086F44 (0 , 0 );
705+ break ;
706+
707+ case 13 :
708+ MapMsg_DisplayAndHandleSelection (false, 17 , 0 , 0 , 0 , false);
709+ break ;
710+
711+ case 15 :
712+ SysWork_StateStepIncrementAfterFade (2 , true, 0 , Q12 (0.0f ), false);
713+ break ;
714+
715+ case 16 :
716+ vcReturnPreAutoCamWork (true);
717+
718+ g_SysWork .player_4C .chara_0 .position_18 .vx = Q12 (21.0f );
719+ g_SysWork .player_4C .chara_0 .position_18 .vz = Q12 (-99.4f );
720+ g_SysWork .player_4C .chara_0 .rotation_24 .vy = FP_ANGLE (0.0f );
721+
722+ SysWork_StateStepIncrementAfterFade (0 , false, 0 , Q12 (0.0f ), false);
723+
724+ default :
725+ Player_ControlUnfreeze (false);
726+ SysWork_StateSetNext (SysState_Gameplay );
727+
728+ func_8003D01C ();
729+ sharedFunc_800D2EF4_0_s00 ();
730+
731+ SysWork_StateStepIncrementAfterFade (0 , false, 2 , Q12 (0.0f ), false);
732+
733+ Savegame_EventFlagSet (EventFlag_260 );
734+ break ;
735+ }
736+ }
631737
632738void func_800D719C (void ) // 0x800D719C
633739{
0 commit comments