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
  #151    
Old January 18th, 2010, 07:03 PM
Pogeygothaxed's Avatar
Pogeygothaxed
Pokémon exDeltaSpecies Creator
 
Join Date: Jun 2009
Location: Too far away from my girlfriend.
Age: 23
Gender: Male
Nature: Adamant
Send a message via Windows Live Messenger to Pogeygothaxed
Well, when trying to apply the OW hack, I got to the prompt box where it asks for a variable. I tried to put in several different numbers, each time I enter it in and hit OK, it reopens the box in a different location on my screen. I'm not sure if it's a bug, or I'm not inputting in the variable correctly. Does it need to be in a certain syntax or something? :s Aside from that, the layout seems okay.

It's kind of overwhelming seeing all of the different options, but it makes finding what you want a lot easier, and applying (which was it's designed job) much simpler also. Thanks for taking the time to code up a program like this for people like me.

Any help with my problem posted above would be appreciated. Thanks in advance.
__________________

If you'd like support this hack, then please add this to your sig!
http://i266.photobucket.com/albums/i...taspeciess.png
Pixel Placement - My Pixel Art Showcasing thread;
http://www.pokecommunity.com/showthread.php?t=195942
You can see the latest concept art for exDelta here, along with some other things related and not to the hack!
Reply With Quote
  #152    
Old January 18th, 2010, 09:07 PM
JPAN
pokemon rom researcher
 
Join Date: Dec 2008
Quote:
Originally Posted by liuyanghejerry View Post
>< I love you,JPAN~~Finally,the trainer flag hack comes true!
Ya,the tool is...a little strange...
While I use it,some labels and buttons are obscured...And the window can maximize-The button of Trainer Flag Script don't work at all...
If a hack requires var number or something,you can't cancel it.
As for the tool layout, I guess it would be nice to know which resolutions are people using. I use a 1440x900 on my laptop and 1024x768 on my desktop, and both showed up fine, but might differ from pc to pc.
As for the Trainer flag hack, I tried it on a newly adquired ROM and worked fine, then tried it out on some hacks, and worked as well, altough once the sprite I used it on stopped moving, but I couldn't find any reason why. So, just make sure you are using it correctly, that the flags used are "clean". If the problem is not even working, the version I first uploaded yesterday didn't offer any messages other than error messages for non-special hacks. This latest verison I uploded a few hours ago does, and shows "Trainer flag hacks successfully applied". If it doesn't try redownloading.

Quote:
Originally Posted by Pogeygothaxed View Post
Well, when trying to apply the OW hack, I got to the prompt box where it asks for a variable. I tried to put in several different numbers, each time I enter it in and hit OK, it reopens the box in a different location on my screen. I'm not sure if it's a bug, or I'm not inputting in the variable correctly. Does it need to be in a certain syntax or something? :s
The prompt box is not a C++.net class, and as such I had to make it from scratch. But apparently, using a ShowDialog command doesn't let me put the box where I wanted it, and instead pops arround randomly. Eventually, I'll get it fixed, but first I need to study up some more on the tool. Note as well that it does not accept Enter as input, or allows to cancel mid-hack. This is another of those things that should be corrected for next version.
Also, the prompt box accepts both numbers and hex, and as such I needed to place something to distinguish it from eachother. "0x" or "x" before the hex number is required, else it will convert it to decimal, and certain numbers do not exist. And, to prevent people from entering invalid or engine-used variables, the variables start at 0x4050 and go up to 0x7fff. Some hacks will tell you they need X sequential variables. in that case, the upper limit is 0x7fff-X. Hope this answered your question.
__________________
Here are the links for my work


Currently working on:
Battle Script Documentation
Another large project
Reply With Quote
  #153    
Old January 18th, 2010, 10:33 PM
Pogeygothaxed's Avatar
Pogeygothaxed
Pokémon exDeltaSpecies Creator
 
