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
  #376    
Old August 24th, 2013 (11:55 AM).
karatekid552's Avatar
karatekid552
What happens if I push it?....
 
Join Date: Nov 2012
Location: Do you really want to know? Really?
Gender: Male
Nature: Bold
Send a message via AIM to karatekid552 Send a message via Windows Live Messenger to karatekid552 Send a message via Skype™ to karatekid552
Quote:
Originally Posted by slawter666 View Post
Now this has probably posted before but I couldn't find it and it seems like a fun feature: Riding pokémon like in the upcoming games.

I'm not too well versed with programming but my idea is as follows:

My idea would be to have a bit for each pokémon that determines whether it is "ridable" or not. On the menu where you can view the pokémon's stats, held item etc there would be a check for this bit and if it is the value that means its ridable a ride option would appear, if not it wouldn't. Once selected the appropriate overworld would be loaded determined by something unique to each pokemon (id number?) and all would be great. Obviously going through this step everytime you want to ride a pokémon would be tedious so this feature could replace the bike. The last pokemon you rode could be stored somehow so when you press select the game would look to see if that pokémon was in your party and if not it would just load the regular bike sprite.

There would need to be a lot of custom overworlds made but the HGSS pokemon overworlds could be used for now.

As I said previously I'm not familiar with coding so various details could be wrong/far more complicated than I made out.

Something similar could be done with surf I guess.

Has anyone considered/attempted this before? I do think it would make a very interesting feature.
This would be interesting. I'm imagining more of a hack of the surf routine for this.... Just run that whole routine the same, but make the image change.
__________________

Paired with Simba
Reply With Quote
  #377    
Old August 24th, 2013 (04:36 PM).
SBird
 
Join Date: Aug 2009
Gender: Male
I acutally thought about this when I was asking the new cut like moves thingy. My current idea is to hijack the overworld routine(which basically takes the Overworld ID as input and then loads the sprite) so that the bike overworld is replaced by a dynamic ID. This way you don't have to concern about graphics anymore. I actually already wrote such a routine, but replaced the normal hero OW, it would not be a problem to extend this for the bike OW though. I also thought about making an item to do this job, one could basically hack the bike routine to do this and just check for any ridable pokémon in the current party. If there is no such pokémon it would basically not work and display a message. It would be way cooler though to have the ability on the pokémon itself(Like on the menu or as a dedicated move)

