gametitle=War of the Monsters (NTSC-U) [SCUS-97197] [Widescreen 16:9] gsaspectratio=16:9 comment=Widescreen hacks by Aced14 //16:9 Widescreen //Title Menu patch=1,EE,206E1500,extended,43BA0000 //43F80000 - Title Menu Master X FOV patch=1,EE,206E1520,extended,3F206D3A //3EF0A3D7 - Title Menu Master Y FOV //Crush-O-Rama Camera Distance (normally based on X FOV) patch=1,EE,2011F52C,extended,00000000 //4615BDC2 - Crush-O-Rama Camera Distance Fix #1 patch=1,EE,2011F564,extended,00000000 //46020002 - Crush-O-Rama Camera Distance Fix #2 //1 Player patch=1,EE,206E12C0,extended,43900000 //43C00000 - 1P Master X FOV patch=1,EE,206E12E0,extended,3F206D3A //3EF0A3D7 - 1P Master Y FOV patch=1,EE,206E1680,extended,43900000 //43C00000 - Unified Master X FOV patch=1,EE,206E16A0,extended,3F206D3A //3EF0A3D7 - Unified Master Y FOV patch=1,EE,10143060,extended,0000C33A //3C01C30A - 1P + Unified Master X P1 HUD #1 patch=1,EE,10143064,extended,00006666 //34214A3D - 1P + Unified Master X P1 HUD #2 patch=1,EE,10144390,extended,0000001A //24050023 - 1P + Unified P1 "WINS #" X Position (35 -> 26) patch=1,EE,10145ED4,extended,0000001E //24050028 - 1P + Unified P1 Pickup Notification X Position (40 -> 30) patch=1,EE,101D1E4C,extended,00000208 //240501E0 - 1P Core Meltdown "#" Timer X Position (480 -> 520) //2 Players - Separator Bar patch=1,EE,101448A8,extended,0000FFFB //2473FFFA - 2P Separator Bar Width (-6 -> -5) //2 Players - Unified View Black Bar Fix //Prevents black bar from appearing in the far right of unified view in 2 player matches patch=1,EE,E0010001,extended,006F8A8C //00000000 - If gUseUnifiedView variable is 1... patch=1,EE,20188908,extended,00000000 //0C0511E6 - Remove reference to buildSeparator function patch=1,EE,E0010000,extended,006F8A8C //00000000 - If gUseUnifiedView variable is 0... patch=1,EE,20188908,extended,0C0511E6 //0C0511E6 - Restore reference to buildSeparator function //2 Players - Unified View Black Bar Fix (alternate MIPS version) //Useful if injecting the fix into a hacked ELF or if using an older PS2 cheat device. //patch=1,EE,20188908,extended,0C07F3CC //0C0511E6 - jal $001fcf30 - Jump to injected MIPS instructions (instead of buildSeparator function) //patch=1,EE,201FCF30,extended,3C020070 //24020038 - lui v0, $0070 - Load gUseUnifiedView variable into v0 register #1 //patch=1,EE,201FCF34,extended,8C428A8C //00A73821 - lw v0, $8a8c(v0) - Load gUseUnifiedView variable into v0 register #2 //patch=1,EE,201FCF38,extended,14400003 //00822018 - bne v0, zero, $001fcf48 - Skip next 2 lines (after below one) if gUseUnifiedView variable isn't equal to 0 //patch=1,EE,201FCF3C,extended,00000000 //00C84021 - nop - Delay slot //patch=1,EE,201FCF40,extended,080511E6 //3C020073 - j $00144798 - Jump to buildSeparator function //patch=1,EE,201FCF44,extended,00000000 //00073900 - nop - Delay slot //patch=1,EE,201FCF48,extended,03E00008 //24425890 - jr ra - Jump return //patch=1,EE,201FCF4C,extended,00000000 //00084100 - nop - Delay slot //2 Players - Player 1 patch=1,EE,206E1380,extended,43840000 //43B00000 - 2P P1 Master X FOV patch=1,EE,206E13A0,extended,3F206D39 //3EF0A3D7 - 2P P1 Master Y FOV patch=1,EE,10143090,extended,0000C2C7 //3C01C292 - 2P P1 Master X HUD #1 patch=1,EE,10143094,extended,00000000 //3421FE77 - 2P P1 Master X HUD #2 patch=1,EE,10145D04,extended,0000001A //24050022 - 2P P1 Pickup Notification X Position (34 -> 26) patch=1,EE,101442E0,extended,00000018 //24050020 - 2P P1 "WINS #" X Position (32 - 24) patch=1,EE,1012EC4C,extended,00000018 //24050020 - 2P P1 Dodgeball "P1 #" X Position (32 -> 24) patch=1,EE,1011AFD8,extended,00000018 //24050020 - 2P P1 Big Shot "P1 #" X Position (32 -> 24) patch=1,EE,1012E120,extended,00000018 //24050020 - 2P P1 Crush-O-Rama "P1 #" X Position (32 -> 24) //2 Players - Player 2 patch=1,EE,206E1440,extended,43840000 //43B00000 - 2P P2 Master X FOV patch=1,EE,206E1460,extended,3F206D39 //3EF0A3D7 - 2P P2 Master Y FOV patch=1,EE,101430D8,extended,000042C7 //3C014292 - 2P P2 Master X HUD #1 patch=1,EE,101430DC,extended,00000000 //3421FE77 - 2P P2 Master X HUD #2 patch=1,EE,101430A4,extended,0000433A //3C01430A - Unified Master X P2 HUD #1 patch=1,EE,101430A8,extended,00006666 //34214A3D - Unified Master X P2 HUD #2 patch=1,EE,101443A8,extended,00000262 //24050258 - Unified P2 "WINS #" X Position (600 -> 610) patch=1,EE,10145F04,extended,00000262 //24050258 - Unified P2 Pickup Notification X Position (600 -> 610) patch=1,EE,10145D2C,extended,00000125 //2405011C - 2P P2 Pickup Notification X Position (284 -> 293) patch=1,EE,101442F8,extended,00000122 //24050118 - 2P P2 "WINS #" X Position (280 -> 290) patch=1,EE,1012EC90,extended,00000131 //2405012C - 2P P2 Dodgeball "P2 #" X Position (300 -> 305) patch=1,EE,1011B020,extended,00000275 //24050271 - 2P P2 "P2 #" Big Shot X Position (625 -> 629) patch=1,EE,1012E178,extended,00000275 //24050271 - 2P P2 Crush-O-Rama "P2 #" X Position (625 -> 629) //Health Icons patch=1,EE,202A3038,extended,00000014 //0000001A - Health Icon 1 Inner Width patch=1,EE,202A30C8,extended,00000014 //0000001A - Health Icon 1 Outer Width patch=1,EE,202A305C,extended,00000014 //0000001A - Health Icon 2 Inner Width patch=1,EE,202A30EC,extended,00000014 //0000001A - Health Icon 2 Outer Width patch=1,EE,202A3080,extended,00000014 //0000001A - Health Icon 3 Inner Width patch=1,EE,202A3110,extended,00000014 //0000001A - Health Icon 3 Outer Width patch=1,EE,202A30A4,extended,00000014 //0000001A - Health Icon 4 Inner Width patch=1,EE,202A3134,extended,00000014 //0000001A - Health Icon 4 Outer Width //Distant Shadows patch=1,EE,2025A828,extended,43C00000 //44000000 - Distant Shadows Width #1 (ZAxisAllLoop) patch=1,EE,2025A8F0,extended,43C00000 //44000000 - Distant Shadows Width #2 (ZAxisClipXY2) //Sprites patch=1,EE,2025A990,extended,43C00000 //44000000 - Nearby Sprites Width (SimpSpriteStart) patch=1,EE,2025AAE0,extended,43C00000 //44000000 - Distant Sprites Width (SpriteAllStart) //Loading Bar patch=1,EE,20225D54,extended,3404014A //8FA40008 - Loading Bar Master X Width //Generic Font - Width //Impacts top + bottom title screen text, unselected unlocks screen text, and pause menu text. patch=1,EE,101FCA04,extended,00000007 //24060005 - Generic Font Width (5 -> 7) //Sub Pixels Font - Width and Spacing //Impacts all other text. patch=1,EE,201FCF78,extended,0807F38E //00832018 - j $001fce38 - Jump to injected MIPS instructions patch=1,EE,201FCE38,extended,3C013F40 //27BDFFA0 - lui at, $3f40 - Set $f29 register to .75 #1 patch=1,EE,201FCE3C,extended,4481E800 //24030038 - mtc1 at, $f29 - Set $f29 register to .75 #2 patch=1,EE,201FCE40,extended,3C013F00 //7FB20030 - lui at, $3f00 - Set $f30 register to .5 #1 patch=1,EE,201FCE44,extended,4481F000 //3C020073 - mtc1 at, $f30 - Set $f30 register to .5 #2 patch=1,EE,201FCE48,extended,4485F800 //00839018 - mtc1 a1, $f31 - Convert int to float #1 patch=1,EE,201FCE4C,extended,4680FFE0 //7FB10020 - cvt.s.w $f31, $f31 - Convert int to float #2 patch=1,EE,201FCE50,extended,461DFFC2 //7FB00010 - mul.s $f31, $f31, $f29 - Multiply $f31 by $f29 patch=1,EE,201FCE54,extended,461EFFC0 //24425890 - add.s $f31, $f31, $f30 - Add .5 for rounding patch=1,EE,201FCE58,extended,4600FFE4 //E7B50058 - cvt.w.s $f31, $f31 - Convert float to int #1 patch=1,EE,201FCE5C,extended,4405F800 //00A0802D - mfc1 a1, $f31 - Convert float to int #2 patch=1,EE,201FCE60,extended,4487F800 //E7B40050 - mtc1 a3, $f31 - Convert int to float #1 patch=1,EE,201FCE64,extended,4680FFE0 //46006D46 - cvt.s.w $f31, $f31 - Convert int to float #2 patch=1,EE,201FCE68,extended,461DFFC2 //46006506 - mul.s $f31, $f31, $f29 - Multiply $f31 by $f29 patch=1,EE,201FCE6C,extended,461EFFC1 //7FBF0040 - sub.s $f31, $f31, $f30 - Subtract .5 for rounding patch=1,EE,201FCE70,extended,4600FFE4 //02429021 - cvt.w.s $f31, $f31 - Convert float to int #1 patch=1,EE,201FCE74,extended,4407F800 //0C08A1EE - mfc1 a3, $f31 - Convert float to int #2 patch=1,EE,201FCE78,extended,0807F3E0 //00C0882D - j $001fcf80 - Jump to 2 lines after the overwritten MIPS instruction patch=1,EE,201FCE7C,extended,00832018 //03A0282D - mult a0, a0, v1 - Restore overwritten MIPS instruction from initial jump //Unlocks - All Text Positioning (fontSpritePrintCenteredXY) patch=1,EE,1019F23C,extended,000000FD //240500E6 - Selected Left X Position (230 -> 253) patch=1,EE,1019F2B4,extended,000000FD //240500E6 - Unselected Left X Position (230 -> 253) patch=1,EE,1019F364,extended,000001A2 //240501C2 - "SPECIAL" Unselected Right X Position (450 -> 418) patch=1,EE,1019F428,extended,000001A2 //240501C2 - Prices Unselected Right X Position (450 -> 418) patch=1,EE,1019F538,extended,000001A2 //240501C2 - "FREEBIE" Unselected Right X Position (450 -> 418) patch=1,EE,1019F33C,extended,000001A2 //240501C2 - "SPECIAL" Selected Right X Position (450 -> 418) patch=1,EE,1019F3D8,extended,000001A2 //240501C2 - Prices Selected Right X Position (450 -> 418) patch=1,EE,1019F584,extended,000001A2 //240501C2 - "FREEBIE/UNLOCKED" Selected Right X Position (450 -> 418) patch=1,EE,1019F5D4,extended,000001A2 //240501C2 - "Unlocked" Unselected Right X Position (450 -> 418)