Is it possible to port this for other versions of the game - NTSC v2.01, v3.00, PAL, NTSC-J?
Code:
// GTA VICE CITY 1.40 Modern Widescreen Fix
// by Daniel Santos e Pedro_PAP
patch=0,EE,20290EC4,extended,3c044270 //Radar Width
patch=0,EE,20290AA8,extended,3c024270 //Radar Mask Width
patch=0,EE,20290BD0,extended,3c024270 //Radar Mask Width
patch=0,EE,20293690,extended,3c024270 //Radar stuff Width
patch=0,EE,202938C4,extended,3c024270 //Radar stuff Width
patch=0,EE,20293934,extended,3c024270 //Radar stuff Width
patch=0,EE,202940B4,extended,3c024270 //Radar stuff Width
patch=0,EE,20294124,extended,3c024270 //Radar stuff Width
patch=0,EE,20294DD0,extended,3c034270 //Radar stuff Width
patch=0,EE,20295458,extended,3c034270 //Radar Blip Disc Width
patch=0,EE,202D39E8,extended,3c03424c //Radar Ring left
patch=0,EE,202D3A90,extended,3c03424c //Radar Ring left
patch=0,EE,202D39F8,extended,3c0342f6 //Radar Ring right
patch=0,EE,202D3AA0,extended,3c0342f6 //Radar Ring right
//CFont::SetScale hook
patch=0,EE,202CD990,extended,3C013f40 //lui $at, 0x3f40
patch=0,EE,202CD994,extended,44810000 //mtc1 $at, $f0
patch=0,EE,202CD998,extended,46006302 //mul.s $f12, $f0
patch=0,EE,202CD99C,extended,3c010069 //lui   $at, 0x7C
patch=0,EE,202CD9A0,extended,e42cd5f4 //swc1Â Â $f12, flt_68D5F4
patch=0,EE,202CD9A4,extended,3c010069 //lui   $at, 0x7C
patch=0,EE,202CD9A8,extended,03e00008 //jr ra
patch=0,EE,202CD9AC,extended,e42dd5f8 //swc1Â Â $f13, flt_68D5F8
void CFont::SetScale(float w, float h){
globalWidth = w*0.75;
globalHeight = h;
}
patch=0,EE,202D1CB4,extended,3c034409 // Fist Icon left
patch=0,EE,202D1CC4,extended,3c024415 // Fist icon right
patch=0,EE,202D1CC8,extended,3442a391 // Fist icon right
patch=0,EE,202D1C54,extended,3c0341c7 // Weapon Icon width
//--------------------------------------------------FOV------------------------------------------------//
patch=0,EE,201325BC,extended,3C013F9D //New SetFOV
patch=0,EE,201325C0,extended,44810000 //New SetFOV
patch=0,EE,201325C4,extended,46006302 //New SetFOV
patch=0,EE,201325C8,extended,03E00008 //New SetFOV
patch=0,EE,201325CC,extended,E78C86F8 //New SetFOV
patch=0,EE,202434EC,extended,0C04C96F //SetFOV Call
patch=0,EE,2026FE1C,extended,0C04C972 //SetFOV Call
patch=0,EE,202703F4,extended,0C04C972 //SetFOV Call
//patch=0,EE,20273988,extended,00000000 //Skip MPEG Decoder
//patch=0,EE,202739A8,extended,00000000 //Skip MPEG Decoder
//patch=0,EE,2029072C,extended,00000000 //Radar quadrado
//-----------------------------------------------------------------------------------------------------//
//patch=0,EE,202E7860,extended,24070001 // Remove a necessidade do gta3_2.img em diante
[No money zeros]
patch=0,EE,204ADB28,extended,00642524
patch=0,EE,204ADB2C,extended,00000000
[No life/armour zeros]
patch=0,EE,204ADB40,extended,00006425
[Wanted Stars]
patch=0,EE,202D2558,extended,3C034170 // wanted pos x offset - 15.0
patch=0,EE,202D23E8,extended,3C034414 // initial pos x
patch=0,EE,202D2480,extended,3C0242A7 // wanted pos y
patch=0,EE,202D24E4,extended,3C0242A7 // wanted pos y
patch=0,EE,202D253C,extended,3C0242A7 // wanted pos y
[Weapon ammo]
patch=0,EE,202D1E80,extended,3C024288 // ammo pos Y
patch=0,EE,202D1E14,extended,24040001 // CFont::SetDropShadowPosition(1LL);
patch=0,EE,202D1E5C,extended,240600FF // color G
patch=0,EE,202D1E64,extended,240700FF // color B
[Clock]
patch=0,EE,202D31E8,extended,3C034408 // clock pos x
[Money]
patch=0,EE,202D199C,extended,3C034408 // money pos x
[Life]
patch=0,EE,202D20F4,extended,3C034408 // life pos x
patch=0,EE,202D2180,extended,3C0343FE // life icon pos x
[Armour]
patch=0,EE,202D22A8,extended,3C0343F7 // armour pos x
patch=0,EE,202D232C,extended,3C0343E4 // armour icon pos x
Code:
gametitle=Grand Theft Auto: San Andreas
comment=GTA San Andreas Modern Widescreen Fix
//------------------------------------------------Fixes------------------------------------------------//
//Linear Filtering for License Plates
patch=0,EE,204A48A4,extended,34630002 ori $v1, 2 //RWLINEARFILTER
//Fixed ammo for melee weapons in cheats
patch=0,EE,2059D88C,extended,24060001 li $s2 1 //knife
patch=0,EE,2059D998,extended,24060001 li $s2 1 //knife
patch=0,EE,2059DB60,extended,24060001 li $s2 1 //chainsaw
patch=0,EE,2059DC34,extended,24060001 li $s2 1 //chainsaw
patch=0,EE,2059F67C,extended,24060001 li $s2 1 //parachute
patch=0,EE,2059F3BC,extended,24060001 li $s2 1 //katana
//014C cargen counter fix (by spaceeinstein)
patch=0,EE,20295AF0,extended,2C61FFFF //slti => sltiu
patch=0,EE,20295AF4,extended,10000004 //beqz => b
// Don't clean the car BEFORE Pay 'n Spray doors close, as it gets cleaned later again anyway!
patch=0,EE,202E41CC,extended,00000000 nop
// Fixed muzzleflash not showing from last bullet
patch=0,EE,204071F4,extended,00000000 nop
// Help boxes showing with big message
// Game seems to assume they can show together
patch=0,EE,202AE3A0,extended,00000000 nop
// Impound garages working correctly
patch=0,EE,201C6088,extended,0C0BAA58 jal CGarages::IsPointWithinAnyGarage(CVector &)
patch=0,EE,201C63C0,extended,0C0BAA58 jal CGarages::IsPointWithinAnyGarage(CVector &)
patch=0,EE,201C6510,extended,0C0BAA58 jal CGarages::IsPointWithinAnyGarage(CVector &)
// Impounding after busted works
patch=0,EE,202A09A4,extended,00000000 nop
// Weapon icon fix (crosshairs mess up rwRENDERSTATEZWRITEENABLE)
patch=0,EE,202AAB44,extended,00000000 nop
patch=0,EE,202AB284,extended,00000000 nop
patch=0,EE,202AB2B4,extended,00000000 nop
//Fix 4th texture memory leak on effects
patch=0,EE,203D4D50,extended,8E240018
patch=0,EE,203D4D64,extended,AE200018
//-------------------------------------------------HUD-------------------------------------------------//
//patch=0,EE,20663C00,extended,3f666666 //Wanted Height
patch=0,EE,20663C04,extended,3ecccccd //Wanted Width
//patch=0,EE,20663C0C,extended,3f8a3d71 //Wanted Shadow Height
patch=0,EE,20663C10,extended,3ef5c28f //Wanted Shadow Width
//patch=0,EE,202AA78C,extended,3c023fc0 //Wanted Vertical Padding
patch=0,EE,2026E03C,extended,3c084270 //Radar Width
patch=0,EE,2026ED00,extended,3c024270 //Radar Mask Width
patch=0,EE,2026EE30,extended,3c034270 //Radar Mask Width
patch=0,EE,2026EF18,extended,3c034270 //Radar Mask Width
patch=0,EE,20269528,extended,3c024270 //Radar Width unknown
patch=0,EE,2026E658,extended,3c024270 //Radar Width plane green overlay
patch=0,EE,202AC8F8,extended,3c024248 //Radar Width plane overlay
patch=0,EE,202AC964,extended,3c024270 //Radar Heigth plane overlay
patch=0,EE,202ACC4C,extended,3c0341eb //Radar Disc Width left up - a esquerda dessa porra aqui
patch=0,EE,202ACC50,extended,3c0243aa //Radar Disc Width left up - a parte de cima dessa porra aqui
patch=0,EE,202ACC60,extended,3c034278 //Radar Disc Width left up - a direita dessa porra aqui
patch=0,EE,202ACC64,extended,3c0243bf //Radar Disc Width left up - a parte de baixo dessa porra aqui
patch=0,EE,202ACC98,extended,3c0342be //Radar Disc Width right up - a esquerda dessa porra aqui
patch=0,EE,202ACC9c,extended,3c0243aa //Radar Disc Width right up - a parte de cima dessa porra
patch=0,EE,202ACCac,extended,3c034278 //Radar Disc Width right up - a direita dessa porra aqui
patch=0,EE,202ACCb0,extended,3c0243bf //Radar Disc Width right up - a parte de baixo dessa porra
patch=0,EE,202ACCE4,extended,3c0341eb //Radar Disc Width left down - a esquerda dessa porra aqui
patch=0,EE,202ACCE8,extended,3c0243d4 //Radar Disc Width left down - a parte de cima dessa porra
patch=0,EE,202ACCF8,extended,3c034278 //Radar Disc Width left down - a direita dessa porra aqui
patch=0,EE,202ACCFC,extended,3c0243bf //Radar Disc Width left down - a parte de baixo dessa porra
patch=0,EE,202ACD30,extended,3c0342be //Radar Disc Width right down - a esquerda dessa porra aqui
patch=0,EE,202ACD34,extended,3c0243d4 //Radar Disc Width right down - a parte de cima dessa porra
patch=0,EE,202ACD44,extended,3c034278 //Radar Disc Width right down - a direita dessa porra aqui
patch=0,EE,202ACD48,extended,3c0243bf //Radar Disc Width right down - a parte de baixo dessa porra
patch=0,EE,2026AE54,extended,3c034270 //Radar Blip disc Width
patch=0,EE,2026E04C,extended,3c064278 //Radar X Pos
//patch=0,EE,2026E0A0,extended,3c0443BF //Radar Y Pos
patch=0,EE,2026ED10,extended,3c024278 //Radar Mask X Pos
patch=0,EE,2026EE3C,extended,3c044278 //Radar Mask X Pos
patch=0,EE,2026EF34,extended,3c044278 //Radar Mask X Pos
patch=0,EE,2026AE6C,extended,3c034278 //Radar Blip disc X Pos
patch=0,EE,2026E674,extended,3c024278 //Radar X Pos plane green overlay
patch=0,EE,202AC900,extended,3c034278 //Radar X Pos plane overlay
patch=0,EE,202A9EF4,extended,3C024210 //Fist Icon Width
patch=0,EE,202A9E34,extended,3c024190 //Weapon Icon Width
patch=0,EE,202ABA40,extended,2405020D //Weapon Icon Pos X
patch=0,EE,202ABA7C,extended,2405020D //Weapon Icon Pos X - Player 2
patch=0,EE,20663748,extended,3e800000 //Ammo Width
patch=0,EE,202ABA90,extended,2405021F //Ammo X Pos
patch=0,EE,202ABACC,extended,2405021F //Ammo X Pos - Player 2
patch=0,EE,202A9B84,extended,3c0242A8 //Health bar width
patch=0,EE,202A9904,extended,2404002F //Armour bar width
patch=0,EE,202A9A04,extended,2404002F //Breath bar width
patch=0,EE,202AB51C,extended,24050231 //Armour bar pos x
patch=0,EE,202AB560,extended,24050231 //Armour bar pos x
patch=0,EE,202AB6B0,extended,24050231 //Breath bar pos x
patch=0,EE,202AB6F8,extended,24050231 //Breath bar pos x
//CHud::DrawBustedWastedMessage width
patch=0,EE,202AF568,extended,3C033F90 //lui   $v1, 0x3f90
patch=0,EE,202AF56C,extended,0C0AA200 //jal   _ZN5CFont8SetScaleEf # Jump And Link
patch=0,EE,202AF570,extended,44836000 //mtc1Â Â $v1, $f12
patch=0,EE,202AF574,extended,0C0AA2F4 //jal   _ZN5CFont15SetProportionalEh # Jump And Link
patch=0,EE,202AF578,extended,24040001 //li   $a0, 1      # Load Immediate
patch=0,EE,202AF57C,extended,0C0AA310 //jal   _ZN5CFont10SetJustifyEh # Jump And Link
patch=0,EE,202AF580,extended,0000202D //move  $a0, $zero
patch=0,EE,202AF584,extended,0C0AA314 //jal   _ZN5CFont14SetOrientationEh # Jump And Link
patch=0,EE,202AF588,extended,0000202D //move  $a0, $zero
patch=0,EE,202AF58C,extended,0C0AA27C //jal   _ZN5CFont12SetFontStyleEh # Jump And Link
patch=0,EE,202AF590,extended,0000202D //move  $a0, $zero
patch=0,EE,202AF594,extended,0C0AA2EC //jal   _ZN5CFont7SetEdgeEa # Jump And Link
patch=0,EE,202AF598,extended,24040003 //li   $a0, 3      # Load Immediate
patch=0,EE,202AF59C,extended,3C01007C //lui   $at, 0x7C # '|' # Load Upper Immediate
patch=0,EE,202AF5A0,extended,3C024F00 //lui   $v0, 0x4F00   # Load Upper Immediate
patch=0,EE,202AF5A4,extended,C42132D8 //lwc1  $f1, _styledText3Alpha # Load Word to FPU
patch=0,EE,202AF5A8,extended,44820000Â //mtc1Â Â $v0, $f0Â Â Â Â Â # Move to FPU
//CHud::DrawSuccessFailedMessage width
patch=0,EE,202AF0FC,extended,3C033f59 //lui   $v1, 0x3f59
patch=0,EE,202AF100,extended,0C0AA200  //jal   _ZN5CFont8SetScaleEf # Jump And Link
patch=0,EE,202AF104,extended,44836000 //mtc1Â Â $v1, $f12
patch=0,EE,202AF108,extended,0C0AA2F4  //jal   _ZN5CFont15SetProportionalEh # Jump And Link
patch=0,EE,202AF10C,extended,24040001  //li   $a0, 1      # Load Immediate
patch=0,EE,202AF110,extended,0C0AA310  //jal   _ZN5CFont10SetJustifyEh # Jump And Link
patch=0,EE,202AF114,extended,0000202D  //move  $a0, $zero
patch=0,EE,202AF118,extended,0C0AA314  //jal   _ZN5CFont14SetOrientationEh # Jump And Link
patch=0,EE,202AF11C,extended,0000202D  //move  $a0, $zero
patch=0,EE,202AF120,extended,2402024E  //li   $v0, 0x24E    # Load Immediate
patch=0,EE,202AF124,extended,44820000Â Â //mtc1Â Â $v0, $f0Â Â Â Â Â # Move to FPU
patch=0,EE,202AF128,extended,0C0AA29C  //jal   _ZN5CFont13SetCentreSizeEf # Jump And Link
patch=0,EE,202AF12C,extended,46800320Â Â //cvt.s.w $f12, $f0Â Â Â Â # Floating-point Convert to Single Fixed-Point Format
patch=0,EE,202AF130,extended,0C0AA27C  //jal   _ZN5CFont12SetFontStyleEh # Jump And Link
patch=0,EE,202AF134,extended,24040003  //li   $a0, 3      # Load Immediate
patch=0,EE,202AF138,extended,0C0AA2EC  //jal   _ZN5CFont7SetEdgeEa # Jump And Link
patch=0,EE,202AF13C,extended,24040002  //li   $a0, 2      # Load Immediate
patch=0,EE,202AF140,extended,3C01007C  //lui   $at, 0x7C # '|' # Load Upper Immediate
patch=0,EE,202AF144,extended,3C024F00  //lui   $v0, 0x4F00   # Load Upper Immediate
patch=0,EE,202AF148,extended,C42132D0Â Â //lwc1Â Â $f1, flt_7C32D0Â # Load Word to FPU
patch=0,EE,202AF14C,extended,44820000Â Â //mtc1Â Â $v0, $f0Â Â Â Â Â # Move to FPU
//CRadar::DrawRadarSprite width
patch=0,EE,2026D384,extended,3C034100 //lui   $v1, 0x4100   # Load Upper Immediate
patch=0,EE,2026D388,extended,0200102D //move  $v0, $s0
patch=0,EE,2026D38C,extended,44831000Â //mtc1Â Â $v1, $f2Â Â Â Â Â # Move to FPU
patch=0,EE,2026D390,extended,3C0340C6 //lui   $v1, 0x40C6
patch=0,EE,2026D394,extended,44831800Â //mtc1Â Â $v1, $f3Â Â Â Â Â # Move to FPU
patch=0,EE,2026D398,extended,27A50050 //addiu  $a1, $sp, 0x70+var_20 # a2
patch=0,EE,2026D39C,extended,27A6006C //addiu  $a2, $sp, 0x70+var_4 # rgbaColor
patch=0,EE,2026D3A0,extended,4603A801 //sub.s  $f0, $f21, $f3  # Floating-point Subtract
patch=0,EE,2026D3A4,extended,00021880 //sll   $v1, $v0, 2   # Shift Left Logical
patch=0,EE,2026D3A8,extended,3C020070 //li   $v0, dword_703A70 # Load Immediate
patch=0,EE,2026D3AC,extended,24423A70Â //
patch=0,EE,2026D3B0,extended,00432021 //addu  $a0, $v0, $v1  # a1
patch=0,EE,2026D3B4,extended,E7A00050Â //swc1Â Â $f0, 0x70+var_20($sp)Â # Store Word from FPU
patch=0,EE,2026D3B8,extended,4603A800 //add.s  $f0, $f21, $f3  # Floating-point Add
patch=0,EE,2026D3BC,extended,E7A00058Â //swc1Â Â $f0, 0x70+var_18($sp)Â # Store Word from FPU
patch=0,EE,2026D3C0,extended,4602A041 //sub.s  $f1, $f20, $f2  # Floating-point Subtract
patch=0,EE,2026D3C4,extended,4602A000 //add.s  $f0, $f20, $f2  # Floating-point Add
patch=0,EE,2026D3C8,extended,E7A1005CÂ //swc1Â Â $f1, 0x70+var_14($sp)Â # Store Word from FPU
patch=0,EE,2026D3CC,extended,0C0AC258 //jal   _ZN9CSprite2d4DrawERK5CRectRK5CRGBA # Jump And Link
patch=0,EE,2026D3D0,extended,E7A00054Â //swc1Â Â $f0, 0x70+var_1C($sp)Â # Store Word from FPU
patch=0,EE,2026D3D4,extended,0200282D //move  $a1, $s0
patch=0,EE,2026D3D8,extended,0C09A670 //jal   _ZN6CRadar19AddBlipToLegendListEhi # Jump And Link
patch=0,EE,2026D3DC,extended,0000202D //move  $a0, $zero
patch=0,EE,2026D3E0,extended,DFBF0040 //ld   $ra, 0x70+var_30($sp) # Load Doubleword
patch=0,EE,2026D3E4,extended,C7B50004Â //lwc1Â Â $f21, 0x70+var_6C($sp)Â # Load Word to FPU
patch=0,EE,2026D3E8,extended,7BB20030 //lq   $s2, 0x70+var_40($sp) # Load Quadword
patch=0,EE,2026D3EC,extended,C7B40000Â //lwc1Â Â $f20, 0x70+var_70($sp)Â # Load Word to FPU
patch=0,EE,2026D3F0,extended,7BB10020 //lq   $s1, 0x70+var_50($sp) # Load Quadword
patch=0,EE,2026D3F4,extended,7BB00010 //lq   $s0, 0x70+var_60($sp) # Load Quadword
patch=0,EE,2026D3F8,extended,03E00008 //jr   $ra       # Jump Register
patch=0,EE,2026D3FC,extended,27BD0070 //addiu  $sp, 0x70    # Add Immediate Unsigned
//CRadar::DrawBlips - Radar Centre
patch=0,EE,2026863C,extended,24050006
patch=0,EE,20268644,extended,24060008
patch=0,EE,20268674,extended,24050006
patch=0,EE,2026867C,extended,24060008
patch=0,EE,202ADA20,extended,3c033ecc //mission timers
patch=0,EE,202AD82C,extended,3c023f33 //Vehicle name width
patch=0,EE,202AFCAC,extended,3c023f33 //Mission title width
patch=0,EE,202AD29C,extended,c78c8384 //Area name width hook - 0x663474
patch=0,EE,20663bc8,extended,3ecccccd //Money Width
patch=0,EE,20663C58,extended,3ecccccd //Subtitles Width
patch=0,EE,20663674,extended,3EB33333 //Help box Width
patch=0,EE,202AC440,extended,C78C82BC //DrawVitalStats weekday width hook
patch=0,EE,202AC438,extended,C78D899C //DrawVitalStats weekday height hook
patch=0,EE,2023E5C4,extended,3c023f33 //CMenuManager::DrawWindow title width
patch=0,EE,202ACAB4,extended,3C0341d4 //AltitudeBar width
patch=0,EE,202ACC10,extended,3C0241e5 //AltitudeCounter width
patch=0,EE,202ACC00,extended,3C034190 //AltitudeCounter X Pos
//Set drop shadows to outline
patch=0,EE,202A8B90,extended,3c01007c
patch=0,EE,202A8B94,extended,a0202346
patch=0,EE,202A8B98,extended,3c01007c
patch=0,EE,202A8B9C,extended,a024234b
patch=0,EE,202A8Ba8,extended,a024234c
//--------------------------------------------------FOV------------------------------------------------//
patch=0,EE,2021DF84,extended,0C044C2F //SetFOV Call
patch=0,EE,20242D54,extended,0C044C2F //SetFOV Call
patch=0,EE,2021DF84,extended,0C044C2F //SetFOV Call
patch=0,EE,201130BC,extended,3C013F9D //New SetFOV
patch=0,EE,201130C0,extended,44810000 //New SetFOV
patch=0,EE,201130C4,extended,46006302 //New SetFOV
patch=0,EE,201130C8,extended,03e00080 //New SetFOV
patch=0,EE,201130CC,extended,E78C9A90 //New SetFOV
patch=0,EE,2021DFE0,extended,3c0242a0 // Emergency Vehicles Fix
patch=0,EE,202EE0E0,extended,3C024120 // Fix sky multitude
patch=0,EE,202EE0E8,extended,00000000 // Fix sky multitude
patch=0,EE,2020A484,extended,3C024302 // Set vehicle max FOV
//-------------------------------------------------Menu------------------------------------------------//
patch=0,EE,20234A44,extended,24040001 //Set Menu Text Body
patch=0,EE,20234A14,extended,c78c8b68 //Hook Menu Items Width to Subtitles width
patch=0,EE,202354F8,extended,c78c8b68 //Hook Menu Items Width to Subtitles width
patch=0,EE,20242190,extended,3c023ecc //Set Menu Labels Width
//-------------------------------------------------Debug-----------------------------------------------//
//patch=0,EE,20515870,extended,00000000 //Disable radiosity
//patch=0,EE,2039B53C,extended,24040001 //Set VSync Mode to 60 FPS
//patch=0,EE,20245790,extended,00000000 //Skip MPEG Decoder
//patch=0,EE,202457B0,extended,00000000 //Skip MPEG Decoder