File tree Expand file tree Collapse file tree 3 files changed +36
-3
lines changed Expand file tree Collapse file tree 3 files changed +36
-3
lines changed Original file line number Diff line number Diff line change @@ -101,6 +101,7 @@ float *RPTClosetCutsceneBlurredBarsDespawnAddr = nullptr;
101
101
BYTE *InputAssignmentFlagAddr = nullptr ;
102
102
BYTE *PauseMenuQuitIndexAddr = nullptr ;
103
103
int16_t *MemoCountIndexAddr = nullptr ;
104
+ BYTE *MemoUniqueIdAddr = nullptr ;
104
105
BYTE *QuitSubmenuFlagAddr = nullptr ;
105
106
BYTE *MousePointerVisibleFlagAddr = nullptr ;
106
107
int32_t *MemoListIndexAddr = nullptr ;
@@ -2436,6 +2437,36 @@ BYTE* GetReadingMemoFlagPointer()
2436
2437
return ReadingMemoFlagAddr;
2437
2438
}
2438
2439
2440
+ BYTE GetMemoUniqueId ()
2441
+ {
2442
+ BYTE* pMemoUniqueId = GetMemoUniqueIdPointer ();
2443
+
2444
+ return (pMemoUniqueId) ? *pMemoUniqueId : 0 ;
2445
+ }
2446
+
2447
+ BYTE* GetMemoUniqueIdPointer ()
2448
+ {
2449
+ if (MemoUniqueIdAddr)
2450
+ {
2451
+ return MemoUniqueIdAddr;
2452
+ }
2453
+
2454
+ switch (GameVersion)
2455
+ {
2456
+ case SH2V_10:
2457
+ MemoUniqueIdAddr = reinterpret_cast <BYTE*>(0x94D860 );
2458
+ break ;
2459
+ case SH2V_11:
2460
+ MemoUniqueIdAddr = reinterpret_cast <BYTE*>(0x951460 );
2461
+ break ;
2462
+ case SH2V_DC:
2463
+ MemoUniqueIdAddr = reinterpret_cast <BYTE*>(0x950460 );
2464
+ break ;
2465
+ }
2466
+
2467
+ return MemoUniqueIdAddr;
2468
+ }
2469
+
2439
2470
DWORD* GetDrawCursorPointer ()
2440
2471
{
2441
2472
if (DrawCursorAddr)
Original file line number Diff line number Diff line change @@ -438,6 +438,7 @@ int16_t GetMemoCountIndex();
438
438
int32_t GetMemoInventory ();
439
439
BYTE GetMousePointerVisibleFlag ();
440
440
BYTE GetReadingMemoFlag ();
441
+ BYTE GetMemoUniqueId ();
441
442
float GetGlobalFadeHoldValue ();
442
443
float GetPuzzleCursorHorizontalPos ();
443
444
float GetPuzzleCursorVerticalPos ();
@@ -543,6 +544,7 @@ int16_t *GetMemoCountIndexPointer();
543
544
int32_t *GetMemoInventoryPointer ();
544
545
BYTE *GetMousePointerVisibleFlagPointer ();
545
546
BYTE *GetReadingMemoFlagPointer ();
547
+ BYTE *GetMemoUniqueIdPointer ();
546
548
DWORD *GetDrawCursorPointer ();
547
549
DWORD *GetSetShowCursorPointer ();
548
550
BYTE* GetInputAssignmentFlagPointer ();
@@ -640,7 +642,6 @@ void PatchFullscreenImages();
640
642
void PatchFullscreenVideos ();
641
643
void PatchGameLoad ();
642
644
void PatchGameLoadFlashFix ();
643
- void PatchGravestoneBoardsFix ();
644
645
void PatchHealthIndicatorOption ();
645
646
void PatchGreatKnifeBoatSpeed ();
646
647
void PatchHoldDamage ();
Original file line number Diff line number Diff line change @@ -8,8 +8,9 @@ static DrawUserInterfaceFunc DrawUserInterface = nullptr;
8
8
9
9
void GravestoneBoardsFix (UIElement* uiElement)
10
10
{
11
- // Check we're in the grave room and examining the gravestone
12
- if (GetRoomID () == R_MAN_GRAVE_ROOM && IsInFullScreenImageEvent ())
11
+ // Check we're in the grave room and examining the gravestone or reading memo 54
12
+ if ((GetRoomID () == R_MAN_GRAVE_ROOM && IsInFullScreenImageEvent ()) ||
13
+ (GetReadingMemoFlag () && GetEventIndex () == EVENT_MEMO_LIST && GetMemoUniqueId () == 54 ))
13
14
{
14
15
// Step 1: Adjust the texture coordinates for each board to more closely match eachother
15
16
You can’t perform that action at this time.
0 commit comments