Everything else can be done very easily(You can see the outcome of this in the pokémon sovereign of the skies thread or on the youtube video: https://www.youtube.com/watch?v=IcYepxEgAHA

I may also give you the code sample for this if you want just ask me via PM it's for the german emerald version though (BPED) and you need to figure out the needed branches and routines yourself for your version(also the dedicated offsets)

What would be still really nice would be a way to implement this in a user friendly way. An item would be fine but how would it look like? Like a whip? Guess that would be rather harsh. Also the user can't decide which pokémon to ride this way. Not the best option I suppose...

~SBird
Reply With Quote
  #378    
Old August 24th, 2013 (07:34 PM).
karatekid552's Avatar
karatekid552
What happens if I push it?....
 
Join Date: Nov 2012
Location: Do you really want to know? Really?
Gender: Male
Nature: Bold
Send a message via AIM to karatekid552 Send a message via Windows Live Messenger to karatekid552 Send a message via Skype™ to karatekid552
Quote:
Originally Posted by SBird View Post
I acutally thought about this when I was asking the new cut like moves thingy. My current idea is to hijack the overworld routine(which basically takes the Overworld ID as input and then loads the sprite) so that the bike overworld is replaced by a dynamic ID. This way you don't have to concern about graphics anymore. I actually already wrote such a routine, but replaced the normal hero OW, it would not be a problem to extend this for the bike OW though. I also thought about making an item to do this job, one could basically hack the bike routine to do this and just check for any ridable pokémon in the current party. If there is no such pokémon it would basically not work and display a message. It would be way cooler though to have the ability on the pokémon itself(Like on the menu or as a dedicated move)

Everything else can be done very easily(You can see the outcome of this in the pokémon sovereign of the skies thread or on the youtube video: https://www.youtube.com/watch?v=IcYepxEgAHA

I may also give you the code sample for this if you want just ask me via PM it's for the german emerald version though (BPED) and you need to figure out the needed branches and routines yourself for your version(also the dedicated offsets)

What would be still really nice would be a way to implement this in a user friendly way. An item would be fine but how would it look like? Like a whip? Guess that would be rather harsh. Also the user can't decide which pokémon to ride this way. Not the best option I suppose...

~SBird
I think a saddle would work. However, your method is much more difficult than mine. The structure of OWs involves 4 different tables, and each sprite, just for headers and pointers, nevermind the images themselves, would need at least 30 bytes, per image. For my idea, we would just read directly from an image table with 12 bytes max (pokemon number (2bytes), img pointer (4 bytes), palette pointer (4 bytes)). And we wouldn't have to deal with all of the extra data that OWs have.

Also, I'm sad to say, that on Emerald, there is no hack to allow more than 256 OWs. Right now, emerald is already at 240. This would limit you to an extreme amount unless you port over JPAN's massive OW hack.

On another note, we could also just hack the OW loader, so that when it is loading the bike, we simply push it to a different table, but using all of the same parameters as the bike. Then we wouldn't need to worry about expanding OWs.

If Jambo is interested, he could code it into a move himself, since he knows how to, but I don't know if this would be his thing.

If you do want to continue with the bike OW thing, go to RHO. I just finished code to force an immediate OW switch that doesn't require a reload of the screen or warping.
__________________

Paired with Simba
Reply With Quote
  #379    
Old August 24th, 2013 (08:26 PM). Edited August 24th, 2013 by SBird.
SBird
 
Join Date: Aug 2009
Gender: Male
Quote:
Originally Posted by karatekid552 View Post
I think a saddle would work. However, your method is much more difficult than mine. The structure of OWs involves 4 different tables, and each sprite, just for headers and pointers, nevermind the images themselves, would need at least 30 bytes, per image. For my idea, we would just read directly from an image table with 12 bytes max (pokemon number (2bytes), img pointer (4 bytes), palette pointer (4 bytes)). And we wouldn't have to deal with all of the extra data that OWs have.

Also, I'm sad to say, that on Emerald, there is no hack to allow more than 256 OWs. Right now, emerald is already at 240. This would limit you to an extreme amount unless you port over JPAN's massive OW hack.

On another note, we could also just hack the OW loader, so that when it is loading the bike, we simply push it to a different table, but using all of the same parameters as the bike. Then we wouldn't need to worry about expanding OWs.

If Jambo is interested, he could code it into a move himself, since he knows how to, but I don't know if this would be his thing.

If you do want to continue with the bike OW thing, go to RHO. I just finished code to force an immediate OW switch that doesn't require a reload of the screen or warping.
I don't think it would be a problem to expand the OW table or at least use some sort of switch to use an alternate table if needed. I did not try it though. I already have my code to change the OW. Actually as said i'm only hijacking the loader routine and switching out the parameter(which is passed by r0 or r1, not quite sure at the moment) to make the game load a different OW. It does not actually effect how the sprite is handled by the game, so if you load a sprite without running animation you won't have one, the game will just accept it as being the new hero OW. If you do load a sprite with a few extra frames it will be no problem eighter, they are just not used. Also if you replace the bike and use the bike routine one will be able to "ride" a pokémon. If it is needed you would also have to expand the OW table. In fact this is (i guess) regulated by a simple cmp opcode to check if the passed argument is greater than the fixed value, if it is, it handles it differently and I guess OWs over 255(1byte) will be killed by the standardized lsl lsr structures that classifies the argument as a byte value, leaving only the last 8 bit of the parsed value. If someone wants to increase the amount of OWs in the table he would have to a) repoint the table to somewhere in the rom, b) increase the parsed value to at least half-word size and c) bypass the compare that is used by the game to check wether the OW is one of the "special treated" ones. Maybe you could arrange it so that those won't get lost and you just load your real OWs above the byte border again. I don't know exactly what those few OWs are for, but I guess if you are able to keep them you always should because it's part of the main game.

I did once write a routine to at least use more than one OW table therefore I know that it's working, but I did not test to expand the current table at all. I just don't see any obstacles(I did not look at JPANs routines eighter, since they are all for Firered and I guess at least in the part of how the game handles overworlds those two have some differences, at least in FR OWs are also captable of executing scripts if the right sort of behavior byte is set, this is not the case in Emerald)

Well I guess i will try to use some sort of item first, for the moment I just can't come up with another solution probably it is also possible to implement some sort of "professional tamer" who allows you to "set" your saddle to a specific pokémon which of course can be "ridden" so you have an actual explanation for the player. Still using a ride move would be the best solution(in my opinion) but who knows what the future brings...

~SBird

Edit: I guess if one expands the OW table he is also not able to use the new OW regularly on a map, at least advance map does not allow half word sized values. I don't know if this is also stored in byte form but it should'nt bother the game if it loads it from a dynamic ram adress like a in-game variable or something, you can basically store the "new bike" OWs and everything you do not need to use like regurarly on a map beyond the byte limit and your regular ows befor that. I don't know how JPAN worked himself arround this problem, I'm pretty sure advance map and other mapping tools won't support entrys beyond one byte if the map structure does not allow it. JPAN would have to hack the whole map structure which would make all the normal maps unuseable and the tools had to adapt themselves which is also unknown to me(Maybe i'm just uninformed)
Reply With Quote
  #380    
Old August 25th, 2013 (09:31 AM).
karatekid552's Avatar
karatekid552
What happens if I push it?....
 
Join Date: Nov 2012
Location: Do you really want to know? Really?
Gender: Male
Nature: Bold
Send a message via AIM to karatekid552 Send a message via Windows Live Messenger to karatekid552 Send a message via Skype™ to karatekid552
Quote:
Originally Posted by SBird View Post
I don't think it would be a problem to expand the OW table or at least use some sort of switch to use an alternate table if needed. I did not try it though. I already have my code to change the OW. Actually as said i'm only hijacking the loader routine and switching out the parameter(which is passed by r0 or r1, not quite sure at the moment) to make the game load a different OW. It does not actually effect how the sprite is handled by the game, so if you load a sprite without running animation you won't have one, the game will just accept it as being the new hero OW. If you do load a sprite with a few extra frames it will be no problem eighter, they are just not used. Also if you replace the bike and use the bike routine one will be able to "ride" a pokémon. If it is needed you would also have to expand the OW table. In fact this is (i guess) regulated by a simple cmp opcode to check if the passed argument is greater than the fixed value, if it is, it handles it differently and I guess OWs over 255(1byte) will be killed by the standardized lsl lsr structures that classifies the argument as a byte value, leaving only the last 8 bit of the parsed value. If someone wants to increase the amount of OWs in the table he would have to a) repoint the table to somewhere in the rom, b) increase the parsed value to at least half-word size and c) bypass the compare that is used by the game to check wether the OW is one of the "special treated" ones. Maybe you could arrange it so that those won't get lost and you just load your real OWs above the byte border again. I don't know exactly what those few OWs are for, but I guess if you are able to keep them you always should because it's part of the main game.

I did once write a routine to at least use more than one OW table therefore I know that it's working, but I did not test to expand the current table at all. I just don't see any obstacles(I did not look at JPANs routines eighter, since they are all for Firered and I guess at least in the part of how the game handles overworlds those two have some differences, at least in FR OWs are also captable of executing scripts if the right sort of behavior byte is set, this is not the case in Emerald)

Well I guess i will try to use some sort of item first, for the moment I just can't come up with another solution probably it is also possible to implement some sort of "professional tamer" who allows you to "set" your saddle to a specific pokémon which of course can be "ridden" so you have an actual explanation for the player. Still using a ride move would be the best solution(in my opinion) but who knows what the future brings...

~SBird

Edit: I guess if one expands the OW table he is also not able to use the new OW regularly on a map, at least advance map does not allow half word sized values. I don't know if this is also stored in byte form but it should'nt bother the game if it loads it from a dynamic ram adress like a in-game variable or something, you can basically store the "new bike" OWs and everything you do not need to use like regurarly on a map beyond the byte limit and your regular ows befor that. I don't know how JPAN worked himself arround this problem, I'm pretty sure advance map and other mapping tools won't support entrys beyond one byte if the map structure does not allow it. JPAN would have to hack the whole map structure which would make all the normal maps unuseable and the tools had to adapt themselves which is also unknown to me(Maybe i'm just uninformed)
JPAN's hack, in its entirety, enables up to 65000 and most of the routines taken exist in all Advance Gen games, especially the main loader, which is exactly the same. However, I have a better idea.

