Editing Official Configuration Files

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 4: Line 4:
| type = style
| type = style
| text = To Do:
| text = To Do:
There should be something between 50 and 60 <nowiki>{{official}}</nowiki> <span class="plainlinks">[{{ps3wikiurl}}User_talk:Roxanne#Notebook "PS2 Classics"]</span> {{InvertibleImage|Icon_ps3.png|24px|This Article leads towards PS3 Developer Wiki}} released by Sony.<br>Are there duplicates used for several releases or why we list only 48 here?
There should be something between 50 and 60 <nowiki>{{official}}</nowiki> <span class="plainlinks">[{{ps3wikiurl}}User_talk:Roxanne#Notebook "PS2 Classics"]</span> {{InvertibleImage|Icon_ps3.png|24px|This Article leads towards PS3 Developer Wiki}} released by Sony.<br>Are there duplicates used for several releases or why we list only 41 here?
Please take a look. Thank you.
Please take a look. Thank you.
}}
}}
Line 10: Line 10:


====ADK Damashii====
====ADK Damashii====
<br>CLI
'''CLI'''
<br>SLPS-25906
<pre>
<pre>
--gs-uprender=none
--gs-uprender=none
Line 16: Line 17:
--force-frame-blend=1
--force-frame-blend=1
</pre>
</pre>
====Ape Escape 2====
<br>SCES-50885
<br>CLI
<pre>
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--gs-scanout-offsetx=27
--vu1-injection=1
--gs-packed15-fmv-opt=1
--gs-skip-dirty-flush-on-mipmap=1
--cop2-accurate-addsub-range=0x3151e8,0x315414
</pre>
<br>SCES-50885
<br>LUA
<br>LUA
<pre>
<pre>
-- ps2isd_hash=5c8433ad15a27ffa : GENERATED BY SCRIPT FOR LOCAL RUNENV USE ONLY (  
local gpr = require("ee-gpr-alias")
-- Title:  ADK Tamashii PS2 - SLPS-25906 (JPN)
require( "ee-hwaddr" )
-- Author:  Ernesto Corvi
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.


-- Changelog:
local eeObj = getEEObject()
-- v1.1: Added video mode support
-- v1.4: Adjusted SNK logo timing
-- v1.5: Adjusted Main Volume
-- v2.0: Fixed Bug 10184


apiRequest(1.6) -- request version 1.6 API. Calling apiRequest() is mandatory.
-- -- never gonna die
-- eeInsnReplace( 0x2bd0a0, 0x27bdfff0, 0x03e00008) -- addiu sp,sp,-16
-- eeInsnReplace( 0x2bd0a4, 0x3c02003e, 0x00000000) --  lui v0,0x3e


local eeObj = getEEObject()
local emuObj = getEmuObject()


local gpr = require("ee-gpr-alias")
-- performance fix bug #9789
local kFilterMode, kWrapMode, kBlendMultiplier, kBlendFunc = require("sprite")
local emuObj = getEmuObject()
local PadConnectType = require("pad-connect-type")
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { } )
emuObj.SetGsTitleFix( "includeAreaUpdate", "reserved" , {alpha = 0x80000048 } )  
emuObj.SetGsTitleFix( "ignoreUpRender", 50 , { } )


HIDPad_Enable()


emuObj.SetVolumes(0.3, 1.0, 1.0);


local snklogo = 0
</pre>
local scanlogos = 0
 
local L1 = function()
local flag = eeObj.GetGpr(gpr.a2)
if flag ~= 0 then
emuObj.ThrottleMax()
end
end


local L2 = function()
emuObj.ThrottleNorm()
end


eeObj.AddHook(0x175a40, 0x8c468650, L1)
eeObj.AddHook(0x19af40, 0x27bdfff0, L2)


-----------------------
====Arc the Lad: Twilight of the Spirits™====
-- Video Options
SCUS 972.31
-----------------------
<br>Cli
<pre>
--gs-force-bilinear=1
--gs-kernel-cl-up="up2x2Simple"
--lopnor-config=1
</pre>


local SaveData = emuObj.LoadConfig(0)
SCUS 972.31
<br>lua
<pre>
require("ee-gpr-alias")
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.


if SaveData.vid_mode == nil then
eeObj = getEEObject()
SaveData.vid_mode      = 1
end


if SaveData.vid_scanlines == nil then
-- Bug#8359 (see bugzilla for the detail)
SaveData.vid_scanlines  = 1
-- Skip FadeSet call if map is 'Scrappe Plateau' and the latest loaded script file is 'evt03B_07_0.moc'.
end
-- This game seems to have a problem (sensitive) with frame count on the script engine.
-- On our emulator, frame counting is slightly different from the original.
-- therefore it reads out 'overun' script command, which is 'cmd_fade' to fade-in.
-- At here, we will skip FADE-IN command if the situation meets the requirement.
skip_fade_flag = { map_name = false, file_name = false }


local sprite0 = getSpriteObject(0)
-- fade skip Bug#8359. skip FadeSet if skip_fade_flag meets the requirement.
local sprite1 = getSpriteObject(1)
eeObj.AddHook(  0x13c464, 0x8e0500c0, function()
local sprite2 = getSpriteObject(2)
  -- print(skip_fade_flag.map_name)
local sprite3 = getSpriteObject(3)
  -- print(skip_fade_flag.file_name)
  if skip_fade_flag.map_name and skip_fade_flag.file_name then
  -- print("SKIP FADE")
  eeObj.SetPc(0x13c470)
  skip_fade_flag.map_name = false
  skip_fade_flag.file_name = false
  end
end)


-- Notifications should be assigned to two unused sprite slots. Since we want them to
-- cmd_read_file(const char* filename)
-- be displayed on top of everything else, they should be the highest sprites in the list.
eeObj.AddHook(0x13dad0, 0x27bdffc0, function()
local spr_p1_notify = getSpriteObject(4)
local filename = eeObj.ReadMemStr(eeObj.GetGpr(gpr.a0))
local spr_p2_notify = getSpriteObject(5)
-- print(string.format("cmd_read_file %s", filename))
local spr_p1d_notify = getSpriteObject(6)
if "chara/evt_camera/evt03B_07_0.moc" == filename then
local spr_p2d_notify = getSpriteObject(7)
-- print("skip_fade!")
skip_fade_flag.file_name = true
else
skip_fade_flag.file_name = false
end
end)


-- note: Texture 0 is fixed as the PS2 scanout.
-- cmd_map_name(const char* mapname)
local texture1 = getTextureObject(1)
eeObj.AddHook(0x13f138, 0x0080282d, function()
local texture2 = getTextureObject(2)
local mapname = eeObj.ReadMemStr(eeObj.GetGpr(gpr.a0))
local texture3 = getTextureObject(3)
-- print(string.format("cmd_map_name %s", mapname))
local texture4 = getTextureObject(4)
if "Scrappe Plateau" == mapname then
local texture5 = getTextureObject(5)
-- print("skip_fade!")
local texture6 = getTextureObject(6)
skip_fade_flag.map_name = true
local texture7 = getTextureObject(7)
else
local texture8 = getTextureObject(8)
skip_fade_flag.map_name = false
end
end)


-- ------------------------------------------------------------
</pre>
local STATE_STOPPED = 0
local STATE_RUNNING = 1


local notify_ypos = 24
====Canis Canem Edit (Bully)====
local notify_p1_xsize = 0
<br>CLI
local notify_p2_xsize = 0
<pre>--fpu-accurate-mul-fast=1
local notify_p1d_xsize = 0
--fpu-muldiv-range=0x3fa5c0,0x3fa5c0
local notify_p2d_xsize = 0
--gs-flush-ad-xyz=SafeZWrite
local notify_ysize = 0
--vu1-opt-vf00=2
--vu1-di-bits=0
--ee-hook=0x001f3ef4,FastForwardClock
--gs-use-deferred-l2h=0
--vu1-injection=1
--vu1-mpg-cycles=2500
--fpu-rsqrt-fast-estimate=0
--safe-area-min=1.0</pre>


local notify_frames_p1 = 0
SLES 535.61
local notify_frames_p2 = 0
<br>LUA
local notify_animstate_p1 = STATE_STOPPED
<pre>apiRequest(0.1)
local notify_animstate_p2 = STATE_STOPPED
 
-- EA sports cricket 07 bug 9392
-- Performance fix
local emuObj = getEmuObject()
local thresholdArea = 600
emuObj.SetGsTitleFix( "ignoreUpRender", thresholdArea , {alpha=0x80000044 , zmsk=1 , tw=4, th=4  } )</pre>


local connected_p1 = 47
local connected_p2 = 47
local blink_on_p1 = true
local blink_on_p2 = true


-- ---------------------------------------------------
SLUS-21269
-- the global function 'Global_InitGpuResources()' is invoked by the emulator after
<br>SLUS-21269_features.lua
-- the GS has been initialized. Textures and Shaders must be loaded here.
<pre>This is a substantial file. Over 150 lines with an extensive performance fix. I'm sharing the file itself as a download link.
--
Global_InitGpuResources = function()
-- # Fragment Shader 0 is fixed as the default no-thrills as-is renderer.
emuObj.LoadFsShader(1, "./shader_scanlines_any_p.sb") -- (1) = Scanlines for SNK logo
emuObj.LoadFsShader(2, "./shader_SL480_p.sb") -- (2) = 480P ScanLine Sim
texture1.Load("./ART1.png")
texture2.Load("./ART2.png")
texture3.Load("./SNK_LOGO.png")
texture4.Load("./p1.png")
texture5.Load("./p2.png")
texture6.Load("./p1d.png")
texture7.Load("./p2d.png")
texture8.Load("./SNK_LOGO_sl.png")


local p1_w,p1_h = texture4.GetSize()
https://drive.google.com/file/d/12gt2fONqMP1rmEB9UMw3rIpEYbz1dQq8/view
local p2_w,p2_h = texture5.GetSize()
local p1d_w,p1d_h = texture6.GetSize()
local p2d_w,p2d_h = texture7.GetSize()
notify_p1_xsize = p1_w
notify_p2_xsize = p2_w
notify_p1d_xsize = p1d_w
notify_p2d_xsize = p2d_w
notify_ysize = p1_h


spr_p1_notify.BindTexture(4)
#Official widescreen support.</pre>
spr_p1_notify.SetPosXY(-1 - notify_p1_xsize, notify_ypos)  -- default position is fully obscured from view
    spr_p1_notify.SetSizeXY(p1_w,p1_h)
spr_p1_notify.SetPosUV(0,0)
    spr_p1_notify.SetSizeUV(p1_w,p1_h)
spr_p1_notify.SetBlendColorEquation(blendDefaultEquation)


spr_p2_notify.BindTexture(5)
====Destroy All Humans====
spr_p2_notify.SetPosXY(-1 - notify_p2_xsize, notify_ypos)  -- default position is fully obscured from view
SLUS_209.45
    spr_p2_notify.SetSizeXY(p2_w,p1_h)
<br>CLI
spr_p2_notify.SetPosUV(0,0)
<pre>--gs-use-mipmap=1
    spr_p2_notify.SetSizeUV(p2_w,p1_h)
--gs-kernel-cl="mipmap"
spr_p2_notify.SetBlendColorEquation(blendDefaultEquation)
--gs-kernel-cl-up="mipmap2x2"
--gs-ignore-dirty-page-border=1
--fpu-accurate-addsub-range=0x28bf00,0x28c100
#Fix for graphical glitches.</pre>


spr_p1d_notify.BindTexture(6)
SLUS_209.45
spr_p1d_notify.SetPosXY(-1 - notify_p1d_xsize, notify_ypos)   -- default position is fully obscured from view
<br>SLUS-20945_features.lua
    spr_p1d_notify.SetSizeXY(p1d_w,p1_h)
<pre>-- Lua 5.3
spr_p1d_notify.SetPosUV(0,0)
-- Title:   Destroy All Humans! PS2 - SLUS-20945 (USA)
    spr_p1d_notify.SetSizeUV(p1d_w,p1_h)
-- Author:  Ernesto Corvi, Adam McInnis
spr_p1d_notify.SetBlendColorEquation(blendDefaultEquation)


spr_p2d_notify.BindTexture(7)
-- Changelog:
spr_p2d_notify.SetPosXY(-1 - notify_p2d_xsize, notify_ypos)  -- default position is fully obscured from view
    spr_p2d_notify.SetSizeXY(p2d_w,p1_h)
spr_p2d_notify.SetPosUV(0,0)
    spr_p2d_notify.SetSizeUV(p2d_w,p1_h)
spr_p2d_notify.SetBlendColorEquation(blendDefaultEquation)
end


local update_notifications_p1 = function()
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.


if notify_animstate_p1 == STATE_STOPPED then
local eeObj = getEEObject()
spr_p1_notify.Disable()
local emuObj = getEmuObject()
spr_p1d_notify.Disable()
local gpr = require( "ee-gpr-alias" ) -- you can access EE GPR by alias (gpr.a0 / gpr["a0"])
return
end


L2()
-- Widescreen
 
eeObj.AddHook(0x308270, 0x3c0336c5, function() -- Graphics::Script::SetScreenRatio
local keyframe = 15
local mode = eeObj.GetGpr(gpr.v0)
 
notify_frames_p1 = notify_frames_p1 + 1
-- print(string.format("mode: %08x", mode))
 
if math.ceil(notify_frames_p1/keyframe) == notify_frames_p1/keyframe then blink_on_p1 = not blink_on_p1 end
if mode == 0x36c59d2b then -- widescreen
if blink_on_p1 == true then notify_ypos = 24 end
emuObj.SetDisplayAspectWide()
if blink_on_p1 == false then notify_ypos = -84 end
elseif mode == 0x855a87ef then -- standard
 
emuObj.SetDisplayAspectNormal()
-- print(string.format("rounded %s, floating %s, blink %s ypos %s", math.ceil(notify_frames_p1/keyframe), notify_frames_p1/keyframe, blink_on_p1, notify_ypos))
-- print(string.format("notify_frames_p1 %s", notify_frames_p1))
 
if notify_frames_p1 >= 225 then
notify_animstate_p1 = STATE_STOPPED
notify_frames_p1 = 0
connected_p1 = 47
end
end
end)


if connected_p1 == true then
eeObj.AddHook(0x3078F4, 0xae0000f4, function() -- Graphics::Renderer::Renderer
spr_p1_notify.SetBlendColor(1.0,1.0,1.0,1.0)
local renderer = eeObj.GetGpr(gpr.s0)
spr_p1_notify.SetPosXY(math.floor((1920-notify_p1_xsize)/2), notify_ypos)
eeObj.WriteMemFloat(renderer+0x200, 1.3333333)
spr_p1_notify.Enable()
eeObj.WriteMemFloat(renderer+0x204, 1.7777777)
end
eeObj.WriteMem32(renderer+0x208, 2)
end)


if connected_p1 == false then
emuObj.SetDisplayAspectWide()
spr_p1d_notify.SetBlendColor(1.0,1.0,1.0,1.0)
spr_p1d_notify.SetPosXY(math.floor((1920-notify_p1d_xsize)/2), notify_ypos)
spr_p1d_notify.Enable()
end
end


local update_notifications_p2 = function()
-- CRC "settings.display.widescreen" = 0xbcf14d81
-- $s2 = SaveType (1 = new save)


if notify_animstate_p2 == STATE_STOPPED then
local overlay = InsnOverlay({
spr_p2_notify.Disable()
0x27bdffe0, -- addiu $sp, -0x20
spr_p2d_notify.Disable()
0xffbf0010, -- sd $ra, 0x10($sp)
return
0x0c0d49d8, -- jal Core::Memset(void *,int,uint)
end
0x00000000, -- nop
0x24030001, -- li $v1, 1
0x1472000b, -- bne $s2, $v1, +11
0x00000000, -- nop
0x0c09dacc, -- jal UFO::Progress::Get(void)
0x00000000, -- nop
0x3c01bcf1, -- lui $at, 0xbcf1
0x34214d81, -- ori $at, $at, 0x4d81
0xafa10000, -- sw $at, 0($sp)
0x24030001, -- li $v1, 1
0xa3a30004, -- sb $v1, 4($sp)
0x03a0282d, -- move $a1, $sp
0x0c09dd4c, -- jal UFO::Progress::Record::AddKey(UFO::Progress::Content const&)
0x0040202d, -- move $a0, $v0
0xdfbf0010, -- ld $ra, 0x10($sp)
0x03e00008, -- jr $ra
0x27bd0020  -- addiu $sp, 0x20
})
local call_overlay = 0x0c000000 | (overlay >> 2)
eeInsnReplace(0x2789F8, 0x0c0d49d8, call_overlay) -- UFO::Progress::Storage::PrepareWrite
#Official widescreen support.</pre>


L2()
====Destroy All Humans 2====
SLUS_214.39
<br>CLI
<pre>--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Fix for graphical glitches.</pre>


local keyframe = 15
SLUS_214.39
<br>SLUS-21439_features.lua
<pre>-- Lua 5.3
-- Title:  Destroy All Humans! 2 PS2 - SLUS-21439 (USA)
-- Author:  Ernesto Corvi, Adam McInnis


notify_frames_p2 = notify_frames_p2 + 1
-- Changelog:


if math.ceil(notify_frames_p2/keyframe) == notify_frames_p2/keyframe then blink_on_p2 = not blink_on_p2 end
apiRequest(0.7) -- request version 0.1 API. Calling apiRequest() is mandatory.
if blink_on_p2 == true then notify_ypos = 24 + notify_ysize + 8 end
if blink_on_p2 == false then notify_ypos = -84 - notify_ysize - 8 end


-- print(string.format("rounded %s, floating %s, blink %s ypos %s", math.ceil(notify_frames_p2/keyframe), notify_frames_p2/keyframe, blink_on_p2, notify_ypos))
local eeObj = getEEObject()
local emuObj = getEmuObject()
local gpr = require( "ee-gpr-alias" ) -- you can access EE GPR by alias (gpr.a0 / gpr["a0"])


if notify_frames_p2 >= 225 then
-- Widescreen
notify_animstate_p2 = STATE_STOPPED
eeObj.AddHook(0x33ca98, 0x3c0436c5, function() -- Graphics::Script::SetScreenRatio
notify_frames_p2 = 0
local mode = eeObj.GetGpr(gpr.v0)
connected_p2 = 47
-- print(string.format("mode: %08x", mode))
if mode == 0x36c59d2b then -- widescreen
emuObj.SetDisplayAspectWide()
elseif mode == 0x855a87ef then -- standard
emuObj.SetDisplayAspectNormal()
end
end
end)


-- print(string.format("connected_p1 %s, connected_p2 %s", connected_p1, connected_p2))
eeObj.AddHook(0x33afac, 0x0000282d, function() -- Graphics::Renderer::Renderer
eeObj.SetGpr(gpr.a1, 2)
end)


if connected_p2 == true then
emuObj.SetDisplayAspectWide()
spr_p2_notify.SetBlendColor(1.0,1.0,1.0,1.0)
spr_p2_notify.SetPosXY(math.floor((1920-notify_p2_xsize)/2), notify_ypos)
spr_p2_notify.Enable()
end


if connected_p2 == false then
-- CRC "settings.display.anamorphic" = 0x8b36afe9
spr_p2d_notify.SetBlendColor(1.0,1.0,1.0,1.0)
-- $s2 = SaveType (1 = new save)
spr_p2d_notify.SetPosXY(math.floor((1920-notify_p2d_xsize)/2), notify_ypos)
spr_p2d_notify.Enable()
end


end
local overlay = InsnOverlay({
 
0x27bdffe0, -- addiu $sp, -0x20
-- slot can range from 0 to 3, for users 1 thru 4.
0xffbf0010, -- sd $ra, 0x10($sp)
-- pad_type can be either:  DS4, REMOTE_DS4, REMOTE_VITA, or HID
0x0c059d02, -- memset
local onHIDPadEvent = function(slot, connected, pad_type)
0x00000000, -- nop
spr_p1_notify.Disable()
0x24030001, -- li $v1, 1
spr_p1d_notify.Disable()
0x1472000b, -- bne $s2, $v1, +11
spr_p2_notify.Disable()
0x00000000, -- nop
spr_p2d_notify.Disable()
0x0c09b400, -- jal UFO::Progress::Get(void)
-- print(string.format("slot %s, connected %s, pad_type %s", slot, connected, pad_type))
0x00000000, -- nop
if pad_type == PadConnectType.HID then
0x3c01bcf1, -- lui $at, 0x8b36
notify_frames_p1 = 0
0x34214d81, -- ori $at, $at, 0xafe9
notify_frames_p2 = 0
0xafa10000, -- sw $at, 0($sp)
blink_on_p1 = true
0x24030001, -- li $v1, 1
blink_on_p2 = true
0xa3a30004, -- sb $v1, 4($sp)
if slot == 0 then
0x03a0282d, -- move $a1, $sp
connected_p1 = connected
0x0c09dd4c, -- jal UFO::Progress::Record::AddKey(UFO::Progress::Content const&)
notify_animstate_p1 = STATE_RUNNING
0x0040202d, -- move $a0, $v0
end
0xdfbf0010, -- ld $ra, 0x10($sp)
if slot == 1 then
0x03e00008, -- jr $ra
connected_p2 = connected
0x27bd0020  -- addiu $sp, 0x20
notify_animstate_p2 = STATE_RUNNING
})
end
local call_overlay = 0x0c000000 | (overlay >> 2)
end
eeInsnReplace(0x271AD0, 0x0c059d02, call_overlay) -- UFO::Progress::Storage::PrepareWrite
end


local scanlineParams = {
-- Disable Progressive Scan and Adjust Screen Position
240.0, -- float scanlineCount
  0.7, -- float scanlineHeight;
1.5,        -- float scanlineBrightScale;
0.5,        -- float scanlineAlpha;
0.5        -- float vignetteStrength;
}


-- ---------------------------------------------------
local overlay2 = InsnOverlay({
-- Full Screen (480p) NoFX
0x27bdfff0, -- addiu $sp, -0x10
-- ---------------------------------------------------
0xffbf0000, -- sd $ra, 0(sp)
0xffb00008, -- sd $s0, 8(sp)
0x3c05000f, -- lui $a1, 0x000f
0x34a57000, -- ori $a1, 0x7000
0x0c0db8b6, -- jal Script::State::DoString
0x0080802d, -- move $s0, $a0
0x24050001, -- li $a1, 1
0x0c0dba4c, -- jal Script::State::IsNull(int)
0x0200202d, -- move $a0, $s0
0xdfb00008, -- ld $s0, 8(sp)
0xdfbf0000, -- ld $ra, 0(sp)
0x03e00008, -- jr ra
0x27bd0010  -- addiu $sp, 0x10
})
local call_overlay2 = 0x0c000000 | (overlay2 >> 2)
eeInsnReplace(0x2e5a14, 0x0c0dba4c, call_overlay2) -- Sim::Manager::ProcessScript near Sim::Manager::SetPauseFlag
 
eeObj.AddHook(0x2e5a10, 0x0240202d, function() -- Sim::Manager::ProcessScript near Sim::Manager::SetPauseFlag
local luaString = [[
-- disable progressive scan and adjust screen
gui.i.SMOptionsDisplay.table.slots[3] = nil
gui.i.SMOptionsDisplay.table.slots[4] = nil
]]
eeObj.WriteMemStrZ(0xf7000, luaString)
end)
#Official widescreen support.</pre>


local original_mode = function()
====Eternal ring====
if snklogo == 1 then
'''CLI'''
sprite0.BindTexture(3)
<pre>
sprite0.SetPosXY(0,0)
--pad-analog-to-digital=0
sprite0.SetSizeXY(1920,1080)
--gs-use-deferred-l2h=1
sprite0.SetPosUV(0,0)
--host-display-mode=16:9
sprite0.SetSizeUV(1920,1080)
</pre>
else
'''LUA'''
sprite0.BindTexture(0)
<pre>
sprite0.BindFragmentShader(0)
local gpr = require("ee-gpr-alias")
sprite0.SetPosXY((1920-1440)/2,0)
local PadStick = require("PadStick")
sprite0.SetSizeXY(1440,1080)
end
sprite0.Enable()
sprite1.Disable()
end


-- ---------------------------------------------------
apiRequest(1.5)
-- Full Screen + ScanLines (480p)
-- ---------------------------------------------------


local scanlines_mode = function()
local eeObj = getEEObject()
if snklogo == 1 then
local emuObj = getEmuObject()
sprite0.BindTexture(8)
 
sprite0.SetPosXY(0,0)
local patcher = function()
sprite0.SetSizeXY(1920,1080)
 
sprite0.SetPosUV(0,0)
--X-Fov - ELF hack
sprite0.SetSizeUV(1920,1080)
--803f013c 00a88144 0045013c
sprite0.BindFragmentShader(1)
eeObj.WriteMem32(0x00100fcc,0x3c013f40) --3c013f80
sprite0.SetShaderParams(scanlineParams)
else
sprite0.BindTexture(0)
sprite0.SetPosXY((1920-1440)/2,0)
sprite0.SetSizeXY(1440,1080)
sprite0.BindFragmentShader(2)
sprite0.SetShaderParams(scanlineParams)
end
sprite0.Enable()
sprite1.Disable()
end


-- ---------------------------------------------------
--Memory hack
-- Bezel NoFX
--eeObj.WriteMem32(0x201FF100,0x43c00000)
-- ---------------------------------------------------
local bezel_mode = function(bezel)
if snklogo == 1 then
sprite0.BindTexture(3)
sprite0.SetPosXY(0,0)
sprite0.SetSizeXY(1920,1080)
sprite0.SetPosUV(0,0)
sprite0.SetSizeUV(1920,1080)
else
sprite0.BindTexture(0)
sprite0.BindFragmentShader(0)
sprite0.SetPosXY((1920-1280)/2, (1080-896)/2)
sprite0.SetSizeXY(1280,896)
end
sprite0.Enable()


sprite1.BindTexture(bezel)
sprite1.SetPosXY(0,0)
sprite1.SetSizeXY(1920,1080)
sprite1.SetPosUV(0,0)
sprite1.SetSizeUV(1920,1080)
sprite1.Enable()
end
end


-- ---------------------------------------------------
emuObj.AddVsyncHook(patcher)
-- Bezel + ScanLines (480p)
 
-- ---------------------------------------------------
if 1 then
-- bug#10361 (intro slowdown) & bug#9823 (conveyor belt effect)
-- Use Deferred L2H except for conveyor belt effect.


local bezel_scanlines_mode = function(bezel)
-- Unsure if other convery or similar effects are present, so use permissive match for bypassing deferral.
if snklogo == 1 then
L2H_SetNonDeferred({TRXREG=0x0000000900000080}) -- match any TRXPOS or BITBLTBUF
sprite0.BindTexture(8)
sprite0.SetPosXY(0,0)
sprite0.SetSizeXY(1920,1080)
sprite0.SetPosUV(0,0)
sprite0.SetSizeUV(1920,1080)
sprite0.BindFragmentShader(1)
sprite0.SetShaderParams(scanlineParams)
else
sprite0.BindTexture(0)
sprite0.SetPosXY((1920-1280)/2, (1080-896)/2)
sprite0.SetSizeXY(1280,896)
sprite0.BindFragmentShader(2)
sprite0.SetShaderParams(scanlineParams)
end
sprite0.Enable()


sprite1.BindTexture(bezel)
-- Full specification of conveyor belt effect.
sprite1.SetPosXY(0,0)
-- L2H_SetNonDeferred({BITBLTBUF=0x0000000013023240,TRXPOS=0x0000000000770000,TRXREG=0x0000000900000080})
sprite1.SetSizeXY(1920,1080)
sprite1.SetPosUV(0,0)
sprite1.SetSizeUV(1920,1080)
sprite1.Enable()
end
end


local updateMode = function(mode, scanlines)
if scanlines == 1 then
if mode == 1 then
original_mode()
else
bezel_mode(mode - 1)
end
else
if mode == 1 then
scanlines_mode()
else
bezel_scanlines_mode(mode - 1)
end
end
local needsSave = (SaveData.vid_mode ~= mode or SaveData.vid_scanlines ~= scanlines)
if needsSave == true then
SaveData.vid_mode = mode
SaveData.vid_scanlines = scanlines
emuObj.SaveConfig(0, SaveData)
end
end


local PadStickRemap_EternalRing_Default = {
LR=PadStick.AxisRX_Pos,
LL=PadStick.AxisRX_Neg,
LU=PadStick.AxisLY_Neg,
LD=PadStick.AxisLY_Pos,


local vid_modeOptions = {"NONE", "ART1", "ART2"}
L1=PadStick.AxisLX_Neg,
local vid_scanlineOptions = {"OFF", "ON"}
R1=PadStick.AxisLX_Pos,
local vid_mode = SaveData.vid_mode
L2=PadStick.AxisRY_Neg,
local vid_scanlines = SaveData.vid_scanlines
R2=PadStick.AxisRY_Pos,
}
 
local PadStickRemap_EternalRing_InvertY = {
L2=PadStick.AxisRY_Pos,
R2=PadStick.AxisRY_Neg,
}


local updateVideoMode = function(mode)
emuObj.PadPressureStickRemap(0, PadStickRemap_EternalRing_Default)
if mode > 32 then
vid_mode = vid_mode - 1
elseif mode ~= 0 then
vid_mode = vid_mode + 1
end
if vid_mode < 1 then
vid_mode = #vid_modeOptions
elseif vid_mode > #vid_modeOptions then
vid_mode = 1
end
if mode ~= 0 then
updateMode(vid_mode, vid_scanlines)
end
end


