The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!
Research & Development programs in this forum are subject to moderator approval before they are displayed.

Reply
Click here to go to the first staff post in this thread.  
Thread Tools
  #76    
Old October 13th, 2012, 12:35 PM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by itman View Post
I just did everything that JPAN said in his post and it worked without any problems, so to be honest you probably did something wrong. I would just start over and try again. Make sure you correctly repoint ALL the pointers to the new locations of each table, since there are A LOT.
JPAN?! WHAT?! How very dare you?! Lol.

In actual response, I've tried it several times on both clean and pre-hacked ROMs, and every time it's worked, and I followed my own tutorial to do it, I may add, so it does work.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #77    
Old October 13th, 2012, 07:53 PM
itman
Back to ROM hacking. :D
 
Join Date: May 2007
Age: 20
Nature: Adamant
Quote:
Originally Posted by Jambo51 View Post
JPAN?! WHAT?! How very dare you?! Lol.

In actual response, I've tried it several times on both clean and pre-hacked ROMs, and every time it's worked, and I followed my own tutorial to do it, I may add, so it does work.
I am so sorry! I meant Jambo, I get you two confused because I've used both of your resources and such so much. AH. I'm sorry. :'(

But yeah, you're way definitely works. Would you be okay if I made kind of a more tutorial? With pictures and things, since this is huge and I don't want this to not be used, it's just incredible.
Reply With Quote
  #78    
Old October 14th, 2012, 11:53 AM
timson733333's Avatar
timson733333
Me gusta.
 
Join Date: Mar 2007
Location: Stealth!
Gender: Male
Nature: Quiet
I'll try it again for FireRed, I'm doing it for Ruby right now to see if it works, but roms.ini doesn't have the attack animations. Can someone tell me where that is?
__________________
ROM hacking since 2008... and failing miserably still.


Learning how to hex edit. I'm not advanced in any way, and rely on tools most of the time.

deviantArt | YouTube
Reply With Quote
  #79    
Old December 27th, 2012, 07:37 PM
Mr155555's Avatar
Mr155555
 
Join Date: Apr 2011
Age: 34
Gender: Male
Nature: Adamant
can you do a video explaining everything so it can be less complicated
__________________
Feraligatr and Krookodile Best Pokemon Ever
my pokemon alpha sapphire team
swampert-ludicolo-altaria-hariyama-torkoal-froslass
Reply With Quote
  #80    
Old December 28th, 2012, 11:29 AM
DoesntKnowHowToPlay's Avatar
DoesntKnowHowToPlay
some loser
 
Join Date: Jan 2012
So I figured out a nifty trick that would have been nice to know earlier:

The command 2A can be used in battle scripts to read arbitrary halfwords and jump depending on their value- by checking x02023D4a, this can be used to detect which attack is calling the script. This is actually done by the game to detect Surf and Whirlpool so it can make them pierce Dive. For example:

Quote:
2A 00 4A 3D 02 02 5D 01 FB 85 1D 08
This command will cause a jump to x1D85FB if the move being used is x15D- Dragon Dance. If the move is not Dragon Dance, the script simply continues. We can utilize this to map different effects to a single effect byte- this allows us to make our new attacks AI-friendly by mapping them to similar effect bytes. For example, if we put Shift Gear's script after this check, we can give it Dragon Dance's effect byte, and the AI will treat Dragon Dance and Shift Gear the same way. It also allows us to easily take advantage of effects that aren't handled by script- we can make Flare Blitz defrost the user by giving it script x7D (Flame Wheel) without losing the recoil effect, for example. It also means there is no need to repoint the battle script table, as we only need to branch off the existing scripts rather than add new ones to the table.

Speaking of defrosting- if any moves in the expanded move table have effect byte x7D (such as Scald and Flare Blitz), they will produce garbage text when they defrost the user. To fix this, go to 0xD7E96 and place six 00s there.
__________________

Yet Another Fire Red Hack

Physical/Special Split
Reply With Quote
  #81    
Old December 28th, 2012, 12:50 PM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by DoesntKnowHowToPlay View Post
Cut for brevity
Indeed. That is how I should have done it. Retrospect is a wonderful thing.

