Skip to content
Permalink
Browse files
Added menumanager options now scrollable in both directions
  • Loading branch information
CookiePLMonster committed Jul 20, 2014
1 parent 7c19e95 commit 8640f45790abd24511da6a4ba17ee40a79673d4a
Showing with 65 additions and 16 deletions.
  1. +65 −16 VCS PC/VCSPC.cpp
@@ -279,7 +279,6 @@ void* func_6B4800_JumpBack;
void* func_6B4800_ElseJump; void* func_6B4800_ElseJump;
void* func_6D1AA0_JumpBack; void* func_6D1AA0_JumpBack;
void* func_6D1AA0_ElseJump; void* func_6D1AA0_ElseJump;
void* Clock_SwitchInject_JumpBack;
void* Clock_StringInject_JumpBack; void* Clock_StringInject_JumpBack;
void* Clock_StringInject_JumpToOFF; void* Clock_StringInject_JumpToOFF;
void* ScriptCheckpointsColours_JumpBack; void* ScriptCheckpointsColours_JumpBack;
@@ -304,7 +303,6 @@ void* MenuEntriesAlignHack_JumpBack;
void* MenuEntriesPositionHack_JumpBack; void* MenuEntriesPositionHack_JumpBack;
void* MenuEntriesLeftColumnHack2_JumpBack; void* MenuEntriesLeftColumnHack2_JumpBack;
void* WidescreenFOVHack_JumpBack; void* WidescreenFOVHack_JumpBack;
void* Widescreen_SwitchInject_JumpBack;
void* Widescreen_TextDrawsFix2_JumpBack; void* Widescreen_TextDrawsFix2_JumpBack;
void* DriveByKillFix_ReturnTrue; void* DriveByKillFix_ReturnTrue;
void* DriveByKillFix_ReturnFalse; void* DriveByKillFix_ReturnFalse;
@@ -316,7 +314,6 @@ void* VideoPlayerCreate1_JumpBack;
void* VideoPlayerPlayNextFrame_JumpBack; void* VideoPlayerPlayNextFrame_JumpBack;
void* VideoPlayerProc_JumpBack; void* VideoPlayerProc_JumpBack;
void* VideoPlayerRelease_JumpBack; void* VideoPlayerRelease_JumpBack;
void* FrameLimit_SwitchInject_JumpBack;
void* FrameLimit_StringInject_JumpBack; void* FrameLimit_StringInject_JumpBack;
/*void* LoadFontsHack_JumpBack; /*void* LoadFontsHack_JumpBack;
void* ReleaseFontsHack_JumpBack;*/ void* ReleaseFontsHack_JumpBack;*/
@@ -872,7 +869,6 @@ __forceinline void DefineVariables()
func_6B4800_ElseJump = (void*)0x6B4B95; func_6B4800_ElseJump = (void*)0x6B4B95;
func_6D1AA0_JumpBack = (void*)0x6D1ACC; func_6D1AA0_JumpBack = (void*)0x6D1ACC;
func_6D1AA0_ElseJump = (void*)0x6D1ACE; func_6D1AA0_ElseJump = (void*)0x6D1ACE;
Clock_SwitchInject_JumpBack = (void*)0x57708B;
Clock_StringInject_JumpBack = (void*)0x57A161; Clock_StringInject_JumpBack = (void*)0x57A161;
Clock_StringInject_JumpToOFF = (void*)0x579F65; Clock_StringInject_JumpToOFF = (void*)0x579F65;
ScriptCheckpointsColours_JumpBack = (void*)0x493651; ScriptCheckpointsColours_JumpBack = (void*)0x493651;
@@ -897,7 +893,6 @@ __forceinline void DefineVariables()
MenuEntriesLeftColumnHack2_JumpBack = (void*)0x57A1BA; MenuEntriesLeftColumnHack2_JumpBack = (void*)0x57A1BA;
MenuEntriesPositionHack_JumpBack = (void*)0x57A3F1; MenuEntriesPositionHack_JumpBack = (void*)0x57A3F1;
WidescreenFOVHack_JumpBack = (void*)0x72FD5A; WidescreenFOVHack_JumpBack = (void*)0x72FD5A;
Widescreen_SwitchInject_JumpBack = (void*)0x577078;
Widescreen_TextDrawsFix2_JumpBack = (void*)0x58C229; Widescreen_TextDrawsFix2_JumpBack = (void*)0x58C229;
DriveByKillFix_ReturnTrue = (void*)0x43DE05; DriveByKillFix_ReturnTrue = (void*)0x43DE05;
DriveByKillFix_ReturnFalse = (void*)0x43DE61; DriveByKillFix_ReturnFalse = (void*)0x43DE61;
@@ -909,7 +904,6 @@ __forceinline void DefineVariables()
VideoPlayerPlayNextFrame_JumpBack = (void*)0x748DA3; VideoPlayerPlayNextFrame_JumpBack = (void*)0x748DA3;
VideoPlayerProc_JumpBack = (void*)0x74817E; VideoPlayerProc_JumpBack = (void*)0x74817E;
VideoPlayerRelease_JumpBack = (void*)0x748C21; VideoPlayerRelease_JumpBack = (void*)0x748C21;
FrameLimit_SwitchInject_JumpBack = (void*)0x57CECF;
FrameLimit_StringInject_JumpBack = (void*)0x57A168; FrameLimit_StringInject_JumpBack = (void*)0x57A168;
/*LoadFontsHack_JumpBack = (void*)0x5BA6E5; /*LoadFontsHack_JumpBack = (void*)0x5BA6E5;
ReleaseFontsHack_JumpBack = (void*)0x7189C6;*/ ReleaseFontsHack_JumpBack = (void*)0x7189C6;*/
@@ -5510,16 +5504,35 @@ void __declspec(naked) Clock_SwitchInject()
{ {
_asm _asm
{ {
mov dl, [esp+0Ch+4]
cmp dl, 0
jl Clock_SwitchInject_Previous
cmp al, 2 cmp al, 2
jnl Clock_SwitchInject_ZeroTheValue jnl Clock_SwitchInject_ZeroTheValue
inc al inc al
jmp Clock_SwitchInject_GoBack jmp Clock_SwitchInject_Return


Clock_SwitchInject_ZeroTheValue: Clock_SwitchInject_ZeroTheValue:
xor al, al xor al, al
jmp Clock_SwitchInject_Return

Clock_SwitchInject_Previous:
test al, al
jz Clock_SwitchInject_ToMax
dec al
jmp Clock_SwitchInject_Return

Clock_SwitchInject_ToMax:
mov al, 2


Clock_SwitchInject_GoBack: Clock_SwitchInject_Return:
jmp Clock_SwitchInject_JumpBack mov [esi].m_bHudOn, al
mov ecx, esi
call CMenuManager::SaveSettings
pop edi
pop esi
pop ebx
retn 0Ch
} }
} }