local updateScanlineMode = function(mode)
-- Supporting Inverted Y Axis requires smoe menu changes, and should be done via features.lua
if mode > 32 then
--emuObj.PadPressureStickRemap(0, PadStickRemap_EternalRing_InvertY) </pre>
vid_scanlines = vid_scanlines - 1
====Everybody's Tennis/Hot Shots Tennis====
elseif mode ~= 0 then
SCES_545.35
vid_scanlines = vid_scanlines + 1
<br>CLI
end
<pre>--gs-use-deferred-l2h=0
--l2h-2d-params=0x0000000800000010,0x00000000300a1400,256
if vid_scanlines < 1 then
--gs-motion-factor=50
vid_scanlines = #vid_scanlineOptions
--mtap1=always
elseif vid_scanlines > #vid_scanlineOptions then
--gs-opt-frbuff-switch=1
vid_scanlines = 1
--gs-ignore-dirty-page-border=1
end
--gs-ignore-rect-correction=1
--ee-native-function=memcpy,0x11e328
if mode ~= 0 then
--ee-native-function=memset,0x11e4e0
updateMode(vid_mode, vid_scanlines)
#performance and visual fix(?)</pre>
end
end


local V1 = function()
SCES_545.35
local data = eeObj.GetGpr(gpr.v1)
<br>LUA
local menu = eeObj.GetGpr(gpr.a3)
<pre>local gpr = require("ee-gpr-alias")
local buf = eeObj.GetGpr(gpr.a2)
require( "ee-hwaddr" )
apiRequest(1.4)
if menu == 17 then -- Position X (Artwork)
local mode = eeObj.ReadMem32(data + 0x10)
updateVideoMode(mode)
eeObj.WriteMemStrZ(buf, vid_modeOptions[vid_mode])
eeObj.SetGpr(gpr.a3, 0)
if mode ~= 0 then
eeObj.WriteMem32(data + 0x10, 0)
end
elseif menu == 18 then -- Position Y (Scanlines)
local mode = eeObj.ReadMem32(data + 0x14)
updateScanlineMode(mode)
eeObj.WriteMemStrZ(buf, vid_scanlineOptions[vid_scanlines])
eeObj.SetGpr(gpr.a3, 0)
if mode ~= 0 then
eeObj.WriteMem32(data + 0x14, 0)
end
end
end


eeObj.AddHook(0x16c13c, 0x268300a0, V1)
local eeObj = getEEObject()


eeInsnReplace(0x16BB64, 0x8e420010, 0x0040202d) -- move $a0, $v0
-- function dump(addr)
eeInsnReplace(0x16BC0C, 0x8e420014, 0x0040202d) -- move $a0, $v0
--    print(string.format("=== dump %x ===", addr))
--   for i=0,0x1e do
--   print(string.format("  %08x : %08x %08x %08x %08x",
--   addr + i*16,
--   eeObj.ReadMem32(addr + i*16 + 0),
--   eeObj.ReadMem32(addr + i*16 + 4),
--   eeObj.ReadMem32(addr + i*16 + 8),
--   eeObj.ReadMem32(addr + i*16 +12)))
--    end
-- end