What I am seeing, if we continue with the bike, is a hack near the end of the routine which branches if the hero's bike is being loaded. At that point, we send it to check a var which will then read from a table and load the correct sprite. This, combined with my OW hack (simply for instaloading of palettes) would work well and wouldn't require an expansion of OWs.
__________________

Paired with Simba
Reply With Quote
  #381    
Old August 25th, 2013 (12:12 PM).
SBird
 
Join Date: Aug 2009
Gender: Male
Quote:
Originally Posted by karatekid552 View Post
JPAN's hack, in its entirety, enables up to 65000 and most of the routines taken exist in all Advance Gen games, especially the main loader, which is exactly the same. However, I have a better idea.

What I am seeing, if we continue with the bike, is a hack near the end of the routine which branches if the hero's bike is being loaded. At that point, we send it to check a var which will then read from a table and load the correct sprite. This, combined with my OW hack (simply for instaloading of palettes) would work well and wouldn't require an expansion of OWs.
That could probably work as well, guess I'm going to consider implementing some of that after I finished implementing all the gen4/5 stuff...
There is still no solution for the "how", I'm still not converned by the idea of implementing an item for the sole purpose of riding a pokémon which you can't even choose.

~SBird
Reply With Quote
  #382    
Old August 25th, 2013 (01:47 PM).
Shiny Quagsire's Avatar
Shiny Quagsire
I like .short's because they're comfy and easy to wear.
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
If you ever feel the urge to stone a Pokemon to death, setting the byte at 080169D4 from 0x6 to 0x0 will make it so Pokemon don't flee after throwing 20 rocks at them in the safari zone in Fire Red. Not sure if anyone will ever actually use this but whatever.
__________________



