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
  #201    
Old July 28th, 2013, 07:18 AM
LCCoolJ95's Avatar
LCCoolJ95
Limited Capacity
 
Join Date: May 2009
Location: The World That Never Was
Age: 19
Gender: Male
Nature: Naive
Hey, I found this in the thread today:
Quote:
Originally Posted by Darthatron View Post

Spoiler:
FireRed (US)
Code:
0803ED54: 80 7A
0803F226: 00 29
0803F228: 00 D0
0803F38C: 02 2F
0803F38E: 00 DB
0803F394: 01 28
0803F396: 00 D0
Ruby (US) 1
Code:
0803BA94: 80 7A
0803BFBE: 00 29
0803BFC0: 00 D0
0803C124: 02 2E
0803C126: 00 DB
0803C12C: 01 28
0803C12E: 00 D0
Emerald (US) 2
Code:
080695E8: 80 7A
08069A5A: 00 29
08069A5C: 00 D0
08069BC4: 02 2F
08069BC6: 00 DB
08069BCC: 01 28
08069BCE: 00 D0
1 Credit to Chaos Rush for the Ruby port; I don't even have a Ruby ROM. xD
2 Credit to colcolstyles for the Emerald hack; I based everything off of his post.
Seriously? All I have to do is this to get the Physical/Special Split to work in these games? Is there more to it than this, or is this really it?
__________________
"The greatest obstacle in life is Yourself. Overcome it, and you will achieve the greatest accomplishment of all." -Art Beins, 1982

Fairy-type in Pokémon Emerald: http://www.pokecommunity.com/showpos...&postcount=288
Reply With Quote
  #202    
Old July 28th, 2013, 08:36 AM
Uikri's Avatar
Uikri
 
Join Date: May 2013
Gender: Male
Quote:
Originally Posted by LCCoolJ95 View Post
Hey, I found this in the thread today: Seriously? All I have to do is this to get the Physical/Special Split to work in these games? Is there more to it than this, or is this really it?
There is more to it than this. First, apply Doesn'tKnowHowToPlay's patch for either Fire Red or Emerald. Then, open the ROM in Pokémon Game Editor (PGE). Go to the Attack Editor internal program, and manually switch every attack's category to the proper one, since the patch changes everything to physical for some reason. You may also want to change the casing of the words so that "FLAMETHROWER" becomes "Flamethrower", and so on.
Reply With Quote
  #203    
Old July 28th, 2013, 09:21 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by Uikri View Post
since the patch changes everything to physical for some reason.
This, I take issue with. It's not for some inexplicable reason, it's because the byte in question is normally set to 0, and 0 stands for Physical in the new split system. It's very simple.
__________________
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
  #204    
Old July 28th, 2013, 09:30 AM
Uikri's Avatar
Uikri
 
Join Date: May 2013
Gender: Male
Quote:
Originally Posted by Jambo51 View Post
This, I take issue with. It's not for some inexplicable reason, it's because the byte in question is normally set to 0, and 0 stands for Physical in the new split system. It's very simple.
However, at the time of writing, I did not know this. Hence, instead of spouting nonsense, I made it clear that I did not know exactly why this happens.
Reply With Quote
  #205    
Old July 29th, 2013, 06:05 AM
shamus24's Avatar
shamus24
 
Join Date: Jun 2013
Location: australia!
Gender: Male
just want to say thanks for all the work and research that has been put in to this implementation - it's easy to apply and makes a huge difference in the level of enjoyment players (or, at least, i) have while playing hacked games.
__________________
shamus24
Reply With Quote
  #206    
Old July 29th, 2013, 02:28 PM
LCCoolJ95's Avatar
LCCoolJ95
Limited Capacity
 
