Thread: Research: Items
View Single Post
  #8    
Old February 5th, 2010 (12:44 AM). Edited February 5th, 2010 by liuyanghejerry.
liuyanghejerry's Avatar
liuyanghejerry liuyanghejerry is offline
     
    Join Date: Jan 2008
    Location: China,Xi'an
    Nature: Calm
    Posts: 219
    Quote:
    Originally Posted by JPAN View Post
    How are the Pokemon submenu items (potions, berries, stones, TM's) organized, so we can create more of the above items;
    I trace two potions for days and got some useful information.

    There is a group of pointers stored at 0x2528BC in the ROM,about items,which includes potions.
    These pointers are just base pointers.
    Trace with you debugger at 0x08126C9C.
    There is a algorithm about pointers.
    And finally,the HP points the potion can restore is store in 0x03007D68 which will be a pointer in SP when run at 0x08041C58.
    BTW,as a little hack profit,change the value at 0x2526F2 in ROM can change the value that normal potion restored.

    This is for now.
    Sorry the routine is so complex that I can't figure it out...

    Edit:
    The key point around different potions is at 0x08126C68.
    When run to here,this is what happened:
    Code:
    08126C68 b530 push {r4,r5,lr}
    08126C6A 0400 lsl r0, r0, #0x10
    08126C6C 0c01 lsr r1, r0, #0x10
    08126C6E 1c0a add r2, r1, #0x0
    08126C70 3a0d sub r2, #0xd
    08126C72 0410 lsl r0, r2, #0x10
    08126C74 0c00 lsr r0, r0, #0x10
    08126C76 28a5 cmp r0, #0xa5
    08126C78 d900 bls $08126c7c
    08126C7C 29af cmp r1, #0xaf
    08126C7E d109 bne $08126c94
    08126C94 490b ldr r1, [$08126cc4] (=$082528bc)
    08126C96 0090 lsl r0, r2, #0x02
    08126C98 1840 add r0, r0, r1
    __________________
    Zel,thethethethe,LU-HO,Darthatron,HackMew,ZodiacDaGreat,Juan,score_under,JPAN,Tamah-chan,I really appreciate your kindness and your help!:D
    Reply With Quote