eeObj.AddHook(0x180f40, 0x26300010, function()
-- Bug#8285
local addr = eeObj.GetGpr(gpr.s0)
-- This patch changes the color of background on :
local posx = {0x07, 0x00, 0x00, 0x03, 0x01, 0x82, 0x6f, 0x82, 0x6e, 0x82, 0x72, 0x82, 0x68, 0x82, 0x73, 0x82, 0x68, 0x82, 0x6e, 0x82, 0x6d, 0x81, 0x40, 0x82, 0x77}
-- - Language selection
local posy = {0x07, 0x00, 0x00, 0x03, 0x01, 0x82, 0x6f, 0x82, 0x6e, 0x82, 0x72, 0x82, 0x68, 0x82, 0x73, 0x82, 0x68, 0x82, 0x6e, 0x82, 0x6d, 0x81, 0x40, 0x82, 0x78}
-- - Company logo
local artw = {0x07, 0x00, 0x00, 0x03, 0x01, 0x81, 0x40, 0x82, 0x60, 0x82, 0x71, 0x82, 0x73, 0x82, 0x76, 0x82, 0x6e, 0x82, 0x71, 0x82, 0x6a, 0x81, 0x40, 0x81, 0x40}
-- - Start screen
local scan = {0x07, 0x00, 0x00, 0x03, 0x01, 0x82, 0x72, 0x82, 0x62, 0x82, 0x60, 0x82, 0x6d, 0x82, 0x6b, 0x82, 0x68, 0x82, 0x6d, 0x82, 0x64, 0x82, 0x72, 0x81, 0x40}
-- - Some menu
-- which are in menu.bin overlay. Nothing affected in the actual game.
local found = true
eeObj.DmaAddHook( 1, function()
for x = 1, #posx - 1 do
if eeObj.ReadMem32(vif1_hw.TADR) == 0x1fd1c0 then
if eeObj.ReadMem8(addr+x-1) ~= posx[x] then
-- On language select
found = false
if eeObj.ReadMem32(0x4c8ef0) == 0x00ff9090 then
break
  eeObj.WriteMem32(0x4c8ef0, 0)
end
end
end
if eeObj.ReadMem32(0x548f30) == 0x00ff9090 then
  eeObj.WriteMem32(0x548f30, 0)
if found == true then
end
local repl
-- On company logo
if eeObj.ReadMem8(addr+#posx-1) == posx[#posx] then
if eeObj.ReadMem32(0x4c6d70) == 0x00ff9090 then
repl = artw
  eeObj.WriteMem32(0x4c6d70, 0)
else
end
repl = scan
if eeObj.ReadMem32(0x546db0) == 0x00ff9090 then
end
  eeObj.WriteMem32(0x546db0, 0)
end
for x = 1, #repl do
end
eeObj.WriteMem8(addr+x-1, repl[x])
end
end
end)
end)




-- Fight stick
eeInsnReplace(0x103d58, 0x27bdffc0, 0x03e00008)                -- <SyncDCache>
local pad = function()
eeInsnReplace(0x103d5c, 0xffb20020, 0x00000000)
updateMode(SaveData.vid_mode, SaveData.vid_scanlines)
eeNativeHook (0x103d58, 0x03e00008,'AdvanceClock',0x600)
emuObj.AddVsyncHook(update_notifications_p1)
eeInsnReplace(0x103dd8, 0x3c02ffff, 0x03e00008)                -- <iSyncDCache>
emuObj.AddVsyncHook(update_notifications_p2)
eeInsnReplace(0x103ddc, 0x3442ffc0, 0x00000000)
end
eeNativeHook (0x103dd8, 0x03e00008,'AdvanceClock',0x600)
eeInsnReplace(0x103e98, 0x27bdffc0, 0x03e00008)                -- <InvalidDCache>
eeInsnReplace(0x103e9c, 0xffb20020, 0x00000000)
eeNativeHook (0x103e98, 0x03e00008,'AdvanceClock',0x600)
eeInsnReplace(0x103f18, 0x3c02ffff, 0x03e00008)                 -- <iInvalidDCache>
eeInsnReplace(0x103f1c, 0x3442ffc0, 0x00000000)
eeNativeHook (0x103f18, 0x03e00008,'AdvanceClock',0x600)
eeInsnReplace(0x106970, 0x3c19ffff, 0x03e00008)                -- <sceSifWriteBackDCache>
eeInsnReplace(0x106974, 0x3739ffc0, 0x00000000)
eeNativeHook (0x106970, 0x03e00008,'AdvanceClock',0x1700)
</pre>


emuObj.AddPadHook(onHIDPadEvent)
====Fahrenheit/Indigo Prophecy====
emuObj.AddEntryPointHook(pad)
SLES_535.39
<br>CLI
<pre>--ee-hook=0x002097d0,FastForwardClock,0x8c6261fc
--ee-hook=0x1a5570,AdvanceClock,,500000
--ee-hook=0x00223c48,AdvanceClock,0x0080382d,8000
--gs-kernel-cl="h2lpool"
--gs-kernel-cl-up="h2lpool2x2"
#Performance fix.</pre>
 
SLES_535.39
<br>LUA
<pre>This is a substantial file. Over 20,000 lines with an extensive performance fix. I'm sharing the file itself as a download link.
 
https://drive.google.com/file/d/1L2YxondID65KIAybKVCBH9KgFegqqOeQ/view
 
-- Performace fix (bug #9785 )
-- bug#8571
-- ignore 'no wait vsync' case.
-- unsyncv causes major slowness on loading screen, because the game pushes LOTS of identical frame data to GS.</pre>
 
SLES_535.39
<br>SLES-53539_features.lua
<pre>-- Lua 5.3
-- Title:  Fahrenheit PS2 - SLES-53539 (EUR)
-- Author:  Ernesto Corvi, Adam McInnis
 
-- Changelog:
 
require( "ee-gpr-alias" ) -- you can access EE GPR by alias (gpr.a0 / gpr["a0"])
require( "ee-cpr0-alias" ) -- for EE CPR
 
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.


-- replace SNK logo
local eeObj = getEEObject()
local emuObj = getEmuObject()


local scanlogos_on = function()
local L1 = function() -- QDT::SINT::SCRIPT_LOADING_SCREEN::EM::Run
scanlogos = 1
emuObj.ThrottleMax()
updateMode(SaveData.vid_mode, SaveData.vid_scanlines)
end
local L2 = function() -- QDT::SINT::SCRIPT_LOADING_SCREEN::EM::Stop
emuObj.ThrottleNorm()
end
end
local load1 = eeObj.AddHook(0x387040, 0x3c02004b, L1) -- QDT::SINT::SCRIPT_LOADING_SCREEN::Run
local load2 = eeObj.AddHook(0x387090, 0x3c02004b, L2) -- QDT::SINT::SCRIPT_LOADING_SCREEN::Stop
-- Widescreen
eeInsnReplace(0x20a7c0, 0x3c013faa, 0x3c013fe3)
eeInsnReplace(0x20a7c4, 0x3421aaab, 0x34218e39)
emuObj.SetDisplayAspectWide()
-- Skip video mode options
local videomenuVM = { 0x04, 0x01, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00,
  0x3B, 0x0D, 0x00, 0x00, 0x3B, 0x0B, 0x00, 0x00,
  0x3B, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 }
 
local visualmenuVM = { 0x04, 0x01, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00,
  0x3B, 0x19, 0x00, 0x00, 0x3B, 0x18, 0x00, 0x00 }


local logos_anim = function()
-- locates src chunk on (dst,cnt). -1 if not found, offset if found
if scanlogos == 1 then
local locateChunk = function(src, dst, count)
local a0 = eeObj.GetGpr(gpr.a0)
local offs = -1
local a1 = eeObj.GetGpr(gpr.a1)
-- print(string.format("anim: %08x, %08x", a0, a1))
for x = 0, count - #src do
if eeObj.ReadMem8(dst+x) == src[1] then
if a1 == 2 then
local found = true
local a040 = eeObj.ReadMem32(a0+0x40)
for y = 1, #src do
local a050 = eeObj.ReadMem32(a0+0x50)
if eeObj.ReadMem8(dst+x+y-1) ~= src[y] then
-- print(string.format("stage 2: %08x, %08x", a040, a050))
found = false
break
if a050 == 0 and a040 ~= 0 then
local curFrame = eeObj.ReadMem32(a040+0x50)
-- print(string.format("stage 3: %08x", curFrame))
if curFrame == 0x9e then
print("SNK logo on")
snklogo = 1
updateMode(SaveData.vid_mode, SaveData.vid_scanlines)
end
end
end
elseif a050 == 2 then
if found == true then
print("SNK logo off")
offs = x
snklogo = 0
break
updateMode(SaveData.vid_mode, SaveData.vid_scanlines)
scanlogos = 0
end
end
end
end
end
end
return offs
end
end


eeObj.AddHook(0x10026C, 0x0220202d, scanlogos_on)
eeObj.AddHook(0x2812b0, 0x27bdfff0, function() -- QDT::VM::BYTE_CODE::BYTE_CODE
eeObj.AddHook(0x16EAF0, 0x27bdff80, logos_anim)
local obj = eeObj.GetGpr(gpr.a1)
</pre>
local bytecode = eeObj.ReadMem32(obj+0x18)
local count = eeObj.ReadMem32(obj+0x20)
if count > #videomenuVM then
local offs = locateChunk(videomenuVM, bytecode, count)
if offs >= 0 then
print("Skipping video mode menu")
eeObj.WriteMem8(bytecode+offs+4, 8) -- beq 0x44 -> beq 0x8
end
end
if count > #visualmenuVM then
local offs = locateChunk(visualmenuVM, bytecode, count)
if offs >= 0 then
print("Skipping visual mode video menu")
eeObj.WriteMem8(bytecode+offs+1, 2) -- beq 0xa2 -> bne 0xa2
end
end
end)


====Ape Escape 2====
-- Force 60hz
<br>SCES-50885
eeInsnReplace(0x207ae0, 0x00a0802d, 0x24100001) -- move $s0, $a1 -> li $s0, 1
<br>CLI
 
-- Fix for bug 9716, which is a bug in the game.
-- Trying to retrieve a COM handle in the game will cause an infinite
-- loop if the handle has been deallocated and the debug server is not
-- connected. There's apparently a small race condition in the Asylum
-- level that sometimes can trigger the bug.
-- The fix involves getting out of the loop.
-- It causes a small visual glitch but otherwise the game continues to work fine.
 
eeInsnReplace(0x1c5958, 0x10400005, 0) -- QDT::KCOM::COM_SERVICE::RetrieveComHandle
eeInsnReplace(0x1c5b6c, 0x10400005, 0) -- QDT::KCOM::COM_SERVICE::RetrieveComHandle
eeInsnReplace(0x1c5d24, 0x10400005, 0) -- QDT::KCOM::COM_SERVICE::RetrieveComHandle
#Official widescreen support, forced 60Hz/NTSC, along with a game crash bug fix.</pre>
====Fantavision====
'''CLI'''
<br>SCES-50002
<pre>
<pre>
--gs-use-mipmap=1
--gs-kernel-cl-up="fantavision"
--gs-kernel-cl="mipmap"
--gs-motion-factor=1
--gs-kernel-cl-up="mipmap2x2"
--gs-scanout-offsetx=27
--vu1-injection=1
--gs-packed15-fmv-opt=1
--gs-skip-dirty-flush-on-mipmap=1
--cop2-accurate-addsub-range=0x3151e8,0x315414
</pre>
</pre>
<br>SCES-50885
'''LUA'''
<br>LUA
<br>SCES-50002
<pre>
<pre>
local gpr = require("ee-gpr-alias")
require("ee-gpr-alias")
require( "ee-hwaddr" )
require( "ee-hwaddr" )
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.


local eeObj = getEEObject()
eeObj = getEEObject()


-- -- never gonna die
--
-- eeInsnReplace(  0x2bd0a0, 0x27bdfff0, 0x03e00008) -- addiu sp,sp,-16
-- Bug#93709 (JP Bugzilla)
-- eeInsnReplace( 0x2bd0a4, 0x3c02003e, 0x00000000) -- lui v0,0x3e
-- Same as Parappa the Rapper 2, it's VIF1 vs GIF xfer timing issue.
 
-- The game expects PATH3 happens before VU1 xgkick, but actually Olympus doesn't do like that.
 
-- Game kicks  : PATH3(Context1) PATH1(Rendering using Context1&2) PATH3(Context2)
-- performance fix bug #9789
-- Game expects: PATH3(Context1) PATH3(Context2) PATH1(Rendering using Context1&2)
local emuObj = getEmuObject()
-- Hence VIF1 DMA needs to be delayed.
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { } )
eeObj.AddHook(0x1b1468, 0xae020000, function()
emuObj.SetGsTitleFix( "includeAreaUpdate", "reserved" , {alpha = 0x80000048 } )
local ee = eeObj
emuObj.SetGsTitleFix( "ignoreUpRender", 50 , { } )
local s0 = ee.GetGpr(gpr.s0)


if s0 == vif1_hw.CHCR then
local chcr = ee.GetGpr(gpr.v0)
if (chcr & 0x05) == 0x05 then
  local tadr = ee.ReadMem32(vif1_hw.TADR)
  if tadr == 0x8883e0 or tadr == 0x9f6b60 then
  ee.SchedulerDelayEvent("vif1.dma", 0x5000)
  end
end
end
end)




-- Performace fix
local emuObj = getEmuObject()
-- twIsLess=5 - texture width is less or eq. than 32
emuObj.SetGsTitleFix( "forcePointSampling", "reserved", {alpha = 0x80000048, twIsLess=5, thIsLess=5 } )
</pre>
</pre>


====Fatal Fury: Battle Archives volume 2====
ALL
<br>CLI
<pre>--gs-uprender=none
--gs-upscale=point
--host-audio-latency=0.010
--force-frame-blend=1
#Graphical fix.</pre>


SLUS_217.23
<br>SLUS-21723_features.lua
<pre>This is a substantial file. Over 500 lines with additional controller/fightstick support and various shader/bezel files. I'm sharing the file itself as a download link.


====Arc the Lad: Twilight of the Spirits™====
https://drive.google.com/file/d/1FPPPJiHOazTXaD-H6K3kLACYDSdDeAE1/view
SCUS 972.31
<br>Cli
<pre>
--gs-force-bilinear=1
--gs-kernel-cl-up="up2x2Simple"
--lopnor-config=1
</pre>
 
SCUS 972.31
<br>lua
<pre>
require("ee-gpr-alias")
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
 
eeObj = getEEObject()
 
-- Bug#8359 (see bugzilla for the detail)
-- Skip FadeSet call if map is 'Scrappe Plateau' and the latest loaded script file is 'evt03B_07_0.moc'.
-- This game seems to have a problem (sensitive) with frame count on the script engine.
-- On our emulator, frame counting is slightly different from the original.
-- therefore it reads out 'overun' script command, which is 'cmd_fade' to fade-in.
-- At here, we will skip FADE-IN command if the situation meets the requirement.
skip_fade_flag = { map_name = false, file_name = false }
 
-- fade skip Bug#8359. skip FadeSet if skip_fade_flag meets the requirement.
eeObj.AddHook(  0x13c464, 0x8e0500c0, function()
  -- print(skip_fade_flag.map_name)
  -- print(skip_fade_flag.file_name)
  if skip_fade_flag.map_name and skip_fade_flag.file_name then
  -- print("SKIP FADE")
  eeObj.SetPc(0x13c470)
  skip_fade_flag.map_name = false
  skip_fade_flag.file_name = false
  end
end)
 
-- cmd_read_file(const char* filename)
eeObj.AddHook(0x13dad0, 0x27bdffc0, function()
local filename = eeObj.ReadMemStr(eeObj.GetGpr(gpr.a0))
-- print(string.format("cmd_read_file %s", filename))
if "chara/evt_camera/evt03B_07_0.moc" == filename then
-- print("skip_fade!")
skip_fade_flag.file_name = true
else
skip_fade_flag.file_name = false
end
end)
 
-- cmd_map_name(const char* mapname)
eeObj.AddHook(0x13f138, 0x0080282d, function()
local mapname = eeObj.ReadMemStr(eeObj.GetGpr(gpr.a0))
-- print(string.format("cmd_map_name %s", mapname))
if "Scrappe Plateau" == mapname then
-- print("skip_fade!")
skip_fade_flag.map_name = true
else
skip_fade_flag.map_name = false
end
end)
 
</pre>
 
====Canis Canem Edit (Bully)====
<br>CLI
<pre>--fpu-accurate-mul-fast=1
--fpu-muldiv-range=0x3fa5c0,0x3fa5c0
--gs-flush-ad-xyz=SafeZWrite
--vu1-opt-vf00=2
--vu1-di-bits=0
--ee-hook=0x001f3ef4,FastForwardClock
--gs-use-deferred-l2h=0
--vu1-injection=1
--vu1-mpg-cycles=2500
--fpu-rsqrt-fast-estimate=0
--safe-area-min=1.0</pre>
 
SLES 535.61
<br>LUA
<pre>apiRequest(0.1)
 
-- EA sports cricket 07 bug 9392
-- Performance fix
local emuObj = getEmuObject()
local thresholdArea = 600
emuObj.SetGsTitleFix( "ignoreUpRender", thresholdArea , {alpha=0x80000044 , zmsk=1 , tw=4, th=4  } )</pre>
 
 
SLUS-21269
<br>SLUS-21269_features.lua
<pre>This is a substantial file. Over 150 lines with an extensive performance fix. I'm sharing the file itself as a download link.
 
https://drive.google.com/file/d/12gt2fONqMP1rmEB9UMw3rIpEYbz1dQq8/view
 
#Official widescreen support.</pre>
 
====Destroy All Humans====
SLUS_209.45
<br>CLI
<pre>--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--gs-ignore-dirty-page-border=1
--fpu-accurate-addsub-range=0x28bf00,0x28c100
#Fix for graphical glitches.</pre>
 
SLUS_209.45
<br>SLUS-20945_features.lua
<pre>-- Lua 5.3
-- Title:  Destroy All Humans! PS2 - SLUS-20945 (USA)
-- Author:  Ernesto Corvi, Adam McInnis
 
-- Changelog:
 
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
 
local eeObj = getEEObject()
local emuObj = getEmuObject()
local gpr = require( "ee-gpr-alias" ) -- you can access EE GPR by alias (gpr.a0 / gpr["a0"])
 
-- Widescreen
eeObj.AddHook(0x308270, 0x3c0336c5, function() -- Graphics::Script::SetScreenRatio
local mode = eeObj.GetGpr(gpr.v0)
-- print(string.format("mode: %08x", mode))
if mode == 0x36c59d2b then -- widescreen
emuObj.SetDisplayAspectWide()
elseif mode == 0x855a87ef then -- standard
emuObj.SetDisplayAspectNormal()
end
end)
 
eeObj.AddHook(0x3078F4, 0xae0000f4, function() -- Graphics::Renderer::Renderer
local renderer = eeObj.GetGpr(gpr.s0)
eeObj.WriteMemFloat(renderer+0x200, 1.3333333)
eeObj.WriteMemFloat(renderer+0x204, 1.7777777)
eeObj.WriteMem32(renderer+0x208, 2)
end)
 
emuObj.SetDisplayAspectWide()
 
-- CRC "settings.display.widescreen" = 0xbcf14d81
-- $s2 = SaveType (1 = new save)
 
local overlay = InsnOverlay({
0x27bdffe0, -- addiu $sp, -0x20
0xffbf0010, -- sd $ra, 0x10($sp)
0x0c0d49d8, -- jal Core::Memset(void *,int,uint)
0x00000000, -- nop
0x24030001, -- li $v1, 1
0x1472000b, -- bne $s2, $v1, +11
0x00000000, -- nop
0x0c09dacc, -- jal UFO::Progress::Get(void)
0x00000000, -- nop
0x3c01bcf1, -- lui $at, 0xbcf1
0x34214d81, -- ori $at, $at, 0x4d81
0xafa10000, -- sw $at, 0($sp)
0x24030001, -- li $v1, 1
0xa3a30004, -- sb $v1, 4($sp)
0x03a0282d, -- move $a1, $sp
0x0c09dd4c, -- jal UFO::Progress::Record::AddKey(UFO::Progress::Content const&)
0x0040202d, -- move $a0, $v0
0xdfbf0010, -- ld $ra, 0x10($sp)
0x03e00008, -- jr $ra
0x27bd0020  -- addiu $sp, 0x20
})
local call_overlay = 0x0c000000 | (overlay >> 2)
eeInsnReplace(0x2789F8, 0x0c0d49d8, call_overlay) -- UFO::Progress::Storage::PrepareWrite
#Official widescreen support.</pre>
 
====Destroy All Humans 2====
SLUS_214.39
<br>CLI
<pre>--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Fix for graphical glitches.</pre>
 
SLUS_214.39
<br>SLUS-21439_features.lua
<pre>-- Lua 5.3
-- Title:  Destroy All Humans! 2 PS2 - SLUS-21439 (USA)
-- Author:  Ernesto Corvi, Adam McInnis
 
-- Changelog:
 
apiRequest(0.7) -- request version 0.1 API. Calling apiRequest() is mandatory.
 
local eeObj = getEEObject()
local emuObj = getEmuObject()
local gpr = require( "ee-gpr-alias" ) -- you can access EE GPR by alias (gpr.a0 / gpr["a0"])
 
-- Widescreen
eeObj.AddHook(0x33ca98, 0x3c0436c5, function() -- Graphics::Script::SetScreenRatio
local mode = eeObj.GetGpr(gpr.v0)
-- print(string.format("mode: %08x", mode))
if mode == 0x36c59d2b then -- widescreen
emuObj.SetDisplayAspectWide()
elseif mode == 0x855a87ef then -- standard
emuObj.SetDisplayAspectNormal()
end
end)
 
eeObj.AddHook(0x33afac, 0x0000282d, function() -- Graphics::Renderer::Renderer
eeObj.SetGpr(gpr.a1, 2)
end)
 
emuObj.SetDisplayAspectWide()
 
-- CRC "settings.display.anamorphic" = 0x8b36afe9
-- $s2 = SaveType (1 = new save)
 
local overlay = InsnOverlay({
0x27bdffe0, -- addiu $sp, -0x20
0xffbf0010, -- sd $ra, 0x10($sp)
0x0c059d02, -- memset
0x00000000, -- nop
0x24030001, -- li $v1, 1
0x1472000b, -- bne $s2, $v1, +11
0x00000000, -- nop
0x0c09b400, -- jal UFO::Progress::Get(void)
0x00000000, -- nop
0x3c01bcf1, -- lui $at, 0x8b36
0x34214d81, -- ori $at, $at, 0xafe9
0xafa10000, -- sw $at, 0($sp)
0x24030001, -- li $v1, 1
0xa3a30004, -- sb $v1, 4($sp)
0x03a0282d, -- move $a1, $sp
0x0c09dd4c, -- jal UFO::Progress::Record::AddKey(UFO::Progress::Content const&)
0x0040202d, -- move $a0, $v0
0xdfbf0010, -- ld $ra, 0x10($sp)
0x03e00008, -- jr $ra
0x27bd0020  -- addiu $sp, 0x20
})
local call_overlay = 0x0c000000 | (overlay >> 2)
eeInsnReplace(0x271AD0, 0x0c059d02, call_overlay) -- UFO::Progress::Storage::PrepareWrite
 
-- Disable Progressive Scan and Adjust Screen Position
 
local overlay2 = InsnOverlay({
0x27bdfff0, -- addiu $sp, -0x10
0xffbf0000, -- sd $ra, 0(sp)
0xffb00008, -- sd $s0, 8(sp)
0x3c05000f, -- lui $a1, 0x000f
0x34a57000, -- ori $a1, 0x7000
0x0c0db8b6, -- jal Script::State::DoString
0x0080802d, -- move $s0, $a0
0x24050001, -- li $a1, 1
0x0c0dba4c, -- jal Script::State::IsNull(int)
0x0200202d, -- move $a0, $s0
0xdfb00008, -- ld $s0, 8(sp)
0xdfbf0000, -- ld $ra, 0(sp)
0x03e00008, -- jr ra
0x27bd0010  -- addiu $sp, 0x10
})
local call_overlay2 = 0x0c000000 | (overlay2 >> 2)
eeInsnReplace(0x2e5a14, 0x0c0dba4c, call_overlay2) -- Sim::Manager::ProcessScript near Sim::Manager::SetPauseFlag
 
eeObj.AddHook(0x2e5a10, 0x0240202d, function() -- Sim::Manager::ProcessScript near Sim::Manager::SetPauseFlag
local luaString = [[
-- disable progressive scan and adjust screen
gui.i.SMOptionsDisplay.table.slots[3] = nil
gui.i.SMOptionsDisplay.table.slots[4] = nil
]]
eeObj.WriteMemStrZ(0xf7000, luaString)
end)
#Official widescreen support.</pre>
 
====Eternal ring====
'''CLI'''
<pre>
--pad-analog-to-digital=0
--gs-use-deferred-l2h=1
--host-display-mode=16:9
</pre>
'''LUA'''
<pre>
local gpr = require("ee-gpr-alias")
local PadStick = require("PadStick")
 
apiRequest(1.5)
 
local eeObj = getEEObject()
local emuObj = getEmuObject()
 
local patcher = function()
 
--X-Fov - ELF hack
--803f013c 00a88144 0045013c
eeObj.WriteMem32(0x00100fcc,0x3c013f40) --3c013f80
 
--Memory hack
--eeObj.WriteMem32(0x201FF100,0x43c00000)
 
end
 
emuObj.AddVsyncHook(patcher)
 
if 1 then
-- bug#10361 (intro slowdown) & bug#9823 (conveyor belt effect)
-- Use Deferred L2H except for conveyor belt effect.
 
-- Unsure if other convery or similar effects are present, so use permissive match for bypassing deferral.
L2H_SetNonDeferred({TRXREG=0x0000000900000080}) -- match any TRXPOS or BITBLTBUF
 
-- Full specification of conveyor belt effect.
-- L2H_SetNonDeferred({BITBLTBUF=0x0000000013023240,TRXPOS=0x0000000000770000,TRXREG=0x0000000900000080})
end
 
 
local PadStickRemap_EternalRing_Default = {
LR=PadStick.AxisRX_Pos,
LL=PadStick.AxisRX_Neg,
LU=PadStick.AxisLY_Neg,
LD=PadStick.AxisLY_Pos,
 
L1=PadStick.AxisLX_Neg,
R1=PadStick.AxisLX_Pos,
L2=PadStick.AxisRY_Neg,
R2=PadStick.AxisRY_Pos,
}
 
local PadStickRemap_EternalRing_InvertY = {
L2=PadStick.AxisRY_Pos,
R2=PadStick.AxisRY_Neg,
}
 
emuObj.PadPressureStickRemap(0, PadStickRemap_EternalRing_Default)
 
-- Supporting Inverted Y Axis requires smoe menu changes, and should be done via features.lua
--emuObj.PadPressureStickRemap(0, PadStickRemap_EternalRing_InvertY) </pre>
====Everybody's Tennis/Hot Shots Tennis====
SCES_545.35
<br>CLI
<pre>--gs-use-deferred-l2h=0
--l2h-2d-params=0x0000000800000010,0x00000000300a1400,256
--gs-motion-factor=50
--mtap1=always
--gs-opt-frbuff-switch=1
--gs-ignore-dirty-page-border=1
--gs-ignore-rect-correction=1
--ee-native-function=memcpy,0x11e328
--ee-native-function=memset,0x11e4e0
#performance and visual fix(?)</pre>
 
SCES_545.35
<br>LUA
<pre>local gpr = require("ee-gpr-alias")
require( "ee-hwaddr" )
apiRequest(1.4)
 
local eeObj = getEEObject()
 
-- function dump(addr)
--    print(string.format("=== dump %x ===", addr))
--    for i=0,0x1e do
--   print(string.format("  %08x : %08x %08x %08x %08x",
--   addr + i*16,
--   eeObj.ReadMem32(addr + i*16 + 0),
--   eeObj.ReadMem32(addr + i*16 + 4),
--   eeObj.ReadMem32(addr + i*16 + 8),
--   eeObj.ReadMem32(addr + i*16 +12)))
--    end
-- end
 
-- Bug#8285
-- This patch changes the color of background on :
-- - Language selection
-- - Company logo
-- - Start screen
-- - Some menu
-- which are in menu.bin overlay. Nothing affected in the actual game.
eeObj.DmaAddHook( 1, function()
if eeObj.ReadMem32(vif1_hw.TADR) == 0x1fd1c0 then
-- On language select
if eeObj.ReadMem32(0x4c8ef0) == 0x00ff9090 then
  eeObj.WriteMem32(0x4c8ef0, 0)
end
if eeObj.ReadMem32(0x548f30) == 0x00ff9090 then
  eeObj.WriteMem32(0x548f30, 0)
end
-- On company logo
if eeObj.ReadMem32(0x4c6d70) == 0x00ff9090 then
  eeObj.WriteMem32(0x4c6d70, 0)
end
if eeObj.ReadMem32(0x546db0) == 0x00ff9090 then
  eeObj.WriteMem32(0x546db0, 0)
end
end
end)
 
 
eeInsnReplace(0x103d58, 0x27bdffc0, 0x03e00008)                -- <SyncDCache>
eeInsnReplace(0x103d5c, 0xffb20020, 0x00000000)
eeNativeHook (0x103d58, 0x03e00008,'AdvanceClock',0x600)
eeInsnReplace(0x103dd8, 0x3c02ffff, 0x03e00008)                -- <iSyncDCache>
eeInsnReplace(0x103ddc, 0x3442ffc0, 0x00000000)
eeNativeHook (0x103dd8, 0x03e00008,'AdvanceClock',0x600)
eeInsnReplace(0x103e98, 0x27bdffc0, 0x03e00008)                -- <InvalidDCache>
eeInsnReplace(0x103e9c, 0xffb20020, 0x00000000)
eeNativeHook (0x103e98, 0x03e00008,'AdvanceClock',0x600)
eeInsnReplace(0x103f18, 0x3c02ffff, 0x03e00008)                -- <iInvalidDCache>
eeInsnReplace(0x103f1c, 0x3442ffc0, 0x00000000)
eeNativeHook (0x103f18, 0x03e00008,'AdvanceClock',0x600)
eeInsnReplace(0x106970, 0x3c19ffff, 0x03e00008)                -- <sceSifWriteBackDCache>
eeInsnReplace(0x106974, 0x3739ffc0, 0x00000000)
eeNativeHook (0x106970, 0x03e00008,'AdvanceClock',0x1700)
</pre>
 
====Fahrenheit/Indigo Prophecy====
SLES_535.39
<br>CLI
<pre>--ee-hook=0x002097d0,FastForwardClock,0x8c6261fc
--ee-hook=0x1a5570,AdvanceClock,,500000
--ee-hook=0x00223c48,AdvanceClock,0x0080382d,8000
--gs-kernel-cl="h2lpool"
--gs-kernel-cl-up="h2lpool2x2"
</pre>
<br>LUA(config.lua)
<pre>
 
-- indigo_prophecy
 
apiRequest(1.2) -- request version 0.1 API. Calling apiRequest() is mandatory.
 
-- Performace fix (bug #9785 )
local emuObj = getEmuObject()
emuObj.SetGsTitleFix( "globalSet",  "reserved", { waveThreshold = 90000} )
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { } )
-- Accumulate fill area only when conditions are met
emuObj.SetGsTitleFix( "includeAreaUpdate", "reserved" , {alphaIsNot = 0, zmsk = 1, tw = 6, th = 6 , tbp = 0x00302000} )
emuObj.SetGsTitleFix( "ignoreUpRender", 130 , { totalArea= 700} )
 
 
-- bug#8571
-- ignore 'no wait vsync' case.
-- unsyncv causes major slowness on loading screen, because the game pushes LOTS of identical frame data to GS.
eeInsnReplace(0x2097b8, 0x1040000c, 0) -- beqz v0,2097ec <QDT::KCORE::RENDER_CONTEXT::DoSwapStuff(void)+0x1a4>
 
-- bug#9727
require("utils")
local eeObj = getEEObject()
local PrecompileAddrs = Queue.new(
  {
0x3b92ec,
0x1f23d0,
0x2bad48,
0x2b9718,
0x14d6c4,
0x14d7fc,
0x1b5a44,
0x14fbf4,
0x1b7aac,
0x195e38,
0x14f4f4,
0x2f54d0,
0x3a7a50,
0x1528a4,
0x1f50a0,
0x152c54,
0x1f6b20,
0x14ffe0,
0x114db0,
0x3cb4e4,
0x21ae90,
0x21b2f8,
0x2218a8,
0x20fa80,
0x20fcf4,
0x20c438,
0x20cb98,
0x20cd40,
0x20cdb0,
0x20b498,
0x20d054,
0x20d0d4,
0x1d910c,
0x1da700,
0x1da81c,
0x331048,
0x1b6ca8,
0x1b7230,
0x3ddf04,
0x1e5b30,
0x2e4668,
0x3ba020,
0x3b1d7c,
0x3b2074,
0x18c13c,
0x3bc678,
0x3bbf60,
0x3bbf7c,
0x3bbfc4,
0x24cfb0,
0x24cfc4,
0x24cfd8,
0x24cfe0,
0x24d014,
0x275dd0,
0x1d7398,
0x1ccf24,
0x1ca534,
0x1ca468,
0x1cb1f0,
0x1cb2d4,
0x1ca478,
0x1ca53c,
0x1ca548,
0x1ca498,
0x1ca4ac,
0x1ca550,
0x1ca55c,
0x1ca564,
0x1ca570,
0x1d73bc,
0x1d73c4,
0x1d73dc,
0x1d73e8,
0x1d73f4,
0x1d7580,
0x237810,
0x1d7588,
0x1d7404,
0x1d73e0,
0x1d7598,
0x1d7418,
0x275de0,
0x24d05c,
0x3bbfcc,
0x24d080,
0x24d090,
0x275f20,
0x1d7d88,
0x1d7ddc,
0x275f3c,
0x24d0a4,
0x3bbfd4,
0x3bc688,
0x2fcfe0,
0x2f9c10,
0x2f9c2c,
0x2f9c40,
0x2f9c48,
0x275a80,
0x275a94,
0x274570,
0x1fea88,
0x1fea98,
0x1feaa8,
0x1feab0,
0x274580,
0x275a9c,
0x275ab0,
0x2f9c54,
0x2f9c60,
0x2fcfe8,
0x2fcff0,
0x2fdb58,
0x2fdba0,
0x2fdbb0,
0x2fdbc4,
0x2fdbcc,
0x2fdbdc,
0x2fdbf4,
0x2fdc00,
0x2fd768,
0x2fcd08,
0x2fd784,
0x2fd790,
0x2fccf0,
0x2fd798,
0x2fd7a0,
0x2fd7ac,
0x2fd7b4,
0x2fd7bc,
0x2fd7c4,
0x2fd7cc,
0x2fd7d4,
0x2fd7ec,
0x2fd7f4,
0x2fd808,
0x2fdc08,
0x2fdc1c,
0x2fdcb4,
0x2fdcbc,
0x2fdd58,
0x2fdd68,
0x2fdd70,
0x2fdd88,
0x2fde1c,
0x2fde4c,
0x2fd6a0,
0x2fd6c0,
0x2fd6cc,
0x2fd6e0,
0x2fd6ec,
0x2fd6f4,
0x2fd6fc,
0x2fd714,
0x2fd744,
0x2fd74c,
0x2fde54,
0x2fcff8,
0x2fd0c0,
0x1fee40,
0x1fee48,
0x1fee6c,
0x1fee74,
0x1fee94,
0x1fef1c,
0x1fef44,
0x3bbae0,
0x3bbc60,
0x3bbc7c,
0x3bbc84,
0x3b7c10,
0x3b7c28,
0x3b7c30,
0x3b7c7c,
0x3b7c88,
0x3b7c90,
0x3b7c98,
0x3b7ca4,
0x3bbc8c,
0x3b8c70,
0x3b8c84,
0x3b8c8c,
0x3b8c94,
0x3b8c9c,
0x3b8ca4,
0x3bbc94,
0x3b19b0,
0x3b19d4,
0x3bbc9c,
0x3b1af8,
0x3bbca4,
0x3b1a50,
0x3bbcac,
0x3bbb08,
0x3bc7e0,
0x3b1950,
0x3bc80c,
0x24c8e8,
0x24c914,
0x2378d0,
0x23794c,
0x237958,
0x237960,
0x24c938,
0x3bc818,
0x3bbb14,
0x3103c4,
0x3103cc,
0x310f98,
0x3103d8,
0x3103ec,
0x2f3764,
0x2f3768,
0x2f37a0,
0x2f37a8,
0x2f3874,
0x2f3920,
0x2f3870,
0x2f391c,
0x2f8de8,
0x2f8df0,
0x3ca7bc,
0x3ca7c8,
0x3adb70,
0x3adb84,
0x3adb8c,
0x3adb94,
0x3afef0,
0x3afd60,
0x3aff18,
0x3aff5c,
0x3adbac,
0x3afec0,
0x3adbb8,
0x3af370,
0x3aeea0,
0x3af3b4,
0x3af3c0,
0x3aeeb8,
0x3af3d0,
0x267a38,
0x267870,
0x267888,
0x267250,
0x267288,
0x21a4e0,
0x21a4ec,
0x267298,
0x2672a0,
0x21a500,
0x21a50c,
0x2672a8,
0x2672bc,
0x267890,
0x267a48,
0x3af3e0,
0x3af3e8,
0x2679d8,
0x2678a0,
0x2678cc,
0x2678d4,
0x267038,
0x267068,
0x2674d8,
0x267074,
0x267080,
0x267538,
0x267090,
0x267550,
0x2670a4,
0x307118,
0x301208,
0x301274,
0x303e48,
0x303e5c,
0x303e74,
0x30127c,
0x3012a4,
0x3012e8,
0x3012fc,
0x30132c,
0x3013d8,
0x30140c,
0x301488,
0x301648,
0x30165c,
0x301674,
0x303c00,
0x301688,
0x301694,
0x3014a4,
0x3014ec,
0x30133c,
0x307134,
0x2670b8,
0x267088,
0x36ce68,
0x36ce90,
0x36cef8,
0x36cf28,
0x36cf38,
0x300d30,
0x36cf50,
0x36cf5c,
0x36cfac,
0x36cfb4,
0x36cfdc,
0x36ce9c,
0x36cff8,
0x36d01c,
0x36d264,
0x36d270,
0x36d290,
0x370a60,
0x370a7c,
0x36d2d0,
0x36d300,
0x36d308,
0x36d310,
0x352890,
0x36d328,
0x36d3d8,
0x370a94,
0x36d29c,
0x36d2a8,
0x36d2c0,
0x36ceb0,
0x36ced8,
0x2670c4,
0x2678f0,
0x2679e8,
0x3af3fc,
0x3af3c8,
0x285388,
0x2853c8,
0x285394,
0x2853b0,
0x27e4bc,
0x27e4c4,
0x27e4cc,
0x27e4d8,
0x27e4f4,
0x27e508,
0x27e510,
0x27e518,
0x2881c0,
0x2881d0,
0x27e524,
0x27e534,
0x27e544,
0x27e54c,
0x27e558,
0x27e574,
0x27e57c,
0x27e588,
0x27e594,
0x27e5a8,
0x27e5b0,
0x27e5c4,
0x3dd3b0,
0x3dd3e0,
0x27e5cc,
0x27e5d4,
0x27e5ec,
0x27e5f8,
0x27e604,
0x27e614,
0x27e62c,
0x27e634,
0x27e640,
0x289c80,
0x289ca4,
0x289cf0,
0x289cf8,
0x289d08,
0x289d18,
0x289d24,
0x289d30,
0x27e654,
0x27e65c,
0x27e674,
0x27e680,
0x27e68c,
0x27e698,
0x27e6a4,
0x3dd208,
0x27e6ac,
0x27d920,
0x27e6b4,
0x28d820,
0x28d840,
0x28d868,
0x28dcf8,
0x28dd34,
0x293580,
0x2935ac,
0x2935d4,
0x2935fc,
0x290720,
0x290748,
0x29076c,
0x290788,
0x290638,
0x290670,
0x290694,
0x2906b0,
0x2906d4,
0x29070c,
0x2911a0,
0x2911d0,
0x2911f8,
0x291188,
0x291208,
0x28d8c8,
0x28d8f8,
0x28d908,
0x28b994,
0x27e6c0,
0x27e6c8,
0x27e0f8,
0x27e6d0,
0x27e6ec,
0x27e6f4,
0x27e72c,
0x27e734,
0x355898,
0x267270,
0x2672b8,
0x36b4f0,
0x36b518,
0x36b3c8,
0x36b3e4,
0x36b3f0,
0x36b3fc,
0x36b414,
0x36b420,
0x36b428,
0x36b43c,
0x36b520,
0x36b528,
0x36b540,
0x36d3d4,
0x36b554,
0x368d78,
0x368d8c,
0x368d94,
0x368d9c,
0x36b574,
0x2ff6c8,
0x2ff6e4,
0x3aff78,
0x2ff6ec,
0x2ff724,
0x2ff780,
0x2ff7c8,
0x3af40c,
0x3adbcc,
0x285fa4,
0x285fac,
0x334a1c,
0x2ff800,
0x334a38,
0x334a40,
0x334a48,
0x334a50,
0x2ff860,
0x334a5c,
0x334a70,
0x334a7c,
0x334ab0,
0x2ff878,
0x334ab8,
0x334ad4,
0x334b20,
0x3e5eb8,
0x3e6078,
0x3e6098,
0x3e60b0,
0x3e60cc,
0x334b28,
0x334b64,
0x3e6080,
0x334b6c,
0x334b78,
0x334a30,
0x334aac,
0x334b04,
0x38de50,
0x38de60,
0x38de7c,
0x334c2c,
0x334c38,
0x334ccc,
0x334c30,
0x334cd8,
0x334868,
0x38d850,
0x38d884,
0x38d924,
0x38da00,
0x38dad4,
0x38dbb0,
0x38dc80,
0x334898,
0x334900,
0x334870,
0x2ff1fc,
0x2ff200,
0x3adb98,
0x301464,
0x3015f8,
0x30160c,
0x301618,
0x303c08,
0x30162c,
0x301638,
0x301480,
0x3014a8,
0x36d27c,
0x36d288,
0x370aa8,
0x370ac4,
0x36d3f0,
0x36d428,
0x36d430,
0x36d438,
0x36d450,
0x36d514,
0x370adc,
0x36d510,
0x2ff5b0,
0x2ff5f0,
0x3aff80,
0x2ff5f8,
0x2ff668,
0x2ff6b0,
0x3349a0,
0x334b48,
0x334b74,
0x334a84,
0x334a90,
0x334a98,
0x334aa4,
0x334abc,
0x38dd48,
0x3a68e0,
0x3a7c30,
0x3a7c6c,
0x3a7c84,
0x3a7c9c,
0x3a7cd8,
0x3a7d08,
0x3a7e18,
0x3a7e20,
0x3a7e40,
0x3a7e50,
0x3a7e68,
0x3a6370,
0x3a7e70,
0x3a7e80,
0x3a7e88,
0x3a7eb0,
0x3a7f0c,
0x3a6904,
0x3a6918,
0x3a6920,
0x3a6928,
0x3a6930,
0x3a6938,
0x3a69ec,
0x38dd50,
0x38dd60,
0x38ddd0,
0x38dde0,
0x38ddfc,
0x38d894,
0x38d89c,
0x38d8bc,
0x38d8dc,
0x38d8fc,
0x38dc84,
0x3348a4,
0x3348ac,
0x3348b8,
0x3348d0,
0x3348d8,
0x3348e4,
0x334910,
0x3331fc,
0x3335d8,
0x33360c,
0x33364c,
0x333610,
0x333618,
0x333620,
0x32eef0,
0x32ef28,
0x32ef3c,
0x32ef50,
0x32ef58,
0x32ef64,
0x32ef78,
0x32ef88,
0x32efa0,
0x32efb0,
0x31e4f0,
0x31e57c,
0x31e598,
0x31e5c8,
0x31e5fc,
0x31e604,
0x31e614,
0x31e5a0,
0x31e5b4,
0x32efc8,
0x32efa8,
0x32efd4,
0x32efe0,
0x32efe8,
0x31f418,
0x31f434,
0x31f440,
0x32effc,
0x333628,
0x333634,
0x333644,
0x33365c,
0x333668,
0x33367c,
0x333694,
0x3336a4,
0x32fa28,
0x32fa44,
0x3e5818,
0x3e5834,
0x3e5720,
0x3e5734,
0x3e57c0,
0x3e57c8,
0x3e55d0,
0x3e5634,
0x3e57e4,
0x3e5808,
0x3e583c,
0x32fa50,
0x3cdbe0,
0x3cdc0c,
0x3cdc38,
0x3cdc40,
0x3cdc74,
0x3cdcb0,
0x3cdcc4,
0x3cdb80,
0x3cdba4,
0x3cdbb4,
0x3cdbc0,
0x3cdcd8,
0x3cdd0c,
0x3cdd60,
0x3cde40,
0x32fa5c,
0x32fa80,
0x32fa9c,
0x3cdd70,
0x3cdd84,
0x3cddb4,
0x3cde44,
0x32faa8,
0x32fab4,
0x32fac0,
0x3336b0,
0x3336c0,
0x32cf80,
0x3336c8,
0x3336dc,
0x32cf88,
0x3336e4,
0x32cf28,
0x32cf40,
0x32cf6c,
0x3336f4,
0x333704,
0x333204,
0x333214,
0x333588,
0x33359c,
0x3335b8,
0x3335c0,
0x33321c,
0x333230,
0x333240,
0x32d5a8,
0x32d614,
0x32d634,
0x32f090,
0x32f0dc,
0x32f0e8,
0x32f0f0,
0x32f0fc,
0x32f118,
0x32f144,
0x32f15c,
0x32f16c,
0x32f184,
0x32f1c4,
0x32f204,
0x32f2f4,
0x32d664,
0x32d67c,
0x32d684,
0x32d690,
0x32d698,
0x32d648,
0x32f174,
0x32f130,
0x32f22c,
0x32f238,
0x38ccf8,
0x38cd08,
0x38cd48,
0x38ce50,
0x32f250,
0x32f258,
0x32f278,
0x32f2f0,
0x32d5f4,
0x32da40,
0x337430,
0x32da5c,
0x338520,
0x32da64,
0x32da70,
0x32da78,
0x338088,
0x3380c0,
0x3380d4,
0x3380e0,
0x3380ec,
0x2978e0,
0x297910,
0x297938,
0x297954,
0x297964,
0x333da8,
0x333dc4,
0x1e57b0,
0x1e57b8,
0x1e57c4,
0x1e57d0,
0x1e57e0,
0x1e57e8,
0x1e57f8,
0x1e5804,
0x1e5820,
0x2932a8,
0x2932fc,
0x287bb4,
0x338100,
0x33810c,
0x32da88,
0x32d5fc,
0x32d6a8,
0x32d6b4,
0x32d6bc,
0x32d6c4,
0x32d730,
0x33325c,
0x33326c,
0x337660,
0x337718,
0x32397c,
0x323ca8,
0x323d5c,
0x323f08,
0x323f24,
0x323f58,
0x323f64,
0x323f74,
0x174438,
0x174450,
0x174460,
0x323f80,
0x323d78,
0x323d28,
0x323d54,
0x323d64,
0x323d8c,
0x323da0,
0x31e4dc,
0x337698,
0x3376a8,
0x3376b0,
0x32c668,
0x32c680,
0x32c790,
0x32c7d8,
0x32c814,
0x32d330,
0x32d348,
0x32c824,
0x32c82c,
0x32c838,
0x32c860,
0x32c870,
0x32c904,
0x32d768,
0x32d794,
0x32d7ac,
0x32d7b4,
0x32d7c0,
0x32d7c8,
0x2934e0,
0x29350c,
0x293534,
0x29355c,
0x290058,
0x290088,
0x2900b0,
0x290048,
0x2900c0,
0x28f470,
0x28f4a8,
0x28f4c8,
0x28f4e4,
0x28f508,
0x28f52c,
0x28f538,
0x28f544,
0x28f550,
0x28f564,
0x28f574,
0x28f580,
0x28f590,
0x28f5bc,
0x28f5d4,
0x28f624,
0x28f630,
0x28f664,
0x28f698,
0x28f6ec,
0x2dc768,
0x2dc77c,
0x2c8c80,
0x2d6118,
0x2d612c,
0x2d6138,
0x2d6140,
0x2d6148,
0x2d615c,
0x2d6164,
0x2d616c,
0x15b6a8,
0x15b6bc,
0x188320,
0x18833c,
0x188344,
0x18834c,
0x18bf48,
0x18bf64,
0x18bf70,
0x18bf90,
0x18bed8,
0x18b648,
0x18bf00,
0x18bf0c,
0x18bf38,
0x18bfa0,
0x18bfac,
0x188354,
0x187e60,
0x187e68,
0x18be50,
0x18be6c,
0x18be78,
0x18e950,
0x18e970,
0x18e97c,
0x1baf88,
0x1baf9c,
0x1bafa8,
0x18e990,
0x18e99c,
0x18e9ac,
0x18e9b8,
0x18e9c4,
0x18e9d4,
0x1a1b90,
0x1a1bd8,
0x1a1bf0,
0x18e9e0,
0x18e9ec,
0x18be8c,
0x1ba220,
0x1ba25c,
0x1ba268,
0x1ba2a8,
0x1ba2c0,
0x1ba2cc,
0x1ba2d8,
0x1ba2e4,
0x18be94,
0x18bea8,
0x187e74,
0x187e80,
0x188d84,
0x188db4,
0x187e88,
0x18835c,
0x18836c,
0x15b6c4,
0x2d6174,
0x2c8c90,
0x2dc790,
0x312438,
0x31244c,
0x312454,
0x286d84,
0x2dd440,
0x2dd45c,
0x2dcfe8,
0x2dd004,
0x2dd01c,
0x2dcc18,
0x2dcc34,
0x32d7d8,
0x32d7ec,
0x330ae0,
0x330b20,
0x330b28,
0x330b44,
0x330b5c,
0x32fee0,
0x32ff00,
0x330b68,
0x32ffa8,
0x32ff68,
0x32feb0,
0x32fed0,
0x32ff78,
0x32ffb8,
0x32ffc8,
0x330b78,
0x32ffd8,
0x32ffe8,
0x330b88,
0x330b94,
0x330b9c,
0x330bd4,
0x2c7440,
0x2bfff8,
0x2c001c,
0x2c02c8,
0x2c02d0,
0x2c745c,
0x330be8,
0x330c80,
0x332298,
0x3322b0,
0x330c8c,
0x2d5eb8,
0x2a2df8,
0x2a2648,
0x2a2678,
0x2a8c78,
0x2a8ca8,
0x2a8cb4,
0x2a8cc0,
0x2a8ccc,
0x2a2684,
0x2a2e08,
0x2d5ee4,
0x2d5ef4,
0x2d5f00,
0x2a2730,
0x1a08e0,
0x1a0908,
0x1a1898,
0x1a18dc,
0x1a18f0,
0x1a18f8,
0x1a192c,
0x1a196c,
0x1a19b0,
0x1a19e4,
0x1a19f0,
0x1a0918,
0x1a0924,
0x1a0930,
0x1a093c,
0x1a0948,
0x2a275c,
0x2a276c,
0x18e598,
0x18e5b8,
0x18e5d8,
0x18e610,
0x18e634,
0x18e650,
0x18e658,
0x18e664,
0x18e670,
0x1baaf0,
0x1bab20,
0x1bab38,
0x1bb0c8,
0x19ead0,
0x19eaf4,
0x1bb0f4,
0x1bab58,
0x1bab40,
0x1bab64,
0x1bab70,
0x1bab80,
0x19ea80,
0x19ea9c,
0x19eaa4,
0x1bab8c,
0x18e688,
0x18e690,
0x1baaa0,
0x19ea68,
0x1baab4,
0x1baad8,
0x18e698,
0x1babe0,
0x1babfc,
0x1bac08,
0x1bac10,
0x195be0,
0x1bac1c,
0x195be8,
0x1bac28,
0x1bac48,
0x1bac78,
0x1bacd0,
0x1bacd8,
0x1bacf4,
0x1bad04,
0x1bb070,
0x19eab8,
0x1bb084,
0x19ea08,
0x1bb0a8,
0x1bad14,
0x1bad08,
0x1bad20,
0x1bad30,
0x1bad44,
0x1bb308,
0x1bad54,
0x1bad6c,
0x1bad7c,
0x1bad38,
0x1bad8c,
0x1bac34,
0x18e6b4,
0x18e7c0,
0x18dcb8,
0x18e7e4,
0x18e7f4,
0x18b538,
0x18b558,
0x18b560,
0x18dcd8,
0x18b56c,
0x18b574,
0x191920,
0x18b590,
0x18b5d4,
0x18e808,
0x18e818,
0x18e824,
0x18e830,
0x1babb0,
0x18e848,
0x18e860,
0x191c20,
0x191cac,
0x18e86c,
0x1baba8,
0x18e888,
0x18e8bc,
0x18c930,
0x18c954,
0x18c960,
0x18c974,
0x18c990,
0x18c9ac,
0x18e8c8,
0x1baed8,
0x18e8e4,
0x18e8f4,
0x18dd18,
0x18dd3c,
0x18e900,
0x18e6bc,
0x18e6cc,
0x18e5e4,
0x18e5fc,
0x2a277c,
0x18bcd0,
0x18bcd8,
0x2a2798,
0x18bcf8,
0x18bd00,
0x2a27b4,
0x18bd48,
0x18bd50,
0x2a27d0,
0x18bd20,
0x18bd34,
0x2a27ec,
0x18c6a0,
0x18c6b0,
0x2a27f8,
0x18bca0,
0x2a2814,
0x18bc78,
0x2a2830,
0x18bc70,
0x2a284c,
0x18bc00,
0x2a2868,
0x18bdb0,
0x2a2890,
0x18c668,
0x18c670,
0x2a28b8,
0x2a28dc,
0x2a2900,
0x2a2908,
0x2a2914,
0x2a2920,
0x2d5f1c,
0x2d5f2c,
0x18c920,
0x2d5f40,
0x2d5f48,
0x2d5f58,
0x2d5e8c,
0x2d5e9c,
0x2d5eac,
0x2d5f60,
0x3d3980,
0x2d5f78,
0x1556f8,
0x155724,
0x1a0978,
0x1a09a0,
0x19ef80,
0x19efc4,
0x19efd8,
0x19efe4,
0x1881a8,
0x188204,
0x19eff0,
0x19f008,
0x19f01c,
0x19f110,
0x19f144,
0x19f150,
0x19f15c,
0x19f180,
0x19f1b0,
0x19f1b8,
0x18dc60,
0x18dc7c,
0x18dc88,
0x3d3938,
0x18dc94,
0x19f1c4,
0x18b5f8,
0x18b60c,
0x19f1dc,
0x18ba38,
0x18ba5c,
0x18ba80,
0x18bb50,
0x18ba64,
0x18c858,
0x18c874,
0x18ec58,
0x1bb108,
0x1bb12c,
0x3d3b30,
0x1bb134,
0x18ec84,
0x1bb170,
0x1bb1a0,
0x18eca0,
0x18c888,
0x18ba6c,
0x19f1f4,
0x19f200,
0x188690,
0x19f20c,
0x19f02c,
0x19fdb0,
0x19fde4,
0x19fe18,
0x19fe5c,
0x19fe8c,
0x19fed4,
0x19fee4,
0x19fef0,
0x19feb8,
0x19fec4,
0x19ff00,
0x19ff30,
0x19ff60,
0x19ff8c,
0x1a0010,
0x19f03c,
0x15dff8,
0x19f050,
0x19f0e0,
0x1a09c0,
0x1a09cc,
0x155738,
0x155744,
0x2d5f84,
0x2a8db0,
0x2a8dd4,
0x2a8dec,
0x2a8e20,
0x2d5f8c,
0x2d5f9c,
0x2d5fa4,
0x330cac,
0x2d6640,
0x2d6b18,
0x2d6b30,
0x155758,
0x15577c,
0x1557a8,
0x188480,
0x1557b0,
0x1557bc,
0x1557c8,
0x1557d4,
0x2d6b3c,
0x2d6668,
0x2d667c,
0x2d6684,
0x2d6690,
0x2d66a0,
0x2d66b0,
0x1919c0,
0x1917a8,
0x1919d4,
0x2d66bc,
0x2d66e8,
0x2d66fc,
0x2d6704,
0x191bf0,
0x191c04,
0x191af8,
0x191828,
0x19183c,
0x191858,
0x191844,
0x191ba4,
0x191c0c,
0x2d6714,
0x2d6728,
0x191a68,
0x1917f8,
0x19181c,
0x191a88,
0x191aa0,
0x2d6734,
0x330cc4,
0x330ccc,
0x15d420,
0x155d30,
0x155d54,
0x191d54,
0x191d70,
0x191d98,
0x19217c,
0x191db8,
0x18c730,
0x18c73c,
0x18c0d8,
0x18c11c,
0x18c4bc,
0x18c760,
0x1f2c38,
0x1f2c80,
0x3d4658,
0x1f2ca8,
0x1f2cbc,
0x1f2cd4,
0x1f2cdc,
0x1f2cf0,
0x1f2a80,
0x1f2aa8,
0x1f2af8,
0x1f2cfc,
0x1f2d04,
0x1f2d14,
0x1f2d30,
0x1f2d3c,
0x3d85f8,
0x1f2d48,
0x3d28b8,
0x1f2d54,
0x1f2d68,
0x1f2d7c,
0x1f2d90,
0x18c774,
0x18c780,
0x18c7a0,
0x18c804,
0x18c838,
0x18d378,
0x18d3a0,
0x18d404,
0x18ca68,
0x18ca98,
0x18caa8,
0x18cac4,
0x18caf0,
0x18cafc,
0x187ffc,
0x188008,
0x188074,
0x188114,
0x188124,
0x18812c,
0x18815c,
0x157f90,
0x157fa4,
0x157fb4,
0x158074,
0x150d98,
0x15117c,
0x151190,
0x1511a4,
0x1511b0,
0x1511bc,
0x1511c8,
0x1511d4,
0x1511e4,
0x1511f0,
0x151208,
0x132eb0,
0x15b7e0,
0x15b7f8,
0x15b82c,
0x15b874,
0x15b8a4,
0x15b8ec,
0x15b8fc,
0x15b908,
0x15b8d0,
0x15b918,
0x132ed8,
0x132ee0,
0x132f10,
0x132f3c,
0x132f4c,
0x151210,
0x151220,
0x15122c,
0x151240,
0x108018,
0x108034,
0x108068,
0x108094,
0x10812c,
0x108174,
0x108180,
0x10818c,
0x108158,
0x1080b4,
0x1080f0,
0x108198,
0x151250,
0x15125c,
0x1283b4,
0x151268,
0x151274,
0x1505a4,
0x150964,
0x150970,
0x15097c,
0x150988,
0x150994,
0x1509a8,
0x1509b4,
0x1509c0,
0x1509cc,
0x1509e4,
0x132350,
0x15b904,
0x15b914,
0x13237c,
0x132384,
0x1323b4,
0x1323e4,
0x1323f0,
0x13241c,
0x1509ec,
0x1509f8,
0x150a04,
0x150a18,
0x107e68,
0x107e8c,
0x107ec0,
0x107eec,
0x107f1c,
0x107f64,
0x107f78,
0x107f88,
0x107fb0,
0x107fc8,
0x150a28,
0x150a34,
0x150a40,
0x150a4c,
0x150cb8,
0x155d5c,
0x155db4,
0x15d434,
0x15d454,
0x15d45c,
0x330ce4,
0x330d20,
0x330d2c,
0x330d38,
0x32d7f4,
0x32d800,
0x32e2b0,
0x32d814,
0x32d820,
0x32d830,
0x32d840,
0x330028,
0x330828,
0x330884,
0x3e5868,
0x3e5894,
0x3e58c8,
0x3e59bc,
0x3e59c4,
0x3e59f4,
0x3e5a24,
0x3e5a4c,
0x3e5a58,
0x3e5a60,
0x3e5a90,
0x3e5ae8,
0x3e5af0,
0x3e5b1c,
0x3e5b4c,
0x3e5b58,
0x3e5b8c,
0x3308a4,
0x3308c0,
0x3308d0,
0x3308e0,
0x3308f0,
0x330928,
0x330950,
0x33095c,
0x3e5bf8,
0x3e5c1c,
0x3e5c28,
0x3e5c5c,
0x3e5cc0,
0x3e5cc8,
0x3e5cf4,
0x3e5d20,
0x3e5c98,
0x3e5d24,
0x3e5d30,
0x33096c,
0x3309c4,
0x3309d4,
0x3309fc,
0x330a0c,
0x32fb10,
0x32fb24,
0x32fb3c,
0x330a18,
0x330ab0,
0x33003c,
0x330088,
0x3300c8,
0x32fff8,
0x330008,
0x330018,
0x3300e0,
0x3300ec,
0x3300f8,
0x33010c,
0x330118,
0x330128,
0x330138,
0x330144,
0x330154,
0x330168,
0x2a2940,
0x2a295c,
0x2a296c,
0x2a2974,
0x33017c,
0x330198,
0x3301b4,
0x3301d0,
0x3301ec,
0x330204,
0x330214,
0x330044,
0x330240,
0x330288,
0x330290,
0x3302b4,
0x3302e4,
0x330300,
0x330308,
0x330314,
0x32fb2c,
0x33031c,
0x33032c,
0x330340,
0x330348,
0x330358,
0x330364,
0x330398,
0x3303a8,
0x2f5d00,
0x2f5d30,
0x2f5d48,
0x2f5d5c,
0x2f6820,
0x2f5d64,
0x2f5da8,
0x2f5db0,
0x2f5dcc,
0x2f5ef4,
0x3303b4,
0x2f5138,
0x2f5198,
0x2f51b4,
0x2f51c8,
0x2f51d0,
0x2f5234,
0x2f53b4,
0x2f53bc,
0x2f53cc,
0x2f57fc,
0x2f5810,
0x2f5844,
0x2f59b4,
0x2f5a14,
0x3303c8,
0x2f5a58,
0x2f5a8c,
0x2f5aa8,
0x2f5abc,
0x2f5b20,
0x2f5c6c,
0x2f5c74,
0x2f5c84,
0x2f5c94,
0x2f5c9c,
0x2f5ce8,
0x3303dc,
0x3303e8,
0x330400,
0x33040c,
0x33004c,
0x330430,
0x330588,
0x330054,
0x3305b0,
0x33068c,
0x33005c,
0x3306a8,
0x330800,
0x330064,
0x32d850,
0x32c918,
0x32c688,
0x32c6a4,
0x3376c8,
0x126a68,
0x126a7c,
0x21a118,
0x21a168,
0x21a180,
0x126a88,
0x126ac0,
0x126ae4,
0x126af0,
0x126b00,
0x126b0c,
0x126b18,
0x126b20,
0x126b30,
0x126ad0,
0x126b38,
0x126b3c,
0x126b5c,
0x126b68,
0x126b7c,
0x126b88,
0x126b94,
0x1f4ee0,
0x1f4fe4,
0x1f4f80,
0x3e5a20,
0x3e5a30,
0x3e5b48,
0x3e5ac8,
0x330a20,
0x330a28,
0x330a38,
0x330a60,
0x330a70,
0x330a98,
0x330aa8,
0x2f5dd4,
0x2f5e10,
0x2f5e3c,
0x2f5e60,
0x2f5e90,
0x2f5e08,
0x2f5eb0,
0x2f524c,
0x2f5258,
0x2f5278,
0x3a6f58,
0x3a8878,
0x3a88d8,
0x3a88e8,
0x3a88fc,
0x3a8954,
0x3a89a0,
0x3a89cc,
0x3a89d4,
0x3a90dc,
0x3a6f90,
0x3a6fa0,
0x3a6fa8,
0x3a6fb0,
0x3a6fb8,
0x3a7048,
0x3a7160,
0x3aa430,
0x3a7168,
0x3a736c,
0x3a7434,
0x2f5338,
0x3a7058,
0x3a70c0,
0x3a70c8,
0x3a70d0,
0x2f534c,
0x2f5370,
0x2f5380,
0x2f5394,
0x2f5818,
0x2f585c,
0x2f5888,
0x2f58ac,
0x2f58e0,
0x2f5854,
0x2f5900,
0x2f5958,
0x2f597c,
0x2f5b38,
0x2f5b40,
0x2f5b64,
0x2f5b98,
0x2f5c44,
0x3adba4,
0x2ff708,
0x2ff710,
0x3cd7b4,
0x3cb718,
0x3cb588,
0x3cb5d4,
0x3cb6f8,
0x3cb738,
0x3cb74c,
0x3cb780,
0x3cb79c,
0x3cd7c4,
0x323d94,
0x323e40,
0x323e78,
0x323e88,
0x323e90,
0x323ea4,
0x323eb0,
0x323e70,
0x323ebc,
0x323d9c,
0x337770,
0x1f4f30,
0x3e5900,
0x3e5958,
0x3e598c,
0x1f5000,
0x1f504c,
0x14a838,
0x3309d8,
0x32c818,
0x32c87c,
0x330a74,
0x2f5e00,
0x2f5840,
0x32c864,
0x32c884,
0x32c88c,
0x32c89c,
0x330dd0,
0x330de8,
0x2d6b50,
0x2d6b6c,
0x2d6b7c,
0x2d6b88,
0x2d6b94,
0x2d6ba4,
0x2d6bb0,
0x2d6bbc,
0x2d6bc8,
0x330df8,
0x330e04,
0x330e10,
0x330e1c,
0x330e28,
0x330e3c,
0x330e48,
0x2d65c8,
0x2d65e8,
0x2d65f8,
0x330e50,
0x330e64,
0x330eb8,
0x330ec4,
0x3e54c8,
0x3e54d0,
0x32c8a4,
0x32c8b4,
0x32fcf0,
0x32fd28,
0x32fd54,
0x32fd60,
0x32fd70,
0x32fdb0,
0x32fdd0,
0x32fde0,
0x32fdf0,
0x32fe30,
0x32fe70,
0x32c8bc,
0x32c8d0,
0x32e2b8,
0x32e2cc,
0x32d870,
0x32e2e0,
0x32c8e4,
0x32c8f0,
0x335cd8,
0x335cec,
0x32cc98,
0x334668,
0x33468c,
0x3346e8,
0x32ccb8,
0x32ccc8,
0x32ccd0,
0x32cce8,
0x32ccf0,
0x323df0,
0x31e510,
0x31e518,
0x32ccfc,
0x32cd08,
0x32cd10,
0x335d00,
0x370d68,
0x370d84,
0x36cc80,
0x36ccac,
0x36ccb4,
0x36ccbc,
0x36ccc8,
0x34f450,
0x34f46c,
0x34f47c,
0x36ccd0,
0x36ccdc,
0x2bbca0,
0x36ccf0,
0x36ccf8,
0x36cd04,
0x2bbca8,
0x2bbd0c,
0x155938,
0x1f24b8,
0x1ef428,
0x1ef430,
0x1ef470,
0x1ef57c,
0x1ef5ac,
0x1ef5c8,
0x1ef5e4,
0x1ef608,
0x1ef6a8,
0x1ef6c0,
0x1f24ec,
0x1f2524,
0x1f2554,
0x1f255c,
0x1f257c,
0x1f25b0,
0x1f25c0,
0x1f25dc,
0x1f25e8,
0x1f2674,
0x155948,
0x2bbd2c,
0x2bbd3c,
0x2bbd54,
0x2bbd6c,
0x2bbd84,
0x2bd3f0,
0x2bd404,
0x1559a0,
0x1559b8,
0x1559cc,
0x1559dc,
0x1559f0,
0x2bd410,
0x2bbdac,
0x36cd10,
0x36cd20,
0x370d9c,
0x333d70,
0x333d8c,
0x332bf0,
0x332c10,
0x332eb8,
0x332c18,
0x332c24,
0x332c34,
0x332c3c,
0x332c48,
0x31e5b8,
0x332c50,
0x332c5c,
0x332c6c,
0x332c74,
0x332c80,
0x332c90,
0x32bd00,
0x32bd18,
0x331438,
0x33148c,
0x3314d8,
0x331784,
0x33188c,
0x33189c,
0x3318ac,
0x3318b8,
0x3318c0,
0x32bd20,
0x332c98,
0x332cac,
0x332cc4,
0x332d0c,
0x332d28,
0x332d70,
0x332d9c,
0x332db8,
0x332de0,
0x332e08,
0x332e10,
0x332e2c,
0x332e48,
0x334408,
0x334440,
0x334448,
0x334460,
0x334468,
0x33447c,
0x334504,
0x334514,
0x334524,
0x334534,
0x334548,
0x332e94,
0x333d98,
0x292918,
0x292940,
0x292968,
0x297b98,
0x297bd0,
0x297bec,
0x297c00,
0x297c08,
0x297c18,
0x297c20,
0x297c74,
0x297c7c,
0x332d50,
0x332d64,
0x2879d4,
0x3ddff8,
0x3de068,
0x3de088,
0x3de0bc,
0x3de0f8,
0x3de10c,
0x3de124,
0x3de154,
0x3de1ac,
0x3de16c,
0x3de188,
0x2bad64,
0x2b9a78,
0x2b9ab0,
0x2b9a10,
0x2b9a30,
0x2b9a44,
0x1ad1b8,
0x1ad1d0,
0x2b9a4c,
0x2b9a58,
0x2b9ab8,
0x2b9ac8,
0x2b9ae4,
0x2b9af8,
0x2b9b04,
0x2b9b14,
0x2adc00,
0x2adc40,
0x2adc50,
0x2adc70,
0x2adc84,
0x2ad8e0,
0x2ad908,
0x2ad918,
0x2adc8c,
0x2ad930,
0x2ad958,
0x2ad968,
0x2adc98,
0x2ad980,
0x2ad9a4,
0x2ad9cc,
0x2ad9dc,
0x2adca4,
0x2ad9f0,
0x2ada14,
0x2ada3c,
0x2ada4c,
0x2adcb0,
0x2adcf0,
0x2b9b54,
0x2b9540,
0x2b9580,
0x2b95a0,
0x2b95b4,
0x2b95c4,
0x2b95d8,
0x2b95e4,
0x2b95f8,
0x2b9604,
0x2b9618,
0x2b9624,
0x2b9638,
0x2b9650,
0x2b965c,
0x2b9670,
0x2b967c,
0x2b9690,
0x2b96a8,
0x2b96b4,
0x2b96d8,
0x2b9700,
0x2b9760,
0x1ad748,
0x1ad78c,
0x1ad7a4,
0x2b976c,
0x2b9b68,
0x2b9b74,
0x2b9af0,
0x2ada1c,
0x2ada40,
0x2b9b80,
0x2b9b94,
0x2bad74,
0x2b8230,
0x2b824c,
0x2adf18,
0x2ada60,
0x2ada84,
0x2adaa4,
0x2adab0,
0x2adf44,
0x2adac8,
0x2adaec,
0x2adb0c,
0x2adb18,
0x2adf50,
0x2adb30,
0x2adb54,
0x2adb74,
0x2adb80,
0x2adf5c,
0x2adb98,
0x2adbbc,
0x2adbdc,
0x2adbe8,
0x2adf68,
0x2b8264,
0x2b82c0,
0x2b82dc,
0x2b830c,
0x2b7978,
0x2b7998,
0x2b79ac,
0x2b79c0,
0x2b8590,
0x2b85b0,
0x2b85c4,
0x2b8540,
0x2b8560,
0x2b8574,
0x2b86c0,
0x2b86e0,
0x2b86f4,
0x2b8758,
0x2b8778,
0x2b878c,
0x2b8628,
0x2b8648,
0x2b865c,
0x2b8438,
0x2b8458,
0x2b846c,
0x2b8474,
0x2b8498,
0x2bf068,
0x2bcff8,
0x2bd018,
0x2bd04c,
0x10f708,
0x2bd074,
0x10f718,
0x10ee20,
0x10ee40,
0x10ee98,
0x10eeb0,
0x10eebc,
0x10eed0,
0x1ae8b8,
0x1ae934,
0x1ae928,
0x1ae940,
0x1ae994,
0x1ae988,
0x1ae9a0,
0x1ae9d8,
0x1ae9e4,
0x1ae9f0,
0x1ae9fc,
0x1aea40,
0x10eed8,
0x10eee4,
0x10f728,
0x2bd080,
0x2bd088,
0x2bd098,
0x2bd0ac,
0x2bf078,
0x2b60b8,
0x2b60d4,
0x2b60e0,
0x2bf110,
0x2bd1a0,
0x2bd1d4,
0x2bd1ec,
0x2bd1f4,
0x10f7c0,
0x10eef8,
0x10ef24,
0x1aeae8,
0x1aeb38,
0x1aeb50,
0x1aebc0,
0x1aec10,
0x1aec18,
0x1aec64,
0x1aecb0,
0x1aed08,
0x1aed14,
0x1aed20,
0x1aed28,
0x1aed34,
0x1aed44,
0x1aed38,
0x1aed50,
0x1aed58,
0x1aed60,
0x1aed74,
0x1aed68,
0x1aed80,
0x1aed8c,
0x1aed94,
0x10ef2c,
0x10ef38,
0x10ef44,
0x10f7d0,
0x2bd200,
0x2bf120,
0x2e6738,
0x2e6754,
0x2e2668,
0x2e26a0,
0x2e26b8,
0x2e2708,
0x2e2724,
0x2e274c,
0x2e2770,
0x2e27ac,
0x2e27c8,
0x2e2998,
0x2e6760,
0x2b6080,
0x2b609c,
0x2ad868,
0x2ad888,
0x2ad894,
0x2ad8a0,
0x2ad8b4,
0x2ad8c0,
0x2ad8cc,
0x2b60a8,
0x2b7368,
0x2b7388,
0x2b739c,
0x2b73a4,
0x2b73bc,
0x2b76b8,
0x2b76d8,
0x2b76ec,
0x2b7708,
0x2b7720,
0x2b7588,
0x2b75a8,
0x2b75bc,
0x2b7848,
0x2b7868,
0x2b787c,
0x2b78e0,
0x2b7900,
0x2b7914,
0x2b7620,
0x2b7640,
0x2b7654,
0x2b7428,
0x2b7448,
0x2b745c,
0x2b7464,
0x2b747c,
0x2b74e8,
0x2b7508,
0x2b751c,
0x2b7528,
0x2b7780,
0x2b77a0,
0x2b77b4,
0x2b77d0,
0x2b77e8,
0x2b8328,
0x2b8348,
0x2b8358,
0x2b8364,
0x2b8378,
0x1ac600,
0x1ac650,
0x2b8380,
0x2b8390,
0x1ac360,
0x1ac39c,
0x1ac3a4,
0x2b839c,
0x316818,
0x315f60,
0x316048,
0x316094,
0x315f9c,
0x315fa4,
0x388700,
0x38872c,
0x388738,
0x388744,
0x388750,
0x315fac,
0x315fbc,
0x315fcc,
0x388c10,
0x388c30,
0x388c3c,
0x388c48,
0x388c68,
0x388e30,
0x388e84,
0x388e9c,
0x2b9510,
0x2b9d48,
0x2b9d7c,
0x2b9d88,
0x2b94f0,
0x2bae90,
0x2baea4,
0x2baeb0,
0x2baebc,
0x2baec8,
0x2baed8,
0x2b9500,
0x2b9d90,
0x2b9d80,
0x2b9d98,
0x2b9da8,
0x2b9528,
0x388ea8,
0x388ec0,
0x388ec8,
0x388ee4,
0x388eec,
0x388f00,
0x388f08,
0x388f24,
0x388f40,
0x388f4c,
0x388f5c,
0x388f6c,
0x388f74,
0x388f80,
0x388f8c,
0x2b9dd0,
0x2b9e1c,
0x2b9e24,
0x2b9e30,
0x2b9e38,
0x2b9e40,
0x2b9e48,
0x2b9e54,
0x2b9e60,
0x2b9e6c,
0x2b9e9c,
0x388f9c,
0x388fa8,
0x388fb4,
0x388ff8,
0x389004,
0x389010,
0x389020,
0x38903c,
0x2b9bc8,
0x2b9bec,
0x2b9c0c,
0x2b9c14,
0x2b9c20,
0x2b9c2c,
0x2b9c38,
0x38904c,
0x38905c,
0x389070,
0x389084,
0x389098,
0x3890a4,
0x3890b8,
0x3890c8,
0x3890d4,
0x3890e4,
0x3890f8,
0x389110,
0x389128,
0x389140,
0x389158,
0x389170,
0x389188,
0x3891a0,
0x3891b4,
0x3891bc,
0x3891d0,
0x3891dc,
0x3891e8,
0x389200,
0x3892f0,
0x38932c,
0x3e8918,
0x3e8988,
0x3e89a8,
0x3e89dc,
0x3e8a18,
0x3e8a2c,
0x3e8a44,
0x3e8a74,
0x3e8acc,
0x389338,
0x389344,
0x389388,
0x389398,
0x3893a4,
0x3893b4,
0x3893c0,
0x3893c8,
0x3893d8,
0x3893e4,
0x3893f0,
0x389404,
0x38940c,
0x389418,
0x389428,
0x2b9c50,
0x2b9c9c,
0x2b9ca4,
0x2b9cb0,
0x2b9cb8,
0x2b9cf8,
0x2b9ca8,
0x2b9cf4,
0x2b9cc0,
0x2b9cc8,
0x2b9cd4,
0x2b9ce0,
0x2b9cec,
0x2b9d1c,
0x389438,
0x389444,
0x389450,
0x389460,
0x389474,
0x2b94a0,
0x2b94bc,
0x2b94cc,
0x2b94dc,
0x389480,
0x389498,
0x3894b0,
0x3894c8,
0x3894e0,
0x3894f4,
0x389500,
0x389510,
0x38957c,
0x389588,
0x389590,
0x38968c,
0x3898ec,
0x389904,
0x389938,
0x389948,
0x389984,
0x3e8a8c,
0x3e8aa8,
0x389990,
0x38999c,
0x3899ac,
0x3899b8,
0x389380,
0x3899c8,
0x389a30,
0x389ae8,
0x389b14,
0x3899e8,
0x3899f4,
0x388c70,
0x389b20,
0x389be8,
0x389c08,
0x389c90,
0x389cf4,
0x389d08,
0x389d2c,
0x389d38,
0x389d50,
0x389d68,
0x389d70,
0x389d7c,
0x389d8c,
0x389d98,
0x389e54,
0x389f08,
0x389f14,
0x389f1c,
0x389f3c,
0x389f80,
0x389f88,
0x2adcbc,
0x2ae238,
0x2ae250,
0x2adcc4,
0x2adcd8,
0x2adce0,
0x2bd260,
0x2bd274,
0x2bd284,
0x10f2ec,
0x10f2f4,
0x2bd290,
0x2adcec,
0x389f9c,
0x389fac,
0x38aa18,
0x38aa24,
0x38aa30,
0x38aa3c,
0x389c30,
0x389c10,
0x389da0,
0x389c3c,
0x389c58,
0x389c70,
0x388c7c,
0x315ed0,
0x315eec,
0x315ef8,
0x315f04,
0x315f18,
0x315f50,
0x388c8c,
0x315ff8,
0x316028,
0x316840,
0x2fb908,
0x2f9398,
0x2f93b8,
0x2f93d0,
0x2f93d8,
0x2f9404,
0x2fb918,
0x2bae10,
0x2bae2c,
0x2bae38,
0x2fbdd8,
0x2fbdf4,
0x2fe068,
0x2fe084,
0x2fe08c,
0x2fe09c,
0x2fe0ac,
0x2fbdfc,
0x2fb9b0,
0x2f9420,
0x2f9474,
0x2fdad0,
0x2fdaf0,
0x2fdb40,
0x2f947c,
0x2fda58,
0x2fda78,
0x2fda84,
0x2fda90,
0x2fdaac,
0x2fdab8,
0x2f9484,
0x2f9490,
0x2f949c,
0x2f94a8,
0x2f94b4,
0x2fb9c0,
0x296478,
0x2964a0,
0x2964c8,
0x2964e0,
0x296508,
0x296530,
0x296548,
0x296570,
0x296598,
0x2b60f0,
0x2b610c,
0x2b611c,
0x2e69c0,
0x2e69dc,
0x2e69e8,
0x2dd014,
0x2dd024,
0x2dcbe0,
0x2dcbfc,
0x2de898,
0x2de8e0,
0x2de8f0,
0x2de8f8,
0x2de3c8,
0x2de3f0,
0x2de4f0,
0x2de518,
0x2de550,
0x2de3f8,
0x2de404,
0x2de560,
0x2de57c,
0x2de594,
0x1bf320,
0x1bf7f0,
0x1bf804,
0x1bf338,
0x2de59c,
0x2de5ac,
0x2de5bc,
0x2de40c,
0x2de414,
0x2de41c,
0x2e6a60,
0x2e6a84,
0x2e6ab8,
0x2e6b08,
0x2e6b38,
0x2e6b7c,
0x2e6b94,
0x2e6ba4,
0x2e6bc8,
0x2e6bf8,
0x2e6c28,
0x2e6c34,
0x2e6c58,
0x2de424,
0x2de904,
0x2dcc08,
0x28ad68,
0x28ad90,
0x370ea8,
0x370ec4,
0x36e060,
0x370ed0,
0x370c58,
0x370c74,
0x3649c0,
0x36c918,
0x36c954,
0x36c960,
0x36c96c,
0x36c9b8,
0x36cb50,
0x36cb80,
0x36cb88,
0x36cb90,
0x36cb98,
0x36cbb4,
0x36cbf4,
0x36cbfc,
0x36cc08,
0x34f360,
0x34f388,
0x34f394,
0x34f39c,
0x34f3ac,
0x2d7380,
0x2d72b8,
0x2d72dc,
0x2d72e4,
0x2d72f4,
0x2d7304,
0x2d7314,
0x2d7328,
0x2a6df8,
0x2a6e5c,
0x2a6e78,
0x2a6e8c,
0x2a6e9c,
0x2a6ea8,
0x2a6ec4,
0x2a6ed4,
0x2a6ee4,
0x2a6ef0,
0x2a6fd4,
0x2a6ff4,
0x2a7124,
0x2a7130,
0x2a71b4,
0x2a71c0,
0x2d7330,
0x2d7364,
0x2d73a0,
0x2d73a8,
0x2d73b4,
0x2d73c4,
0x34f3b4,
0x34f3fc,
0x36cc20,
0x36cc54,
0x36cd38,
0x36cdd0,
0x36cc68,
0x36c9e0,
0x36c9f8,
0x36ca10,
0x36ca28,
0x36ca30,
0x36ca3c,
0x36ca44,
0x36ca4c,
0x36ca5c,
0x36ca6c,
0x2c6de0,
0x2c6e00,
0x1b60f0,
0x1b6110,
0x1b6120,
0x1b6148,
0x1b6198,
0x2c6e10,
0x2c6e1c,
0x2c6e40,
0x183918,
0x183950,
0x1839c8,
0x183a10,
0x183a40,
0x14d620,
0x14cc00,
0x14cc18,
0x14d644,
0x14d94c,
0x183a50,
0x183b10,
0x183a28,
0x14cc20,
0x14cc34,
0x14cc68,
0x14cc4c,
0x14cc60,
0x14d64c,
0x14d6bc,
0x14d7ac,
0x14d910,
0x14d920,
0x14d934,
0x14d6f8,
0x14d6ac,
0x183a58,
0x183a70,
0x183a80,
0x183a8c,
0x1b5e70,
0x1b5ed0,
0x1b5ee4,
0x1b5efc,
0x1b5f10,
0x1b5f58,
0x1b5f94,
0x1b5b80,
0x1b5c10,
0x1b5c28,
0x1b5c4c,
0x1b5c68,
0x1b5c70,
0x1b5c8c,
0x1b5890,
0x1b58e0,
0x1b5918,
0x1b5978,
0x1b5980,
0x1b6508,
0x1b652c,
0x1b6540,
0x1b59a8,
0x1b59b8,
0x1b5adc,
0x1b5b18,
0x1b5b44,
0x1b5cb8,
0x1b5ccc,
0x1b5e3c,
0x1b5fbc,
0x1b5fc4,
0x1b5ffc,
0x1b601c,
0x1b5f88,
0x1b6490,
0x1b64b4,
0x1b647c,
0x1b59c0,
0x1b5930,
0x1b59d0,
0x1b5ab4,
0x1b5b30,
0x1b6544,
0x1b5c90,
0x1b5cd4,
0x1b5cdc,
0x1b5d00,
0x1b5d30,
0x1b5d08,
0x1b5d40,
0x1b5d4c,
0x1b5d74,
0x1b5da4,
0x1b5d80,
0x1b5dbc,
0x1b5dc8,
0x1b5df8,
0x1b5e24,
0x1b5e00,
0x1b5fec,
0x1b6024,
0x1b6030,
0x1b60bc,
0x183aa0,
0x183aa8,
0x183ab4,
0x183abc,
0x183b00,
0x183b1c,
0x183b24,
0x183b2c,
0x183980,
0x183988,
0x183990,
0x15ddc0,
0x14fbbc,
0x14fbc4,
0x15ddd4,
0x15ddf4,
0x15ddfc,
0x18399c,
0x1839a8,
0x2c6e50,
0x36ca74,
0x36cabc,
0x36cac8,
0x2bfcf8,
0x36cae0,
0x36caec,
0x36cafc,
0x2c1aa8,
0x2c1ac0,
0x1845b8,
0x1b6bb0,
0x1b6bf8,
0x184604,
0x1b7530,
0x15de10,
0x1b7568,
0x1b75c4,
0x184618,
0x184634,
0x184640,
0x184664,
0x18469c,
0x1846c8,
0x1843b8,
0x1843e0,
0x184408,
0x184414,
0x18441c,
0x184428,
0x184430,
0x18443c,
0x184454,
0x18445c,
0x184464,
0x184474,
0x184484,
0x1846dc,
0x1846e4,
0x1846f0,
0x1b75e0,
0x1b7620,
0x1b7648,
0x1b7678,
0x1b7848,
0x1b7878,
0x1b7970,
0x1b7690,
0x1b7708,
0x1b780c,
0x184708,
0x184758,
0x1846d0,
0x1b7880,
0x1b788c,
0x1b78c8,
0x1b78d8,
0x1b78e0,
0x1b7900,
0x1b791c,
0x1b7928,
0x1b7998,
0x1b7a4c,
0x1b7bc0,
0x1b7bd0,
0x1b7bf4,
0x1b7958,
0x1b7960,
0x1b7930,
0x1b7be4,
0x1b7bf8,
0x1b78f8,
0x1b7974,
0x1b7710,
0x1b7728,
0x1b7744,
0x1b779c,
0x1b77b4,
0x1b781c,
0x184714,
0x18471c,
0x184754,
0x184760,
0x184768,
0x184774,
0x1847a0,
0x1847b0,
0x184804,
0x1846a0,
0x184808,
0x18481c,
0x184828,
0x184834,
0x184858,
0x2c1adc,
0x2c1af0,
0x36cb04,
0x157374,
0x157384,
0x1573b0,
0x36cb14,
0x36cb2c,
0x36cb34,
0x3649e4,
0x3649ec,
0x3649f8,
0x364a00,
0x364a08,
0x2d6d58,
0x2d6d78,
0x2d6d80,
0x2d6d90,
0x2d6dac,
0x2d6dbc,
0x2a4218,
0x2a4240,
0x2a6c98,
0x2a6ce4,
0x2a6cf8,
0x1e5dd4,
0x2a6d04,
0x2a6d14,
0x2a6d1c,
0x2a6ce8,
0x3bd9c4,
0x3bd9e4,
0x3bd9cc,
0x2a6d30,
0x2a4250,
0x2a4260,
0x2a7710,
0x2a775c,
0x2a779c,
0x2a77b8,
0x2a77d4,
0x2a77f8,
0x2a780c,
0x2a7824,
0x2a790c,
0x2a7818,
0x2a7840,
0x2a7860,
0x2a7874,
0x2a78dc,
0x2a78fc,
0x3cc34c,
0x2a7908,
0x2a7918,
0x2a4270,
0x2a4278,
0x2a7210,
0x2a725c,
0x2a7274,
0x2a7280,
0x2a72a8,
0x2a72b8,
0x2a72c8,
0x2a72d8,
0x2a72e4,
0x2a7300,
0x2a7310,
0x18bce4,
0x18bd28,
0x18c6a8,
0x18c6b8,
0x18b608,
0x18c88c,
0x2a732c,
0x2a7344,
0x195e7c,
0x195e88,
0x195ebc,
0x195ec4,
0x195ecc,
0x195ee4,
0x19e5a8,
0x3d3c40,
0x19e5bc,
0x19e5c8,
0x19e994,
0x195ef8,
0x195f08,
0x195f34,
0x195f68,
0x195f80,
0x1ef8b0,
0x1ef904,
0x1ef94c,
0x1ef9a0,
0x1ef9fc,
0x195f90,
0x2a735c,
0x195eb8,
0x19e5f8,
0x3d3cc0,
0x19e604,
0x2a7370,
0x2a7384,
0x2a4284,
0x2a4298,
0x2a42a8,
0x2a42b8,
0x2a42c0,
0x191e98,
0x191ea4,
0x191898,
0x1918d0,
0x1918dc,
0x191938,
0x191984,
0x19199c,
0x1918f0,
0x191908,
0x191eb8,
0x191ecc,
0x191f9c,
0x18cd74,
0x3d3ae0,
0x18cd7c,
0x19e2f4,
0x18ca34,
0x18cf20,
0x18cf7c,
0x18cf84,
0x18d288,
0x18ca3c,
0x18ca50,
0x2a42d8,
0x2d6dc4,
0x364a10,
0x364a34,
0x364a3c,
0x366408,
0x364a50,
0x370c8c,
0x2bc650,
0x2bbb28,
0x2bd0c0,
0x2bd0d4,
0x2bd108,
0x2bd130,
0x2bd13c,
0x2bd144,
0x2bd154,
0x2bd168,
0x2bd170,
0x2bbb48,
0x2bbbc4,
0x2bbbe0,
0x2bc660,
0x3708b0,
0x3708cc,
0x3708d8,
0x3510a8,
0x3510c4,
0x34f438,
0x3510cc,
0x3510d8,
0x2bc670,
0x2bbbf8,
0x2bc7f8,
0x2bc830,
0x2bc934,
0x2bc840,
0x2bc854,
0x2bc864,
0x2bc880,
0x2bc904,
0x2bc948,
0x2bbc20,
0x2bbc2c,
0x2bc680,
0x2bc6d0,
0x2bc6e4,
0x2bc6f4,
0x2c63a0,
0x2bf9a8,
0x2bf9d0,
0x2bf9e8,
0x2bf9f4,
0x2bfa04,
0x2bfa14,
0x2bfa20,
0x2bfa2c,
0x2bfa38,
0x2bfa44,
0x2bfa50,
0x2bfa5c,
0x2bfa68,
0x1b3678,
0x1b36b8,
0x1b36d0,
0x1b3720,
0x1b372c,
0x1b3738,
0x1b3754,
0x1b3760,
0x1b3768,
0x1b3770,
0x1b37a8,
0x1b37c0,
0x1b37c8,
0x1b37e0,
0x2bfa80,
0x2bfa90,
0x2bfa9c,
0x2bfaf8,
0x15c8d0,
0x2bfb28,
0x15d250,
0x15c798,
0x14f470,
0x14f48c,
0x14f4b4,
0x14f4c0,
0x15c7c8,
0x1b2a00,
0x1b2a10,
0x1b2a28,
0x15c7e4,
0x15c7f0,
0x15c80c,
0x15d260,
0x2bfb34,
0x2bfb40,
0x2bfb50,
0x2bfb5c,
0x2bfac0,
0x2c63b0,
0x2c6448,
0x2bfb70,
0x2bfbb0,
0x2bfbd0,
0x2c09a8,
0x2c9968,
0x2c997c,
0x2c9984,
0x2d6188,
0x2d61a4,
0x2d61ac,
0x2d61b4,
0x2d61c8,
0x2d61d0,
0x2d61d8,
0x15b638,
0x15b694,
0x2d61e0,
0x2c998c,
0x2c09dc,
0x2c7548,
0x2c7558,
0x2c7564,
0x2c7570,
0x2c7584,
0x2c09e4,
0x2c09f4,
0x2c09fc,
0x2c0a08,
0x2c0a10,
0x2c0a3c,
0x14f758,
0x14f790,
0x14f7a0,
0x14f8cc,
0x14f9f0,
0x151d00,
0x151d14,
0x151d50,
0x14fa00,
0x14f8d4,
0x2c0a44,
0x2c0a88,
0x2c0a9c,
0x2c0aa8,
0x2c0ab0,
0x2c0ac0,
0x2c0af4,
0x2c0b28,
0x2c0b54,
0x2c99a0,
0x2c9a50,
0x2c0b5c,
0x2c0b68,
0x2bfbd8,
0x2bfbe4,
0x2bfbf0,
0x1b3990,
0x183580,
0x1835a4,
0x1835ac,
0x1835a0,
0x1835f8,
0x1b39c0,
0x1b39cc,
0x1b39e4,
0x1b39f0,
0x1b39fc,
0x1b3a08,
0x1b3a14,
0x1b3a20,
0x1b3a38,
0x2bfbfc,
0x2bfc54,
0x2bfc60,
0x2bfc6c,
0x2bfc78,
0x2bfc84,
0x2bfc90,
0x2bfc9c,
0x2bfca8,
0x2bfcb4,
0x2bfcc0,
0x2bfccc,
0x2bfcd8,
0x15d2f8,
0x15c838,
0x15e5c8,
0x15e624,
0x1a0690,
0x1a06a8,
0x1a06c4,
0x1a06f8,
0x1a0740,
0x1a0770,
0x1a07b4,
0x1a07c4,
0x1a07d0,
0x1a0798,
0x1a07a4,
0x1a07cc,
0x1a07dc,
0x1a0810,
0x1a0840,
0x1a0870,
0x1a08d4,
0x15e63c,
0x15e644,
0x15e660,
0x15c868,
0x15c874,
0x15c880,
0x15c888,
0x1b2a40,
0x1b2aa4,
0x1b2ab8,
0x15c89c,
0x15c8a8,
0x15c8b4,
0x15d308,
0x2bfce4,
0x2c6458,
0x382a20,
0x382a40,
0x382a4c,
0x382a5c,
0x382a64,
0x382a74,
0x382a84,
0x184dc0,
0x183b68,
0x183b74,
0x183b88,
0x183b78,
0x183b80,
0x184dd4,
0x184ddc,
0x1b6ba8,
0x184de4,
0x184e00,
0x382a94,
0x2fbc40,
0x2fbc60,
0x2fbc94,
0x2fbc9c,
0x2fbcc4,
0x274a40,
0x274a7c,
0x1ff960,
0x1ff99c,
0x1ff9d0,
0x1ffa08,
0x1ffa94,
0x1ffae8,
0x1ffafc,
0x1ffb0c,
0x274a88,
0x274a94,
0x274aa0,
0x274ae0,
0x274b70,
0x2fbce0,
0x291030,
0x291060,
0x291088,
0x291020,
0x291098,
0x2fbda0,
0x2fbdbc,
0x2fbf48,
0x2fbf5c,
0x2fbf70,
0x24d340,
0x2fbf78,
0x2fbdc8,
0x2fc2b0,
0x2fc2d0,
0x2fc2dc,
0x3ab5e8,
0x2fc2f4,
0x3ab4c0,
0x3ab4d4,
0x3ab4dc,
0x2fc300,
0x2fc30c,
0x28f670,
0x28f678,
0x2c7e90,
0x2c7eac,
0x2c15a8,
0x2c15c8,
0x2c15e0,
0x2c7578,
0x2c15f0,
0x2c15f8,
0x2c1600,
0x2c160c,
0x2c161c,
0x2c1624,
0x2c1638,
0x2c1644,
0x2c1650,
0x2c165c,
0x2c1668,
0x2c1670,
0x131b48,
0x15b6d8,
0x15b6e8,
0x15b700,
0x15b74c,
0x15b768,
0x15b7bc,
0x131b74,
0x131b8c,
0x131ba8,
0x131bd0,
0x131be4,
0x131c08,
0x2c1678,
0x2c168c,
0x2c7eb8,
0x3511a8,
0x3511c4,
0x3511d0,
0x28eb40,
0x28eb68,
0x28eb90,
0x294354,
0x294360,
0x1e56b0,
0x1e56b8,
0x1e56ec,
0x1e56f4,
0x294374,
0x2943a0,
0x2943b8,
0x1e549c,
0x1e54a4,
0x1e54b4,
0x29440c,
0x351628,
0x351644,
0x358210,
0x34f148,
0x34e1f8,
0x34e21c,
0x34e224,
0x34e22c,
0x34e240,
0x34f16c,
0x34f180,
0x34f18c,
0x355738,
0x34e374,
0x34e37c,
0x34e390,
0x34e39c,
0x34e3a4,
0x34e3ac,
0x34e3bc,
0x355754,
0x34f440,
0x35575c,
0x355768,
0x35577c,
0x355790,
0x3557a0,
0x2d7580,
0x2a6efc,
0x2a6f08,
0x2a6f14,
0x2a6f20,
0x191ab0,
0x191acc,
0x191adc,
0x2a6f30,
0x2a6f3c,
0x2a6f48,
0x2a6f5c,
0x2a6f64,
0x2a87c0,
0x2a87f8,
0x2a881c,
0x2a8834,
0x2a8800,
0x2a882c,
0x2a8844,
0x2a6f6c,
0x2a6f7c,
0x3d3988,
0x2a6f88,
0x2a85c8,
0x2a8608,
0x2a85d8,
0x2a85e8,
0x2a85fc,
0x2a6f98,
0x2a6fb8,
0x2a6fc4,
0x2d7340,
0x2d734c,
0x2a8620,
0x2d7358,
0x2d7368,
0x2d7590,
0x3557a8,
0x3557c0,
0x3557d8,
0x3557e4,
0x1844a0,
0x1844ec,
0x184504,
0x18450c,
0x184518,
0x18452c,
0x184564,
0x1844f8,
0x184534,
0x18454c,
0x18455c,
0x184570,
0x184588,
0x35580c,
0x3558a8,
0x355910,
0x3e55c8,
0x355928,
0x355934,
0x355948,
0x355968,
0x355970,
0x355990,
0x357d50,
0x357d84,
0x357d98,
0x357da4,
0x2a7000,
0x2a713c,
0x2a717c,
0x2a71b8,
0x2d73c0,
0x357dac,
0x357dcc,
0x3556d8,
0x3556f0,
0x357ddc,
0x357df0,
0x357e00,
0x357e08,
0x357e10,
0x357e20,
0x357e28,
0x357e30,
0x3559a4,
0x356538,
0x35657c,
0x356590,
0x3565f0,
0x356600,
0x356610,
0x356620,
0x3566a4,
0x3566bc,
0x356704,
0x3567a0,
0x35680c,
0x356854,
0x3568d0,
0x3568d8,
0x342ef8,
0x3435f8,
0x342f48,
0x342f64,
0x342f78,
0x342f94,
0x342fc0,
0x344198,
0x342fd0,
0x342fd8,
0x3456a8,
0x1ed548,
0x1ed5c8,
0x1ed5d8,
0x1ed5e8,
0x1ed5f4,
0x1ed674,
0x1ed684,
0x1ed694,
0x1ed74c,
0x1ed7ac,
0x1ed800,
0x3456dc,
0x3456ec,
0x38b578,
0x1ec980,
0x1eca00,
0x1eca08,
0x1eca14,
0x1eca20,
0x1eca2c,
0x1eca38,
0x1eca44,
0x1eca64,
0x38b5ec,
0x38b650,
0x38b6a4,
0x38b734,
0x38b754,
0x38b770,
0x38b790,
0x38b808,
0x38b838,
0x38b8d0,
0x38b910,
0x2f53d8,
0x2f53ec,
0x38b950,
0x2f53f4,
0x2f542c,
0x2f5458,
0x2f547c,
0x2f54b0,
0x2f5424,
0x2f56c0,
0x2f56e4,
0x2f56ec,
0x2f5710,
0x2f5738,
0x2f575c,
0x2f5784,
0x2f57a8,
0x38b960,
0x38b9a4,
0x38ba20,
0x38ba2c,
0x1e76a8,
0x1e7598,
0x1ed158,
0x1ed198,
0x1e75d0,
0x1e7614,
0x1e766c,
0x1e7688,
0x1e76c8,
0x1e76d4,
0x38ba58,
0x38ba60,
0x38bac0,
0x38bb3c,
0x38b940,
0x38bae0,
0x38baf8,
0x38bb10,
0x1e7694,
0x1e7718,
0x2f54c0,
0x2f5488,
0x38bb60,
0x38b818,
0x345700,
0x345710,
0x342ff4,
0x342ffc,
0x343014,
0x343030,
0x342f80,
0x38ba00,
0x38ba24,
0x1e7690,
0x2f58f0,
0x2f58b8,
0x38ba10,
0x343040,
0x3568f4,
0x3568fc,
0x356980,
0x344f08,
0x344f80,
0x3431f0,
0x343214,
0x344fa4,
0x344fb4,
0x344fd4,
0x1ed2d0,
0x1ed310,
0x1ed33c,
0x345030,
0x34515c,
0x38bb98,
0x38bbb0,
0x38bbc8,
0x38bc78,
0x345164,
0x345170,
0x345178,
0x345180,
0x345198,
0x345220,
0x344f88,
0x1ed340,
0x345038,
0x343690,
0x3436a4,
0x3436b4,
0x345060,
0x345070,
0x345084,
0x345094,
0x3450e0,
0x345154,
0x34524c,
0x345210,
0x345254,
0x35698c,
0x3569c4,
0x3569e8,
0x3569f0,
0x356a0c,
0x356a20,
0x356a34,
0x356a4c,
0x356a70,
0x356aa4,
0x356ab4,
0x356ac4,
0x356af8,
0x356b08,
0x356ad4,
0x356afc,
0x356b18,
0x356b20,
0x356bd0,
0x356bdc,
0x356bf0,
0x356c40,
0x356d18,
0x356d28,
0x356d30,
0x356d3c,
0x34f850,
0x34f864,
0x34f874,
0x356d6c,
0x356d7c,
0x356d90,
0x356d98,
0x356da4,
0x34f798,
0x34f7b8,
0x34f7d8,
0x356db0,
0x356dc8,
0x356dd0,
0x3a74fc,
0x3a787c,
0x1f1c94,
0x1f1ca4,
0x1f1dd0,
0x1f1e08,
0x356de0,
0x3559b8,
0x3559c4,
0x356e20,
0x3571b8,
0x3571e0,
0x3571f0,
0x3571fc,
0x3572b4,
0x3572c0,
0x1eefc8,
0x1ef01c,
0x1ef030,
0x3572d4,
0x356e38,
0x3572f0,
0x357314,
0x357324,
0x357334,
0x357340,
0x357350,
0x357358,
0x357360,
0x357378,
0x356e44,
0x3559d4,
0x356e58,
0x34ef30,
0x34efa8,
0x34eff8,
0x34f028,
0x34f030,
0x356ef4,
0x356f20,
0x356f48,
0x356f74,
0x357030,
0x34e3d0,
0x357054,
0x357074,
0x3570c0,
0x3570fc,
0x357114,
0x35719c,
0x3559e8,
0x3559f0,
0x355a00,
0x34f2a8,
0x355a08,
0x355a14,
0x355a1c,
0x34f2b8,
0x34f2d0,
0x355a24,
0x355a50,
0x34b9b0,
0x34ba04,
0x34ba18,
0x3484a0,
0x348510,
0x3482e0,
0x348300,
0x348520,
0x34a1f8,
0x3d1198,
0x3d11a8,
0x34a23c,
0x34a248,
0x34a254,
0x34a260,
0x34a26c,
0x34a278,
0x34a294,
0x34a2b0,
0x34a2d8,
0x34a328,
0x34a33c,
0x3d2650,
0x34a368,
0x34a374,
0x1e7a80,
0x1e7b54,
0x1e7bd0,
0x1e7958,
0x1e78b0,
0x1e7758,
0x1e782c,
0x1e78cc,
0x1e78ec,
0x1e78fc,
0x1e7940,
0x1e7978,
0x1e7bd8,
0x1e7d14,
0x34a3a8,
0x34a444,
0x34a350,
0x1e793c,
0x34a458,
0x348540,
0x3485e8,
0x348518,
0x1e7adc,
0x3485f4,
0x348648,
0x34baac,
0x34bca8,
0x348680,
0x3486c0,
0x3486d0,
0x34a498,
0x34a510,
0x3486e8,
0x3486f8,
0x3486c8,
0x348708,
0x34bcc4,
0x34bf44,
0x34bf5c,
0x34c1b4,
0x34c234,
0x34c28c,
0x34c2c0,
0x34c30c,
0x34c340,
0x34c394,
0x355a60,
0x355a94,
0x355aa0,
0x355abc,
0x355ac4,
0x355ad4,
0x355ae0,
0x355ae8,
0x2bd4e8,
0x2bd4fc,
0x2bd508,
0x355af4,
0x355b00,
0x355b08,
0x34e538,
0x34e550,
0x355b18,
0x355b28,
0x3e7668,
0x355b88,
0x355b90,
0x355b98,
0x355ba4,
0x355bb0,
0x355bd4,
0x34e878,
0x34e8ac,
0x2bd320,
0x2bd330,
0x2bd340,
0x34e8b8,
0x34e8c8,
0x2bd380,
0x2bd390,
0x2bd3a0,
0x34e8d4,
0x2bd350,
0x2bd360,
0x2bd370,
0x34e8e4,
0x34e900,
0x34e910,
0x34e934,
0x34e9a8,
0x34ea0c,
0x34ea3c,
0x355bf0,
0x355c0c,
0x355c74,
0x355c7c,
0x34e518,
0x34e52c,
0x355c8c,
0x355c94,
0x355cb4,
0x355cbc,
0x355cc4,
0x355ccc,
0x355cd4,
0x355cf0,
0x355d0c,
0x355d28,
0x3564d8,
0x357390,
0x3573c0,
0x3573c8,
0x3575f4,
0x357650,
0x34ea60,
0x34eac8,
0x34eae0,
0x34eaf8,
0x34eb04,
0x34eb10,
0x34eb34,
0x34eb68,
0x34eb70,
0x34eb80,
0x34eb94,
0x34eb9c,
0x1297e8,
0x129824,
0x129830,
0x129838,
0x129870,
0x1298cc,
0x1298e8,
0x129908,
0x12994c,
0x1f6900,
0x129964,
0x34ebac,
0x34ebb4,
0x34ebc0,
0x2bd3b0,
0x2bd3c0,
0x2bd3d0,
0x34ebcc,
0x34ebd8,
0x1f0ce8,
0x1f0d60,
0x34ebf0,
0x34ebfc,
0x34ec08,
0x34ec40,
0x34ec54,
0x34ec68,
0x34ec9c,
0x34ed3c,
0x34ed7c,
0x34edac,
0x34edd8,
0x34ee04,
0x34ee18,
0x34ecc8,
0x34eddc,
0x34ee08,
0x34edb0,
0x34ed80,
0x34ee2c,
0x34ee50,
0x34ee68,
0x34ee80,
0x34ee98,
0x34eea8,
0x34eed8,
0x34eef4,
0x357658,
0x3576e0,
0x3576ec,
0x357700,
0x3564e8,
0x355828,
0x34f1a0,
0x358238,
0x35165c,
0x35c0c0,
0x35c0d4,
0x35bc08,
0x35bc78,
0x35bca4,
0x35bc1c,
0x35bc5c,
0x3e7698,
0x3e7708,
0x3e7728,
0x3e775c,
0x3e7798,
0x3e77ac,
0x3e77c4,
0x3e77f4,
0x3e784c,
0x35bc64,
0x35c0dc,
0x32c8fc,
0x32c91c,
0x3376d0,
0x3333f0,
0x33340c,
0x333428,
0x33343c,
0x333444,
0x33345c,
0x33350c,
0x32f4a0,
0x32e780,
0x31f808,
0x31f258,
0x31f28c,
0x31f29c,
0x1748f8,
0x174140,
0x16e988,
0x16d018,
0x16d048,
0x1cddd8,
0x16d058,
0x16d064,
0x108468,
0x1084b0,
0x16d070,
0x16b588,
0x16b5b8,
0x16b5c4,
0x16d080,
0x16e998,
0x174170,
0x17417c,
0x174908,
0x31f2a8,
0x31f070,
0x31f08c,
0x31f2b4,
0x31f818,
0x32e7b0,
0x32e7bc,
0x336130,
0x32a7b0,
0x32a718,
0x32a748,
0x32a754,
0x32a7c0,
0x336170,
0x336184,
0x336190,
0x3247a8,
0x323850,
0x323888,
0x32389c,
0x3238a8,
0x3238a0,
0x3238b8,
0x3238d0,
0x3238ec,
0x324b70,
0x324bd0,
0x324c28,
0x324c34,
0x323918,
0x3247b8,
0x33619c,
0x3361ac,
0x3361c4,
0x3361e0,
0x336218,
0x31edd8,
0x31e1a8,
0x31e1dc,
0x31e1ec,
0x31e1f4,
0x31e204,
0x31e210,
0x31e21c,
0x31ede8,
0x336228,
0x336220,
0x336238,
0x336250,
0x33626c,
0x33629c,
0x32e7c8,
0x32f4b0,
0x333524,
0x3333f8,
0x1084a0,
0x1084a8,
0x1084bc,
0x35be7c,
0x35bd58,
0x35bd70,
0x35bd80,
0x35bd8c,
0x35bdec,
0x35beac,
0x3160bc,
0x389c60,
0x388ca0,
0x388cd8,
0x388ce4,
0x388cf0,
0x388d00,
0x388d14,
0x388d48,
0x388d90,
0x388cf8,
0x388d50,
0x388d78,
0x388d8c,
0x388d24,
0x388d30,
0x2b99a0,
0x2b99cc,
0x2bb280,
0x2bb2b4,
0x2bb2e8,
0x2bb330,
0x2bb360,
0x2bb3a4,
0x2bb3b4,
0x2bb3c0,
0x2bb388,
0x2bb394,
0x2bb3d0,
0x2bb400,
0x2bb430,
0x2bb45c,
0x2bb474,
0x2bb4b4,
0x2b99dc,
0x2b99ec,
0x1ad7f8,
0x1ad82c,
0x1ad860,
0x1ad8a8,
0x1ad8d8,
0x1ad91c,
0x1ad92c,
0x1ad938,
0x1ad900,
0x1ad90c,
0x1ad948,
0x1ad978,
0x1ad9a8,
0x1ad9d4,
0x1ad9ec,
0x1ada2c,
0x2b99f8,
0x388d40,
0x388d9c,
0x388dac,
0x2b9b88,
0x388dbc,
0x389c68,
0x3160c4,
0x3160cc,
0x3160d8,
0x388788,
0x3887e4,
0x388804,
0x38880c,
0x388814,
0x38881c,
0x3887e8,
0x38882c,
0x388838,
0x388850,
0x38887c,
0x388898,
0x3888c8,
0x3888d8,
0x3888e4,
0x3888f0,
0x3888fc,
0x388904,
0x388918,
0x388930,
0x388958,
0x388974,
0x3cca6c,
0x3cca88,
0x3cca78,
0x1a52a8,
0x1a52b8,
0x1a52e0,
0x1a52fc,
0x3889a4,
0x3889b0,
0x3889bc,
0x3889c4,
0x3889cc,
0x3160ec,
0x35672c,
0x35720c,
0x35721c,
0x357234,
0x357758,
0x3577a8,
0x3577e0,
0x3577f0,
0x3577fc,
0x357828,
0x357834,
0x357840,
0x35786c,
0x357878,
0x357884,
0x3578b0,
0x3579f0,
0x3579fc,
0x357b50,
0x3572a8,
0x3570d0,
0x355a38,
0x355a40,
0x355d30,
0x355dd0,
0x355de0,
0x355e38,
0x355e44,
0x355e60,
0x355e68,
0x355e74,
0x355e7c,
0x355e84,
0x355e94,
0x355eb4,
0x355ed0,
0x355eec,
0x355ef4,
0x355f00,
0x355f0c,
0x356010,
0x356024,
0x35602c,
0x356034,
0x356040,
0x3560e8,
0x356130,
0x356170,
0x356180,
0x356190,
0x3561a4,
0x3563c4,
0x3563cc,
0x3563d8,
0x3564bc,
0x3564d4,
0x3573d8,
0x3573ec,
0x357404,
0x357414,
0x357428,
0x35743c,
0x35749c,
0x1573bc,
0x1573ec,
0x1573f4,
0x1574c4,
0x3574a8,
0x3574b0,
0x3574bc,
0x3574c4,
0x3574cc,
0x3574d4,
0x3574e0,
0x3574ec,
0x357514,
0x357530,
0x357588,
0x3575f0,
0x357724,
0x36c1f0,
0x370f68,
0x36c1f8,
0x36c200,
0x364e70,
0x364eb0,
0x370ee0,
0x370ef8,
0x370f04,
0x370f10,
0x370f1c,
0x370f24,
0x370f2c,
0x370f40,
0x364ec8,
0x364ed0,
0x36cdf0,
0x36ce0c,
0x36ce48,
0x36ce54,
0x364ed8,
0x364ee4,
0x364f0c,
0x364f14,
0x3657a0,
0x3657dc,
0x3657fc,
0x365808,
0x365820,
0x365828,
0x365830,
0x36583c,
0x365844,
0x36584c,
0x36585c,
0x365870,
0x365884,
0x365954,
0x36595c,
0x36596c,
0x36597c,
0x365984,
0x365990,
0x36599c,
0x3659a8,
0x3659b4,
0x3659c0,
0x3659cc,
0x3659e4,
0x365bc4,
0x365bdc,
0x365be4,
0x365bf0,
0x365bfc,
0x365cec,
0x365d58,
0x366378,
0x364f28,
0x364d70,
0x364db0,
0x364dcc,
0x364e04,
0x364e20,
0x364e40,
0x364e54,
0x364f34,
0x364f4c,
0x2d6930,
0x2d6950,
0x2d695c,
0x2d6968,
0x2d6974,
0x2d6988,
0x2d699c,
0x18a8a0,
0x18a8c0,
0x2d69ac,
0x2d69b8,
0x364f64,
0x36516c,
0x36517c,
0x183d28,
0x183d3c,
0x183d44,
0x36518c,
0x36521c,
0x365224,
0x365230,
0x3652c0,
0x3655d0,
0x3655f8,
0x365608,
0x2d6dd8,
0x2d6e00,
0x2d6e08,
0x2d6e1c,
0x2d6e24,
0x2d6e34,
0x2d6e50,
0x2d6e60,
0x2a47c0,
0x2a4190,
0x2a41b4,
0x2a41c4,
0x2a41d4,
0x2a41f8,
0x2a47e8,
0x2a47f8,
0x2a4820,
0x2a482c,
0x2a4850,
0x2a486c,
0x2a488c,
0x2a4ac0,
0x2a4acc,
0x2a5758,
0x2a5824,
0x2a5830,
0x2a583c,
0x2a5848,
0x2a5858,
0x2a5860,
0x2a5868,
0x2a5880,
0x2a40f8,
0x2a412c,
0x2a5888,
0x2a58b0,
0x2a58d0,
0x2a5958,
0x2a59b0,
0x2a59e4,
0x2a5a18,
0x2a5a28,
0x2a5a38,
0x2d6570,
0x2d6588,
0x2d65ac,
0x2d65b4,
0x2a5a48,
0x1efb68,
0x2a5a54,
0x2a5ab0,
0x2a5ac0,
0x2a5ad0,
0x2a5ae8,
0x2a5b10,
0x2a5c38,
0x2a5c40,
0x2a5c50,
0x2a5c60,
0x2a5c84,
0x2a4ae0,
0x2d6e6c,
0x365610,
0x365640,
0x3652c8,
0x3652e8,
0x36c214,
0x36c240,
0x36c24c,
0x36c254,
0x36c260,
0x36c26c,
0x36c274,
0x36c280,
0x36c28c,
0x36c298,
0x36c2b0,
0x36c2bc,
0x36c300,
0x36c324,
0x36c330,
0x36c33c,
0x36c344,
0x36c390,
0x3e06e0,
0x36c398,
0x36c3d0,
0x2bc418,
0x36c424,
0x36c430,
0x36c43c,
0x36c450,
0x36c458,
0x36c460,
0x36c478,
0x36c498,
0x36c4dc,
0x36c4e8,
0x36c504,
0x36c548,
0x36c550,
0x36c55c,
0x36c3b8,
0x36c2d0,
0x2bbe04,
0x2bbe10,
0x2bbe18,
0x2bbe44,
0x2bbe58,
0x2bbe78,
0x2bbec4,
0x2bbf14,
0x3d28f0,
0x2bbf28,
0x2bbf5c,
0x1f1f40,
0x1f1f90,
0x1f1fc0,
0x3a67e0,
0x3a7890,
0x3a78f0,
0x3a7914,
0x3a7928,
0x3a7938,
0x3a795c,
0x3a7c0c,
0x3a67fc,
0x3a6810,
0x3a6818,
0x3a6820,
0x3a6828,
0x3a68c0,
0x1f1fc8,
0x1f1fe0,
0x1f201c,
0x1f2058,
0x1f2088,
0x3a7a48,
0x3a7b34,
0x3a7b84,
0x3a7c08,
0x1f2090,
0x1f20ac,
0x1f20dc,
0x1f2124,
0x1f215c,
0x1f218c,
0x1f2194,
0x1f21b0,
0x1f2260,
0x1f22bc,
0x1f22ec,
0x1f22fc,
0x1f232c,
0x1f233c,
0x1f236c,
0x1f237c,
0x2bbf68,
0x3d2918,
0x2bbf90,
0x3d28f8,
0x2bbf9c,
0x2bbfd4,
0x2bbfdc,
0x2bc088,
0x2bc14c,
0x2bc188,
0x2bc1bc,
0x2bc224,
0x2bc290,
0x2bc2bc,
0x2bc2f4,
0x1effe8,
0x1f0034,
0x1f0074,
0x1f0084,
0x1f0090,
0x1f00bc,
0x1f00c8,
0x1f00d4,
0x1f0100,
0x1f010c,
0x1f0118,
0x1f0144,
0x1f0284,
0x1f0290,
0x1f0450,
0x2bc32c,
0x2bc344,
0x2bc354,
0x2bc36c,
0x2bc384,
0x2bc39c,
0x2bc3cc,
0x2bc3e4,
0x108540,
0x108554,
0x108588,
0x1085b4,
0x1085e4,
0x108734,
0x108748,
0x108618,
0x10865c,
0x108714,
0x108744,
0x1f7e4c,
0x152644,
0x152660,
0x15266c,
0x152678,
0x12ceb0,
0x12ced4,
0x12cedc,
0x12cef0,
0x12cf50,
0x1526c8,
0x152728,
0x152744,
0x152760,
0x1527a0,
0x1527bc,
0x1527ec,
0x152824,
0x152838,
0x152850,
0x152870,
0x15289c,
0x152964,
0x152958,
0x152970,
0x152978,
0x152980,
0x152990,
0x152998,
0x1529a0,
0x1529b8,
0x1529c4,
0x1f5168,
0x1f51d0,
0x1f51fc,
0x1f5270,
0x1f529c,
0x1f531c,
0x1f53a4,
0x1f53f0,
0x1f5ed0,
0x1529e0,
0x1529e8,
0x152a50,
0x152a58,
0x15315c,
0x152818,
0x152a60,
0x152a78,
0x152a8c,
0x152ab4,
0x152ac0,
0x152bb4,
0x1f3058,
0x1f309c,
0x1f3088,
0x1f30a8,
0x152c08,
0x152cfc,
0x152d28,
0x152d38,
0x152d40,
0x152f38,
0x1f6988,
0x1f69e0,
0x1f69f8,
0x1f6a08,
0x1f6a20,
0x1f6a30,
0x1f6a8c,
0x1f6ac0,
0x1f6bb4,
0x1f6bf0,
0x1f6b68,
0x1f6be4,
0x1f6bfc,
0x1f6c3c,
0x1f6c90,
0x1f6cc0,
0x1f6c88,
0x1f6cc4,
0x1f6cd0,
0x1f6cf8,
0x1f6d28,
0x1f6d30,
0x1f6d50,
0x1f6d98,
0x1f6dd0,
0x152f60,
0x152f7c,
0x152fb4,
0x152fa8,
0x152fc0,
0x152fc8,
0x152fe4,
0x152ff4,
0x153018,
0x220128,
0x220038,
0x220040,
0x2200b4,
0x2200c8,
0x2200e8,
0x220140,
0x153038,
0x153048,
0x153078,
0x153084,
0x1530a0,
0x14c5e0,
0x14c5f0,
0x1530bc,
0x153088,
0x153894,
0x1538c0,
0x119430,
0x119460,
0x119470,
0x119494,
0x11949c,
0x1194bc,
0x1194f0,
0x1538d8,
0x153a18,
0x1530cc,
0x1530d8,
0x1530e4,
0x153108,
0x153158,
0x153174,
0x153180,
0x12cf7c,
0x152698,
0x14bc28,
0x14bc38,
0x14bc50,
0x14bc60,
0x14bd80,
0x125fc8,
0x125ff0,
0x193b0c,
0x193b34,
0x119f10,
0x11a384,
0x11a38c,
0x11a3a0,
0x11a3e0,
0x11a3e8,
0x11a3f8,
0x11a434,
0x11a454,
0x11a478,
0x11a4a4,
0x11a4c0,
0x11a4d0,
0x11a4f4,
0x11a518,
0x11a53c,
0x11a574,
0x11a5a4,
0x11a5d0,
0x119510,
0x11a5ec,
0x11a614,
0x11a628,
0x11a65c,
0x11a684,
0x11a690,
0x11afc0,
0x11afe4,
0x11b00c,
0x11aff8,
0x11b028,
0x11b048,
0x11a6a4,
0x11a6c8,
0x11a6e8,
0x11a718,
0x11a724,
0x11a754,
0x11a75c,
0x11a77c,
0x11a7f4,
0x11acb4,
0x1169c8,
0x1169fc,
0x116a04,
0x116a0c,
0x116a14,
0x3ce6d8,
0x116a20,
0x114da8,
0x14ff84,
0x14ff8c,
0x14ff94,
0x220de4,
0x220dfc,
0x2211d8,
0x221220,
0x221238,
0x221240,
0x21ae24,
0x21ae40,
0x21ae30,
0x21e320,
0x21e338,
0x21e35c,
0x21e368,
0x21e440,
0x21e370,
0x21e450,
0x21e464,
0x21e478,
0x21ae6c,
0x21af60,
0x21af78,
0x21ae80,
0x21af68,
0x21af74,
0x21af94,
0x21b190,
0x21b198,
0x22125c,
0x221324,
0x221228,
0x22132c,
0x221334,
0x22138c,
0x220e04,
0x220e1c,
0x220e48,
0x220e54,
0x21016c,
0x220e84,
0x220ea4,
0x220eb4,
0x220ec0,
0x220edc,
0x220f08,
0x2217c4,
0x2217e4,
0x21b280,
0x21b2cc,
0x21b3c8,
0x21b3e0,
0x21b2e8,
0x21b3d0,
0x21b3dc,
0x21b3fc,
0x21b418,
0x21b428,
0x21b438,
0x21b44c,
0x21b498,
0x21a528,
0x21b4a0,
0x21b4c4,
0x21b51c,
0x21b564,
0x21b5c0,
0x21b604,
0x21b610,
0x21b64c,
0x21b690,
0x211404,
0x211444,
0x21b6a0,
0x21b6ac,
0x21b6b8,
0x21b6c8,
0x21b70c,
0x21b728,
0x21b740,
0x2217fc,
0x221808,
0x221838,
0x221850,
0x21b458,
0x21b460,
0x21b484,
0x21b668,
0x21b680,
0x221860,
0x221874,
0x2219bc,
0x221810,
0x221840,
0x22187c,
0x221978,
0x221990,
0x221898,
0x221980,
0x22198c,
0x2219ac,
0x20fbcc,
0x20fbd4,
0x20fc00,
0x20fc9c,
0x20fcc8,
0x20fcec,
0x20fe0c,
0x220f34,
0x220f40,
0x220638,
0x220684,
0x220694,
0x2206bc,
0x2206cc,
0x2206dc,
0x220734,
0x20bff8,
0x20c170,
0x20c17c,
0x20c1b8,
0x20c1e0,
0x20c1ec,
0x20c218,
0x20c220,
0x20c228,
0x20c354,
0x20c414,
0x20c418,
0x20c73c,
0x20c758,
0x20c79c,
0x220788,
0x220798,
0x2207e8,
0x20c7e0,
0x20c85c,
0x20c890,
0x20c8a8,
0x20c8e4,
0x20c914,
0x20c924,
0x20c944,
0x20c970,
0x20c978,
0x20c990,
0x20c9c0,
0x20ca00,
0x20cad0,
0x20cb74,
0x20cb78,
0x20cd08,
0x20cd30,
0x20cee8,
0x20cee0,
0x20cef8,
0x20cf68,
0x20cf80,
0x20cfc4,
0x220834,
0x220844,
0x220874,
0x20c918,
0x20c954,
0x20c980,
0x20c994,
0x2208c0,
0x2208d0,
0x2208f0,
0x220918,
0x220938,
0x20c22c,
0x220978,
0x20b87c,
0x220994,
0x2209a0,
0x2209b0,
0x220f48,
0x210088,
0x220f58,
0x2213b8,
0x2213f4,
0x221428,
0x221434,
0x21b968,
0x21b98c,
0x21b9c8,
0x21219c,
0x21bc50,
0x21bc84,
0x221444,
0x221400,
0x221418,
0x21b9c4,
0x221460,
0x2214d8,
0x220f74,
0x220f7c,
0x220f8c,
0x220f94,
0x184124,
0x1848a8,
0x1848f4,
0x1849b0,
0x1849c0,
0x1849cc,
0x1849dc,
0x184a20,
0x184a58,
0x184a88,
0x184a9c,
0x184aa4,
0x184ab0,
0x184ac8,
0x184ae8,
0x184b4c,
0x184a90,
0x1b7764,
0x1b7780,
0x1b7798,
0x1b77bc,
0x1b77d8,
0x1b77e4,
0x184adc,
0x184af0,
0x184b08,
0x184b10,
0x184b48,
0x184b54,
0x184b5c,
0x184b64,
0x184bb8,
0x184bd8,
0x184be8,
0x184c34,
0x184a60,
0x184bf4,
0x184c04,
0x184c38,
0x184c4c,
0x184c54,
0x184c5c,
0x184c74,
0x1b7370,
0x1b73b4,
0x1b73d0,
0x1b73f4,
0x1b741c,
0x1b7464,
0x1b7470,
0x3822d8,
0x382310,
0x38231c,
0x38232c,
0x2dbfb0,
0x2dbfcc,
0x2dbfd4,
0x2dbfe0,
0x2fbe58,
0x2fbe74,
0x2fbe7c,
0x275f68,
0x275f84,
0x275f8c,
0x3b1be0,
0x275fa0,
0x275fa8,
0x275fbc,
0x2fbe84,
0x2fba70,
0x2fba8c,
0x2f96f8,
0x2f9720,
0x2f979c,
0x2f97a8,
0x2f97c0,
0x2f97c8,
0x2757b0,
0x276048,
0x2757e4,
0x2757f4,
0x1be960,
0x1c0960,
0x1be970,
0x275800,
0x27587c,
0x2746f0,
0x1ff138,
0x1ff6c8,
0x1ff180,
0x1ff1cc,
0x1ff1d8,
0x3b16d8,
0x3b16f0,
0x3ba8d8,
0x24d140,
0x3ba8ec,
0x3ba9a8,
0x3ba9c4,
0x3ba9cc,
0x2756d8,
0x3ba9f4,
0x3b1a70,
0x3b1a7c,
0x3b1a88,
0x3b1ab0,
0x3b1abc,
0x3b1ad4,
0x3b1ac8,
0x3b1a9c,
0x3b1aec,
0x3baa1c,
0x3baa28,
0x3baa3c,
0x3baa88,
0x3ba928,
0x3b16fc,
0x1ff1f4,
0x24d250,
0x1ff204,
0x1fdf28,
0x1fdf58,
0x3b16d0,
0x1fdf70,
0x1fdf9c,
0x1fdfe0,
0x3d8c38,
0x3d8d0c,
0x3d8d38,
0x3d8d6c,
0x3d8da8,
0x3d8db8,
0x3d8c00,
0x3d8c08,
0x3d8c2c,
0x3d8dcc,
0x3d8df8,
0x3d8e10,
0x3d8e30,
0x3d8e54,
0x3d8e74,
0x1fdfe8,
0x1ff218,
0x3bae28,
0x3bae60,
0x24d258,
0x3bae7c,
0x3bae88,
0x3bae94,
0x3baea8,
0x3baec8,
0x3baed0,
0x3baee4,
0x3baf04,
0x3baf0c,
0x276030,
0x3baf20,
0x3baf28,
0x3baf30,
0x200cb8,
0x3baf38,
0x3baf98,
0x3bafd0,
0x3bae54,
0x1ff230,
0x24d208,
0x1ff23c,
0x1ff25c,
0x3baaa0,
0x3bac28,
0x3bac30,
0x3baca0,
0x3baca8,
0x3b7768,
0x3b77b4,
0x3b77dc,
0x3b77e8,
0x3b781c,
0x3b7834,
0x3b783c,
0x3b7844,
0x3b7850,
0x3b785c,
0x3b7868,
0x3b7874,
0x3b7880,
0x3b788c,
0x3b7894,
0x3b789c,
0x3b78b0,
0x3baccc,
0x3bace0,
0x3bacec,
0x1ff270,
0x27472c,
0x275894,
0x2758b8,
0x2f97e4,
0x2fc758,
0x2fc76c,
0x1fedc4,
0x1fedb0,
0x2fc774,
0x2fc780,
0x2fc788,
0x2fc790,
0x2fc798,
0x2fc7a0,
0x2fc8d0,
0x2fe0c0,
0x2fe0e0,
0x2fe0ec,
0x2fe0f8,
0x2fe10c,
0x2fe118,
0x2fc8e4,
0x2fc8f8,
0x2fc900,
0x2fc918,
0x2fc930,
0x2fc944,
0x2fc960,
0x2fc7dc,
0x2f97f0,
0x2f9834,
0x2f9710,
0x2fbaa8,
0x2fda88,
0x382340,
0x38234c,
0x382358,
0x382364,
0x15e120,
0x15e41c,
0x382380,
0x38238c,
0x1b748c,
0x1b7498,
0x1b7430,
0x3d8e18,
0x2fe0f0,
0x2fc958,
0x3e2c20,
0x3e2c90,
0x3e2cb0,
0x3e2ce4,
0x3e2d20,
0x3e2d34,
0x3e2d4c,
0x3e2d7c,
0x3e2d94,
0x3e2db0,
0x286804,
0x1b74b0,
0x1b74b8,
0x1b6550,
0x1b6654,
0x1b665c,
0x157408,
0x157414,
0x15741c,
0x15742c,
0x15743c,
0x1574a8,
0x1574b0,
0x1b666c,
0x1b74cc,
0x1b7500,
0x184c84,
0x184c90,
0x1b3af0,
0x1b3bfc,
0x1b3c0c,
0x1b3c18,
0x1b3c24,
0x1b3c2c,
0x14f0b0,
0x1b3d1c,
0x1b3d2c,
0x1b3d38,
0x1b3d48,
0x1b3d64,
0x1b3d74,
0x1b3d80,
0x1b3d90,
0x1b3d98,
0x1b3dc8,
0x1b3dd0,
0x1b3fe0,
0x1b46dc,
0x1b46ec,
0x1b46f8,
0x1b4708,
0x1b4724,
0x1b4734,
0x1b4740,
0x1b4750,
0x1b4758,
0x1b4760,
0x1fa080,
0x1fa094,
0x1b4768,
0x1b47a0,
0x1b3fc8,
0x1b4614,
0x1b4624,
0x1b4630,
0x1b4640,
0x1b465c,
0x1b466c,
0x1b4678,
0x1b4688,
0x1b4690,
0x1b4698,
0x1b46a0,
0x1b49b0,
0x1b49b8,
0x1b49c8,
0x1b49d8,
0x1b49f8,
0x1b4a00,
0x1b4a08,
0x1b4a14,
0x1b5010,
0x1b5048,
0x1b5060,
0x1b5098,
0x1b50ac,
0x1b50c4,
0x1b50e4,
0x1b50fc,
0x1b5134,
0x1b514c,
0x1b5158,
0x1b5204,
0x1b4a28,
0x1b4a3c,
0x1b4a58,
0x1b4a68,
0x1b4ab4,
0x2dd880,
0x2dd89c,
0x2d7460,
0x2a7020,
0x1962a0,
0x19630c,
0x196318,
0x1963e0,
0x1963f0,
0x2a703c,
0x2a7060,
0x2a708c,
0x2a70ac,
0x2a70c8,
0x2a70dc,
0x2a7100,
0x2d7480,
0x2d7488,
0x2d7494,
0x2d749c,
0x2d74a8,
0x2d74b0,
0x2d74bc,
0x2d74cc,
0x2dd8a4,
0x2dd848,
0x2dd864,
0x2d73d8,
0x2d73f8,
0x2d7400,
0x2d740c,
0x2d7414,
0x2d7420,
0x2d7428,
0x2d7434,
0x2d7444,
0x2dd86c,
0x29a320,
0x29a348,
0x29a36c,
0x29a388,
0x29a39c,
0x297eb0,
0x297ee8,
0x297f04,
0x297f18,
0x297f20,
0x297f30,
0x297f38,
0x297f88,
0x297f90,
0x297fbc,
0x297fc4,
0x1bec50,
0x1beca8,
0x1becbc,
0x1becc8,
0x1becd4,
0x1c0930,
0x1bece8,
0x1bea30,
0x1bea38,
0x1bea70,
0x1d9500,
0x1d9098,
0x1d90f8,
0x1da49c,
0x1da4d4,
0x1da514,
0x1da568,
0x1da584,
0x1da58c,
0x1da610,
0x1da61c,
0x1da628,
0x1da634,
0x1da6b4,
0x1c0918,
0x1da6cc,
0x1beea8,
0x1beecc,
0x1beed4,
0x1beedc,
0x1beee4,
0x1c0958,
0x1beef4,
0x1bef68,
0x1da6d8,
0x1da6e4,
0x1da570,
0x2a2ef0,
0x2a2f0c,
0x2aa980,
0x2aa99c,
0x2aa9a8,
0x2aa9b4,
0x2a2f14,
0x1beefc,
0x1bef64,
0x3325e0,
0x1beb28,
0x3325fc,
0x332608,
0x332614,
0x332620,
0x2f83e0,
0x2f8410,
0x1c0f80,
0x1c0fd8,
0x2f8418,
0x2f8430,
0x2f8438,
0x2f8450,
0x2f8468,
0x2f8484,
0x2f84d4,
0x2f84d8,
0x2f84f0,
0x2f8508,
0x2f8524,
0x2f8558,
0x2f8560,
0x2f8578,
0x2f8590,
0x2f85ac,
0x2f85e0,
0x2f85e8,
0x2f8600,
0x2f8618,
0x2f8634,
0x2f8668,
0x2f8670,
0x2f8688,
0x2f86a0,
0x2f86bc,
0x2f86f0,
0x2f86f8,
0x2f8710,
0x2f8728,
0x2f8744,
0x2f8770,
0x2f877c,
0x2f8788,
0x38e178,
0x38e18c,
0x331d50,
0x331d9c,
0x331db4,
0x331dc0,
0x331df4,
0x331e0c,
0x331e18,
0x331e58,
0x331e98,
0x331ed8,
0x331ee4,
0x331ef0,
0x3e5e18,
0x3e5e2c,
0x331ef8,
0x16ee30,
0x16ce50,
0x16ce6c,
0x16ce94,
0x16ceb8,
0x16ee40,
0x174ae8,
0x174afc,
0x324910,
0x324940,
0x32495c,
0x324948,
0x324968,
0x325890,
0x3258e8,
0x324970,
0x31eeb8,
0x31eecc,
0x276fe8,
0x277004,
0x233028,
0x233058,
0x277018,
0x27703c,
0x163c78,
0x163ca0,
0x163cac,
0x163cb8,
0x163cc4,
0x163cd0,
0x163d10,
0x163d50,
0x164038,
0x164054,
0x164060,
0x164070,
0x164078,
0x164084,
0x161e40,
0x161e88,
0x161eb4,
0x161ed4,
0x161ee4,
0x161ef4,
0x161f1c,
0x161f30,
0x161f48,
0x161f60,
0x161f6c,
0x161f78,
0x161f80,
0x164170,
0x164180,
0x231748,
0x231794,
0x164198,
0x161f8c,
0x161ff0,
0x162028,
0x2022c0,
0x2022f8,
0x202340,
0x162034,
0x1620ac,
0x164098,
0x1c0fb0,
0x1c0fcc,
0x1640a0,
0x1640dc,
0x16412c,
0x163d58,
0x16cea8,
0x16ceb4,
0x32e810,
0x32e82c,
0x32e838,
0x337110,
0x337148,
0x337168,
0x33717c,
0x337188,
0x3371a4,
0x3371bc,
0x3371a8,
0x3371c8,
0x3371d4,
0x32e840,
0x32c430,
0x32e4f0,
0x32e50c,
0x335ee0,
0x335f10,
0x335f2c,
0x335f38,
0x338450,
0x337b48,
0x337cbc,
0x337b58,
0x337c78,
0x338468,
0x338474,
0x335f40,
0x32e514,
0x32c440,
0x1da598,
0x1da5c0,
0x1da640,
0x1da664,
0x2e00d8,
0x35e198,
0x279fa0,
0x35e1a8,
0x2e00fc,
0x3bd9dc,
0x2e0108,
0x2e0128,
0x2e0134,
0x2e0110,
0x2df598,
0x2dfe90,
0x2dff2c,
0x2dff7c,
0x2dffa0,
0x2df5bc,
0x2df5c4,
0x2dffb0,
0x2e004c,
0x2df5cc,
0x2df6a4,
0x2e0118,
0x1d6d80,
0x1d5018,
0x1d4be8,
0x1d4c3c,
0x1d5028,
0x1d6da0,
0x1d77c8,
0x2e0148,
0x2e0158,
0x1d7800,
0x1d7808,
0x1d7820,
0x1d7850,
0x1d786c,
0x1d78d0,
0x1d78e8,
0x1d794c,
0x1d7954,
0x1d7960,
0x1d7bd0,
0x1d7968,
0x1d7974,
0x1d797c,
0x1d7994,
0x1d799c,
0x1d79ac,
0x1d6af0,
0x1d79b8,
0x1d79cc,
0x1d79d8,
0x1d5830,
0x1d79e0,
0x1d7a0c,
0x1d6da8,
0x1d6db4,
0x1d6dcc,
0x1d6de4,
0x1d6df0,
0x2e0120,
0x1d6e68,
0x1d5078,
0x1d5094,
0x1d50cc,
0x1d511c,
0x1d6e88,
0x1d6e94,
0x1d6eb0,
0x1d6ecc,
0x1d6ee8,
0x1d6f40,
0x279dd0,
0x279e00,
0x27bfa0,
0x27bfdc,
0x27c000,
0x27c008,
0x279e1c,
0x279e08,
0x279e28,
0x2e1f58,
0x2e1f74,
0x2e1f80,
0x2e1f8c,
0x2e1fe4,
0x2e1ff0,
0x2e1ffc,
0x309348,
0x30935c,
0x15d338,
0x15b130,
0x15b170,
0x15b190,
0x15b198,
0x15b268,
0x15b270,
0x15b2ac,
0x15b344,
0x15b34c,
0x15b358,
0x15b364,
0x15b39c,
0x15b3ec,
0x15b3f4,
0x15b414,
0x15d34c,
0x15d358,
0x2c69f0,
0x2c6a14,
0x2de4a8,
0x2de4c4,
0x2de4cc,
0x2de4e0,
0x2c6a1c,
0x2c6a30,
0x2c6b8c,
0x2c6b94,
0x2c6ba8,
0x2c9790,
0x2c97b0,
0x2c97bc,
0x2c97c8,
0x2c97d4,
0x2c97e0,
0x2c97e8,
0x2c97f0,
0x2c97fc,
0x2c9808,
0x2c9814,
0x12cdf8,
0x12ce14,
0x12ce20,
0x12ce28,
0x12ce34,
0x12ce40,
0x12ce54,
0x12ce60,
0x12ce6c,
0x12cea4,
0x2c981c,
0x2c9838,
0x2c9840,
0x2c6bb0,
0x2c9ac0,
0x2c9ad4,
0x2c9ae0,
0x2c9aec,
0x2c9af8,
0x2c9b04,
0x2c9b10,
0x2c9b1c,
0x2c9b28,
0x2c9b34,
0x2c9b40,
0x2c9b4c,
0x2c9b58,
0x1b8990,
0x1b89b8,
0x1b89c4,
0x1b89d0,
0x1b89dc,
0x1b89e8,
0x2c9b60,
0x2c6bb8,
0x2c6c10,
0x2c6c1c,
0x2c6c28,
0x1bef1c,
0x1bef24,
0x1bef2c,
0x1bef34,
0x1bef3c,
0x1bef10,
0x1bef18,
0x1bef44,
0x1bef4c,
0x1bef58,
0x37f648,
0x37f65c,
0x30b2b8,
0x30b2cc,
0x313d38,
0x313d7c,
0x313d8c,
0x313d94,
0x313da0,
0x313dfc,
0x313480,
0x3134b4,
0x313e04,
0x312dc0,
0x312dd4,
0x312df4,
0x312dfc,
0x313e0c,
0x313e18,
0x313e28,
0x313e38,
0x313e4c,
0x313e58,
0x313e70,
0x313e90,
0x313e9c,
0x313eb4,
0x313ebc,
0x313ee4,
0x313fdc,
0x313ec8,
0x313fe8,
0x313ff0,
0x315428,
0x315440,
0x31544c,
0x31400c,
0x313ff8,
0x314018,
0x314034,
0x3157c8,
0x3157d8,
0x31404c,
0x314038,
0x314058,
0x33e340,
0x33e35c,
0x340370,
0x3403a0,
0x3403bc,
0x3403c8,
0x33e364,
0x33d660,
0x33d67c,
0x33d688,
0x33e628,
0x33e680,
0x33d690,
0x33d6a4,
0x33fad0,
0x33fb00,
0x33fb1c,
0x33fb28,
0x33fb34,
0x33fb40,
0x33d6ac,
0x2f8454,
0x2f84a4,
0x2f8544,
0x2f857c,
0x2f85cc,
0x2f8604,
0x2f8654,
0x2f868c,
0x2f86dc,
0x2f8714,
0x2f8764,
0x2f8474,
0x2f847c,
0x2f84a8,
0x2f8514,
0x2f851c,
0x2f8548,
0x309770,
0x309784,
0x312ddc,
0x312de4,
0x1a8ca0,
0x1a8cc0,
0x1a8cf4,
0x1a8d20,
0x1a8dbc,
0x1a8e04,
0x1a8e10,
0x1a8e1c,
0x1a8de8,
0x1a8df4,
0x1a8e18,
0x1a8e28,
0x312df0,
0x313e78,
0x1da6f4,
0x1da804,
0x1da7a8,
0x275338,
0x275358,
0x275364,
0x275374,
0x27537c,
0x2753c8,
0x2753d4,
0x2753e0,
0x274d00,
0x274d20,
0x274480,
0x1fe310,
0x1fe498,
0x1fe4c4,
0x1fe5ec,
0x1fe4d8,
0x1fe5f8,
0x274490,
0x274d2c,
0x274e18,
0x2753f4,
0x1d7d9c,
0x1d7de0,
0x1d7908,
0x1d7914,
0x1d791c,
0x1d6df4,
0x2753fc,
0x2754e8,
0x1d6eec,
0x2754f8,
0x275404,
0x1da7c4,
0x1da7d0,
0x1da7dc,
0x1da800,
0x1da810,
0x1da91c,
0x1da8c0,
0x1da8dc,
0x1da8e8,
0x1da8f4,
0x1da918,
0x1da928,
0x1da93c,
0x1da990,
0x1da9c4,
0x1da9fc,
0x1daaac,
0x1dab3c,
0x1dab4c,
0x1dab58,
0x1daae0,
0x1daaec,
0x1dab14,
0x1dab20,
0x1daa1c,
0x1daa64,
0x1daa94,
0x1dab68,
0x1dab84,
0x1dab90,
0x1dab98,
0x1dabac,
0x1dabc0,
0x3d7a98,
0x3d7aa8,
0x3d7ab0,
0x3d7acc,
0x1dabc8,
0x1dabe0,
0x1d9118,
0x1d9180,
0x1d91c8,
0x1d91d0,
0x1d91d8,
0x1d9214,
0x1d9264,
0x1d929c,
0x1d92ec,
0x1d92f8,
0x1d9510,
0x1becf4,
0x1bed0c,
0x1bed14,
0x297fcc,
0x27cffc,
0x30fec8,
0x2f90e0,
0x2e77a0,
0x2e77ac,
0x2e75e0,
0x2e75e8,
0x2e75f8,
0x2e7604,
0x2e7610,
0x2e7618,
0x2e7624,
0x2c9a68,
0x2c9a88,
0x2c9a94,
0x2c9aa4,
0x2e763c,
0x158440,
0x158470,
0x1ef910,
0x1ef940,
0x1ef948,
0x1ef964,
0x1ef974,
0x1ef9a4,
0x1ef9d8,
0x158480,
0x2e7644,
0x2e7654,
0x2e7688,
0x2e76bc,
0x2e76ec,
0x2e773c,
0x2e7764,
0x2e7720,
0x2d4698,
0x2d46dc,
0x2d46e4,
0x2d3c38,
0x2d3150,
0x2d3160,
0x2d3170,
0x2d3c64,
0x12d428,
0x12d808,
0x12d854,
0x12d464,
0x12d474,
0x12d47c,
0x12d49c,
0x12db48,
0x12db74,
0x12d968,
0x12db7c,
0x12dba0,
0x1f3008,
0x12dba8,
0x1f5f88,
0x12dbe8,
0x12dbf0,
0x12d988,
0x12dc00,
0x1f3ae8,
0x1f3b40,
0x1f3b5c,
0x1f3b78,
0x1f3bb4,
0x1f3bc4,
0x1f3c08,
0x1f3c30,
0x1f3c40,
0x1f3c80,
0x1f3c90,
0x1f3ce0,
0x1f3cfc,
0x1f3d0c,
0x1f3d50,
0x1f3fc4,
0x12dc0c,
0x12dc28,
0x12dc34,
0x12dc40,
0x12d4ac,
0x12d5e4,
0x2d3c7c,
0x2d46fc,
0x2d4724,
0x2d4744,
0x2e7728,
0x1f3b6c,
0x1f3c24,
0x1f3d18,
0x1f3b50,
0x1f3bb8,
0x1f3b34,
0x1f3c84,
0x1f3c14,
0x1f3c4c,
0x1f3cd4,
0x1f3d4c,
0x1f3d5c,
0x1f3da0,
0x1f3dc8,
0x1f3dd8,
0x1f3e18,
0x1f3e28,
0x1f3e78,
0x1f3e88,
0x1f3eb0,
0x1f3ee4,
0x1f3ef4,
0x1f3f44,
0x1f3f60,
0x1f3f7c,
0x1f3fb0,
0x1f3fc0,
0x12dc14,
0x12dc20,
0x12dc44,
0x12d4b4,
0x12d348,
0x12d4bc,
0x1f251c,
0x1f2560,
0x12d4c8,
0x12d358,
0x12d3a8,
0x12d3b8,
0x12d3cc,
0x12d3e0,
0x12d40c,
0x12d4d8,
0x12d4f4,
0x12d610,
0x12d654,
0x3d0618,
0x3d06bc,
0x3d06dc,
0x3d0710,
0x3d074c,
0x3d0760,
0x3d05e8,
0x3d060c,
0x3d0774,
0x3d0798,
0x3d07d4,
0x3d0824,
0x12d65c,
0x12d500,
0x2d4734,
0x2d47a0,
0x2d47cc,
0x2d47dc,
0x2d47e8,
0x2d47f8,
0x2d4808,
0x2d483c,
0x3e0a18,
0x3e0a88,
0x3e0aa8,
0x3e0adc,
0x3e0b18,
0x3e0b2c,
0x3e0b44,
0x3e0b74,
0x3e0bcc,
0x2d4844,
0x2d4740,
0x1f3cf0,
0x1f3dac,
0x1f3de4,
0x1f3e6c,
0x1f3ea4,
0x12d410,
0x12d4e0,
0x12d4ec,
0x3e0b8c,
0x3e0ba8,
0x1f3f38,
0x1f3fb4,
0x1f3f54,
0x1f3f70,
0x12dbf8,
0x2d4828,
0x2e7760,
0x2e7770,
0x2e777c,
0x2d4a24,
0x2d4788,
0x2d4a30,
0x2d4a4c,
0x2d4a90,
0x2d4ab4,
0x2d4ae4,
0x2d2828,
0x2d2858,
0x2d28a0,
0x2d28b0,
0x2d28bc,
0x2d4af0,
0x2d4b50,
0x2d4a5c,
0x2d4a28,
0x2d4ad0,
0x2d4adc,
0x2d4afc,
0x2d2788,
0x2d27a8,
0x38dcc0,
0x363804,
0x331020,
0x32fba0,
0x32fbc0,
0x331038,
0x331224,
0x331254,
0x331030,
0x331144,
0x331150,
0x3310d8,
0x33115c,
0x3311a8,
0x3312a4,
0x3313d0,
0x331360,
0x32b450,
0x32b470,
0x32b480,
0x32b490,
0x32b4a0,
0x32b4a8,
0x274af0,
0x1d95a0,
0x274af8,
0x274b00,
0x1d7c10,
0x1d7c4c,
0x1d7c54,
0x1d7c5c,
0x1d7d80,
0x1d7c68,
0x1d7c74,
0x1d7c98,
0x1d7ca0,
0x1d7ca8,
0x1d7c80,
0x1d54b4,
0x3d70b0,
0x3d7214,
0x3d7234,
0x3d7268,
0x3d72a4,
0x3d72b8,
0x3d7050,
0x3d70a4,
0x3d72cc,
0x3d7320,
0x3d735c,
0x3d73ac,
0x1d7c90,
0x1d7cb4,
0x274b14,
0x274b20,
0x274b74,
0x32b4c8,
0x32b4d8,
0x32b4e8,
0x331368,
0x1d2d24,
0x1d4a60,
0x1d2d38,
0x1d2dc0,
0x1d4670,
0x1d46b8,
0x1d46c8,
0x1d46d0,
0x1d46d8,
0x1d46e0,
0x1d46c0,
0x1d46f4,
0x1d46fc,
0x1d4708,
0x1d4714,
0x1d475c,
0x1d2dc8,
0x3e5d80,
0x3e5d88,
0x3342d8,
0x3342e0,
0x2bc700,
0x2bc714,
0x36cd1c,
0x2d27bc,
0x2d27c8,
0x2d4b04,
0x2d4918,
0x2d4928,
0x2d4934,
0x2d4940,
0x2d4948,
0x2d495c,
0x38d61c,
0x355f78,
0x355f80,
0x355f9c,
0x355fec,
0x35600c,
0x3659bc,
0x36c568,
0x10869c,
0x1086a8,
0x223fd0,
0x224000,
0x22400c,
0x224014,
0x224020,
0x224028,
0x224090,
0x22d710,
0x22d78c,
0x22d798,
0x1e157c,
0x22d7a4,
0x224098,
0x1086bc,
0x10871c,
0x221b78,
0x15b95c,
0x15b964,
0x20c988,
0x3bb158,
0x3bb160,
0x3bb16c,
0x3bb180,
0x1fef88,
0x3a13cc,
0x3a1380,
0x1b6bc8,
0x1b6bd0,
0x1b6be4,
0x1b6bf0,
0x1b6c00,
0x184900,
0x184920,
0x1b6d3c,
0x1b6d64,
0x184928,
0x184938,
0x184944,
0x1b6c10,
0x1b6c2c,
0x18494c,
0x18495c,
0x18496c,
0x184974,
0x18497c,
0x18498c,
0x184994,
0x1849a0,
0x1b7280,
0x1b72a0,
0x1b72c4,
0x1b731c,
0x1b7348,
0x1b7354,
0x1849a8,
0x1849d4,
0x184bc0,
0x184bd0,
0x1b743c,
0x1b7454,
0x1b745c,
0x1b3f20,
0x1b869c,
0x28a450,
0x3870e0,
0x3874d0,
0x3870fc,
0x28bd10,
0x28bd50,
0x28bd78,
0x28bd84,
0x28bda4,
0x28bdac,
0x28bdb8,
0x28bdcc,
0x28be68,
0x28be9c,
0x28bec8,
0x28bef4,
0x28bf20,
0x28bf4c,
0x28bf68,
0x28bf70,
0x28a7b4,
0x287ca0,
0x287cd4,
0x287cdc,
0x28a7c0,
0x287084,
0x3ddd68,
0x3dde4c,
0x3dde6c,
0x3ddea0,
0x3ddedc,
0x3ddef0,
0x3ddd5c,
0x3ddf38,
0x3ddf74,
0x3ddfc4,
0x276d50,
0x276420,
0x276440,
0x276d60,
0x287cc0,
0x3de098,
0x3de0a4,
0x3de178,
0x3de180,
0x3de1b0,
0x276df8,
0x276468,
0x276494,
0x2764a8,
0x2764c8,
0x2764e8,
0x2764f4,
0x276e08,
0x298780,
0x2987c0,
0x2987e4,
0x2987f8,
0x298804,
0x29880c,
0x298814,
0x298820,
0x29885c,
0x2881f0,
0x288220,
0x288254,
0x2882a4,
0x2882d4,
0x28831c,
0x288334,
0x288344,
0x288368,
0x288398,
0x2883c8,
0x288414,
0x288438,
0x298864,
0x293f90,
0x293fc0,
0x293fe8,
0x294004,
0x294018,
0x294024,
0x29402c,
0x294034,
0x294040,
0x294058,
0x292b28,
0x292b64,
0x292b88,
0x292ad8,
0x292afc,
0x3c3c60,
0x3c3cc4,
0x3c3ce4,
0x292b10,
0x292b9c,
0x28832c,
0x288338,
0x288300,
0x28830c,
0x292ba8,
0x293ed0,
0x293f0c,
0x293f30,
0x293f54,
0x293f64,
0x293ea8,
0x1e5a40,
0x1e5a60,
0x1e5aa0,
0x1e5acc,
0x1e5ad4,
0x1e5adc,
0x1e5ae8,
0x1e5afc,
0x1e6ab8,
0x1e6acc,
0x1e5b08,
0x1e5b14,
0x1e5b24,
0x1e5a6c,
0x1e5a78,
0x1e5a84,
0x293ec0,
0x293f74,
0x294ae0,
0x294470,
0x26bd60,
0x26bd8c,
0x26bd98,
0x26c6e8,
0x26d318,
0x269720,
0x26d334,
0x2699e8,
0x2694e0,
0x269500,
0x269518,
0x26bc00,
0x26952c,
0x2699f8,
0x26d340,
0x26d34c,
0x26eaa8,
0x26eac0,
0x26eacc,
0x26d354,
0x269ae0,
0x269af0,
0x26d360,
0x26d36c,
0x1e3ba0,
0x26d374,
0x26d37c,
0x269d38,
0x269d60,
0x1e3ec0,
0x1e3bd8,
0x1e3c04,
0x1e3c60,
0x1e3c8c,
0x1e3c10,
0x1e3c9c,
0x1e3ef0,
0x269d7c,
0x1e6968,
0x1e699c,
0x1e69ac,
0x1e69c4,
0x1e69d0,
0x1e4c78,
0x1e4c9c,
0x1e4cac,
0x1e4cd8,
0x1e4cb8,
0x1e4ce0,
0x1e69e4,
0x269d88,
0x269c40,
0x269d90,
0x269dac,
0x269de0,
0x26d388,
0x270940,
0x27095c,
0x270964,
0x1e0f38,
0x1e1148,
0x1e1178,
0x1e1184,
0x1e119c,
0x24a9a0,
0x24a9c8,
0x1e11ac,
0x1e11d4,
0x1e11ec,
0x24aa80,
0x24aaa0,
0x1e11fc,
0x1e11f0,
0x1e1220,
0x1e1140,
0x1e123c,
0x1e139c,
0x1e0f6c,
0x270978,
0x26d390,
0x26c6f8,
0x26bda8,
0x28abe8,
0x280788,
0x28ac08,
0x28ac10,
0x28ac18,
0x28ac24,
0x28ac4c,
0x297fe0,
0x298014,
0x29801c,
0x2c9360,
0x26c9d0,
0x26c9b0,
0x26ea48,
0x26ebb8,
0x26ea5c,
0x26ea64,
0x26ea6c,
0x26ea98,
0x26c9c0,
0x26c9f8,
0x26ca04,
0x26ca10,
0x26ca1c,
0x269c78,
0x269b00,
0x269b74,
0x269c8c,
0x269c9c,
0x269cb0,
0x26ca2c,
0x26ca38,
0x26ca40,
0x269c00,
0x269b98,
0x269bb0,
0x2709c8,
0x2709e0,
0x269bb8,
0x269be4,
0x3dbb60,
0x3dbbd0,
0x3dbbf0,
0x3dbc24,
0x3dbc60,
0x3dbc74,
0x3dbc8c,
0x3dbcbc,
0x3dbd14,
0x269bec,
0x269c18,
0x270ca8,
0x270cb8,
0x269c28,
0x26ca48,
0x26ca58,
0x2c9390,
0x2c939c,
0x1e4ed8,
0x1e4ef4,
0x2c93a4,
0x2c9458,
0x2c9470,
0x2c9498,
0x1e3e78,
0x1e3ea8,
0x2c94ac,
0x2c94cc,
0x1f0f58,
0x1e40b8,
0x1e40e8,
0x1f0f90,
0x3d84b8,
0x1f0fb0,
0x1f0fc8,
0x1f0fe0,
0x1f0ff8,
0x1f1010,
0x1f1028,
0x1f1048,
0x1f1060,
0x1f1078,
0x1f1090,
0x1f10a8,
0x1f10c0,
0x1f10d8,
0x1f10f0,
0x1f1108,
0x1f1120,
0x1f1138,
0x1f1150,
0x1f1168,
0x1f1180,
0x1f1198,
0x1f11b0,
0x1f11c8,
0x1f11e0,
0x1f11f8,
0x1f1210,
0x1f1228,
0x1f1240,
0x1f1258,
0x1f1270,
0x1f1288,
0x2c94d4,
0x2c93c0,
0x270e90,
0x1e4a68,
0x270ec8,
0x1e3bb8,
0x1e3bd0,
0x270edc,
0x2708c8,
0x2708e4,
0x2707a8,
0x1e3a78,
0x1e3ad0,
0x2707cc,
0x1e3b98,
0x2707d8,
0x2708f0,
0x270ee4,
0x270f04,
0x270f1c,
0x1e4d00,
0x1e4d2c,
0x1e4d44,
0x1e4d5c,
0x1e3ae8,
0x1e3af8,
0x1e4d74,
0x1e4d88,
0x1e3b08,
0x1e3b1c,
0x1e4d94,
0x1e4db4,
0x1e4dcc,
0x270f2c,
0x270f54,
0x3dc140,
0x3dc1b0,
0x3dc1d0,
0x3dc204,
0x3dc240,
0x3dc254,
0x3dc26c,
0x3dc29c,
0x3dc2f4,
0x270f5c,
0x2c93d0,
0x298038,
0x298060,
0x290320,
0x1e5df0,
0x1e5e0c,
0x1e5e14,
0x1e5e1c,
0x3bdf28,
0x3bdf38,
0x3bdf7c,
0x3be060,
0x3be040,
0x3be068,
0x1e5e28,
0x1e5e34,
0x290360,
0x269b38,
0x270ca0,
0x269b50,
0x269b5c,
0x269b78,
0x269ca4,
0x26ca50,
0x290374,
0x29037c,
0x270df8,
0x270e1c,
0x270e5c,
0x3dc2b4,
0x3dc2d0,
0x270e64,
0x290388,
0x2903b0,
0x293308,
0x269b64,
0x3dbcd4,
0x3dbcf0,
0x29334c,
0x293354,
0x270cc8,
0x270cec,
0x270d28,
0x270d30,
0x293360,
0x293388,
0x269b40,
0x3bd970,
0x3bd97c,
0x3bd9a8,
0x270d14,
0x2de280,
0x1c0938,
0x2e4588,
0x1e3a10,
0x1e3a54,
0x2e45c8,
0x1d95b8,
0x2e45e0,
0x2e4608,
0x1dac98,
0x1dacf8,
0x1dad2c,
0x1dad64,
0x1dad94,
0x1db0e0,
0x1db0f0,
0x1db0fc,
0x1dadd0,
0x1dae38,
0x1dae40,
0x1dae4c,
0x1dae8c,
0x1daec0,
0x1daef4,
0x1daf24,
0x1dafdc,
0x1daff4,
0x1db004,
0x1db048,
0x1db064,
0x1dafec,
0x1daff8,
0x1daf68,
0x1daf74,
0x1db008,
0x1db038,
0x1db040,
0x1db054,
0x1db0f8,
0x1db108,
0x1db12c,
0x1db160,
0x1db194,
0x1db1c4,
0x1db370,
0x1db384,
0x1db208,
0x1db220,
0x1db228,
0x1db280,
0x1db29c,
0x1db318,
0x1db380,
0x1db390,
0x1db3a4,
0x1db3b0,
0x1db40c,
0x1db428,
0x1db4a4,
0x2e464c,
0x1e3fe0,
0x1e4010,
0x2e48a8,
0x2e47c0,
0x2e47cc,
0x2e47d4,
0x1bf0e8,
0x1bf114,
0x1bf12c,
0x2e47e0,
0x2e47f8,
0x2e4844,
0x2e48a4,
0x2e48b4,
0x2e48d0,
0x2e48d8,
0x1d95d0,
0x1d95ec,
0x1d9620,
0x1d9650,
0x1d9678,
0x2e48e0,
0x2e48f0,
0x1d9628,
0x1d9630,
0x2e48fc,
0x2e4914,
0x2e4920,
0x2e2608,
0x2e2628,
0x2e4930,
0x2e4944,
0x2e495c,
0x2e4968,
0x2e4974,
0x2e497c,
0x1bf1a8,
0x1bf1d0,
0x1e5c48,
0x1e5c6c,
0x1e6a48,
0x1e6a60,
0x1e5c78,
0x1e5c84,
0x1e5c90,
0x1bf1dc,
0x1e5b58,
0x1e5b80,
0x1e5b90,
0x1e5b98,
0x1e5bac,
0x1e5bb8,
0x1e5bc8,
0x1e5bd4,
0x1bf1ec,
0x1bf1f8,
0x2e4988,
0x2e4994,
0x2eabc8,
0x2eabf0,
0x2eabfc,
0x2eac10,
0x2eac1c,
0x2eac28,
0x2eac30,
0x2eac3c,
0x2eac48,
0x2eac58,
0x2eac60,
0x2eac6c,
0x2eac78,
0x2ead88,
0x2eadb8,
0x2eadc4,
0x2eadcc,
0x2eadd8,
0x2eadec,
0x2eac90,
0x2eaca0,
0x2eacb0,
0x27e5f4,
0x270e48,
0x2967f8,
0x296844,
0x296850,
0x296858,
0x1fd388,
0x1fd3b8,
0x3d84c8,
0x1fd3d0,
0x1fd3e8,
0x1fd400,
0x1fd418,
0x1fd430,
0x1fd448,
0x1fd460,
0x1fd478,
0x1fd490,
0x1fd4a8,
0x1fd4c0,
0x1fd4d8,
0x296868,
0x270f40,
0x296878,
0x2968a0,
0x295170,
0x2951bc,
0x2951c8,
0x2951d0,
0x2951e0,
0x2951f0,
0x295218,
0x3dc1e0,
0x3dc1ec,
0x291380,
0x2913c4,
0x2913cc,
0x270d60,
0x270d84,
0x270db0,
0x270dcc,
0x2913d8,
0x291400,
0x2d4080,
0x2d40ac,
0x2d40b8,
0x2d0698,
0x2d06a8,
0x12de18,
0x2d06b0,
0x2d40c0,
0x2d40d0,
0x35c2a8,
0x35c2d8,
0x35c2e4,
0x35c2ec,
0x35c308,
0x35c334,
0x35c344,
0x2eacd8,
0x2ea4d8,
0x2ea4ec,
0x2ea4fc,
0x2ea50c,
0x2eace0,
0x2eacec,
0x2eacf8,
0x2ead08,
0x2ead10,
0x2ead1c,
0x2ead28,
0x2acda0,
0x2acdbc,
0x269bd0,
0x3dc2c0,
0x3dc2c8,
0x3dc2f8,
0x2acde4,
0x2acdf0,
0x2ead44,
0x2ead50,
0x2ead5c,
0x2ead68,
0x2e49b0,
0x2e49bc,
0x2e49cc,
0x2e49d4,
0x2e49dc,
0x2e49e4,
0x2e49f0,
0x2e49f8,
0x2e4a04,
0x2e4a10,
0x2e4a1c,
0x2e4a28,
0x2c95b0,
0x2c95e0,
0x2e4a34,
0x2e4a40,
0x2e4a48,
0x2e4a50,
0x2e4a5c,
0x2c95f8,
0x2c9614,
0x2c962c,
0x2e4a64,
0x2e4a90,
0x2e4a98,
0x2e4aa4,
0x2fe130,
0x2fe170,
0x2fe178,
0x2fe184,
0x2fe190,
0x2fe19c,
0x2fe1a4,
0x2fe1b4,
0x2fe1bc,
0x2fe1cc,
0x2fe188,
0x2fe1e8,
0x2fe204,
0x2fe20c,
0x2fe218,
0x2fe224,
0x2fe234,
0x2fe244,
0x2fe24c,
0x2fe25c,
0x2fe264,
0x2fe274,
0x2fe284,
0x3ab830,
0x3ab860,
0x1e4070,
0x1e40a0,
0x3ab878,
0x3ab890,
0x1e3f98,
0x1e3fc8,
0x3ab8a8,
0x3ab8c0,
0x3ab8d8,
0x3ab8f0,
0x3ab908,
0x3ab920,
0x3ab938,
0x3ab950,
0x2fe290,
0x2fe29c,
0x2fe2b8,
0x2fe2d4,
0x2fe2ec,
0x2fe2fc,
0x2fe314,
0x2fe324,
0x2fe33c,
0x2fe354,
0x2fe36c,
0x2fe384,
0x2fe210,
0x2fe388,
0x2fe394,
0x2fe3a0,
0x2e4aac,
0x2e4ac4,
0x2e4acc,
0x2e4ad8,
0x2e4ae4,
0x2e4af0,
0x2e4afc,
0x3d7af0,
0x3d7b1c,
0x3d7b38,
0x3d7b28,
0x3d7b50,
0x2e4b04,
0x1e3b58,
0x1e3b14,
0x1e3b7c,
0x2e4b28,
0x3be054,
0x2dd0a8,
0x2dd0c4,
0x2dd0d0,
0x2a80a8,
0x2a80c4,
0x2a80d0,
0x298110,
0x298144,
0x298168,
0x298178,
0x294390,
0x294398,
0x2943ac,
0x270dc4,
0x3bdff4,
0x292eb0,
0x292edc,
0x292f08,
0x292f30,
0x292f78,
0x2926e0,
0x292710,
0x292738,
0x292760,
0x2926c8,
0x292770,
0x2885cc,
0x3dc228,
0x3dc238,
0x3dbc00,
0x3dbc0c,
0x26c208,
0x26c230,
0x26c8f8,
0x3b53d8,
0x3b4550,
0x3bd380,
0x3bd3d4,
0x3bd3e0,
0x3bd3f0,
0x3bd40c,
0x3bd41c,
0x3bd424,
0x3bd438,
0x3bd440,
0x3bd454,
0x3bd47c,
0x3bd4ac,
0x3bd4c4,
0x3b45a0,
0x3bd260,
0x3bd2a0,
0x3bd2ac,
0x3bd2b4,
0x3bd2bc,
0x3bd328,
0x3bd33c,
0x3bd354,
0x3bd36c,
0x3bd2c4,
0x3bd2d4,
0x3bd2dc,
0x3bd2e4,
0x3bd2fc,
0x3b45b0,
0x3b45d0,
0x3b45e0,
0x3b4600,
0x3b460c,
0x3b461c,
0x3b4634,
0x3b53ec,
0x26c918,
0x26c240,
0x26c254,
0x291a48,
0x291a70,
0x291a94,
0x291ab0,
0x26c268,
0x26c284,
0x26c930,
0x3b53f8,
0x3b4b70,
0x3b3de8,
0x201560,
0x3b3dfc,
0x3b4b80,
0x3b3e78,
0x3b4470,
0x21a2e0,
0x3b448c,
0x3b4498,
0x3bdc58,
0x3bdc70,
0x3bdd10,
0x3bdd30,
0x3bdd50,
0x3bdd54,
0x3bdd6c,
0x3be074,
0x3be16c,
0x3be184,
0x3bdd74,
0x3b44e4,
0x3b4538,
0x3b3e9c,
0x2015e0,
0x3b3eac,
0x3b3eb4,
0x2015f0,
0x3b3ec0,
0x3b3ecc,
0x3b41f0,
0x3bd298,
0x3bd300,
0x3b4220,
0x3b423c,
0x3b4248,
0x3b4258,
0x3b4264,
0x3b4290,
0x3b42ac,
0x3bcc20,
0x3bcc6c,
0x3bcc78,
0x3bcc80,
0x3bcc88,
0x3bcca4,
0x3be650,
0x3be7c8,
0x3be7d0,
0x3be7ec,
0x3be7f8,
0x3be810,
0x3bccb8,
0x3bccfc,
0x3bcd14,
0x3b42c0,
0x3b4360,
0x3b442c,
0x3b3ef0,
0x3b3ee0,
0x3bd2cc,
0x3b422c,
0x3b4240,
0x3b42c8,
0x3b42d0,
0x3bcc08,
0x3b42d8,
0x3b4300,
0x3b430c,
0x3bce40,
0x3bce80,
0x3bce8c,
0x3bce9c,
0x3bcedc,
0x3bcef4,
0x3b4314,
0x3b4428,
0x3b4320,
0x3b4328,
0x3b4330,
0x2015c0,
0x3b433c,
0x3b4348,
0x3b4354,
0x3bcd80,
0x3bcdb0,
0x3bcdbc,
0x3bcdcc,
0x3bce00,
0x3bce18,
0x3b435c,
0x3b4384,
0x3b43e0,
0x3b4408,
0x3b4410,
0x3b4418,
0x3b3ef8,
0x3b3f08,
0x3b4b98,
0x3b4ba0,
0x3b3f20,
0x3b3f38,
0x3b3f44,
0x201600,
0x3b3f50,
0x3b4ba8,
0x3b4bb0,
0x3b4bbc,
0x3b4bd4,
0x3b4bf0,
0x3b4bf8,
0x3b4c00,
0x3b3e50,
0x201590,
0x2015b4,
0x3b3e6c,
0x3b4c0c,
0x3b4c20,
0x3b540c,
0x26c944,
0x26c290,
0x12d820,
0x12d834,
0x12d48c,
0x12d578,
0x12d588,
0x12d594,
0x12d59c,
0x12d5a8,
0x12d5b8,
0x12d508,
0x12d518,
0x12d520,
0x12d528,
0x12d534,
0x12d544,
0x12d54c,
0x3cc468,
0x3cc478
  }
)
eeObj.AddHook(0x100568, 0x3c020045, function()
for i=1,5 do
if not PrecompileAddrs:isEmpty() then
  local addr = PrecompileAddrs:dequeue()
  --print(string.format("Precompile %x", addr))
  eeObj.Precompile(addr)
end
end
end)
 
</pre>
<br>LUA(features.lua)
<pre>
-- Lua 5.3
-- Title:  Indigo Prophecy PS2 - SLUS-21196 (USA)
-- Author:  Ernesto Corvi, Adam McInnis
 
-- Changelog:
 
require( "ee-gpr-alias" ) -- you can access EE GPR by alias (gpr.a0 / gpr["a0"])
require( "ee-cpr0-alias" ) -- for EE CPR
 
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
 
local eeObj = getEEObject()
local emuObj = getEmuObject()
 
local L1 = function() -- QDT::SINT::SCRIPT_LOADING_SCREEN::EM::Run
emuObj.ThrottleMax()
end
local L2 = function() -- QDT::SINT::SCRIPT_LOADING_SCREEN::EM::Stop
emuObj.ThrottleNorm()
end
local load1 = eeObj.AddHook(0x387040, 0x3c02004b, L1) -- QDT::SINT::SCRIPT_LOADING_SCREEN::EM::Run
local load2 = eeObj.AddHook(0x387090, 0x3c02004b, L2) -- QDT::SINT::SCRIPT_LOADING_SCREEN::EM::Stop
 
-- Widescreen
eeInsnReplace(0x20A7C0, 0x3c013faa, 0x3c013fe3)
eeInsnReplace(0x20A7C4, 0x3421aaab, 0x34218e39)
emuObj.SetDisplayAspectWide()
 
-- Fix for bug 9716, which is a bug in the game.
-- Trying to retrieve a COM handle in the game will cause an infinite
-- loop if the handle has been deallocated and the debug server is not
-- connected. There's apparently a small race condition in the Asylum
-- level that sometimes can trigger the bug.
-- The fix involves getting out of the loop.
-- It causes a small visual glitch but otherwise the game continues to work fine.
 
eeInsnReplace(0x1c5958, 0x10400005, 0) -- QDT::KCOM::COM_SERVICE::RetrieveComHandle
eeInsnReplace(0x1c5b6c, 0x10400005, 0) -- QDT::KCOM::COM_SERVICE::RetrieveComHandle
eeInsnReplace(0x1c5d24, 0x10400005, 0) -- QDT::KCOM::COM_SERVICE::RetrieveComHandle
 
</pre>
 
====Fantavision====
'''CLI'''
<br>SCES-50002
<pre>
--gs-kernel-cl-up="fantavision"
--gs-motion-factor=1
</pre>
'''LUA'''
<br>SCES-50002
<pre>
require("ee-gpr-alias")
require( "ee-hwaddr" )
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
 
eeObj = getEEObject()
 
--
-- Bug#93709 (JP Bugzilla)
-- Same as Parappa the Rapper 2, it's VIF1 vs GIF xfer timing issue.
-- The game expects PATH3 happens before VU1 xgkick, but actually Olympus doesn't do like that.
-- Game kicks  : PATH3(Context1) PATH1(Rendering using Context1&2) PATH3(Context2)
-- Game expects: PATH3(Context1) PATH3(Context2) PATH1(Rendering using Context1&2)
-- Hence VIF1 DMA needs to be delayed.
eeObj.AddHook(0x1b1468, 0xae020000, function()
local ee = eeObj
local s0 = ee.GetGpr(gpr.s0)
 
if s0 == vif1_hw.CHCR then
local chcr = ee.GetGpr(gpr.v0)
if (chcr & 0x05) == 0x05 then
  local tadr = ee.ReadMem32(vif1_hw.TADR)
  if tadr == 0x8883e0 or tadr == 0x9f6b60 then
  ee.SchedulerDelayEvent("vif1.dma", 0x5000)
  end
end
end
end)
 
 
-- Performace fix
local emuObj = getEmuObject()
-- twIsLess=5 - texture width is less or eq. than 32
emuObj.SetGsTitleFix( "forcePointSampling", "reserved", {alpha = 0x80000048, twIsLess=5, thIsLess=5 } )
</pre>
 
====Fatal Fury: Battle Archives volume 2====
ALL
<br>CLI
<pre>--gs-uprender=none
--gs-upscale=point
--host-audio-latency=0.010
--force-frame-blend=1
</pre>
<br>LUA
<pre>
-- Lua 5.3
-- Title: Fatal Fury: Battle Archives Volume 2 - SLUS-21723 (USA) v1.00
-- Author:  Nicola Salmoria
-- Date: February 3, 2017
 
 
apiRequest(1.6)
 
local gpr = require( "ee-gpr-alias" )
local kFilterMode, kWrapMode, kBlendMultiplier, kBlendFunc = require("sprite")
local PadConnectType = require("pad-connect-type")
 
local eeObj = getEEObject()
local emuObj = getEmuObject()
 
 
local sprite0 = getSpriteObject(0)
local sprite1 = getSpriteObject(1)
local sprite2 = getSpriteObject(2)
local sprite3 = getSpriteObject(3)
 
-- Notifications should be assigned to two unused sprite slots.  Since we want them to
-- be displayed on top of everything else, they should be the highest sprites in the list.
local spr_p1_notify = getSpriteObject(4)
local spr_p2_notify = getSpriteObject(5)
local spr_p1d_notify = getSpriteObject(6)
local spr_p2d_notify = getSpriteObject(7)
 
-- note: Texture 0 is fixed as the PS2 scanout.
local texture1 = getTextureObject(1)
local texture2 = getTextureObject(2)
local texture3 = getTextureObject(3)
local texture4 = getTextureObject(4)
local texture5 = getTextureObject(5)
local texture6 = getTextureObject(6)
local texture7 = getTextureObject(7)
 
-- ------------------------------------------------------------
local STATE_STOPPED = 0
local STATE_RUNNING = 1
 
local notify_ypos = 24
local notify_p1_xsize = 0
local notify_p2_xsize = 0
local notify_p1d_xsize = 0
local notify_p2d_xsize = 0
local notify_ysize = 0
 
local notify_frames_p1 = 0
local notify_frames_p2 = 0
local notify_animstate_p1 = STATE_STOPPED
local notify_animstate_p2 = STATE_STOPPED
 
local connected_p1 = 47
local connected_p2 = 47
local blink_on_p1 = true
local blink_on_p2 = true
 
-- ---------------------------------------------------
-- the global function 'Global_InitGpuResources()' is invoked by the emulator after
-- the GS has been initialized.  Textures and Shaders must be loaded here.
--
Global_InitGpuResources = function()
-- # Fragment Shader 0 is fixed as the default no-thrills as-is renderer.
emuObj.LoadFsShader(1, "./shader_SL480_p.sb") -- (1) = 480P ScanLine Sim
 
texture1.Load("./ART1.png")
texture2.Load("./ART2.png")
texture3.Load("./SNK_LOGO.png")
texture4.Load("./p1.png")
texture5.Load("./p2.png")
texture6.Load("./p1d.png")
texture7.Load("./p2d.png")
 
local p1_w,p1_h = texture4.GetSize()
local p2_w,p2_h = texture5.GetSize()
local p1d_w,p1d_h = texture6.GetSize()
local p2d_w,p2d_h = texture7.GetSize()
notify_p1_xsize = p1_w
notify_p2_xsize = p2_w
notify_p1d_xsize = p1d_w
notify_p2d_xsize = p2d_w
notify_ysize = p1_h
 
spr_p1_notify.BindTexture(4)
spr_p1_notify.SetPosXY(-1 - notify_p1_xsize, notify_ypos)  -- default position is fully obscured from view
    spr_p1_notify.SetSizeXY(p1_w,p1_h)
spr_p1_notify.SetPosUV(0,0)
    spr_p1_notify.SetSizeUV(p1_w,p1_h)
spr_p1_notify.SetBlendColorEquation(blendDefaultEquation)
 
spr_p2_notify.BindTexture(5)
spr_p2_notify.SetPosXY(-1 - notify_p2_xsize, notify_ypos)  -- default position is fully obscured from view
    spr_p2_notify.SetSizeXY(p2_w,p1_h)
spr_p2_notify.SetPosUV(0,0)
    spr_p2_notify.SetSizeUV(p2_w,p1_h)
spr_p2_notify.SetBlendColorEquation(blendDefaultEquation)
 
spr_p1d_notify.BindTexture(6)
spr_p1d_notify.SetPosXY(-1 - notify_p1d_xsize, notify_ypos)  -- default position is fully obscured from view
    spr_p1d_notify.SetSizeXY(p1d_w,p1_h)
spr_p1d_notify.SetPosUV(0,0)
    spr_p1d_notify.SetSizeUV(p1d_w,p1_h)
spr_p1d_notify.SetBlendColorEquation(blendDefaultEquation)
 
spr_p2d_notify.BindTexture(7)
spr_p2d_notify.SetPosXY(-1 - notify_p2d_xsize, notify_ypos)  -- default position is fully obscured from view
    spr_p2d_notify.SetSizeXY(p2d_w,p1_h)
spr_p2d_notify.SetPosUV(0,0)
    spr_p2d_notify.SetSizeUV(p2d_w,p1_h)
spr_p2d_notify.SetBlendColorEquation(blendDefaultEquation)
end
 
 
 
local update_notifications_p1 = function()
 
if notify_animstate_p1 == STATE_STOPPED then
spr_p1_notify.Disable()
spr_p1d_notify.Disable()
return
end
 
emuObj.ThrottleNorm()
 
local keyframe = 15
 
notify_frames_p1 = notify_frames_p1 + 1
 
if math.ceil(notify_frames_p1/keyframe) == notify_frames_p1/keyframe then blink_on_p1 = not blink_on_p1 end
if blink_on_p1 == true then notify_ypos = 24 end
if blink_on_p1 == false then notify_ypos = -84 end
 
-- print(string.format("rounded %s, floating %s, blink %s ypos %s", math.ceil(notify_frames_p1/keyframe), notify_frames_p1/keyframe, blink_on_p1, notify_ypos))
-- print(string.format("notify_frames_p1 %s", notify_frames_p1))
 
if notify_frames_p1 >= 225 then
notify_animstate_p1 = STATE_STOPPED
notify_frames_p1 = 0
connected_p1 = 47
end
 
if connected_p1 == true then
spr_p1_notify.SetBlendColor(1.0,1.0,1.0,1.0)
spr_p1_notify.SetPosXY(math.floor((1920-notify_p1_xsize)/2), notify_ypos)
spr_p1_notify.Enable()
end
 
if connected_p1 == false then
spr_p1d_notify.SetBlendColor(1.0,1.0,1.0,1.0)
spr_p1d_notify.SetPosXY(math.floor((1920-notify_p1d_xsize)/2), notify_ypos)
spr_p1d_notify.Enable()
end
end
 
local update_notifications_p2 = function()
 
if notify_animstate_p2 == STATE_STOPPED then
spr_p2_notify.Disable()
spr_p2d_notify.Disable()
return
end
 
emuObj.ThrottleNorm()
 
local keyframe = 15
 
notify_frames_p2 = notify_frames_p2 + 1
 
if math.ceil(notify_frames_p2/keyframe) == notify_frames_p2/keyframe then blink_on_p2 = not blink_on_p2 end
if blink_on_p2 == true then notify_ypos = 24 + notify_ysize + 8 end
if blink_on_p2 == false then notify_ypos = -84 - notify_ysize - 8 end
 
-- print(string.format("rounded %s, floating %s, blink %s ypos %s", math.ceil(notify_frames_p2/keyframe), notify_frames_p2/keyframe, blink_on_p2, notify_ypos))
 
if notify_frames_p2 >= 225 then
notify_animstate_p2 = STATE_STOPPED
notify_frames_p2 = 0
connected_p2 = 47
end
 
-- print(string.format("connected_p1 %s, connected_p2 %s", connected_p1, connected_p2))
 
if connected_p2 == true then
spr_p2_notify.SetBlendColor(1.0,1.0,1.0,1.0)
spr_p2_notify.SetPosXY(math.floor((1920-notify_p2_xsize)/2), notify_ypos)
spr_p2_notify.Enable()
end
 
if connected_p2 == false then
spr_p2d_notify.SetBlendColor(1.0,1.0,1.0,1.0)
spr_p2d_notify.SetPosXY(math.floor((1920-notify_p2d_xsize)/2), notify_ypos)
spr_p2d_notify.Enable()
end
 
end
 
-- slot can range from 0 to 3, for users 1 thru 4.
-- pad_type can be either:  DS4, REMOTE_DS4, REMOTE_VITA, or HID
local onHIDPadEvent = function(slot, connected, pad_type)
spr_p1_notify.Disable()
spr_p1d_notify.Disable()
spr_p2_notify.Disable()
spr_p2d_notify.Disable()
-- print(string.format("slot %s, connected %s, pad_type %s", slot, connected, pad_type))
if pad_type == PadConnectType.HID then
notify_frames_p1 = 0
notify_frames_p2 = 0
blink_on_p1 = true
blink_on_p2 = true
if slot == 0 then
connected_p1 = connected
notify_animstate_p1 = STATE_RUNNING
end
if slot == 1 then
connected_p2 = connected
notify_animstate_p2 = STATE_RUNNING
end
end
end
 
 
local scanlineParams = {
240.0, -- float scanlineCount
  0.7, -- float scanlineHeight;
1.5,        -- float scanlineBrightScale;
0.5,        -- float scanlineAlpha;
0.5        -- float vignetteStrength;
}
 
-- ---------------------------------------------------
-- Full Screen (480p) NoFX
-- ---------------------------------------------------
 
local original = function()
sprite0.BindTexture(0)
sprite0.BindFragmentShader(0)
sprite0.SetPosXY((1920-1440)/2,0)
sprite0.SetSizeXY(1440,1080)
sprite0.SetBlendColor(1.0,1.0,1.0,1.0)
sprite0.Enable()
 
sprite1.Disable()
end
 
-- ---------------------------------------------------
-- Full Screen + ScanLines (480p)
-- ---------------------------------------------------
 
local scanlines = function()
sprite0.BindTexture(0)
sprite0.SetPosXY((1920-1440)/2,0)
sprite0.SetSizeXY(1440,1080)
sprite0.BindFragmentShader(1)
sprite0.SetShaderParams(scanlineParams)
sprite0.SetBlendColor(1.0,1.0,1.0,1.0)
sprite0.Enable()
 
sprite1.Disable()
end
 
-- ---------------------------------------------------
-- SNK Overlay NoFX
-- ---------------------------------------------------
local bezel = function()
sprite0.BindTexture(0)
sprite0.BindFragmentShader(0)
sprite0.SetPosXY((1920-1280)/2, (1080-896)/2)
sprite0.SetSizeXY(1280,896)
sprite0.SetBlendColor(1.0,1.0,1.0,1.0)
sprite0.Enable()
 
sprite1.BindTexture(1)
sprite1.SetPosXY(0,0)
sprite1.SetSizeXY(1920,1080)
sprite1.SetPosUV(0,0)
sprite1.SetSizeUV(1920,1080)
sprite1.Enable()
end
 
-- ---------------------------------------------------
-- SNK Overlay + ScanLines (480p)
-- ---------------------------------------------------
 
local bezel_scanlines = function()
sprite0.BindTexture(0)
sprite0.SetPosXY((1920-1280)/2, (1080-896)/2)
sprite0.SetSizeXY(1280,896)
sprite0.BindFragmentShader(1)
sprite0.SetShaderParams(scanlineParams)
sprite0.SetBlendColor(1.0,1.0,1.0,1.0)
sprite0.Enable()
 
sprite1.BindTexture(1)
sprite1.SetPosXY(0,0)
sprite1.SetSizeXY(1920,1080)
sprite1.SetPosUV(0,0)
sprite1.SetSizeUV(1920,1080)
sprite1.Enable()
end
 
-- ---------------------------------------------------
-- Arcade Overlay NoFX
-- ---------------------------------------------------
local bezel2 = function()
sprite0.BindTexture(0)
sprite0.BindFragmentShader(0)
sprite0.SetPosXY((1920-1280)/2, (1080-896)/2)
sprite0.SetSizeXY(1280,896)
sprite0.SetBlendColor(1.0,1.0,1.0,1.0)
sprite0.Enable()
 
sprite1.BindTexture(2)
sprite1.SetPosXY(0,0)
sprite1.SetSizeXY(1920,1080)
sprite1.SetPosUV(0,0)
sprite1.SetSizeUV(1920,1080)
sprite1.Enable()
end
 
-- ---------------------------------------------------
-- Arcade Overlay + ScanLines (480p)
-- ---------------------------------------------------
 
local bezel2_scanlines = function()
sprite0.BindTexture(0)
sprite0.SetPosXY((1920-1280)/2, (1080-896)/2)
sprite0.SetSizeXY(1280,896)
sprite0.BindFragmentShader(1)
sprite0.SetShaderParams(scanlineParams)
sprite0.SetBlendColor(1.0,1.0,1.0,1.0)
sprite0.Enable()
 
sprite1.BindTexture(2)
sprite1.SetPosXY(0,0)
sprite1.SetSizeXY(1920,1080)
sprite1.SetPosUV(0,0)
sprite1.SetSizeUV(1920,1080)
sprite1.Enable()
end
 
 
local VIDEOMODE_ORIGINAL = 0*2 + 0
local VIDEOMODE_SCANLINES = 0*2 + 1
local VIDEOMODE_ART1 = 1*2 + 0
local VIDEOMODE_ART1_SCANLINES = 1*2 + 1
local VIDEOMODE_ART2 = 2*2 + 0
local VIDEOMODE_ART2_SCANLINES = 2*2 + 1
local VIDEOMODE_LOGO = 127
 
local lastVideoMode = nil
 
local function switchVideoMode(mode)
if lastVideoMode ~= mode then
lastVideoMode = mode
 
emuObj.ThrottleNorm()
if mode == VIDEOMODE_ORIGINAL then
original()
elseif mode == VIDEOMODE_SCANLINES then
scanlines()
elseif mode == VIDEOMODE_ART1 then
bezel()
elseif mode == VIDEOMODE_ART1_SCANLINES then
bezel_scanlines()
elseif mode == VIDEOMODE_ART2 then
bezel2()
elseif mode == VIDEOMODE_ART2_SCANLINES then
bezel2_scanlines()
end
end
end
 
 
local logoON = function(fade)
lastVideoMode = VIDEOMODE_LOGO
 
sprite0.BindTexture(3)
sprite0.SetPosXY(0,0)
sprite0.SetSizeXY(1920,1080)
sprite0.SetPosUV(0,0)
sprite0.SetSizeUV(1920,1080)
sprite0.SetBlendColor(fade,fade,fade,fade)
sprite0.SetBlendColorEquation(blendConstFadeEquation)
sprite0.Enable()
 
sprite1.Disable()
end
 
 
 
 
-- convert unsigned int to signed
local function asSigned(n)
local MAXINT = 0x80000000
return (n >= MAXINT and n - 2*MAXINT) or n
end
 
 
local TH1 = -- LoadingScreen constructor
function()
emuObj.ThrottleMax()
end
 
local TH2 = -- LoadingScreen destructor
function()
emuObj.ThrottleNorm()
end
 
 
local LH1 = -- update splash screen
function()
local base = eeObj.GetGpr(gpr.s0)
local fade = eeObj.GetGpr(gpr.a1)
local splashNum = eeObj.ReadMem32(base + 12)
if splashNum == 4 then
logoON(fade / 128.0)
elseif splashNum == 5 then
switchVideoMode(VIDEOMODE_ORIGINAL)
end
end
 
 
local FH1 = -- initialize autosave flag
function()
local base = eeObj.GetGpr(gpr.a0)
 
eeObj.WriteMem8(base + 8, 1) -- ON
end
 
 
local FH2A = -- prepare Display Settings menu
function()
local artwork = "ARTWORK"
local scanlines = "SCANLINES"
 
eeObj.WriteMemStrZ(0x1b8d07, artwork)
eeObj.WriteMemStrZ(0x1b8d12, scanlines)
end
 
local FH2B = -- update Position X (now Artwork) description
function()
local base = eeObj.GetGpr(gpr.s2)
local buffer = eeObj.GetGpr(gpr.a1)
 
local pos = asSigned(eeObj.ReadMem32(base + 256))
-- limit to valid range
pos = pos % 3
eeObj.WriteMem32(base + 256, pos)
 
local options = {"NONE", "ART1", "ART2"}
eeObj.WriteMemStrZ(buffer, options[pos + 1])
end
 
local FH2C = -- update Position Y (now Scanlines) description
function()
local base = eeObj.GetGpr(gpr.s2)
local buffer = eeObj.GetGpr(gpr.a1)
 
local pos = asSigned(eeObj.ReadMem32(base + 260))
-- limit to valid range
pos = pos % 2
eeObj.WriteMem32(base + 260, pos)
 
local options = {"OFF", "ON"}
eeObj.WriteMemStrZ(buffer, options[pos + 1])
end
 
 
local FH3 = -- apply display position x/y settings (now Artwork/Scanlines)
function()
local posX = asSigned(eeObj.GetGpr(gpr.a0))
local posY = asSigned(eeObj.GetGpr(gpr.a1))
 
eeObj.SetGpr(gpr.a0, 0) -- force pos X to 0
eeObj.SetGpr(gpr.a1, 0) -- force pos Y to 0
 
-- limit to valid range
posX = posX % 3
posY = posY % 2
 
switchVideoMode(posX * 2 + posY)
end
 
 
 
-- register hooks
 
local elfChkSelect = function(opcode, pc, expectedOpcode)
local checkValue = eeObj.ReadMem32(0x100120)
 
if checkValue == 0x3c030026 then
assert(opcode == expectedOpcode, string.format("Overlay opcode mismatch @ 0x%06x: expected 0x%08x, found %08x", pc, expectedOpcode, opcode))
return true
else
return false
end
end
 
local elfChkBoot = function(opcode, pc, expectedOpcode)
local checkValue = eeObj.ReadMem32(0x100120)
 
if checkValue == 0xffb00000 then
assert(opcode == expectedOpcode, string.format("Overlay opcode mismatch @ 0x%06x: expected 0x%08x, found %08x", pc, expectedOpcode, opcode))
return true
else
return false
end
end
 
local hooks = {
-- Loading screen
eeObj.AddHook(0x105fa8, function(op, pc) return elfChkSelect(op, pc, 0x27bdfff0) end, TH1), -- <LoadingScreen::LoadingScreen(void)>:
eeObj.AddHook(0x106090, function(op, pc) return elfChkSelect(op, pc, 0x27bdffd0) end, TH2), -- <LoadingScreen::~LoadingScreen(void)>:
 
-- SNK logo
eeObj.AddHook(0x100964, function(op, pc) return elfChkBoot(op, pc, 0x8e050090) end, LH1), -- <_ZN25_GLOBAL__N_logo.cppFOxZrb8LogoPlay4stepEv>:
 
-- turn on auto save
eeObj.AddHook(0x108778, function(op, pc) return elfChkSelect(op, pc, 0xa0800008) end, FH1), -- <__0o5LMenuContentISaveLoadctv>:
 
-- patch Position x/y options to show Artwork/Scanlines options
eeObj.AddHook(0x110f50, function(op, pc) return elfChkSelect(op, pc, 0x34050005) end, FH2A), -- <__0o5X__N_8_menu_cpp_761e2d17TMenuDispSettingItemctv>:
eeObj.AddHook(0x110d88, function(op, pc) return elfChkSelect(op, pc, 0x02802825) end, FH2B), -- <__0f5X__N_8_menu_cpp_761e2d17XMenuDispSettingPropertyEstepv>:
eeObj.AddHook(0x110dc4, function(op, pc) return elfChkSelect(op, pc, 0x02802825) end, FH2C), -- <__0f5X__N_8_menu_cpp_761e2d17XMenuDispSettingPropertyEstepv>:
 
-- apply artwork / scanlines settings
eeObj.AddHook(0x1084d4, function(op, pc) return elfChkSelect(op, pc, 0x8e050104) end, FH3), -- <__0FTapplyDisplaySettingv>:
}
 
-- disallow skipping splash screens
eeInsnReplace(0x1009a0, 0xae000014, 0x00000000) -- nop
 
 
-- Fight stick
 
HIDPad_Enable()
 
local addedHooks = false
local pad = function()
if addedHooks == false then
addedHooks = true
switchVideoMode(VIDEOMODE_ORIGINAL)
emuObj.AddVsyncHook(update_notifications_p1)
emuObj.AddVsyncHook(update_notifications_p2)
 
-- test message on boot
-- onHIDPadEvent(0, true, PadConnectType.HID)
 
-- bug report:
-- please decrease the following title sound volume to the PS4 recommendation.
-- REALBOUT FATAL FURY -11.49LKFS
-- REALBOUT FATAL FURY SPECIAL -10.95LKFS
-- RB2 THE NEWCOMERS -10.04LKFS
-- PS4 recommendation:-24LKFS(±2)
--
-- that's an average of -10.83
-- So set main volume to 0.3162 i.e. about 10dB attenuation.
emuObj.SetVolumes(0.3162, 1.0, 1.0)
end
end


emuObj.AddPadHook(onHIDPadEvent)
#official widescreen support in the form of screen bezels, along with expanded fightstick support and scanline shaders.</pre>
emuObj.AddEntryPointHook(pad)
 
</pre>


====Fu'un Super Combo!!!====
====Fu'un Super Combo!!!====
Line 9,354: Line 1,103:
</pre>
</pre>
====Jak 3====
====Jak 3====
'''CLI'''
<br>SCUS-97330
<pre>
--ee-jit-pagefault-threshold=30
--gs-frontend-opt-mode=1
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--cop2-no-clamping=1
--vu1-mpg-cycles=250
--gs-adaptive-frameskip=1
</pre>
'''LUA'''
'''LUA'''
<br>SCUS-97330
<br>SCUS-97330
Line 12,319: Line 4,056:
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { alpha=0x00000000 } )
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { alpha=0x00000000 } )
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { alpha=0x80000048 } )
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { alpha=0x80000048 } )
</pre>
====Puzzle Quest====
<br>LUA
<br>SLUS-21692
<pre>
require("ee-gpr-alias")
require( "ee-hwaddr" )
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
eeObj = getEEObject()
-- Bug#8536
-- the game has a discrepancy between PATH1+2(for env+polygon) and PATH3(tex)
-- At here, we will replace VIF packet including MSKPATH3 just only the first one in a frame.
-- The packet sits at 0x35cbd0 statically and the game uses CALL tag to refer it for each draw-calls.
-- Because it's shared among all drawcalls, we can't rewrite it directly.
-- Instead of that, changing the address of CALL tag and placing our own packet excluding MSKPATH3=OFF on Overlay area.
-- Strategy
-- - Create our special packet on Overlay area
-- - just before kicking Ch1DMA, replace CALL tag's address to our own one.
--
-- the original packets at 0x35cbd0
-- 6000001f 00000000 11000000 50000002 : RET QWC=1f
-- 00008001 10000000 0000000e 00000000
-- 00000000 00000000 0000007f 00000000
-- 00000000 00000000 13000000 50000002
-- 00008001 10000000 0000000e 00000000
-- 00000000 00000000 0000003f 00000000
-- 00000000 00000000 00000000 06000000 : MSKPATH3=OFF
-- 00000000 00000000 00000000 00000000 x 23 qword
-- Reserve memory area for our packet.
-- Because InsnOverlay is for instructions, we can't use directly the API for 'data'.
local addrReplacePacket = InsnOverlay( {
  0, 0, 0, 0,
  0, 0, 0, 0,
  0, 0, 0, 0,
  0, 0, 0, 0,
  0, 0, 0, 0,
  0, 0, 0, 0,
  0, 0, 0, 0
})
-- Create our packet at the top of 'main'
eeObj.AddHook( 0x205be0, 0x27bdff80, function()
  local addr = addrReplacePacket
  -- create replace packet on the reserved area.
  eeObj.WriteMem128(addr + 0x00, 0x60000006, 0x00000000, 0x11000000, 0x50000002)
  eeObj.WriteMem128(addr + 0x10, 0x00008001, 0x10000000, 0x0000000e, 0x00000000)
  eeObj.WriteMem128(addr + 0x20, 0x00000000, 0x00000000, 0x0000007f, 0x00000000)
  eeObj.WriteMem128(addr + 0x30, 0x00000000, 0x00000000, 0x13000000, 0x50000002)
  eeObj.WriteMem128(addr + 0x40, 0x00008001, 0x10000000, 0x0000000e, 0x00000000)
  eeObj.WriteMem128(addr + 0x50, 0x00000000, 0x00000000, 0x0000003f, 0x00000000)
  eeObj.WriteMem128(addr + 0x60, 0x00000000, 0x00000000, 0x00000000, 0x00000000)
end)
-- Replace the address of CALL to our own packet.
eeObj.AddHook( 0x1faff0, 0x24030145, function()
  local ee  = eeObj
  local tadr = ee.ReadMem32(vif1_hw.TADR)
  local addr_openClosePATH3Chain = 0x35cbd0
  -- the first VIF tag of the chain must be 'CALL 0x35cbd0'.
  if ee.ReadMem32(tadr) ~= 0x50000000 or ee.ReadMem32(tadr+4) ~= addr_openClosePATH3Chain then
-- print(stirng.format("***** UNEXPECTED PACKET *****"))
return
  end
  -- change call address to our own no-mskpath3 packets.
  ee.WriteMem32(tadr+4, addrReplacePacket)
  -- print(string.format("=== replace packet %08x ===", addrReplacePacket))
  -- for i=0,6 do
  -- print(string.format("  %08x %08x %08x %08x", ee.ReadMem128(addrReplacePacket + i*16)))
  -- end
end)


</pre>
</pre>
Line 13,656: Line 5,318:
-- Karla Quiros Manager Business Finance & Ops
-- Karla Quiros Manager Business Finance & Ops
-- Special thanks to A-R&D
-- Special thanks to A-R&D
</pre>
====Forbidden Siren====
<br>CLI
<pre>
--ee-context-switch-cycles=1440
</pre>
</pre>


Please note that all contributions to PS4 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS4 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)