Join Date: Jun 2009
Location: Too far away from my girlfriend.
Age: 23
Gender: Male
Nature: Adamant
Send a message via Windows Live Messenger to Pogeygothaxed
Quote:
Originally Posted by JPAN View Post
As for the tool layout, I guess it would be nice to know which resolutions are people using. I use a 1440x900 on my laptop and 1024x768 on my desktop, and both showed up fine, but might differ from pc to pc.
As for the Trainer flag hack, I tried it on a newly adquired ROM and worked fine, then tried it out on some hacks, and worked as well, altough once the sprite I used it on stopped moving, but I couldn't find any reason why. So, just make sure you are using it correctly, that the flags used are "clean". If the problem is not even working, the version I first uploaded yesterday didn't offer any messages other than error messages for non-special hacks. This latest verison I uploded a few hours ago does, and shows "Trainer flag hacks successfully applied". If it doesn't try redownloading.


The prompt box is not a C++.net class, and as such I had to make it from scratch. But apparently, using a ShowDialog command doesn't let me put the box where I wanted it, and instead pops arround randomly. Eventually, I'll get it fixed, but first I need to study up some more on the tool. Note as well that it does not accept Enter as input, or allows to cancel mid-hack. This is another of those things that should be corrected for next version.
Also, the prompt box accepts both numbers and hex, and as such I needed to place something to distinguish it from eachother. "0x" or "x" before the hex number is required, else it will convert it to decimal, and certain numbers do not exist. And, to prevent people from entering invalid or engine-used variables, the variables start at 0x4050 and go up to 0x7fff. Some hacks will tell you they need X sequential variables. in that case, the upper limit is 0x7fff-X. Hope this answered your question.
Oh, I understand now. Thanks again for clarifying. I got it to work now, and it doesn't seem to have any other problems.
__________________

If you'd like support this hack, then please add this to your sig!
http://i266.photobucket.com/albums/i...taspeciess.png
Pixel Placement - My Pixel Art Showcasing thread;
http://www.pokecommunity.com/showthread.php?t=195942
You can see the latest concept art for exDelta here, along with some other things related and not to the hack!
Reply With Quote
  #154    
Old January 19th, 2010, 06:20 AM
liuyanghejerry's Avatar
liuyanghejerry
Trainer
 
Join Date: Jan 2008
Location: China,Xi'an
Nature: Calm
Send a message via ICQ to liuyanghejerry Send a message via Windows Live Messenger to liuyanghejerry Send a message via Yahoo to liuyanghejerry
- -||I just found that I forgot to press SAVE...Sorry...

Yes! The script works just like a trainerAnd with this,maybe we could forget the "green script" for a while
But seems the script only happen once(yes,I saw your explanation),so how to reset the "flag" to make it happen again?(So that I can make a person that you have to avoid to been seen.Just like you're a SPY)---You can just ignore this rude request if you're busy...

Anyway,thank you really a lot
__________________
Zel,thethethethe,LU-HO,Darthatron,HackMew,ZodiacDaGreat,Juan,score_under,JPAN,Tamah-chan,I really appreciate your kindness and your help!:D


I did something that really bad.But made all Chinese can hack Pokemon, too.If you guys hate me, I totally understand,but cannot do anything but force to keep everything.
If there must be someone to undertake all spit and curse, it must be me.
Reply With Quote
  #155    
Old January 19th, 2010, 11:10 AM
JPAN
pokemon rom researcher
 
Join Date: Dec 2008
Quote:
Originally Posted by liuyanghejerry View Post
But seems the script only happen once(yes,I saw your explanation),so how to reset the "flag" to make it happen again
Usual clearflag command. They are real flags, after all. Just make sure you are out of sight when you do it. Something like warp to the start of the course, clearflag the flag used, and it's ready for another try. Or at least a moving command to take you out of the OWs sight and then clearflag. Just make sure by the time it ends, the OW can't see you, or it will start the script automatically as it ends.
__________________
Here are the links for my work


Currently working on:
Battle Script Documentation
Another large project
Reply With Quote
  #156    
Old January 19th, 2010, 12:42 PM
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
JPAN, I think I love you. There are no other words to describe this.
Reply With Quote
  #157    
Old January 19th, 2010, 12:56 PM
>Dante<'s Avatar
>Dante<
Call me Steven
 
Join Date: Jun 2008
Location: Torino (ITA)
Nature: Adamant
Send a message via Windows Live Messenger to >Dante<
hey man!
this is a really interesting project..
but do you think that it's possible to see a project as this for emerald?
becouse maybe you know..
but emerald have a little space then the other bases ROMs..
now with the help of XSE it's easy to expand the ROM..
but..always it's more better to use the space already to disposition..
__________________

Reply With Quote
  #158    
Old January 19th, 2010, 01:05 PM
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 >Dante< View Post
hey man!
this is a really interesting project.. :)
but do you think that it's possible to see a project as this for emerald?
becouse maybe you know..
but emerald have a little space then the other bases ROMs..
now with the help of XSE it's easy to expand the ROM..
but..always it's more better to use the space already to disposition..
Honestly? After all the amazing work he's done for the community with this engine, you say one thing about how "interesting" it is, without even looking at the manual and realizing the work he put into it I'll bet, and ask him to port it to Emerald? Wow.

