Thread: Development: The 4th gen class split in 3rd gen
View Single Post
Old July 30th, 2013 (11:20 AM).
dd409's Avatar
dd409 dd409 is offline
For the Swarm!
Join Date: Jul 2008
Gender: Male
Nature: Lax
Posts: 15
Originally Posted by Commander F View Post
Giga Drain is physical now? =/
A side effect of the patch is that all moves are treated as physical until you go through and hex-edit certain bytes (or use PGE) to reassign each individual move as physical, special, or status. The patch doesn't change each move, just the way the game handles them. See the explaination a few posts above.

Originally Posted by Jambo51 View Post
I think I've found the code which causes the Mirror Coat/Counter bug in Fire Red.
Change it to this, and it should hopefully fix it.
0801F6C2: 86 7A
0801F908: 00 2E
0801F90A: 41 D1
Also, Darthatron's routine for showing the images is slightly buggy. It turns out the move index is actually DMA protected, but in a really odd way. It only gets DMA shifted after certain actions are taken within the game's overworld. Anyway - to solve this, change the parts in BOLD in Darthatron's original routine (or just copy this routine, I suppose), and then follow Darthatron's original post to insert it.

.align 2
 push {r0-r4}
 ldr r0, .CurMoveIndex
 ldrb r1, [r0]
 lsl r1, r1, #1
 ldr r0, .Move_List_Loc
 ldr r0, [r0]
 ldr r3, .number
 add r0, r0, r3
 add r0, r0, r1
 ldrh r3, [r0]
 cmp r3, #0x0
 beq Finish
 lsl r0, r3, #1
 add r0, r0, r3
 lsl r0, r0, #2
 ldr r1, .MoveBase
 add r0, r0, r1
 ldrb r4, [r0, #10]
 lsl r0, r4, #1
 add r4, r4, r0
 lsl r4, r4, #6
 ldr r0, .SplitImages
 add r0, r4
 ldr r1, .VRAM
 mov r2, #0x30
 swi #0xB 
 ldr r0, .SplitImages
 add r0, r4
 add r0, #0x60
 ldr r1, .VRAM
 mov r2, #0x1E
 lsl r2, #0x04
 add r1, r1, r2
 mov r2, #0x30
 swi #0xB 
 pop {r0-r4}
 ldr r4, .Some_Offset
 ldr r0, [r4]
 ldr r1, .Return_Addr
 bx r1
.align 2
.MoveBase:  .word 0x08250C04
.number: .word 0x00003258
.CurMoveIndex: .word 0x0203B16D
.Move_List_Loc:  .word 0x0203B140
.VRAM:   .word 0x06001800
.SplitImages: .word 0x08YYYYYY
.Some_Offset: .word 0x0203B148
.Return_Addr: .word 0x0813A17D
I'm still trying to port this bit of asm to Emerald, but I'm not having much luck finding the equivalent addresses. So far I've found that 0x08250C04 for FR should be 0x0831C898 in Emerald, but I can't seem to figure out the others. Anyone have any insight there?
Long ago, the 90's Nicktoons lived together in harmony... then everything changed when the 2000's attacked. Only Avatar, the best of the new Nicktoons could save them. But when Nick needed it most, it finished. Four years passed and Mike and Bryan created a new Avatar: Legend of Korra. Although the show itself is great, it has a long way to go before it can live up to the Last Airbender. But I believe Korra can save Nickelodeon.
Reply With Quote