-- Capcom vs SNK 2 (NTSC) (SCUS-20246)
-- Widescreen hack by gamemasterplc
-- ported to PS4 lua by Stayhye
-- emu used=rogue v1
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--Have S. Akuma & U. Rugal
eeObj.WriteMem32(0x103F2514,0x0000FFFF)
eeObj.WriteMem32(0x2012489C,0x3C033FDD) --Upper Half of Clip Matrix Aspect Ratio Setting (1.73333f)
eeObj.WriteMem32(0x201248A0,0x3463DDDE) --Lower Half of Clip Matrix Aspect Ratio Setting (1.73333f)
eeObj.WriteMem32(0x20124B60,0x3C023FDD) --Upper Half of Aspect Ratio Setting (1.73333f)
eeObj.WriteMem32(0x20124B64,0x3443DDDE) --Lower Half of Aspect Ratio Setting (1.73333f)
eeObj.WriteMem32(0x20134DD8,0x24120340) --Set Internal Resolution to 832x480
eeObj.WriteMem32(0x2013ED94,0x3C024450) --Screen Invert Colour Width (832.0f)
eeObj.WriteMem32(0x2013EF74,0x3C024450) --Fadeout Width (832.0f)
eeObj.WriteMem32(0x2013F6A8,0x3C024450) --Screen Flicker Rectangle Width (832.0f)
eeObj.WriteMem32(0x2013F7E4,0x3C024450) --Continue Screen Background Colour Width (832.0f)
eeObj.WriteMem32(0x201438B4,0x24020340) --Viewport Width (832)
eeObj.WriteMem32(0x2014F534,0x3C02435A) --Line 1 End Screen Fail Text X Position (218.0f)
eeObj.WriteMem32(0x2014F580,0x3C02435A) --Line 2 End Screen Fail Text X Position (218.0f)
eeObj.WriteMem32(0x2014F58C,0x3C02435A) --Green Line 2 End Screen Fail Text X Position (218.0f)
eeObj.WriteMem32(0x2014F5C4,0x3C02435A) --Last Stage Warning Words X Position (218.0f)
eeObj.WriteMem32(0x2014F968,0x240400DE) --P1 Total Win Text X Position (222)
eeObj.WriteMem32(0x2014F980,0x240401DC) --P2 Total Win Text X Position (476)
eeObj.WriteMem32(0x2014F9E8,0x240400DE) --P1 Win Numbers Text X Position (222)
eeObj.WriteMem32(0x2014FA08,0x240401DC) --P2 Win Numbers Text X Position (476)
eeObj.WriteMem32(0x2014FA20,0x240400C6) --P1 Win Text X Position (198)
eeObj.WriteMem32(0x2014FA38,0x240401C4) --P2 Win Text X Position (452)
eeObj.WriteMem32(0x2014FA50,0x240400FE) --P1 Rate Text X Position (254)
eeObj.WriteMem32(0x2014FA68,0x240401FC) --P2 Rate Text X Position (508)
eeObj.WriteMem32(0x2014FBC0,0x24040146) --P1 Win Percentage Number X Position (326)
eeObj.WriteMem32(0x2014FBE0,0x24040244) --P2 Win Percentage Number X Position (580)
eeObj.WriteMem32(0x2014FBF8,0x2404016A) --Continue Text X Position (362)
eeObj.WriteMem32(0x2014FC10,0x24040150) --Replay Text X Position (336)
eeObj.WriteMem32(0x2014FC28,0x240401B8) --Save Text X Position (446)
eeObj.WriteMem32(0x2014FC40,0x24040184) --Exit Text X Position (388)
eeObj.WriteMem32(0x2015005C,0x240400D6) --P1 Human Text X Position (214)
eeObj.WriteMem32(0x20150078,0x240400D6) --P1 CPU Text X Position (214)
eeObj.WriteMem32(0x201500CC,0x240400D6) --P1 Character Names X Position (214)
eeObj.WriteMem32(0x20150130,0x240400D6) --P1 Handicap Text X Position (214)
eeObj.WriteMem32(0x2015015C,0x240401D4) --P2 Human Text X Position (468)
eeObj.WriteMem32(0x20150178,0x240401D4) --P2 CPU Text X Position (468)
eeObj.WriteMem32(0x201501CC,0x240401D4) --P2 Character Names X Position (468)
eeObj.WriteMem32(0x20150230,0x240401D4) --P2 Handicap Text X Position (468)
eeObj.WriteMem32(0x20150248,0x24040170) --Restart Text X Position (368)
eeObj.WriteMem32(0x20150260,0x24040140) --Replay Text X Position (320)
eeObj.WriteMem32(0x20150278,0x240401A8) --Resave Text X Position (424)
eeObj.WriteMem32(0x20150290,0x24040150) --File Select Text X Position (336)
eeObj.WriteMem32(0x201502A8,0x24040184) --Exit Text X Position (468)
eeObj.WriteMem32(0x20152784,0x3C02433F) --Main Menu Window Left Edge X Position (191.0f)
eeObj.WriteMem32(0x201527A0,0x3C0243CD) --Main Menu Window Right Edge X Position (411.0f)
eeObj.WriteMem32(0x201546E8,0x240201A0) --First Text Line Main Menu Windows Center X Position (416)
eeObj.WriteMem32(0x20154760,0x240201A0) --Second Text Line Main Menu Windows Center X Position (416)
eeObj.WriteMem32(0x201547D8,0x240201A0) --Third Text Line Main Menu Windows Center X Position (416)
eeObj.WriteMem32(0x20154A34,0x240201A0) --First Text Line Main Menu Center X Position (416)
eeObj.WriteMem32(0x20154AAC,0x240201A0) --Second Text Line Main Menu Center X Position (416)
eeObj.WriteMem32(0x20161000,0x24130174) --Color Edit Menu Character Name X Position (372)
eeObj.WriteMem32(0x20161288,0x3C024358) --Color Edit Menu Warning Window X Position (216.0f)
eeObj.WriteMem32(0x20161368,0x3C024358) --Color Edit Menu Warning Text X Position (216.0f)
eeObj.WriteMem32(0x201614A4,0x3C0243D0) --Color Edit Menu Warning Slash X Position (416.0f)
eeObj.WriteMem32(0x201614E0,0x3C0243D0) --Color Edit Menu Warning YES NO Options X Position (416.0f)
eeObj.WriteMem32(0x2017960C,0x24020080) --X Position of Player 1 Name (128)
eeObj.WriteMem32(0x201796B4,0x24420250) --X Position of Player 2 Name (592)
eeObj.WriteMem32(0x201905EC,0x24530060) --X Offset of Character Text in Arcade Mode (96)
eeObj.WriteMem32(0x201905F4,0x00000000) --Required for Text to be Positioned Properly
eeObj.WriteMem32(0x20195F94,0x24040278) --X Position of Survival Mode Timer (632)
eeObj.WriteMem32(0x2019DE8C,0x24040258) --X Position of Survival Mode Text (600)
eeObj.WriteMem32(0x2019DF28,0x24020235) --X Position of PRESS START BUTTON Text Ingame for Player 2 (565)
eeObj.WriteMem32(0x201A7AA8,0x3C0243D0) --Slash X Position on Save/Load Confirm Memory Card Screen
eeObj.WriteMem32(0x201A7AD8,0x3C0243D0) --Yes/No Options X Position on Save/Load Confirm Memory Card Screen
eeObj.WriteMem32(0x201AAC90,0x2402022E) --X Position of Song Location in Sound Test (558)
eeObj.WriteMem32(0x201AAD08,0x2402022E) --X Position of Song Title in Sound Test (558)
eeObj.WriteMem32(0x201ADDA8,0x240201A0) --X Position of Initialize History Question (416)
eeObj.WriteMem32(0x202D6A84,0x24040122) --X Position of PRESS START BUTTON Text in Demo (290)
eeObj.WriteMem32(0x202DB9CC,0x3C044450) --Pause Screensaver Width (832.0f)
eeObj.WriteMem32(0x202DBE90,0x24150100) --X Position of Left Edge of Pause Screen Window (256)
eeObj.WriteMem32(0x202DBED0,0x24030340) --Pause Screen Right Edge Alignment Calculation X Position (832)
eeObj.WriteMem32(0x202DBF40,0x24020340) --Pause Menu Text Alignment Calculation X Position (832)
eeObj.WriteMem32(0x202DBFA4,0x2404010D) --Pause Menu Cursor X Position (269)
eeObj.WriteMem32(0x202DBFD0,0x2404011B) --Pause Menu Options X Position (283)
eeObj.WriteMem32(0x202DC418,0x240400D0) --Exit Pause Menu Window X Position (208)
eeObj.WriteMem32(0x202DC434,0x240400E0) --First Line of Exit Confirmation X Position (224)
eeObj.WriteMem32(0x202DC448,0x24040160) --Second Line of Exit Confirmation X Position (352)
eeObj.WriteMem32(0x202DC480,0x24040168) --Yes Option Exit Menu X Position (360)
eeObj.WriteMem32(0x202DC494,0x240401BC) --No Option Exit Menu X Position (444)
eeObj.WriteMem32(0x202DC4AC,0x240401A0) --Slash Exit Menu X Position (416)
eeObj.WriteMem32(0x202DCBCC,0x24040080) --Controls Menu Header Window X Position (128)
eeObj.WriteMem32(0x202DCBE8,0x24070020) --Controls Menu Header Window Height (32)
eeObj.WriteMem32(0x202DCC08,0x24020340) --Controls Menu Header Text Alignment Calculation X Position (832)
eeObj.WriteMem32(0x202DCCC8,0x24060208) --P2 Controls Menu X Position (520)
eeObj.WriteMem32(0x202DD34C,0x240400A0) --Command List Header Window X Position (160)
eeObj.WriteMem32(0x202DD3F0,0x24020340) --Command List Header Text Alignment Calculation X Position (832)
eeObj.WriteMem32(0x202DD420,0x240400A0) --Command List Window X Position (160)
eeObj.WriteMem32(0x202DD454,0x240500A0) --Command List Commands X Position (160)
eeObj.WriteMem32(0x202DDE88,0x24060300) --Dummy Setting Header Window Header Width (768)
eeObj.WriteMem32(0x202DDEB4,0x24020340) --Dummy Setting Header Text Alignment Calculation X Position (832)
eeObj.WriteMem32(0x202DDED8,0x24060300) --Dummy Setting Window Width (768)
eeObj.WriteMem32(0x202DDF00,0x24060300) --Dummy Setting Cursor Width (768)
eeObj.WriteMem32(0x202DDFDC,0x24020304) --Dummy Setting Right-Side Text X Position (772)
eeObj.WriteMem32(0x202DE4E8,0x24060300) --Player Setting Header Window Header Width (768)
eeObj.WriteMem32(0x202DE514,0x24020340) --Player Setting Header Text Alignment Calculation X Position (832)
eeObj.WriteMem32(0x202DE538,0x24060300) --Player Setting Window Width (768)
eeObj.WriteMem32(0x202DE55C,0x24060300) --Player Setting Cursor Width (768)
eeObj.WriteMem32(0x202DE62C,0x24020304) --Player Setting Right-Side Text X Position (772)
eeObj.WriteMem32(0x202DEA10,0x24060280) --Training Options Header Window Header Width (640)
eeObj.WriteMem32(0x202DEA3C,0x24020340) --Training Options Header Text Alignment Calculation X Position (832)
eeObj.WriteMem32(0x202DEA60,0x24060280) --Training Options Window Width (640)
eeObj.WriteMem32(0x202DEA8C,0x24060280) --Training Options Cursor Width (640)
eeObj.WriteMem32(0x202DEB40,0x240202C4) --Training Options Right-Side Text X Position (708)
eeObj.WriteMem32(0x2033B910,0x24020340) --First Text Line Memory Card Menu Alignment Calculation X Position (832)
eeObj.WriteMem32(0x2033B984,0x24020340) --Second Text Line Memory Card Menu Alignment Calculation X Position (832)
eeObj.WriteMem32(0x2033D0A8,0x240501ED) --Memory Card Save Overwrite YES/NO Options Text X Position (493)
eeObj.WriteMem32(0x2033EA78,0x24020340) --Is now Playable Text Alignment Calculation X Position (832)
eeObj.WriteMem32(0x2033EB2C,0x24020340) --Unlock Point Number Text Alignment Calculation X Position (832)
eeObj.WriteMem32(0x2033EC5C,0x24030340) --Memory Card Slot Letter Alignment Calculation X Position (832)
eeObj.WriteMem32(0x2033ED40,0x24020340) --Groove Edit Mode Text Alignment Calculation X Position (832)
eeObj.WriteMem32(0x2033EDEC,0x24030340) --Character Unlocked Name Alignment Calculation X Position (832)
eeObj.WriteMem32(0x2033EE64,0x24020340) --Boss Battle Text Alignment Calculation X Position (832)
eeObj.WriteMem32(0x2033EEB8,0x24020340) --Extra Option Text Alignment Calculation X Position (832)
eeObj.WriteMem32(0x2033EF14,0x24020340) --Groove Edit Mode Text Alignment Calculation X Position (832)
eeObj.WriteMem32(0x2033EFBC,0x3C024440) --Window Right Edge X Position of Autosave Window (768.0f)
eeObj.WriteMem32(0x2033F014,0x3C024440) --Window Right Border X Position of Autosave Window (770.0f)
eeObj.WriteMem32(0x20344BE8,0x3C024440) --Window Right Edge X Position of Memory Card Load Window (768.0f)
eeObj.WriteMem32(0x20344C3C,0x3C024440) --Window Right Border X Position of Memory Card Load Window (770.0f)
eeObj.WriteMem32(0x20344D54,0x24020340) --Static Text Lines Memory Card Load Alignment Calculation X Position (832)
eeObj.WriteMem32(0x20344E78,0x24020340) --Memory Card Load Space Required Alignment Calculation X Position (832)
eeObj.WriteMem32(0x20344FD0,0x24030340) --Memory Card Load Slot Number Alignment Calculation X Position (832)
eeObj.WriteMem32(0x20345170,0x24040168) --Memory Card Load Yes X Position (360)
eeObj.WriteMem32(0x2034518C,0x240401BC) --Memory Card Load No X Position (444)
eeObj.WriteMem32(0x203451AC,0x240401A0) --Memory Card Load Slash X Position (416)
eeObj.WriteMem32(0x2034973C,0x240201A0) --Replay Save Confirm Text X Position (416)
eeObj.WriteMem32(0x2034C7F0,0x24020340) --Replay Save Text Line 1 Alignment Calculation X Position (832)
eeObj.WriteMem32(0x2034C868,0x24020340) --Replay Save Text Line 2 Alignment Calculation X Position (832)
eeObj.WriteMem32(0x103BAE60,0x00000108) --Original Character X Position in Color Edit Menu (264)
eeObj.WriteMem32(0x103BAE74,0x000001D8) --Edited Character X Position in Color Edit Menu (472)
eeObj.WriteMem32(0x103BAF30,0x00000120) --ADX Big Logo X Position (288)
eeObj.WriteMem32(0x103BAF44,0x00000170) --ADX Small Logo X Position (368)
eeObj.WriteMem32(0x103BAF58,0x000000E0) --ADX Logo Copyright Symbol X Position (224)
eeObj.WriteMem32(0x103BAF6C,0x00000168) --ADX Logo Copyright Text X Position (360)
eeObj.WriteMem32(0x103BAFC4,0x000002A0) --Capcom vs SNK Demo Logo X Position (672)
end
emuObj.AddVsyncHook(patcher)