---

Anyway, quick question for you. When I applied the safari hack, it asked me to input flags, so I did. The manual doesn't say much about them, and I'm pretty unfamiliar with the safari-related commands in an unhacked Firered, what exactly were those flags for? To start the Safari Game? The prompt-box didn't really clear much up.

Oh, and one more thing, related to the manual again. Could you perhaps for the next release do something to distinguish the new features from the old? Like maybe color the title of the newly added features in red or something? It's difficult for me to tell what's new and what's not, and I end up scrolling through several times just to find them all. Thanks!

---

EDIT: I think I found a typo in the manual. For the "Place Key Script" Special, the actual special command given is the same as the "Ignore Key Input" one. I'm going to assume that it is meant to say "special 0xcb". Which leads me to another problem. I was playing around with the ignore and key script specials and noticed that while alone, the ignore command works perfectly. However, I used the key script special in the end of a script like so:
Code:
special 0xCB
setvar 0x8004 0x300
loadpointer 0x0 0x8738458
To call a regular talking script, one that I know works perfectly when used normally, and the dreaded Help System is back, even with the ignore command, and my talking script doesn't do or start at all, even when I set it to L=A in the options menu and manually disable the Help System. Please tell me I'm an idiot and just using the command wrong.

Last edited by Deokishisu; January 19th, 2010 at 01:55 PM.
Reply With Quote
  #159    
Old January 19th, 2010, 01:25 PM
iTeruri's Avatar
iTeruri
iAm
 
Join Date: May 2006
Location: The Nederlands
Nature: Relaxed
Will you still release a .ips patch of the newer versions?
The tool, sadly, doesn't work on my mac using darwine to run it.

Just so you know, I had zero problems upgrading from an older version of the patch to v1.
Reply With Quote
  #160    
Old January 19th, 2010, 03:48 PM
JPAN
pokemon rom researcher
 