Reply With Quote
  #383    
Old August 25th, 2013 (03:58 PM).
karatekid552's Avatar
karatekid552
What happens if I push it?....
 
Join Date: Nov 2012
Location: Do you really want to know? Really?
Gender: Male
Nature: Bold
Send a message via AIM to karatekid552 Send a message via Windows Live Messenger to karatekid552 Send a message via Skype™ to karatekid552
Quote:
Originally Posted by SBird View Post
That could probably work as well, guess I'm going to consider implementing some of that after I finished implementing all the gen4/5 stuff...
There is still no solution for the "how", I'm still not converned by the idea of implementing an item for the sole purpose of riding a pokémon which you can't even choose.

~SBird
How is REALLY easy. We just make an item that checks species vs a table. If the species number appears on the table, said pokemon can be ridden. Now, it is only what that item is.
__________________

Paired with Simba
Reply With Quote
  #384    
Old August 26th, 2013 (06:28 PM).
Shiny Quagsire's Avatar
Shiny Quagsire
I like .short's because they're comfy and easy to wear.
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Found the offset to disable Safari Zone pokemon from running in Pokemon Ruby. It's exactly the same procedure as my post above, but at offset 08014D3C.
__________________



Reply With Quote
  #385    
Old August 27th, 2013 (09:53 AM).
GoGoJJTech's Avatar
GoGoJJTech
http://GoGoJJTech.com (WIP!)
Community Supporter
 
Join Date: Nov 2012
Location: Earth
Age: 16
Gender: Male
Nature: Quiet
The behavior bytes in Advance Map are stored in a really weird format. The later ones such as 80s-90s usually display messages. Each script is 9 bytes long, and is stored in a table. So I decided to find the start of said table by going 9 bytes left until I hit 0. The problem is, The area where I ended contains scripts like adding an item from "MSG_OBTAIN". So this is a stumble...
__________________
Reply With Quote
  #386    
