@@ -101,6 +101,29 @@ sstring str_BriefingPCX, "BRIEFING.PCX"
101101@SET 0x00601093 , push str_SettingsINI
102102@SET 0x00687E07 , push str_SettingsINI
103103
104+ ; Set global variable byte containing side ID to load files for
105+ ; (enabled until spawner has been reimplemented through Vinifera)
106+ @SET 0x004E2CFA , { mov byte [ 0x7E2500 ], al }
107+ @SET 0x004E2CFF , nop
108+ @SET 0x004E2D00 , { add esp , 4 }
109+ @SJMP 0x004E2D03 , 0x004E2D13 ; jmp short
110+ @SET 0x004E2D05 , nop
111+
112+ ; Load sidebar MIX files for new sides properly
113+ ; (enabled until spawner has been reimplemented through Vinifera)
114+ @SET 0x005DD798 , { mov cl , byte [ 0x007E2500 ] }
115+ @CLEAR 0x005DD79E , 0x90 , 0x005DD7A2
116+
117+ ; Load speech MIX files for new sides properly
118+ ; Defaults SpeechSide to our hijacked player side value
119+ ; (enabled until spawner has been reimplemented through Vinifera)
120+ hack 0x005DD75B
121+ mov eax , [ Scen ]
122+ xor ecx , ecx
123+ mov cl , byte [ 0x007E2500 ] ; PlayerSide (was Session.IsGDI)
124+ mov [ eax + 0x1E44 ], ecx ; set SpeechSide
125+ jmp 0x005DD784 ; go back to game code for initializing side
126+
104127;
105128; The following patches will not be included in Vinifera compatible builds.
106129;
@@ -216,33 +239,13 @@ sstring str_TemperatPAL, "TEMPERAT.PAL"
216239; Remove framework mode mmt/mms loading
217240@LJMP 0x004F5182 , 0x004F528C ; jmp loc_4F528C
218241
219- ; Set global variable byte containing side ID to load files for
220- @SET 0x004E2CFA , { mov byte [ 0x7E2500 ], al }
221- @SET 0x004E2CFF , nop
222- @SET 0x004E2D00 , { add esp , 4 }
223- @SJMP 0x004E2D03 , 0x004E2D13 ; jmp short
224- @SET 0x004E2D05 , nop
225-
226242; Load sidebar MIX files for new sides properly (for saved games)
227243@SET 0x005D6C4F , { mov cl , [ eax + 1D91h ] }
228244@CLEAR 0x005D6C55 , 0x90 , 0x005D6C58
229245
230- ; Load sidebar MIX files for new sides properly
231- @SET 0x005DD798 , { mov cl , byte [ 0x007E2500 ] }
232- @CLEAR 0x005DD79E , 0x90 , 0x005DD7A2
233-
234246; Load speech MIX files for new sides properly (for saved games)
235247@SET 0x005D6DCE , { xor ecx , ecx }
236248@SET 0x005D6DD0 , { mov cl , [ eax + 1D91h ] }
237249@CLEAR 0x005D6DD6 , 0x90 , 0x005D6DDB
238250
239- ; Load speech MIX files for new sides properly
240- ; Defaults SpeechSide to our hijacked player side value
241- hack 0x005DD75B
242- mov eax , [ Scen ]
243- xor ecx , ecx
244- mov cl , byte [ 0x007E2500 ] ; PlayerSide (was Session.IsGDI)
245- mov [ eax + 0x1E44 ], ecx ; set SpeechSide
246- jmp 0x005DD784 ; go back to game code for initializing side
247-
248251%endif
0 commit comments