Join Date: Dec 2008
Quote:
Originally Posted by Deokishisu View Post
Anyway, quick question for you. When I applied the safari hack, it asked me to input flags, so I did. The manual doesn't say much about them, and I'm pretty unfamiliar with the safari-related commands in an unhacked Firered, what exactly were those flags for? To start the Safari Game? The prompt-box didn't really clear much up.
It seems it wasn't saved in the manual. That is for the a new function, that allows you to create several sized pedometers. The flags it asks for allow you to activate one of those pedometers, by setting the flag it asked for. Those pedometers are located at 0x0203f4e0 to 0x0203f4eb, but to access them you need to use the getbyte commands.
0x203f4e0 -> always on 32bit pedometer
0x203f4e4 -> first flag asked activated 32 bit pedometer
0x203f4e8 -> second flag activated 16 bit pedometer
0x203f4ea -> third flag activated 8 bit pedometer
0x203f4eb -> fourth flag activated 8 bit pedometer
These pedometers are totaly optional to use, and don't even depend on the 0x800 flag.
So, the only relation they have with the safari hack is that they ride on the back of the safari decreasing.
Quote:
Originally Posted by Deokishisu View Post
Oh, and one more thing, related to the manual again. Could you perhaps for the next release do something to distinguish the new features from the old? Like maybe color the title of the newly added features in red or something? It's difficult for me to tell what's new and what's not, and I end up scrolling through several times just to find them all.
I'm thinking about trying to make the next manual in .pdf format, with indexed tabs. That should make finding new stuff easier.
Quote:
Originally Posted by Deokishisu View Post
I think I found a typo in the manual. For the "Place Key Script" Special, the actual special command given is the same as the "Ignore Key Input" one. I'm going to assume that it is meant to say "special 0xcb". Which leads me to another problem. I was playing around with the ignore and key script specials and noticed that while alone, the ignore command works perfectly. However, I used the key script special in the end of a script like so:
Code:
special 0xCB
setvar 0x8004 0x300
loadpointer 0x0 0x8738458
To call a regular talking script, one that I know works perfectly when used normally, and the dreaded Help System is back, even with the ignore command, and my talking script doesn't do or start at all, even when I set it to L=A in the options menu and manually disable the Help System. Please tell me I'm an idiot and just using the command wrong.
When I say a code receives something as an argument, that means the specific code, not the hack as a whole. As such, the script is reversed. Also, if you also want the LR keys disabled, this alone wouldn't work, disablling the new script. so, you would need this
Code:
setvar 0x8004 0x300
loadpointer 0x0 0x8738458
special 0xCB
special 0xCA
Also, thank you for noticing the typos. I'll fix them and place the corrected version in this release (but not a PDF version).

Quote:
Originally Posted by iTeruri View Post
Will you still release a .ips patch of the newer versions?
I could release a patch version. It should be up by tomorrow(I hope).
__________________
Here are the links for my work


Currently working on:
Battle Script Documentation
Another large project
Reply With Quote
  #161    
Old January 19th, 2010, 04:19 PM
heatransoul's Avatar
heatransoul
Beginning Trainer
 
Join Date: Jun 2008
HOLY CHEESE!
This is amazing! I might even consider starting a new hack!
Reply With Quote
  #162    
Old January 19th, 2010, 05:21 PM
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 JPAN View Post
It seems it wasn't saved in the manual. That is for the a new function, that allows you to create several sized pedometers. The flags it asks for allow you to activate one of those pedometers, by setting the flag it asked for. Those pedometers are located at 0x0203f4e0 to 0x0203f4eb, but to access them you need to use the getbyte commands.
0x203f4e0 -> always on 32bit pedometer
0x203f4e4 -> first flag asked activated 32 bit pedometer
0x203f4e8 -> second flag activated 16 bit pedometer
0x203f4ea -> third flag activated 8 bit pedometer
0x203f4eb -> fourth flag activated 8 bit pedometer
These pedometers are totaly optional to use, and don't even depend on the 0x800 flag.
So, the only relation they have with the safari hack is that they ride on the back of the safari decreasing.
So I could start a pedometer wherever I wanted for other step-limited minigames and such? Awesome! Thanks for clearing that up.

And regarding the menu thingy - Ugh I'm so bad at this! Thank you for explaining that. I know enough scripting to make any "standard Pokemon-esque" ingame event, but when it comes to some of these special and special2 commands, and the extras and such that I want to include that branch out farther than what Nintendo intended, there's just alot to work out! Which is part of the reason I was so excited when this got released. Anyway, like always, your amazingness cannot be expressed in mere words. Thanks!
Reply With Quote
  #163    
Old January 20th, 2010, 06:12 AM
>Dante<'s Avatar
>Dante<
Call me Steven
 
Join Date: Jun 2008
Location: Torino (ITA)
Nature: Adamant
Send a message via Windows Live Messenger to >Dante<
Quote:
Originally Posted by Deokishisu View Post
Honestly? After all the amazing work he's done for the community with this engine, you say one thing about how "interesting" it is, without even looking at the manual and realizing the work he put into it I'll bet, and ask him to port it to Emerald? Wow.
Honestly? I'm interested only to the answer of JPAN.. not to yours.
isn't my intention to minimize the job of JPAN.

to ask is permissible..
to answer is courtesy..
__________________

Reply With Quote
  #164    