@@ -6407,14 +6420,26 @@ void __declspec(naked) Widescreen_SwitchInject()
{ {
_asm _asm
{ {
mov dl, [esp+0Ch+4]
cmp dl, 0
jl Widescreen_SwitchInject_Previous
cmp al, 5 cmp al, 5
jnl Widescreen_SwitchInject_ZeroTheValue jnl Widescreen_SwitchInject_ZeroTheValue
inc al inc al
jmp Widescreen_SwitchInject_Return jmp Widescreen_SwitchInject_Return



Widescreen_SwitchInject_ZeroTheValue: Widescreen_SwitchInject_ZeroTheValue:
xor al, al xor al, al
jmp Widescreen_SwitchInject_Return

Widescreen_SwitchInject_Previous:
test al, al
jz Widescreen_SwitchInject_ToMax
dec al
jmp Widescreen_SwitchInject_Return

Widescreen_SwitchInject_ToMax:
mov al, 5


Widescreen_SwitchInject_Return: Widescreen_SwitchInject_Return:
mov [esi].m_bAspectRatioMode, al mov [esi].m_bAspectRatioMode, al
@@ -6425,7 +6450,11 @@ void __declspec(naked) Widescreen_SwitchInject()
call WidescreenSupport::Recalculate call WidescreenSupport::Recalculate
add esp, 0Ch add esp, 0Ch
mov ecx, esi mov ecx, esi
jmp Widescreen_SwitchInject_JumpBack call CMenuManager::SaveSettings
pop edi
pop esi
pop ebx
retn 0Ch
} }
} }


@@ -6766,20 +6795,40 @@ void __declspec(naked) FrameLimit_SwitchInject()
{ {
_asm _asm
{ {
mov dl, [esp+0Ch+4]
cmp dl, 0
jl FrameLimit_SwitchInject_Previous
cmp al, 4 cmp al, 4
jnl FrameLimit_SwitchInject_ZeroTheValue jnl FrameLimit_SwitchInject_ZeroTheValue
inc al inc al
movzx ecx, al
mov ecx, RsGlobalFrameLimits[ecx*4]
mov ebx, [RsGlobal]
mov [ebx].frameLimit, ecx
jmp FrameLimit_SwitchInject_GoBack jmp FrameLimit_SwitchInject_GoBack


FrameLimit_SwitchInject_ZeroTheValue: FrameLimit_SwitchInject_ZeroTheValue:
xor al, al xor al, al
jmp FrameLimit_SwitchInject_GoBack

FrameLimit_SwitchInject_Previous:
test al, al
jz FrameLimit_SwitchInject_ToMax
dec al
jmp FrameLimit_SwitchInject_GoBack

FrameLimit_SwitchInject_ToMax:
mov al, 4


FrameLimit_SwitchInject_GoBack: FrameLimit_SwitchInject_GoBack:
jmp FrameLimit_SwitchInject_JumpBack movzx ecx, al
mov ecx, RsGlobalFrameLimits[ecx*4]
mov ebx, [RsGlobal]
mov [ebx].frameLimit, ecx
mov ecx, esi
mov [esi].m_bFrameLimiterMode, al
call CMenuManager::SaveSettings
pop edi
pop esi
mov al, bl
pop ebx
retn 8
} }
} }


0 comments on commit 8640f45

Please sign in to comment.