Old August 28th, 2013 (09:30 AM).
trafalgar's Avatar
trafalgar
Hasgana
 
Join Date: Aug 2010
Gender: Female
Is there any way to swap the values ​​of two registers?
r1 -> r2
r1 <- r2

Excuse my English but I use google translator: \
Reply With Quote
  #387    
Old August 28th, 2013 (09:32 AM).
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 trafalgar View Post
Is there any way to swap the values ​​of two registers?
r1 -> r2
r1 <- r2

Excuse my English but I use google translator: \
This question goes here http://www.pokecommunity.com/showthr...84#post7807384
But anyway you could store r1 in r3, then put r2 in r1, then r3 in r2
Like this:
r1 -> r3
r2 -> r1
r3 -> r2

But clear r3 afterwards. The command you should use is mov.
__________________
Reply With Quote
  #388    
Old August 28th, 2013 (01:41 PM).
karatekid552's Avatar
karatekid552
What happens if I push it?....
 
Join Date: Nov 2012
Location: Do you really want to know? Really?
Gender: Male
Nature: Bold
Send a message via AIM to karatekid552 Send a message via Windows Live Messenger to karatekid552 Send a message via Skype™ to karatekid552
Quote:
Originally Posted by gogojjtech View Post
This question goes here http://www.pokecommunity.com/showthr...84#post7807384
But anyway you could store r1 in r3, then put r2 in r1, then r3 in r2
Like this:
r1 -> r3
r2 -> r1
r3 -> r2

But clear r3 afterwards. The command you should use is mov.
Don't clear it, push it. So:

Push {r3}
Mov r3, r1
Mov r1, r2
Mov r2, r3
Pop {r3}
__________________

Paired with Simba
Reply With Quote
  #389    
Old September 5th, 2013 (04:11 AM).
xGal's Avatar
xGal
Playing some ESL
 
Join Date: Nov 2011
Location: A tree
Gender: Male
Nature: Bold
In Jambo's DirectSound voices per moment extention he said that the maximum for FR/LG/E is 12 DirectSound voices per moment and 7 in R/S. If you will choose a higher number, the game will probably freeze, crash, slow down etc.

So is it possible to extend the limit using an ASM code?
__________________
Hey guys, I made a soundcloud account not long ago, and I would be very happy if you guys will check it out: https://soundcloud.com/dewombat. Thanks .

Also, if you ever wanted to make a ROM hacking tool, click here: http://www.pokecommunity.com/showthread.php?t=334348
Reply With Quote
  #390    
Old September 5th, 2013 (02:02 PM).
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by galooloo View Post
In Jambo's DirectSound voices per moment extention he said that the maximum for FR/LG/E is 12 DirectSound voices per moment and 7 in R/S. If you will choose a higher number, the game will probably freeze, crash, slow down etc.

So is it possible to extend the limit using an ASM code?
It's tied to the way that the IWRAM is used, so not without a huge overhaul of the engine, and even if you did, you could only gain 4 extra channels (not tracks).

In all the GBA games, the max number of tracks is 10. The max number of channels is what you're changing.
__________________
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
  #391    