Old January 20th, 2010, 02:40 PM
Full Metal's Avatar
Full Metal
C(++) Developer.
Community Supporter
 
Join Date: Jan 2008
Location: In my mind.
Age: 18
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to Full Metal
JPAN, (i thought i saw you asking about the design of ur program).
IMO its kinda messy...like to scrambled, its ok if it doesn't all fit inside a nice space, just try and make it more...organized? I'm not being picky, i'm perfectly fine with the way it is, but i thought i read somewhere you asking for an opinion (ima too lazy to go back to first page xD FAIL) so yea...just my opinion though, I'm certainly glad you made a tool to apply it though
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #165    
Old January 21st, 2010, 04:57 AM
Quil
Me
 
Join Date: Dec 2006
Age: 18
Nature: Sassy
JPAN, maybe you should add an option for variables more then 16 bit. 65535 isn't that much, and it ruins my bank script pretty hard xD And there are probably more cases when the 65k limit is verrrry annoying :C
I don't know if it is possible, but that would be an awesome addition :3
__________________


Reply With Quote
  #166    
Old January 21st, 2010, 05:01 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Quote:
Originally Posted by Quil View Post
JPAN, maybe you should add an option for variables more then 16 bit. 65535 isn't that much, and it ruins my bank script pretty hard xD And there are probably more cases when the 65k limit is verrrry annoying :C
I don't know if it is possible, but that would be an awesome addition :3
Something like that would require a total overhaul of how variables work. I doubt he will do it for you, but if you need to use higher values your best bet would be to take a look at ASM - a bank script in ASM would be much better, at least.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #167    
Old January 21st, 2010, 05:50 AM
HackMew's Avatar
HackMew
Mewtwo Strikes Back
 
Join Date: Jun 2006
Quote:
Originally Posted by Darthatron View Post
Something like that would require a total overhaul of how variables work. I doubt he will do it for you, but if you need to use higher values your best bet would be to take a look at ASM - a bank script in ASM would be much better, at least.
Not to say there are not 65535 variables either...
Besides, there are thousands of them anyway. I don't see how that can be very annoying.
__________________
Reply With Quote
  #168    
Old January 21st, 2010, 08:28 AM
hashtag's Avatar
hashtag
king cook
 
Join Date: Nov 2008
Location: Salisbury, England
Age: 19
Gender: Male
I'm going to go ahead and move this to Research & Development, I feel that this is innovative enough to fulfil the needs of that section more.
__________________
The path of the righteous man is beset of all sides by the iniquities of the selfish and the tyranny of evil me. Blessed is he who, in the name of the charity and good will, shepherds the weak through the valley of darkness, for he is truly his brother's keeper and the finder of lost children. And I will strike down upon thee with great vengeance and furious anger those who attempt to poison and destroy my brothers. And you will know my name is the Lord when I lay my vengeance upon thee.
Reply With Quote
  #169    
Old January 21st, 2010, 08:36 AM
Quil
Me
 
Join Date: Dec 2006
Age: 18
Nature: Sassy
Quote:
Originally Posted by HackMew View Post
Not to say there are not 65535 variables either...
Besides, there are thousands of them anyway. I don't see how that can be very annoying.
I was talking about the limit of 65k in value. There are enough free variables to be used, that isn't the problem =P

And @ Darth, about ASM.. It costs pretty much time to learn ASM, and because of personal reasons, I don't have much time. I already figured out myself that ASM is a better solution..
__________________


Reply With Quote
  #170    
Old January 21st, 2010, 08:45 AM
HackMew's Avatar
HackMew
Mewtwo Strikes Back
 
Join Date: Jun 2006
Quote:
Originally Posted by Quil View Post
I was talking about the limit of 65k in value. There are enough free variables to be used, that isn't the problem =P

And @ Darth, about ASM.. It costs pretty much time to learn ASM, and because of personal reasons, I don't have much time. I already figured out myself that ASM is a better solution..
Whether you want to have more variables, or increase their value range... both require quite some ASM.
It would be definitely easier to reserve some particular variables and use them in pairs, reaching a range limit of 4294967295.
__________________
Reply With Quote
  #171    
