apiRequest(1.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local widescreen = function()
eeObj.WriteMem32(0x001D77C8,0x100000B4) --speed fix
eeObj.WriteMem32(0x001D7ED4,0x2C420001) --60FPS
--Disable eAttachTargetMoveSprites
eeObj.WriteMem32(0x001D3930,0x03e00008)
eeObj.WriteMem32(0x001D3934,0x0)
--Disable DepthIntoAlpha
eeObj.WriteMem32(0x0056FFA4,0x0)
--Disable DepthOfField
eeObj.WriteMem32(0x00570268,0x0)
--Disable Fog
eeObj.WriteMem32(0x0057004C,0x0)
--Disable Smear (require depthIntoAlpha to work anyway)
eeObj.WriteMem32(0x00570098,0x0)
--Rain modifier (hacked from RainInTheHeadlights)
-- 3e000000 for full screen, 40000000 for light rain only
eeObj.WriteMem32(0x00574158,0x40000000)
--Better Car Brightness (orig. 437F)
eeObj.WriteMem32(0x001C2704,0x3C01439F)
--Lower World Lights Flare
eeObj.WriteMem32(0x001C3EE0,0x3C013F40)
--Lower Road/Traffic Yellow/Orange Lights Flare
eeObj.WriteMem32(0x001C3260,0x3C013F50)
--Aspect Ratio and Icons Fix:
eeObj.WriteMem32(0x001CCAF4,0x0C0ED18B)
eeObj.WriteMem32(0x003B462C,0x3C03004C)
eeObj.WriteMem32(0x003B4630,0xE474D848)
eeObj.WriteMem32(0x003B4634,0x03E00008)
eeObj.WriteMem32(0x003B4638,0x2404001A)
eeObj.WriteMem32(0x0056FB44,0x3F5B8D14) -- Corrected 4:3 aspect
eeObj.WriteMem32(0x0056FB48,0x3F24A9CF) -- Corrected 16:9 aspect
eeObj.WriteMem32(0x0056FBF4,0x3F154000) -- Corrected 4:3 rendering
eeObj.WriteMem32(0x0056FBF8,0x3F470000) -- Corrected 16:9 rendering
end
emuObj.AddVsyncHook(widescreen)
emuObj.SetDisplayAspectWide()