On the downside, this only works for moves which have a similar move already in existance. I know the AI needs modified to support the new moves either way, but at least with using your method, that amount of work is cut substantially.

Battle Script Editors are being worked on to make this sort of work easier, so maybe I'll go back and retrospectively change the system to use the style you show above.

It would certainly make any modifications to the AI easier!

I thank you for pointing this out!
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #82    
Old January 17th, 2013, 04:53 PM
Darkrai Lv.1000's Avatar
Darkrai Lv.1000
Has a tendency to figure things out
 
Join Date: Jul 2007
Location: Aboard the Arc-Gurren
Age: 20
Gender: Male
Nature: Adamant
Send a message via AIM to Darkrai Lv.1000
Wow, it's been a while since I've been on this side of the forums. xD
Anyways, I've got my hack stuff back on my new computer, and I'm continuing work on my project, but one problem still persists:

How do I give my new moves proper descriptions?
__________________
Reply With Quote
  #83    
Old February 20th, 2013, 03:06 PM
pawell6's Avatar
pawell6
The truthseeker
 
Join Date: Feb 2010
Location: Poland
Age: 27
Gender: Male
Quote:
Originally Posted by Darkrai Lv.1000 View Post
Wow, it's been a while since I've been on this side of the forums. xD
Anyways, I've got my hack stuff back on my new computer, and I'm continuing work on my project, but one problem still persists:

How do I give my new moves proper descriptions?
You can use XSE to change descritptions of moves.
__________________
Most of new moves is done. Fixing timing of some animations and updating learnsets in progress.
Reply With Quote
  #84    
Old February 22nd, 2013, 01:21 PM
GoGoJJTech's Avatar
GoGoJJTech
http://GoGoJJTech.com (WIP!)
Community Supporter
 
Join Date: Nov 2012
Location: Earth
Age: 16
Gender: Male
Nature: Quiet
Quote:
Originally Posted by pawell6 View Post
You can use XSE to change descritptions of moves.
Not just xse
search for it in advance text, add it to the ini then edit the description
__________________
Reply With Quote
  #85    
Old February 22nd, 2013, 07:07 PM
Omega Zero's Avatar
Omega Zero
Is back...
Community Supporter Tier 4
 
Join Date: Dec 2009
Location: I'm always living aren't I?
Age: 16
Gender: Male
Nature: Relaxed
Send a message via Skype™ to Omega Zero
Quote:
Originally Posted by Darkrai Lv.1000 View Post
Wow, it's been a while since I've been on this side of the forums. xD
Anyways, I've got my hack stuff back on my new computer, and I'm continuing work on my project, but one problem still persists:

How do I give my new moves proper descriptions?
Find the pointer for move descriptions
Copy all of it plus 4xnumber of new moves

and paste it somewhere in the rom,
then repoint everything to the new move descriptions place.
__________________
Reply With Quote
  #86    
Old June 17th, 2013, 06:22 PM
ShadowTails's Avatar
ShadowTails
I'm working on a better Avatar
 
Join Date: Aug 2005
Age: 23
Gender:
Nature: Relaxed
Regarding move descriptions, when I try to point to other areas in the rom for the descriptions, it will bring up other random text, no matter where I point it.

At first I just repointed the pointer table, and that worked just fine, but trying to add a new pointer at the end for the 355th move in the rom would never work. It would just pick a random thing of text, and if I changed another move, like Growl, to the description that I put in free space, it would pick another text even if it was the same offset as the custom move.




The only time any new description would work is if I put it after Psycho Boost without repointing all of the move descriptions, and when I tried repointing all the move descriptions, nothing works.

Is there another pointer that I have to set to get this to work right? I've been trying all sorts of different things, but I've run into this problem. After trying everything, I figured I should ask here. I got everything else to work, my new move does damage and it does everything that it should do, but I can't figure out what to do about move descriptions for the life of me.
__________________
Who needs a fancy signature full of crap?

Last edited by ShadowTails; June 17th, 2013 at 06:25 PM. Reason: added some pictures and fixing up grammar
Reply With Quote
  #87    