Old January 23rd, 2010, 03:48 AM
mindfreak's Avatar
mindfreak
Belgium Rom hacker
 
Join Date: Dec 2007
I'm really confused with the overworld stuf.
If I make a new pointer here V
B0FD3908 B0FF3908 B0FE3908 New pointer
What table is it?
(The manual said that only one was occupied but there are already 3 pointers. so is it 0x1 or 0x3)

And how can I display the new overworlds ingame?
(I tried by editing the event data in hexworkshop but failed.)
__________________
Reply With Quote
  #172    
Old January 23rd, 2010, 08:50 AM
iTeruri's Avatar
iTeruri
iAm
 
Join Date: May 2006
Location: The Nederlands
Nature: Relaxed
Wait, so how does the item hack work?
I have a script compiled at 0x900000. I'm using Item Editor by Thethethethe. Where should I enter the offset? Because I can't find where the item table is located in the rom...
Reply With Quote
  #173    
Old January 23rd, 2010, 12:23 PM
JPAN
pokemon rom researcher
 
Join Date: Dec 2008
Quote:
Originally Posted by mindfreak View Post
I'm really confused with the overworld stuf.
If I make a new pointer here V
B0FD3908 B0FF3908 B0FE3908 New pointer
What table is it?
(The manual said that only one was occupied but there are already 3 pointers. so is it 0x1 or 0x3)
My bad. I accidentaly left some debug table addresses in the main table. Remove them and place your pointer on the second slot (b0ff3908), and delete the third. In that case, it will be 1.
If you wanted to keep the tables, then it would be 0x3, as you suggested.
Quote:
Originally Posted by mindfreak View Post
And how can I display the new overworlds ingame?
(I tried by editing the event data in hexworkshop but failed.)
Look at the trainer flag hack area of the manual. I placed a picture there that explains the new data in the A-Map person event. Simply change the rightmost unknown byte, right below the picture number, to the table number. The change will not appear in A-Map, but in game it will be your sprite.

Quote:
Originally Posted by iTeruri View Post
Wait, so how does the item hack work?
I have a script compiled at 0x900000. I'm using Item Editor by Thethethethe. Where should I enter the offset? Because I can't find where the item table is located in the rom...
The item table starts at 0x3db028, and ends at 0x3df09c. If you can, after editing the Item in the Item editor, Open a table file in your hex editor and search for your item name, and it should pop up. If you can't open a table file, multiply the item number by 0x2c and add it to the base address.
When you reach the item, goto Item_adddress+ 0xE and make sure the item number is the same there as you input it (item 0x102 should have 02 01 in there). Then go to Item_address + 0x1b and make sure the value is 4. In Item_address + 0x1c, place the routine pointer (21 15 16 08 in the patch version) and in Item_address + 0x28 place the script pointer (00 00 90 08 in your case). Save, and it's good to go.

Right now I am working on increasing the amount of money you can have to One billion minus 1. And I've read the "increase the variables capacity", and I Have already planned to create a group of special functions to let the user treat a group of variables as a single one, but all those operations are on the user's risk, and must keep under consideration the range he wishes to use. As such, I will provide said functions on the next release, and should include add and subtract functions, buffer number functions for 32 bit, and support for more digits dynamically.

And the increase money hack is (apparently) complete! You can now hold up to 999 999 999 money! That's nearly 1000 times more money! If you don't want to wait for the next release to test it, know this was acomplished just by replacing 7 bytes, and here's how to do it:
at 0809fdd4 replace |3f 42 0f 00| for |ff c9 9a 3b|; (999999 for 999999999)
at 0808a006, 0809fe52 and 0809fe62, replace that one byte from |06| for |09|. (6 digit display for 9 digit display)
Done, you should be able to have that much money now.