Join Date: May 2009
Location: The World That Never Was
Age: 19
Gender: Male
Nature: Naive
Quote:
Originally Posted by Uikri View Post
There is more to it than this. First, apply Doesn'tKnowHowToPlay's patch for either Fire Red or Emerald. Then, open the ROM in Pokémon Game Editor (PGE). Go to the Attack Editor internal program, and manually switch every attack's category to the proper one, since the patch changes everything to physical for some reason. You may also want to change the casing of the words so that "FLAMETHROWER" becomes "Flamethrower", and so on.
Well, that I knew about. But, that's it?
__________________
"The greatest obstacle in life is Yourself. Overcome it, and you will achieve the greatest accomplishment of all." -Art Beins, 1982

Fairy-type in Pokémon Emerald: http://www.pokecommunity.com/showpos...&postcount=288
Reply With Quote
  #207    
Old July 29th, 2013, 11:01 PM
Commander F's Avatar
Commander F
 
Join Date: Nov 2012
Gender: Male
Nature: Relaxed
Giga Drain is physical now? =/
Reply With Quote
  #208    
Old July 30th, 2013, 11:20 AM
dd409's Avatar
dd409
For the Swarm!
 
Join Date: Jul 2008
Gender: Male
Nature: Lax
Quote:
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.

Quote:
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.
Code:
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.

Code:
.align 2
.thumb
Start:
 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 
Finish:
 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
  #209    
Old August 5th, 2013, 07:34 PM
Tlachtli's Avatar
Tlachtli
Crit happens.
 
Join Date: Jan 2012
Location: Faraway place
Age: 23
Gender: Male
Nature: Modest
Quote:
Originally Posted by Darthatron View Post
Change these bytes:
Code:
@0813A130: 0x2F
@0813A17B: 0x47
@0813A1A0: [Pointer to Routine, plus 1 (one).]
I'm trying to do an Emerald hack and see no one has successfully ported the sprites for Emerald yet (or at least done so and posted it here). I want to do it myself, but I have a question: what is the purpose of changing those first two bytes? I'm trying to find their Emerald equivalents, but no luck yet. I've tried putting read breaks on them in a FR rom, but never seem to trigger a read so I can't tell what they do.

Also I've been looking at the logistics of it, and I'm trying to decide where the sprite would look best. The Emerald move screen isn't as accommodating as the FR one.

EDIT: So in a huge oversight, I forgot that names could be longer than Raichu's... :/ Looks like 2 may be the better option, although I don't really like the positioning of it. That, or maybe print it over the little markings above the Poke portrait; I dunno about you guys, but I have literally never used the markings before.

__________________
Pokemon Sigma Σmerald (alpha 1):

A Gen 3 remake de-make, featuring many Gen VI mechanics

Last edited by Tlachtli; August 11th, 2013 at 08:48 AM. Reason: Removed bad info
Reply With Quote
  #210    
Old August 11th, 2013, 05:49 AM
Deokishisu's Avatar
Deokishisu
Mr. Magius
 
Join Date: Feb 2006
Location: If I'm online, it's a safe bet I'm at a computer.
Gender: Male
Nature: Relaxed
Quote:
Originally Posted by Tlachtli View Post
I'm trying to do an Emerald hack and see no one has successfully ported the sprites for Emerald yet (or at least done so and posted it here). I want to do it myself, but I have a question: what is the purpose of changing those first two bytes? I'm trying to find their Emerald equivalents, but no luck yet. I've tried putting read breaks on them in a FR rom, but never seem to trigger a read so I can't tell what they do.

I have an idea of numbers should work for BPEE, but since I haven't found the right address for the routine pointer in Emerald yet I haven't tested it:
Code:
.MoveBase:  .word 0x0831C898
.number: .word 0x00003258
.CurMoveIndex: .word 0x0201170C
.Move_List_Loc:  .word 0x0201042C
.VRAM:   .word 0x06001800  [1]
.SplitImages: .word 0x08E3CFB0 (just where I have it stored)
.Some_Offset: .word 0x0203cf1c  [2]
.Return_Addr: .word 0x081C3F6C  [2]
[1] I assume this is empty VRAM used to store the sprites? It doesn't seem to be used in a clean rom.
[2] I have potential 2 addresses in mind here, but I haven't been able to test to see which works, if at all.