Old September 6th, 2013, 01:51 PM
Zeifyl
 
Join Date: Sep 2012
Gender: Male
This is the first time I am trying to mod a Pokémon Game, and this looked very amazing to me, so I figured I'd give it a shot, but I encountered an error.
I'm sure I did everything as it said I should, but anyway, this happens (Images in attachments)
Attached Images
File Type: png Lolwut.png‎ (3.7 KB, 24 views) (Save to Dropbox)
File Type: png WTF.png‎ (3.8 KB, 25 views) (Save to Dropbox)
Reply With Quote
  #88    
Old September 26th, 2013, 12:21 PM
JoshandJR5
 
Join Date: Jul 2011
Gender: Male
forgive me for being new to this but how could I just do something simple like make howl raise accuracy instead of attack? I know its not a standard effect but still doesn't seem like it should be too difficult. I don't necessarily wanna have to repoint a bunch of code is all. (This would be for Emerald.)

I can't seem to find the right byte or bytes to change... knowing how the data structure is outlined for attack effects, animations or whatever would help like how bulbapedia formats it on their "Move_data_structure_in_Generation_III" page
Reply With Quote
  #89    
Old October 5th, 2013, 10:24 AM
BugMania's Avatar
BugMania
The Bug Master
 
Join Date: Jun 2013
Gender: Male
Nature: Quiet
Jambo 51, ​​it seems that you are not entered programming ASM to jump movements according to the levels of the Pokemon ... ... happens that a pokemon on level 35 appears with the same movements of a level 1.

... excuse me if I'm wrong speaking
__________________
Even the smallest of beings can achieve the greatest of obstacles!
Click in the spoiler, if you dare!
Spoiler:


L
et's dream bigger than our bodies can endure!
G
et to the extreme!

See my works here

Reply With Quote
  #90    
Old December 11th, 2013, 01:29 PM
DoesntKnowHowToPlay's Avatar
DoesntKnowHowToPlay
some loser
 
Join Date: Jan 2012
So while fiddling with the 649 patch I noticed a rather nasty bug in the second move table extension method detailed in the OP. While it works fairly well, pokemon are generated with the first four moves in their movepool, regardless of how high level they are. Movepools looked like this:



when they should have looked like this:



This can be fixed by using the following routine in place of the second one Jambo provides:

Code:
.text
.align 2
.thumb
.thumb_func
.global newmovesetstyle2
main:
 ldrb r1, [r0, #0x2]
 mov r2, #0xFF
 cmp r1, r2
 beq exit2
 lsl r2, #0x8
 add r2, #0xFF
 mov r9, r2
 mov r3, #0x0
loop: lsl r0, r3, #0x1
 add r0, r0, r3
 ldr r1, movesettable
 add r1, r1, r6
 ldr r1, [r1, #0x0]
 add r7, r0, r1
 ldrb r0, [r7, #0x2]
 mov r4, r10
 cmp r0, r4
 bgt exit2
 ldrb r1, [r7, #0x1]
 ldrb r0, [r7, #0x0]
 lsl r1, r1, #0x8
 orr r1, r0
 mov r0, r8
 str r3, [sp, #0x0]
 mov r4, r1
 bl branchone
 mov r5, #0xFF
 ldr r3, [sp, #0x0]
 cmp r0, r9
 bne exit
 mov r0, r8
 add r1, r4, #0x0
 bl branchtwo
 ldr r3, [sp, #0x0]
exit: add r3, #0x1
# lsl r1, r3, #0x1
# add r1, r1, r3
# add r0, r7, r1
 mov r1, #0x3
 add r0, r7, r1
 ldrb r0, [r0, #0x2]
 cmp r0, r5
 bne loop
exit2: add sp, #0x4
 pop {r3-r5}
 mov r8, r3
 mov r9, r4
 mov r10, r5
 pop {r4-r7}
 pop {r0}
 bx r0
branchone: push {r4-r7,lr}
 add sp, #-0x4
 ldr r7, gothere
 bx r7
branchtwo: push {r4-r7,lr}
 ldr r7, gothere2
 bx r7
.align
gothere: .word 0x0803E8B5
gothere2: .word 0x0803EC43
movesettable: .word 0x0825D7B4
The changes are fairly simple. First, Jambo's code seemed to assume that the method called by "branchone" returned 0xFF if the pokemon didn't have a spare slot in its movepool- not only would this cause problems with Spit Up (which is move 0xFF), but in actuality it returns 0xFFFF. (Note that this means you won't be able to use slot 0xFFFF for a move and have it behave properly without further tweaking). I modified the code to look for that instead. I also fixed two other issues that were never reached previously- the call to "branchtwo" now properly pushes last register, and the move being learned is stored in r4 before branchone is called at all, which means that pokemon don't constantly learn their level instead of actual moves.

This only applies to the method that enables you to have more than 512 moves- if all you did was repoint a few tables this doesn't impact you.

(implying anyone cares when over two years have passed and only one other person noticed)

EDIT: don't use this by its own. I was working with the 649 to patch this, and assumed the only tweaks were what Jambo documented here; he made a bunch of other changes as well. Read the next page, there's a byte tweak for it that should fix things most of the time.

11/4/2014 edit: updated this method, it should work properly now even without the one following it.
__________________

Yet Another Fire Red Hack

Physical/Special Split

Last edited by DoesntKnowHowToPlay; 3 Weeks Ago at 09:17 PM.
Reply With Quote
  #91    
Old January 1st, 2014, 11:22 PM
Tlachtli's Avatar
Tlachtli
Crit happens.
 
Join Date: Jan 2012
Location: Faraway place
Age: 23
Gender: Male
Nature: Modest
I just want to add that Jambo's first method in the OP works perfectly for Emerald if you substitute the addresses below. Also if you want to add in Contest data for new moves (only applies to R/S/E), the table locations and lengths are listed with the rest below below. I also copied the extra addresses from the end of the table instead of the beginning, but that shouldn't make any difference.

Table locations and lengths for Emerald/BPEE:
Code:
Attack Names - Start at 0x31977C, 4615 bytes (0x1207 hex) + 13*new
Attack Data - Start at 0x31C898, 4260 bytes (0x10A4 hex) + 12*new
      (PP Data - Start at 31C898+4)
Contest Move Data - Start at 0x58C2B4, 2840 bytes (0xB18 hex) + 8*new
Contest Effect Data - Start at 0x58CDCC, 1420 bytes (0x58C hex) + 4*new
Attack Description Table - Start at 0x61C524, 1420 bytes (0x58C hex) + 4*new
Attack Animation Table - Start at 0x2C8D6C, 1420 bytes (0x58C hex) + 4*new
__________________
Pokemon Sigma Σmerald:

A Gen 3 remake de-make, (soon to be) featuring many Gen VI mechanics
Reply With Quote
  #92    
Old January 20th, 2014, 07:05 PM
ShyRayq's Avatar
ShyRayq
Unprofessional Unprofessional
 
Join Date: Aug 2007
Gender: Male
Nature: Adamant
Okay, so, I've correctly inserted the 3 routines for extending the move table past 512 moves.
I also inserted Doesn't reworked routine instead of Jambo's one.
Now there's a new(?) problem.
So my moves a working fine, everything part 512 works fine. But the problem is that my pokemon will now, now longer learn a new move, regardless of whether it is a new move or an old move.
I've checked the routines, and pointers and everything. Is there something else wrong with the routine or am I just stupid?
__________________
3DS Friend Code: 5069-3944-3902
IGN: Peter, Pokemon Y
Friend Safari: (Fighting) Throh, Meditite, Breloom
Live Pokedex Completed as of 02/03/14
Big thanks especially to DestinedJagold, Xerneas_X and Elements1

PM me if you want to trade, or add my FC.
Reply With Quote
  #93    
Old January 21st, 2014, 11:55 AM
BugMania's Avatar
BugMania
The Bug Master
 
Join Date: Jun 2013
Gender: Male
Nature: Quiet
Quote:
Originally Posted by ShyRayq View Post
Okay, so, I've correctly inserted the 3 routines for extending the move table past 512 moves.
I also inserted Doesn't reworked routine instead of Jambo's one.
Now there's a new(?) problem.
So my moves a working fine, everything part 512 works fine. But the problem is that my pokemon will now, now longer learn a new move, regardless of whether it is a new move or an old move.
I've checked the routines, and pointers and everything. Is there something else wrong with the routine or am I just stupid?




See this routine I wrote:
Spoiler:

.text
.align 2
.thumb

Matriz:
mov r3, #0x0
ldr r1, Contador2
str r3, [r1]
ldr r1, moves
str r3, [r1]
add r1, #0x4
str r3, [r1]
add r1, #0x4
str r3, [r1]
add r1, #0x4
str r3, [r1]
LDR R1, movesettable
ADD R1, R6, R1
LDR r2, [R1]
LDR r3, var
STR r2, [r3]
Start:
mov r2, r10
LDR r3, var
LDR r3, [r3]
LDRB r3, [r3, #0x2]
CMP r3, r2
BLS Frente
ldr r1, var
ldr r2, [r1]
sub r2, #0x3
str r2, [r1]
B Compare
Frente:
LDR r2, var
LDR r2, [r2]
ADD r2, #0x3
LDR r3, var
STR r2, [r3]
B Start
Compare:
LDR r2, Contador
LDRB r2, [r2]
CMP r2, #0x4
BEQ end
LDR r2, var
LDR r2, [r2]
LDRH r2, [r2]
LDR r3, moves
LDRH r3, [r3]
LDR R7, Contador2
LDRB R7, [R7]
ADD r3, R7, r3
CMP r2, r3
BEQ Traz
LDR R7, Contador2
LDRB R7, [R7]
ADD R7, #0x3
LDR r2, Contador2
STRH R7, [r2]
LDR R7, Contador2
LDRB R7, [R7]
CMP R7, #0xC
Blo Compare
LDR R7, Contador2
MOV r2, #0x0
STRB r2, [R7]
B Insert
end:
MOV r3, #0x0
LDR r2, Contador
STR r3, [r2]
ldr r1, var
ldr r2, [r1]
add r2, #0x3
str r2, [r1]
LDR R1, movesettable
ADD R1, R6, R1
LDR r2, [R1]
ldr r1, var
ldr r3, [r1]
cmp r3, r2
bhs end1
str r2, [r1]
end1:
mov r2, #0x0
mov r3, #0x0
mov r4, #0x0
mov r7, #0x0
LDR R1, Go
bx r1
Traz:
LDR r1, var
LDR r2, [r1]
sub r2, #0x3
str r2, [r1]
B Compare


Insert:
LDR R7, Contador
LDRB R7, [R7]
MOV r2, #0x3
MUL R7, r2, R7
LDR r3, moves
ADD r3, R7, r3
LDR r2, var
LDR r2, [r2]
LDRB r2, [r2]
STRB r2, [r3]
LDR r2, var
LDR r2, [r2]
LDRB r2, [r2, #0x1]
STRB r2, [r3, #0x1]
LDR r2, var
LDR r2, [r2]
LDRB R2, [R2, #0x2]
STRB R2, [R3, #0x2]
LDR R7, Contador
LDRH R7, [R7]
ADD R7, #0x1
LDR r2, Contador
STRB R7, [r2]
b Traz

.align 2
var: .word 0x02FF7d24
Contador2: .word 0x02FF7D2C
moves: .word 0x02FF7D50
movesettable: .word 0x08XXXXXX
Contador: .word 0x02FF7D28
Go: .word 0xJAMBO51ROUTINEOFFSET

So, instead of using the routine of the Jambo51, use this:
Spoiler:

.text
.align 2
.thumb
.thumb_func
.global newmovesetstyle2
main:
ldrb r1, [r0, #0x2]
mov r2, #0xFF
cmp r1, r2
beq exit2
mov r9, r2
mov r3, #0x0
loop: lsl r0, r3, #0x1
add r0, r0, r3
ldr r1, =0x02FF7D24
ldr r1, [r1, #0x0]
add r7, r0, r1
ldrb r0, [r7, #0x2]
mov r4, r10
cmp r0, r4
bgt exit2
ldrb r1, [r7, #0x1]
ldrb r0, [r7, #0x0]
lsl r1, r1, #0x8
orr r1, r0
mov r0, r8
str r3, [sp, #0x0]
bl branchone
mov r5, r9
ldr r3, [sp, #0x0]
cmp r0, r9
bne exit
mov r0, r8
add r1, r4, #0x0
bl branchtwo
ldr r3, [sp, #0x0]
exit: add r3, #0x1
lsl r1, r3, #0x1
add r1, r1, r3
add r0, r7, r1
ldrb r0, [r0, #0x2]
cmp r0, r5
bne loop
exit2: add sp, #0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
branchone: push {r4-r7,lr}
add sp, #-0x4
ldr r7, gothere
bx r7
branchtwo: push {r4-r7}
ldr r7, gothere2
bx r7
.align
gothere: .word 0x0803E8B5
gothere2: .word 0x0803EC43
movesettable: .word 0x08FFFFFF

This causes, instead of loading the movesettable adding to the level of the Pokemon, directly loading a byte of memory to your taste!
...
In this case, the movements were loaded with my previous routine.
__________________
Even the smallest of beings can achieve the greatest of obstacles!
Click in the spoiler, if you dare!
Spoiler:


L
et's dream bigger than our bodies can endure!
G
et to the extreme!

See my works here

Reply With Quote
  #94    
Old January 21st, 2014, 10:43 PM
ShyRayq's Avatar
ShyRayq
Unprofessional Unprofessional
 
Join Date: Aug 2007
Gender: Male
Nature: Adamant
Wait wait, how would I insert those routines? I only inserted the second one and replaced Doesn't fixed routine with yours, so I essentially replaced the second routine.
That still wouldn't work, so I'm going to ask that, do I just insert the first routine anywhere? What other bytes do I have to modify to branch to the first routine?

My theory is that, maybe, the first routine is the problem, since the 512+ moves are loading correctly, and its just that I'm not learning any moves. But I don't know...
__________________
3DS Friend Code: 5069-3944-3902
IGN: Peter, Pokemon Y
Friend Safari: (Fighting) Throh, Meditite, Breloom
Live Pokedex Completed as of 02/03/14
Big thanks especially to DestinedJagold, Xerneas_X and Elements1

PM me if you want to trade, or add my FC.
Reply With Quote
  #95    
Old January 22nd, 2014, 01:24 AM
BugMania's Avatar
BugMania
The Bug Master
 
Join Date: Jun 2013
Gender: Male
Nature: Quiet
Quote:
Originally Posted by ShyRayq View Post
Wait wait, how would I insert those routines? I only inserted the second one and replaced Doesn't fixed routine with yours, so I essentially replaced the second routine.
That still wouldn't work, so I'm going to ask that, do I just insert the first routine anywhere? What other bytes do I have to modify to branch to the first routine?

My theory is that, maybe, the first routine is the problem, since the 512+ moves are loading correctly, and its just that I'm not learning any moves. But I don't know...
Ok, sorry if I was not very clear ...
Spoiler:

--------------------------------------------------------------------------------
The first routine (which I wrote) serves to locate the pokemon data.
You will insert it into any free space.
Instead of directly inserting the routine of the Jambo 51 (Change 0x3EA10 to 00 49 08 47 XX XX XX 08), insert this XXXXXX my routine +1.
Now you will have the data of the movements of the pokemon in an area of ​​memory, the 0x02FF7D24.
--------------------------------------------------------------------------------

Spoiler:

--------------------------------------------------------------------------------
The second routine is almost the same of the routine of the Jambo 51, ​​so this does not do the calculations, only handle the movements directly in 0x02FF7d24.
Now, where do you see what is written "JAMBO51ROUTINEOFFSET" you must put in this place to offset it a second routine that showed +1 (in any space).
--------------------------------------------------------------------------------
__________________
Even the smallest of beings can achieve the greatest of obstacles!
Click in the spoiler, if you dare!
Spoiler:


L
et's dream bigger than our bodies can endure!
G
et to the extreme!

See my works here

Reply With Quote
  #96    
Old January 22nd, 2014, 02:05 AM
ShyRayq's Avatar
ShyRayq
Unprofessional Unprofessional
 
Join Date: Aug 2007
Gender: Male
Nature: Adamant
After all of that, my Pokemon still won't learn any new moves.
However, the error in Jambo's original routine (the one Doesn't points out) has been erased so, that's a plus.

I'm sorry for causing you this trouble, but, I just think that figuring this out is something that needs to be done.
__________________
3DS Friend Code: 5069-3944-3902
IGN: Peter, Pokemon Y
Friend Safari: (Fighting) Throh, Meditite, Breloom
Live Pokedex Completed as of 02/03/14
Big thanks especially to DestinedJagold, Xerneas_X and Elements1

PM me if you want to trade, or add my FC.
Reply With Quote
  #97    
Old January 25th, 2014, 11:00 PM
Leafbarrett's Avatar
Leafbarrett
 
Join Date: Mar 2009
Age: 22
Welp, since nobody else wants to try to help out Emerald hackers, I guess I'll throw these in here.
These are all Emerald pointers, obviously.
Attack data: 31C898
Name data: 31977C
Anim data: 2C8D6C
Limiter: 14e504
Effects data: Haven't got a ****ing clue, the tutorial fails me for this one
Reply With Quote
  #98    
Old January 26th, 2014, 11:59 PM
bcrobert's Avatar
bcrobert
Lazy Antagonist
 
Join Date: Apr 2011
Gender: Male
Nature: Quirky
Quote:
Originally Posted by Leafbarrett View Post
Welp, since nobody else wants to try to help out Emerald hackers, I guess I'll throw these in here.
These are all Emerald pointers, obviously.
Attack data: 31C898
PP data: 31c89d
Name data: 31977C
Anim data: 2C8D6C
Limiter: 14e504
Effects data: 2d86a8
Contest data: 58c2b4
Does this help? My additions are in bold. I haven't tested these myself but I believe they're correct. Thought I'd chime in since you saved me the trouble of tracking down the limiter.

EDIT. Tlachtli had covered literally everything except the limiter without me realizing it somehow. These are correct but scroll up to post 91 for a more detailed answer.
__________________

Last edited by bcrobert; January 28th, 2014 at 09:06 PM. Reason: Derp
Reply With Quote
  #99    
Old January 27th, 2014, 11:31 AM
Teh Blazer's Avatar
Teh Blazer
Divider of Zero
 
Join Date: Feb 2009
Location: 'MERICA
Age: 19
Gender: Male
Nature: Relaxed
I repointed my table and added new moves, but now my status effect animations have changed to my new moves (ex: instead of z's when you're asleep a bunch of rocks fall on your head). Was there something I forgot to repoint?
__________________
Coming soon...
Reply With Quote
  #100    
Old January 27th, 2014, 01:36 PM
ShyRayq's Avatar
ShyRayq
Unprofessional Unprofessional
 
Join Date: Aug 2007
Gender: Male
Nature: Adamant
Quote:
Originally Posted by Teh Blazer View Post
I repointed my table and added new moves, but now my status effect animations have changed to my new moves (ex: instead of z's when you're asleep a bunch of rocks fall on your head). Was there something I forgot to repoint?
Is this just on the new moves or the old moves as well? If it's just the new moves, don't worry, that's normal because the animation pointers get shifted over one place. But if it's the old moves as well, you might have don't something very wrong with the pointers to the animation pointer table or messed up one of the animation script pointers. Make sure you backup and quintuple check everything.
__________________
3DS Friend Code: 5069-3944-3902
IGN: Peter, Pokemon Y
Friend Safari: (Fighting) Throh, Meditite, Breloom
Live Pokedex Completed as of 02/03/14
Big thanks especially to DestinedJagold, Xerneas_X and Elements1

PM me if you want to trade, or add my FC.
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 03:43 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.