EDIT: As this was moved to the Research and Development forum, I feel that now I can directly ask for opinions on future updates without going Off-topic. So, I will tell you what's going on and you tell me what you would like me to do.
Because Special editing is limitative (special is a 5 byte command tops, and so it cannot receive direct input through the script. Not that's impossible, just very unpractical), I've been looking at the commands in the scripting engine, in order to find how stuff works and where the "free" commands are. And I was surprised to find that, from Ruby to Fire Red, some commands changed their use dramatically, or simply went and did some stuff we are not expecting. One example is the "copyVarIfNotZero" command, that In Fire Red copies a variable, even if it is zero. The correct name, for it's usage, would be something like "copyVarOrSetIfNotVar", as there what it does is copy a variable if both words given are real variables (in the 0x4000-0x8013 range), and set the first variable to the second value if not a real variable (values up to 0x3fff). Copyvar, in the other end, simply is error-prone in this case. trying to write in illegal memory if the value is not a variable. So, in this case, should I try and correct the Copyvar method to be bug-free and make it so Copyvarifnotzero does what we expected it to do, or let it be?
Same is true for some other commands, such as addvar and subvar, that should be identical, but subvar allows the use of two variables, while addvar does not. Should I try and fix that too?
I will introduce a concept now. A "fake" command would be a command where the arguments that should be used (according with the script compilers such as XSE) are not the real argument numbers. For instance command 0x96 (unnamed as of yet) in Ruby takes 2 bytes as arguments. In FR, it takes no arguments, as in there it's a simple nop command. The opposite could also be true: commands that use more bytes than we thought they would. Stuff like startContest, which have no use in FR, and occupies only one byte (correct in both versions) could be replaced with a command that receives data and consumes bytes, in order to make it easier to use certain commands (such as the VarMath special, that even I have trouble using). As that would cause some confusion in the script compilers code (there would have to be two separate set of Fire Red commands, one static and one dynamic that accompanied this hack), we could use a technique that Gamefreak used with its Trainerbattle command, where it can ignore certain bytes as to get specific information. As such, something like VarMaths multiply variables could be used like this:
Code:
#alias startContest mulVar
#org @start
mulvar
copyvar 0x8000 0x8001
end
Where the copyvar is nothing more than a holder for the two variables to multiply, and its opcode (0x19) is discarded, and would never happen. We would use it only to mantain the integral structure of the code, so decompiling this script wouldn't turn into something wierd that no-one could read.

So, with this concept in mind, should I in future hacks (and in corrections from older ones), allow "fake" commands to take place or keep with the current "setvar argument_var value" ... "special 0xNUM" format?
__________________
Here are the links for my work


Currently working on:
Battle Script Documentation
Another large project

Last edited by JPAN; January 23rd, 2010 at 07:55 PM. Reason: Getting feedback
Reply With Quote
  #174    
Old January 24th, 2010, 02:26 AM
HackMew's Avatar
HackMew
Mewtwo Strikes Back
 
Join Date: Jun 2006
Just out of curiosity, what's the point of having SO much money? It would take ages just to reach that limit. I guess 999999 is a good amount IMHO. Especially in my hack where I let mom save some money for the player. Special editing may be limitative, but breaking commands compatibility is worser. Backward compatibility has already been broken (which is the main reason I don't like this hacked engine), basically. But that's not the point. Let's just not forget there's always callasm. Sure, it's not as comfy as specials, but I think I don't need to remind you that only FR/LG have many nopped specials. Yes, I do know it's called "Fire Red Hacked Engine". But porting it to other games it someday is always a possibility that should at least be considered.
__________________
Reply With Quote
  #175    
Old January 24th, 2010, 08:38 AM
diegoisawesome's Avatar
diegoisawesome
Not the Script Help Thread
Community Supporter
 
Join Date: Dec 2007
Location: Goldenrod City, Johto
Age: 17
Gender: Male
Nature: Quirky
Quote:
Originally Posted by HackMew View Post
Backward compatibility has already been broken (which is the main reason I don't like this hacked engine), basically.
HackMew, just out of curiosity, what do you mean by "backwards compatibility"?
And, to JPAN, I think that the new way would probably be more confusing than the current way, so just keep it as-is.

P.S. Using the hack tool, should I redo inserting all commands, or just insert the new ones? Or should I simply use the patch?
[BTW, you should start using HackMew's new tool, A-Ptch, as it has backwards patching compatibility.
__________________


My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles
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 11:26 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.