pokeyellow/vc/pokeyellow.patch.template
Rangi42 7f78fed85a
Some checks failed
CI / build (push) Has been cancelled
Fix hardcoded address in VC patch
2025-02-04 08:31:54 +01:00

533 lines
24 KiB
INI

;Format Sample
;[xxxx] ;User-defined Name (Max:31 chars)
;Mode = 1 ;1:Fixcode; 2:Fixvalue; 3:Mask; 4:Palette; 5:Double Frame Buffer
;Type = 0 ;0:Begin 1:End
;Index = 0 ;Index
;Address = x1F8000 ;ROM Address
;MemAddress = x2000 ;RAM Address
;Fixcode = 0 ;Mode1: Fixed Rom Code; Mode2: Fixed Value
;DelayFrame = 0 ;Delay Frame
;FadeFrame = 0 ;Fade Frame 0:Off
;DarkEnable0 = 0 ;0:Off, 1:On (for Normal Mode)
;ReduceEnable0 = 0 ;0:Off, 1:On (for Normal Mode)
;MotionBEnable0 = 0 ;0:Off, 1:Black Fade, 2:, 3:Frame Blend (for Normal Mode)
;Dark0 = 10 ;0~10 (for Normal Mode)
;ReduceColorR0 = 0 ;0~31 (for Normal Mode)
;ReduceColorG0 = 0 ;0~31 (for Normal Mode)
;ReduceColorB0 = 0 ;0~31 (for Normal Mode)
;MotionBlur0 = 31 ;0~31 (for Normal Mode)
;DarkEnable1 = 0 ;0:Off, 1:On (for Green Mode)
;ReduceEnable1 = 0 ;0:Off, 1:On (for Green Mode)
;MotionBEnable1 = 0 ;0:Off, 1:Black Fade, 2:, 3:Frame Blend (for Green Mode)
;Dark1 = 10 ;0~10 (for Green Mode)
;ReduceColorR1 = 0 ;0~31 (for Green Mode)
;ReduceColorG1 = 0 ;0~31 (for Green Mode)
;ReduceColorB1 = 0 ;0~31 (for Green Mode)
;MotionBlur1 = 31 ;0~31 (for Green Mode)
;PaletteX = c31,31,31 ;X:0~15, cR,G,B (0~31)
[SaveLimit@Unknown_save_limit]
Mode = 12
Type = 1
Index = {hex sGameData}
Address = {hex sGameDataEnd}
;[Fix_print]
;Mode = 1
;Address = 0x40130
;Fixcode = a3: 00 00 00
[disable_print@Forbid_printing_Pokedex]
Mode = 1
Address = {hex @+1}
Fixcode = {PATCH +1}
;[Fix pokemon]
;Mode = 2
;Address = 0x1551
;Type = 3
[MiniGame@Bypass_need_Pikachu_with_Surf_for_minigame]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}
[MiniGame-HighScorePC@Bypass_need_Pikachu_with_Surf_for_high_score]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}
[send_send_buf2@Wireless_WaitLinkTransfer]
Mode = 2
Address = {HEX @}
Type = 29
[send_send_buf2_ret@Wireless_WaitLinkTransfer_ret]
Mode = 2
Address = {HEX @}
Type = 30
[send_byt2@Wireless_start_exchange]
Mode = 2
Address = {HEX @+5}
Type = 31
[send_byt2_ret@Wireless_end_exchange]
Mode = 2
Address = {HEX @}
Type = 32
[send_dummy@Wireless_start_send_zero_bytes]
Mode = 2
Address = {HEX @}
Type = 33
[send_dummy_end@Wireless_end_send_zero_bytes]
Mode = 2
Address = {HEX @}
Type = 34
[FIGHT@Wireless_net_delay_1]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}
[FIGHT2@Wireless_net_delay_2]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}
[Network10@Wireless_net_delay_3]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}
[Network11@Wireless_net_delay_4]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}
[Network424@Wireless_ExchangeBytes_party_structs]
Mode = 2
Address = {HEX @}
Type = 4
[Network200@Wireless_ExchangeBytes_patch_lists]
Mode = 2
Address = {HEX @}
Type = 4
;[RND_HACK]
;Mode = 1
;Address = 0x3E70
;Fixcode = a10: 3E 3D 00 00 00 00 00 00 00 00
;[PLAY_HACK]
;Mode = 2
;Address = 0x2238
;Type = 5
;[PLAY_MUTE]
;Mode = 1
;Address = 0x150
;Fixcode = 0xC9
[PLAY_MUTE@Unknown_PlayPikachuSoundClip_end]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}
[PLAY_HACK@Unknown_PlayPikachuPCM]
Mode = 2
Address = {HEX @}
Type = 6
[PLAY_NEW@Unknown_PlayPikachuSoundClip_start]
Mode = 2
Address = {HEX @}
Type = 21
[Network_RECHECK@Wireless_net_recheck]
Mode = 2
Address = {HEX @}
Type = 7
[Network_STOP@Wireless_net_stop]
Mode = 2
Address = {HEX @}
Type = 8
[Network_END@Wireless_net_end]
Mode = 2
Address = {HEX @}
Type = 9
[Network_RESET@Unknown_network_reset]
Mode = 2
Address = {HEX @}
Type = 10
[linkCable fake begin@Link_fake_connection_status]
Mode = 2
Address = {HEX @}
Type = 16
[linkCable fake end@Wireless_prompt]
Mode = 2
Address = {HEX @}
Type = 17
[linkCable block input@Wireless_TryQuickSave_block_input]
Mode = 2
Address = {HEX @+5}
Type = 18
;[save game start]
;Mode = 2
;Address = 0x5A84
;Type = 19
[save game end@Trade_save_game_end]
Mode = 2
Address = {HEX @}
Type = 20
[Change_MSG@Change_link_closed_inactivity_message]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH_ +1 20}
[fight_ret@BattleRandom_ret]
Mode = 1
Address = {hex @}
Fixcode = {PATCH}
[fight_ret_c@Unknown_BattleRandom_ret_c]
Mode = 2
Address = {hex @}
Type = 98
;Mem Write: pc32 = 0xf992d addr = 0xc634 value = 0xe
;Mem Write: pc32 = 0xf9e51 addr = 0xc635 value = 0x1
[FPA 031801 Begin1@Reduce_intro_scene_flashing_0E]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 28
ConditionType = 0
ConditionValueA = {dws_ wYellowIntroCurrentScene}
ConditionValueB = {dws_ == }
ConditionValueC = {dws_ 0x0e }
;34 6F 26 00
;Mem Write: pc32 = 0xf9e51 addr = 0xc635 value = 0x33
[FPA 031801 End1@Stop_reducing_intro_scene_flashing_0E]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 0
ConditionValueA = {dws_ wYellowIntroCurrentScene wYellowIntroSceneTimer}
ConditionValueB = {dws_ == == }
ConditionValueC = {dws_ 0x0e 0x33 }
;rsm095822
;Mem Write: pc32 = 0xf9d8b addr = 0xc635 value = 0x28
;30
[FPA 031801 Begin2@Reduce_intro_scene_flashing_0F]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 4
ConditionType = 0
ConditionValueA = {dws_ wYellowIntroCurrentScene}
ConditionValueB = {dws_ == }
ConditionValueC = {dws_ 0x0f }
[FPA 031801 End2@Stop_reducing_intro_scene_flashing_0F]
Mode = 3
Type = 1
Address = {Hex @}
ConditionType = 0
ConditionValueA = {dws_ wYellowIntroCurrentScene}
ConditionValueB = {dws_ == }
ConditionValueC = {dws_ 0x0f }
;222222aaaaaaaaaaaaaaaa: pc32 = 0xf984b addr = 0xffb3 value = 0x0
;000f984bh: F0 B3 E6 0B
[FPA 031801 End3@Stop_Reducing_intro_scene_flashing]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 11
ConditionValueA = {dws_ wYellowIntroCurrentScene 00 wYellowIntroCurrentScene}
ConditionValueB = {dws_ == || == }
ConditionValueC = {dws_ 0x0e 00 0x0f }
; The effect_no decide which animation will be played.
; So we use it as a condition value. The address of effect_no is 0xd076
; a7 c0 3e 05 ea
; and a A7
; ret nz C0
;
; ld a,5 3E 05
; ld (anime_buf),a EA
;
;
;effect_select_rdy:
; ld (effect_no),a
;
; call put_wait
;
; ld a,B_EFFECT_SELECT
;rsm002551
;Mem Write: pc32 = 0x781c5 addr = 0xd086 value = 0x3
;17 --13
;No151 Mega Punch
[FPA 001 Begin@Reduce_move_anim_flashing_Mega_Punch_Explosion_Self_Destruct]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 11
ConditionType = 11
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == == || == == == == == || == == == == == }
ConditionValueC = {dws_ M_CHAR E_CHAR G_CHAR A_CHAR P_CHAR MEGA_PUNCH 00 E_CHAR X_CHAR P_CHAR L_CHAR MEGA_PUNCH 00 S_CHAR E_CHAR L_CHAR F_CHAR MEGA_PUNCH }
[FPA 001 End@Stop_reducing_move_anim_flashing_Mega_Punch]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID}
ConditionValueB = {dws_ == == == == == == }
ConditionValueC = {dws_ M_CHAR E_CHAR G_CHAR A_CHAR P_CHAR MEGA_PUNCH }
;rsm103725
;Mem Write: pc32 = 0x781c5 addr = 0xd086 value = 0x3
;No117 Guillotine
[FPA 002 Begin@Reduce_move_anim_flashing_Guillotine]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 7
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ G_CHAR U_CHAR I_CHAR L_CHAR GUILLOTINE }
[FPA 002 End@Stop_reducing_move_anim_flashing_Guillotine]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ G_CHAR U_CHAR I_CHAR L_CHAR GUILLOTINE }
;rsm142438
;17 --13
;No150 Mega Kick
[FPA 003 Begin@Reduce_move_anim_flashing_Mega_Kick]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 10
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID}
ConditionValueB = {dws_ == == == == == == }
ConditionValueC = {dws_ M_CHAR E_CHAR G_CHAR A_CHAR K_CHAR MEGA_KICK }
[FPA 003 End@Stop_reducing_move_anim_flashing_Mega_Kick]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID}
ConditionValueB = {dws_ == == == == == == }
ConditionValueC = {dws_ M_CHAR E_CHAR G_CHAR A_CHAR K_CHAR MEGA_KICK }
;rsm154217 blizzard
;No131
[FPA 004 Begin@Reduce_move_anim_flashing_Blizzard]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 11
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ B_CHAR L_CHAR I_CHAR Z_CHAR BLIZZARD }
[FPA 004 End@Stop_reducing_move_anim_flashing_Blizzard]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ B_CHAR L_CHAR I_CHAR Z_CHAR BLIZZARD }
;rsm163638 bubblebeam
;No123
[FPA 005 Begin@Reduce_move_anim_flashing_Bubblebeam]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 15
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ B_CHAR U_CHAR B_CHAR B_CHAR BUBBLEBEAM }
[FPA 005 End@Stop_reducing_move_anim_flashing_Bubblebeam]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ B_CHAR U_CHAR B_CHAR B_CHAR BUBBLEBEAM }
;Mem Write: pc32 = 0xc2 addr = 0xcfd1 value = 0x3f
;Pallte Write: pc32 =00078e79 00000048 e4
;No116 hyper beam
[FPA 006 Begin@Reduce_move_anim_flashing_Hyper_Beam]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 6
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wAnimationID}
ConditionValueB = {dws_ == == == == }
ConditionValueC = {dws_ H_CHAR Y_CHAR P_CHAR HYPER_BEAM }
;rsm112921 thunderbolt
;15 -- 13
;No57 thunderbolt
[FPA 007 Begin@Reduce_move_anim_flashing_Thunderbolt]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 13
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ T_CHAR H_CHAR U_CHAR N_CHAR THUNDERBOLT }
[FPA 007 End@Stop_reducing_move_anim_flashing_Thunderbolt]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ T_CHAR H_CHAR U_CHAR N_CHAR THUNDERBOLT }
;
;rsm130806 haze
;No40 haze
[FPA 008 Begin@Reduce_move_anim_flashing_Haze]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 28
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ H_CHAR A_CHAR Z_CHAR E_CHAR HAZE }
[FPA 008 End@Stop_reducing_move_anim_flashing_Haze_Hyper_Beam]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 11
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wAnimationID}
ConditionValueB = {dws_ == == == == == || == == == == }
ConditionValueC = {dws_ H_CHAR A_CHAR Z_CHAR E_CHAR HAZE 00 H_CHAR Y_CHAR P_CHAR HYPER_BEAM }
;rsm131656 reflect
;No159
[FPA 009 Begin@Reduce_move_anim_flashing_Reflect]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 6
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ R_CHAR E_CHAR F_CHAR L_CHAR REFLECT }
[FPA 009 End@Stop_reducing_move_anim_flashing_Reflect]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ R_CHAR E_CHAR F_CHAR L_CHAR REFLECT }
;rsm132935 selfdestruct
;No56
[FPA 010 Begin@Reduce_move_anim_flashing_Self_Destruct]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 11
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ S_CHAR E_CHAR L_CHAR F_CHAR SELFDESTRUCT}
[FPA 010 End@Stop_reducing_move_anim_flashing_Self_Destruct]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 11
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == || == == == == == }
ConditionValueC = {dws_ S_CHAR E_CHAR L_CHAR F_CHAR MEGA_PUNCH 00 S_CHAR E_CHAR L_CHAR F_CHAR SELFDESTRUCT}
;rsm013740 explosion
;No76
[FPA 011 Begin@Reduce_move_anim_flashing_Explosion]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 11
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ E_CHAR X_CHAR P_CHAR L_CHAR EXPLOSION }
[FPA 011 End@Stop_reducing_move_anim_flashing_Explosion]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 11
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == || == == == == == }
ConditionValueC = {dws_ E_CHAR X_CHAR P_CHAR L_CHAR MEGA_PUNCH 00 E_CHAR X_CHAR P_CHAR L_CHAR EXPLOSION }