Also I've been looking at the logistics of it, and I'm trying to decide where the sprite would look best. The Emerald move screen isn't as accommodating as the FR one.

EDIT: So in a huge oversight, I forgot that names could be longer than Raichu's... :/ Looks like 2 may be the better option, although I don't really like the positioning of it. That, or maybe print it over the little markings above the Poke portrait; I dunno about you guys, but I have literally never used the markings before.

Honestly? I'd make a smaller icon and slap it in that gap after "POWER". That seems the most intuitive to me anyway, as, with the icon, it'll read "POWER (Physical)" "POWER (Special)" if you're looking at it. Plus, those icons are unnecessarily huge as it is. They certainly don't have to be that big on our tiny GBA screen.

EDIT: I took a minute and shrunk down the icons. I literally just took them in horizontally by six pixels and fixed up the special one so that it's centered. The icon image is set up so that it can be pasted directly over the one Darth provided, if you've already inserted it. It's attached to this post now, along with a mockup of how it would look next to POWER (with the base image shamelessly stolen from your post).
Attached Images
File Type: png Tiny Icons.png‎ (500 Bytes, 27 views) (Save to Dropbox)
File Type: png Tiny Icons Mockup.png‎ (7.8 KB, 71 views) (Save to Dropbox)

Last edited by Deokishisu; August 11th, 2013 at 06:08 AM.
Reply With Quote
  #211    
Old August 11th, 2013, 08:56 AM
Tlachtli's Avatar
Tlachtli
Crit happens.
 
Join Date: Jan 2012
Location: Faraway place
Age: 23
Gender: Male
Nature: Modest
Quote:
Originally Posted by Deokishisu View Post
Honestly? I'd make a smaller icon and slap it in that gap after "POWER". That seems the most intuitive to me anyway, as, with the icon, it'll read "POWER (Physical)" "POWER (Special)" if you're looking at it. Plus, those icons are unnecessarily huge as it is. They certainly don't have to be that big on our tiny GBA screen.

EDIT: I took a minute and shrunk down the icons. I literally just took them in horizontally by six pixels and fixed up the special one so that it's centered. The icon image is set up so that it can be pasted directly over the one Darth provided, if you've already inserted it. It's attached to this post now, along with a mockup of how it would look next to POWER (with the base image shamelessly stolen from your post).
Now I'm wondering why I didn't think of that The mock-up looks great.

EDIT: Never mind. I'm pretty sure most of that was wrong.
__________________
Pokemon Sigma Σmerald (alpha 1):

A Gen 3 remake de-make, featuring many Gen VI mechanics

Last edited by Tlachtli; January 2nd, 2014 at 05:23 PM.
Reply With Quote
  #212    
Old August 21st, 2013, 06:36 PM
Uikri's Avatar
Uikri
 
Join Date: May 2013
Gender: Male
So, I'm getting reports from people I've shared my edited Emerald ROM with that the split didn't work. Have we confirmed that after applying the patch, PGE can be used instead of a hex-editor to change the category of each move to the proper one?
Reply With Quote
  #213    
Old August 22nd, 2013, 06:42 PM
Tlachtli's Avatar
Tlachtli
Crit happens.
 
Join Date: Jan 2012
Location: Faraway place
Age: 23
Gender: Male
Nature: Modest
Quote:
Originally Posted by Uikri View Post
So, I'm getting reports from people I've shared my edited Emerald ROM with that the split didn't work. Have we confirmed that after applying the patch, PGE can be used instead of a hex-editor to change the category of each move to the proper one?
The patch seemed to work on mine. I tested it with Torchic and Scratch. I made two Roms, one where Scratch was physical and one where it was special. I set Torchic's base special attack to 255 and base attack to 1 (just to be sure that Scratch would be treated differently from the vanilla Rom). The physical Scratch did almost nothing while the special one just one-shotted May's Mudkip. I haven't tested Counter or any abilities yet.
__________________
Pokemon Sigma Σmerald (alpha 1):

