- 41
- Posts
- 10
- Years
- Seen Mar 3, 2021
Instead of 0xE28, is something like 0xDXX
Sorry i'm new to Hex Editing so excuse me if i don't know exactly how to find it lol
Instead of 0xE28, is something like 0xDXX
Sorry i'm new to Hex Editing so excuse me if i don't know exactly how to find it lol
i used this, then searched 25 63 (yes like that, with spaces and anything) until it found D20 something like here![]()
![]()
===scr_65
Fanfare 0x5dc
Lockall
Message 0x75
0031
Closemsgonkeypress
Releaseall
End
===scr_66
Fanfare 0x5dc
Lockall
Message 0x76
0031
Closemsgonkeypress
Releaseall
End
===scr_67
Fanfare 0x5dc
Lockall
Message 0x77
0031
Closemsgonkeypress
Releaseall
End
===scr_68
Fanfare 0x5dc
Lockall
Message 0x78
OpenLowScreen
OpenLowYesNoBox 0x800c
CloseLowScreen
If 0x800c 0x1
COMPARELASTRESULT 0x1 func_153
Setvar 0x8004 0x4f
Setvar 0x8005 0x1
TakeItem 0x8004 0x8005 0x800c
SetvarHero 0x0
Message 0x7b
Fanfare 0x5ff
0031
Closemsgonkeypress
Releaseall
End
===scr_69
Fanfare 0x5dc
Lockall
Message 0x79
OpenLowScreen
OpenLowYesNoBox 0x800c
CloseLowScreen
If 0x800c 0x1
COMPARELASTRESULT 0x1 func_153
Setvar 0x8004 0x4c
Setvar 0x8005 0x1
TakeItem 0x8004 0x8005 0x800c
SetvarHero 0x0
Message 0x7c
Fanfare 0x5ff
0031
Closemsgonkeypress
Releaseall
End
===scr_70
Fanfare 0x5dc
Lockall
Message 0x7a
OpenLowScreen
OpenLowYesNoBox 0x800c
CloseLowScreen
If 0x800c 0x1
COMPARELASTRESULT 0x1 func_153
Setvar 0x8004 0x4d
Setvar 0x8005 0x1
TakeItem 0x8004 0x8005 0x800c
SetvarHero 0x0
Message 0x7d
Fanfare 0x5ff
0031
Closemsgonkeypress
Releaseall
End
==func_153
Closemsgonkeypress
Releaseall
End
@Use selected item:
xrpl_02078456:
NOP
LDR R0, =ItemQuantity
STRH R1, [R0]
CMP R1, #0
MOVNE R1, #1
STRH R1, [R0, #2]
MOV R1, #0
STR R1, [R0, #4]
LDR R1, [SP, #8]
LDRH R0, [R1, #2]
BX LR
@Chain items:
xrpl_0207903C:
NOP
LDR R5, =ItemQuantity
LDRH R1, [R5, #4]
CMP R1, #0
LDR R1, [R4]
BNE .Return
LDRH R1, [R5, #6]
CMP R1, #0
LDR R1, [R4]
BNE .Return
CMP R1, #5 @Use item
CMPNE R1, #0x18 @Use move-related items
BEQ .Check
CMP R1, #0x20
BNE .Return
LDRH R1, [R5, #2]
CMP R1, #5
CMPNE R1, #0x18
MOV R1, #0
STR R1, [R5]
LDR R1, [R4]
MOVEQ R1, #4
CMP R1, #0x20
BEQ .Return
STRH R1, [R5, #2]
MOV R5, R0
ADD LR, LR, #0xBC
STMFD SP!, {R4, LR}
LDR LR, =0x207C6BF
BX LR
.Check:
MOV R1, #1
STRH R1, [R5, #8]
LDRH R1, [R5, #2]
CMP R1, #1
LDR R1, [R4]
STREQH R1, [R5, #2]
.Return:
MOV R5, R0
BX LR
xrpl_0207C8BA:
NOP
LDR R1, [R4, R0]
LDR R0, =ItemQuantity
LDRH R0, [R0, #2]
CMP R0, #0
BEQ .End
LDR R0, =ItemQuantity
LDRH R0, [R0]
CMP R0, #0
MOVEQ R0, #0xA
STREQB R0, [R1, #0x24]
.End:
MOV R0, R1
BX LR
xrpl_0207C8D4:
NOP
MOV R1, #0x1D
LDR R2, =ItemQuantity
LDRH R0, [R2, #2]
CMP R0, #0
BEQ .End2
LDRH R0, [R2]
CMP R0, #0
MOVEQ R1, #0x21
.End2:
MOV R0, R4
MOV R2, #1
BX LR
xrpl_0207C8F0:
NOP
LDR R4, =ItemQuantity
LDRH R1, [R4, #8]
CMP R1, #1
MOVEQ R1, #5
STREQB R1, [R0]
MOV R1, #0
STR R1, [R4, #8]
MOV R0, #1
LDRH R1, [R4, #2]
CMP R1, #0
BEQ .End3
LDRH R1, [R4]
CMP R1, #0
LDREQH R0, [R4, #2]
STREQ R1, [R4]
.End3:
LDMFD SP!, {R4, LR}
BX LR
@Teach level-up moves properly:
xrpl_02081F90:
NOP
MOV R1, #1
B .FadeScreen
@Teach TM/HM moves properly:
xrpl_020823F8:
NOP
MOV R1, #2
.FadeScreen:
LDR R0, =ItemQuantity
STRH R1, [R0, #4]
B .ResetScreen
@Move was not taught:
xrpl_0208203C:
xrpl_020824A4:
@Move was taught:
xrpl_02081E0E:
xrpl_020821AA:
xrpl_02082392:
NOP
LDR R0, =ItemQuantity
LDRH R1, [R0, #4]
CMP R1, #2
MOV R1, #0
STREQ R1, [R0]
.ResetScreen:
MOV R0, #0x1F
MOV R0, R0, LSL #6
BX LR
@Check for Evolution:
xrpl_02071236:
NOP
MOV R0, R6
LDR R6, =ItemQuantity
STRH R0, [R6, #6]
ADD SP, SP, #0x44
BX LR
@Chain repels:
xrpl_021F9968_ov_0F:
NOP
STRB R4, [R0]
LDR R1, =0xC08
ADD R1, R2, R1
STRH R5, [R1] @Store Repel type into the .SAV
LDMFD SP!, {R4, LR}
BX LR
xrpl_0224BB10_ov_02:
NOP
LDR R1, =PseudoStack
STR R0, [R1, #8]
LDRB R1, [R0]
CMP R1, #0
BX LR
xrpl_0224BB20_ov_02:
NOP
LDR R1, =0xC08
LDRH R0, [R2, R1]
CMP R0, #0x4F @Check for Repel
CMPNE R0, #0x4C @Else check for Super Repel
CMPNE R0, #0x4D @Else check for Max Repel
BEQ .Repel
MOV R0, #0
STR R0, [R2, R1]
LDR R1, =0x818 @Default Script
B .Return2
.Repel:
LDR R1, =PseudoStack
STR R3, [R1]
STR R4, [R1, #4]
LDR R1, =0x644
MOV R3, #0
ADD R4, R2, R1
.LoopRepel:
LDRH R1, [R4]
CMP R1, #0
BEQ .NoMatch
CMP R1, R0
BEQ .Script
ADD R3, R3, #1
ADD R4, R4, #4
CMP R3, #0x50 @Number of item slots in the Items Pocket
BCC .LoopRepel
.NoMatch:
LDR R1, =0x818 @No Repel Script
LDR R3, =0xC08
CMP R0, #0x4F
MOVEQ R0, #0x4B
SUB R0, R0, #0x4B
ADD R1, R0, R1 @Final no Repel Script
MOV R0, #0
STR R0, [R2, R3]
B .ResetStack
.Script:
LDR R1, =0x81B @Repel Script
CMP R0, #0x4F
MOVEQ R0, #0x4B
SUB R0, R0, #0x4B
ADD R1, R0, R1 @Final Repel Script
.ResetStack:
MOV R0, #0
LDR R2, =PseudoStack
LDR R4, [R2, #4]
LDR R3, [R2]
STR R0, [R2]
STR R0, [R2, #4]
.Return2:
MOV R0, R4
BX LR
lrpl_0203FE32:
NOP
LDRB R2, [R1]
ADD R1, R3, #1
STR R1, [R0, #8]
CMP R2, #0x4F @Check for Repel
CMPNE R2, #0x4C @Else check for Super Repel
CMPNE R2, #0x4D @Else check for Max Repel
BEQ .RepelUse
B .Return3
.RepelUse:
SUB R1, R1, #6
LDRB R0, [R1] @Check if it is script instruction SetVar 0x8004 "Repel type"
CMP R0, #0x29
BNE .RepelUsed
LDRB R0, [R1, #1]
CMP R0, #0
BNE .RepelUsed
LDRB R0, [R1, #2]
CMP R0, #4
BNE .RepelUsed
LDRB R0, [R1, #3]
CMP R0, #0x80
BNE .RepelUsed
LDR R1, =PseudoStack
LDR R0, [R1, #8]
CMP R0, #0
BEQ .RepelUsed
CMP R2, #0x4F @If Repel
MOVEQ R1, #0x64 @Store 100 steps
CMP R2, #0x4C @If Super Repel
MOVEQ R1, #0xC8 @Store 200 steps
CMP R2, #0x4D @If Max Repel
MOVEQ R1, #0xFA @Store 250 steps
STRB R1, [R0] @Store number of steps for Repel
.RepelUsed:
ADD R1, R3, #1
.Return3:
MOV R0, LR
LDMFD SP!, {LR}
BX R0
.data
.balign 2
ItemQuantity:
.hword 0x0
.hword 0x0
.hword 0x0
.hword 0x0
.hword 0x0
.hword 0x0
.balign 4
PseudoStack:
.word 0x0
.word 0x0
.word 0x0
https://www.pokecommunity.com/posts/9662501/Is there anywhere I can find a full list of the changes made to pokemon? Also, is there a location guide for pokemon?
1°) Emulator and/or flashcard?I think I may have found a game-breaking bug: when I enter the room with the electrodes, in Rocket's hideout, and I walk back to fight the Admin and Rocket Grunt with Lance, the game crashes as the battle starts...
1°) Emulator and/or flashcard?
2°) Do you have any cheat code enabled, regardless of the medium you're using?
And, well, this is kind of surprising because I didn't change that map nor the event file associated to it.
But I remember playtesting v2.0 on flashcard and that part of the storyline was fine, this might something to do with an ASM hack then.
Emulator (Drastic). I don't have any cheats enabled (I'm not actually sure how to add them to be honest which is probably an issue for another day).
I also tried taking off the fast foward option and taking my phone off of power saver in case it was because my phone wasn't able to handle the game (in case this is a thing? Is this a thing?) but it didn't help either
EDIT: I transfered my save to my computer and used Desmume. I got a little futher into the battle, but then it froze just as my pokemon and Lance's pokemon are released.
EDIT 2: I tried using an old version of the game and it worked (but its giving me issues when I try to change back to the intitial rom)
Sorry for the late reply.
The source of the problem is narc a/0/0/8, which contains most of the battle HUD including the battle HP templates.
Something went wrong as I modified this narc since restoring the unmodified narc fixes the issue.
I'll edit this post once I find something new.
EDIT: The problem has been fixed, it was because the new HP templates were 8230 bytes uncompressed when they should cap at 4144 bytes, causing the graphics to overflow and subsequently causing the crash.
I'll update the OP with an emergency update ASAP.
You won't have to, no worries.Thanks so much! You're the best. I just found an adamant absol so I'm hoping not to have to start a new game.
OP updated with a link to v3.0.1.
You won't have to, no worries.
Also since you're already at Mahogany Town, it means that you already defeated 6 Gym Leaders.
Out of curiosity which one did you find the hardest to fight against?
OP updated with a link to v3.0.1.
Weird…I am playing the updated rom and the bug is still persisting: the game still crashes after the intro to the battle with the admin and the rocket grunt...
Weird…
I patched a ROM from the download link just to make sure that I did upload the right patch, and here are the results:
_DeSmuMe: works
_No$GBA Debugger: works
_NDS* via R4i: works
I'm not able to test for DraStic, however.
*The ability to work on a NDS is by far the most important criterion for me because of its ability to act as a deal-breaker should the hack fail that test.
If you already have the TM54 in your bag, then it's normal, since it's part of the re-usable TMs feature.Its now telling me that my bag is full when I try to pick up a TM (TM 54)
If you already have the TM54 in your bag, then it's normal, since it's part of the re-usable TMs feature.
I take it you're in the Dark Cave, right? If that's the case then it's just that I didn't update the item yet.
I do have a list of TMs that appear multiple times, those were relocated accordingly but somehow TM54 escaped my notice.
Morty has given me the most trouble so far. That sableye with willo-wisp (and the ability that allows non-attacking moves to go first) gave me some trouble.
Morty's Sableye in detail for the first match:Morty has a Prankster Sableye? I'm not looking forward to that. ;-;
Level: 24
Gender: ♂
Ball: Poké Ball
Item: Focus Sash
Ability: Prankster
Nature: Careful
Move 1: Will-O-Wisp
Move 2: Sucker Punch
Move 3: Metal Burst
Move 4: Recover