@@ -373,12 +373,67 @@ INCLUDE_RODATA("asm/maps/map1_s03/nonmatchings/map1_s03", D_800CBAB0);
373373
374374INCLUDE_ASM ("asm/maps/map1_s03/nonmatchings/map1_s03" , func_800DAF18 );
375375
376- INCLUDE_ASM ("asm/maps/map1_s03/nonmatchings/map1_s03" , func_800DBEC8 );
376+ void func_800DBEC8 (void )
377+ {
378+ #define STATE_BOOK_FIRST_TIME 3
379+ #define STATE_BOOK_AGAIN 6
380+ switch (g_SysWork .sysStateStep_C [0 ])
381+ {
382+ case 0 :
383+ sharedFunc_800D20E4_0_s00 ();
384+ SysWork_StateStepIncrement (0 );
385+ /* fallthrough */
386+ case 1 :
387+ func_80085DF0 ();
388+ break ;
389+ case 2 :
390+ func_8008605C (EventFlag_M1S03_MonsterLurksBookRead , STATE_BOOK_AGAIN , STATE_BOOK_FIRST_TIME , false);
391+ break ;
392+ case 3 :
393+ MapMsg_DisplayAndHandleSelection (false, 15 , false, false, 0 , false); // "What's this?"
394+ break ;
395+ case 4 :
396+ SysWork_StateStepIncrementDelayed (Q12 (0.6f ), false);
397+ break ;
398+ case 5 :
399+ MapMsg_DisplayAndHandleSelection (false, 16 , false, false, 0 , false); // "The Monster Lurks is the book's title."
400+ break ;
401+ case STATE_BOOK_AGAIN :
402+ func_800862F8 (0 , FILE_TIM_LMONSTER_TIM , false);
403+ SysWork_StateStepIncrementAfterFade (false, true, false, false, false);
404+ SysWork_StateStepIncrement (0 );
405+ /* fallthrough */
406+ case 7 :
407+ func_800862F8 (1 , 0 , false);
408+ break ;
409+ case 8 :
410+ SysWork_StateStepIncrementAfterFade (1 , true, false, false, false);
411+ break ;
412+ case 9 :
413+ func_800862F8 (2 , 0 , false);
414+ SysWork_StateStepIncrementAfterFade (2 , false, false, false, false);
415+ break ;
416+ case 10 :
417+ func_800862F8 (2 , 0 , false);
418+ MapMsg_DisplayAndHandleSelection (false, 17 , false, false, 0 , false); // "Chapter3: ..."
419+ break ;
420+ case 11 :
421+ func_800862F8 (2 , 0 , false);
422+ SysWork_StateStepIncrementAfterFade (2 , true, false, false, false);
423+ break ;
424+ default :
425+ sharedFunc_800D2244_0_s00 (false);
426+ SysWork_StateSetNext (SysState_Gameplay );
427+ Savegame_EventFlagSet (EventFlag_M1S03_MonsterLurksBookRead );
428+ SysWork_StateStepIncrementAfterFade (0 , false, false, false, false);
429+ break ;
430+ }
431+ }
377432
378433void func_800DC0F8 (void )
379434{
380- #define STATE_EVENTFLAG_117_FALSE NO_VALUE
381- #define STATE_EVENTFLAG_117_TRUE 8
435+ #define STATE_EVENTFLAG_117_TRUE NO_VALUE
436+ #define STATE_EVENTFLAG_117_FALSE 8
382437 switch (g_SysWork .sysStateStep_C [0 ])
383438 {
384439 case 0 :
@@ -410,15 +465,15 @@ void func_800DC0F8(void)
410465 break ;
411466 case 7 :
412467 SysWork_StateStepIncrementAfterFade (false, false, 0 , 0 , false);
413- func_8008605C (EventFlag_117 , STATE_EVENTFLAG_117_FALSE , STATE_EVENTFLAG_117_TRUE , false);
468+ func_8008605C (EventFlag_117 , STATE_EVENTFLAG_117_TRUE , STATE_EVENTFLAG_117_FALSE , false);
414469 break ;
415- case STATE_EVENTFLAG_117_TRUE :
470+ case STATE_EVENTFLAG_117_FALSE :
416471 SysWork_StateStepIncrementAfterFade (1 , false, 0 , 0 , false);
417472 break ;
418473 case 9 :
419474 MapMsg_DisplayAndHandleSelection (false, 30 , false, false, 0 , false); // "This is from an old fairy tale."
420475 break ;
421- //STATE_EVENTFLAG_117_FALSE :
476+ //STATE_EVENTFLAG_117_TRUE :
422477 default :
423478 sharedFunc_800D2244_0_s00 (false);
424479 SysWork_StateSetNext (SysState_Gameplay );
0 commit comments