A Gen 3 remake de-make, featuring many Gen VI mechanics
Reply With Quote
  #214    
Old October 14th, 2013, 10:10 PM
lyko's Avatar
lyko
 
Join Date: Sep 2009
Gender: Male
Anyway if I want to test the Physical / Special Split full which should I use?
__________________

Reply With Quote
  #215    
Old October 15th, 2013, 06:56 AM
Shufflejoy's Avatar
Shufflejoy
♀ not ♂
 
Join Date: Sep 2013
Location: Iowa
Gender: Female
Nature: Timid
This is probably a moot point since this is essentially a finished development now, but I was thinking... there's already a system in the 3rd Gen games to determine whether or not a move makes contact (necessary for abilities like Static)... are there any Physical moves that don't make contact? Any Special moves that do? While it offers more power to be able to have a move make contact *and* be Special, if there are no vanilla moves which are that way (or vice versa), wouldn't it be simpler to read that byte instead?

(**I didn't actually check to see if there were any moves like this, so I may have just overlooked some. I'm only really familiar with the 1/2/3rd Gen moves, anyway.)
Reply With Quote
  #216    
Old October 15th, 2013, 07:06 AM
LCCoolJ95's Avatar
LCCoolJ95
Limited Capacity
 
Join Date: May 2009
Location: The World That Never Was
Age: 19
Gender: Male
Nature: Naive
Quote:
Originally Posted by Moxxie View Post
This is probably a moot point since this is essentially a finished development now, but I was thinking... there's already a system in the 3rd Gen games to determine whether or not a move makes contact (necessary for abilities like Static)... are there any Physical moves that don't make contact? Any Special moves that do? While it offers more power to be able to have a move make contact *and* be Special, if there are no vanilla moves which are that way (or vice versa), wouldn't it be simpler to read that byte instead?

(**I didn't actually check to see if there were any moves like this, so I may have just overlooked some. I'm only really familiar with the 1/2/3rd Gen moves, anyway.)
Within Pokemon Game Editor's Attack Editor, it has a list of checkboxes. One of them has the option of whether or not that move makes contact with the opponent.
__________________
"The greatest obstacle in life is Yourself. Overcome it, and you will achieve the greatest accomplishment of all." -Art Beins, 1982

Fairy-type in Pokémon Emerald: http://www.pokecommunity.com/showpos...&postcount=288
Reply With Quote
  #217    
Old October 15th, 2013, 07:13 AM
Shufflejoy's Avatar
Shufflejoy
♀ not ♂
 
Join Date: Sep 2013
Location: Iowa
Gender: Female
Nature: Timid
Quote:
Originally Posted by LCCoolJ95 View Post
Within Pokemon Game Editor's Attack Editor, it has a list of checkboxes. One of them has the option of whether or not that move makes contact with the opponent.
Yes, I know; what I'm saying is this.

Typically, one would expect that:
  • Physical moves would always make contact
  • Special moves will never make contact

If this is actually the case, it would be simpler to implement this if the routine read whether it made contact or not to determine which attack stat to use. This offers less power than the current method (in that, as it stands a move can both make contact and use the Special Attack stat), but it would be much easier to implement as the data is already in the game.

I'll look into this some more, to see if there are any moves that go against what I'm thinking. If there are any in the official games, then this is all just moot. But if all Physical moves make contact, and all Special moves do not, then I believe the best solution would be to read that byte and save people the trouble of manually setting the moves if they don't have to.
Reply With Quote
  #218    
Old October 15th, 2013, 07:16 AM
DoesntKnowHowToPlay's Avatar
DoesntKnowHowToPlay
some loser
 
Join Date: Jan 2012
rock throw, rock slide, earthquake, razor leaf, etc. are all physical but don't make contact

if you go into the future there's also grass knot which is special but does make contact
__________________

Yet Another Fire Red Hack

Physical/Special Split
Reply With Quote
  #219    