Old September 5th, 2013 (04:15 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 Jambo51 View Post
It's tied to the way that the IWRAM is used, so not without a huge overhaul of the engine, and even if you did, you could only gain 4 extra channels (not tracks).

In all the GBA games, the max number of tracks is 10. The max number of channels is what you're changing.
The max is NOT 10 as ipatix and I were able to make it 16. http://www.pokecommunity.com/showpos...63&postcount=1
__________________
Reply With Quote
  #392    
Old September 6th, 2013 (12:47 PM).
slawter666
 
Join Date: Sep 2008
Quote:
Originally Posted by karatekid552 View Post
I just finished code to force an immediate OW switch that doesn't require a reload of the screen or warping.
Could your code in theory be adapted for an item. I could think of a load of uses for various costumes within the game, especially if the game is able to check the players OW id number. And if the bag had its own "costume" pocket it could had a whole new level of customisation.

Oh and I think a saddle would be the most appropriate item in order to ride pokemon.
__________________
Reply With Quote
  #393    
Old September 6th, 2013 (01:51 PM).
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by gogojjtech View Post
The max is NOT 10 as ipatix and I were able to make it 16. http://www.pokecommunity.com/showpos...63&postcount=1
OK, let me rephrase. The max without hacking is 10. Snarky comments like this are why I quit ROM Hacking. Happy now?
__________________
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
  #394    
Old September 6th, 2013 (01:52 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 Jambo51 View Post
OK, let me rephrase. The max without hacking is 10. Snarky comments like this are why I quit ROM Hacking. Happy now?
Sorry if it came out that way
__________________
Reply With Quote
  #395    
Old September 10th, 2013 (08:23 PM).
Shiny Quagsire's Avatar
Shiny Quagsire
I like .short's because they're comfy and easy to wear.
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Quote:
Originally Posted by Jambo51 View Post
OK, let me rephrase. The max without hacking is 10. Snarky comments like this are why I quit ROM Hacking. Happy now?
Gosh, look what you did gogojjtech. Making Jambo51 quit like dat...

Back on topic, I found the battle script associated with both Birch's whining as well as the "Can't Escape!" message in Ruby. The offset of the script is 0x1d8e44 for those interested.
__________________



Reply With Quote
  #396    
Old September 11th, 2013 (01:17 PM).
Full Metal's Avatar
Full Metal
C(++) Developer.
Community Supporter
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to Full Metal
Quote:
Originally Posted by shiny quagsire View Post
Gosh, look what you did gogojjtech. Making Jambo51 quit like dat...

Back on topic, I found the battle script associated with both Birch's whining as well as the "Can't Escape!" message in Ruby. The offset of the script is 0x1d8e44 for those interested.
Does it also include eht battling part
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #397    
Old September 12th, 2013 (01:31 PM).
Shiny Quagsire's Avatar
Shiny Quagsire
I like .short's because they're comfy and easy to wear.
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Quote:
Originally Posted by Full Metal View Post
Does it also include eht battling part
To be honest I'm not entirely sure since I never really looked into it fully. I do know that it shows a message from a table of offsets for specific battle script strings.
__________________



Reply With Quote
  #398    
Old September 16th, 2013 (09:48 AM).
xGal's Avatar
xGal
Playing some ESL
 
Join Date: Nov 2011
Location: A tree
Gender: Male
Nature: Bold
400 replies!!!!!!! So, what you guys say about completely custom prebattle mugshots?
__________________
Hey guys, I made a soundcloud account not long ago, and I would be very happy if you guys will check it out: https://soundcloud.com/dewombat. Thanks .

Also, if you ever wanted to make a ROM hacking tool, click here: http://www.pokecommunity.com/showthread.php?t=334348
Reply With Quote
  #399    
Old September 18th, 2013 (10:15 AM).
redriders180's Avatar
redriders180
Mastermind of Pokemon Glazed
 
Join Date: Jun 2010
Location: Path of Victory, Tunod
Gender: Male
Nature: Quirky
Send a message via AIM to redriders180 Send a message via Skype™ to redriders180
Just a little random thing, in Emerald, editing the byte at 0x08070978 and 0x08071414 will change the level an egg will hatch at. This works for stuff given by the giveegg command, as well as from the Day-Care.
__________________


Superfan of Pokemon Glazed? Click here to join the official Pokemon Glazed Facebook Page!

Thank you for hatching the eggs!
Please view these dragons! Just click them and you're done!
If you don't help them grow up, they'll die...


Reply With Quote
  #400    
Old September 26th, 2013 (06:50 AM).
daniilS's Avatar
daniilS
busy trying to do stuff not done yet
 
Join Date: Aug 2013
Age: 15
Gender: Male
The offsets 0x02023C5D and 0x02023C5E control the opponent Pokémon's primary and secondary type, respectively.
Changing them will also change attack effectiveness, and probably also catch rates of balls like the net ball.
__________________

Thanks to JPAN, Jambo51, Shiny Quagsire and knizz for teaching me almost everything I know about hacking, through tutorials or in person.
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 10:20 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.