Old October 15th, 2013, 07:18 AM
Shufflejoy's Avatar
Shufflejoy
♀ not ♂
 
Join Date: Sep 2013
Location: Iowa
Gender: Female
Nature: Timid
Quote:
Originally Posted by DoesntKnowHowToPlay View Post
rock throw, rock slide, earthquake, razor leaf, etc. are all physical but don't make contact

if you go into the future there's also grass knot which is special but does make contact
Understood. Now that I know for sure, I suppose I'll just go ahead and edit the moves manually. Thanks!
Reply With Quote
  #220    
Old October 15th, 2013, 04:17 PM
Teh Blazer's Avatar
Teh Blazer
Divider of Zero
 
Join Date: Feb 2009
Location: 'MERICA
Age: 18
Gender: Male
Nature: Relaxed
Can I apply DOesntKnowHowToPlay's patch to an edited ROM or can it only be applied to a vanilla FR ROM?
__________________
Coming soon...
Reply With Quote
  #221    
Old October 15th, 2013, 06:12 PM
Shufflejoy's Avatar
Shufflejoy
♀ not ♂
 
Join Date: Sep 2013
Location: Iowa
Gender: Female
Nature: Timid
Quote:
Originally Posted by Teh Blazer View Post
Can I apply DOesntKnowHowToPlay's patch to an edited ROM or can it only be applied to a vanilla FR ROM?
As long as you haven't patched the routines for calculating the attack stat to use in battle, I believe you should be fine (though you will have to manually set each move to either Phys/Spec in PGE, a hex editor, or using Nightmare).

Of course, the simplest way to answer your question is to just say: Probably. Back up your ROM first, though.
Reply With Quote
  #222    
Old October 18th, 2013, 11:50 AM
Haradion
 
Join Date: May 2013
Gender: Male
Hey there.
Noob Alert.

I have just found this thread - after less than a week of entering the world of Hacking, so I am feeling a little overwhelmed.

I don't want to break my game - so I don't particularly want to try this out yet, unless there is a clear, comprehensive tutorial on it.
Sorry to be the annoying noob.

Is there a Tutorial for applying this yet (That assumes the person has 0 knowledge of Hacking)?
:D
Hoping that this will jump start my hacking carreer. :D
Reply With Quote
  #223    
Old October 18th, 2013, 03:06 PM
lyko's Avatar
lyko
 
Join Date: Sep 2009
Gender: Male
Very good, but some good soul could do a huge favor to create an IPS with these following items?

Physical/Special Split Of DoesntKnowHowToPlay

Physical/Special Split Icons Of Darthatron And Suggested fix by Jambo51
__________________

Reply With Quote
  #224    
Old October 18th, 2013, 05:07 PM
Teh Blazer's Avatar
Teh Blazer
Divider of Zero
 
Join Date: Feb 2009
Location: 'MERICA
Age: 18
Gender: Male
Nature: Relaxed
Quote:
Originally Posted by lyko View Post
Very good, but some good soul could do a huge favor to create an IPS with these following items?

Physical/Special Split Of DoesntKnowHowToPlay

Physical/Special Split Icons Of Darthatron And Suggested fix by Jambo51
Ask and you shall receive.

http://www.mediafire.com/?m2q5vmmm564iu6k

A couple things to note:
-The inserts started at 800000
-I was watching tv while doing the manuak editing of the moves, so some might be wrong
-No need to credit me, I didn't do much besides apply the DoesntKnowHowToPlay patch and assemble Darthatron's routine with the Jambo fix. But if you want to credit me anyways, I wouldn't mind. :3
__________________
Coming soon...
Reply With Quote
  #225    
Old October 18th, 2013, 05:34 PM
lyko's Avatar
lyko
 
Join Date: Sep 2009
Gender: Male
More than beauty, now! you're the guy Teh Blazer! I'm very grateful at the end put your deserved credit! again thank you! is very functional!
__________________

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 02:13 AM.


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.