Community

The PokéCommunity

We are still working on a better slogan!

Visit Index



Advertise here

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Notices

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.

Post Reply
 
Thread Tools
  #201    
Old August 17th, 2010, 08:13 AM
link12552's Avatar
link12552
just tired, that's all
 
Join Date: Dec 2007
Location: The not so distant future
Age: 18
Gender: Male
Nature: Calm

Advertise here
Quote:
Originally Posted by JPAN View Post
Here's a small plugin I wrote to edit Pokemon Icon data.
There are 2 frames, per picture, to a total of 6 frames (0-1 is palette 0, 2-3 is palette 1, 4-5 is palette 3). You can edit your pokemon, shifting between the palettes freely as long as you save your picture in between.
The palette byte, however, remains the old one, so if you choose to use a different palette for the icon you're editing, you need to switch it manually.

This code is given here under the BPRE tag, but it will work on any ROM version that came out after Fire Red (J). That is due to a small structure of data placed at 0x128 at the ROM data, where:
0x138 is the Icon table pointer;
0x13c is the Icon Palette byte data and
0x140 is the Icon palette address table.

PS: The file is in txt format, as I can't upload it as npi. Change the filename and the tag, and you're set.
Great contribution :D
and good job using the plug-in commands, they can be a little confusing after awhile XD

Quote:
Originally Posted by timaeus222 View Post
I love this! It's perfectly made. There's absolutely nothing to improve.

EDIT:
Wait, I found something. Can you make it so if the import window is open, you can still access the main window? That way you can edit a LOT faster.

And even better, if you could add the shortcut Ctrl+Shift+I for Import Bitmap; there's no shortcut for convenience.

EDIT 2: Never mind, I realized that this was hacked and remade into Overworld Sprite Editor Rebirth Edition by HackMew.
Whoa, way off there...
-and I hope you're not basing superiority on whether NSE has a shortcut or not... because that would be silly...

Quote:
Originally Posted by diegoisawesome View Post
Technically, they ARE separate and similar (being created on two entirely different engines), but NSE borrowed a lot of things from Rebirth Edition.

So, technically, NSE is an update to RE, if you want to think of it like that.
I guess they are somewhat similar, because I did borrow the general layout scheme of the main window from RE, and they both can edit OW's, but NSE can do so much more, just read the features list...
-and the things borrowed from RE are
  • Some window layouts schemes...
  • How a 16 color bitmap is formatted
  • and some offsets from it's settings.ini (cause hey I don't own the Japanese version of saphire XD)
-but everything else is original

Oh! and everyone, enough with the argument, what tool someone uses is a preference of choice...
and eventually they'll come crawling back... XD
  #202    
Old August 17th, 2010, 11:09 AM
Shiny Quagsire's Avatar
Shiny Quagsire
どないやねん, ヤドン
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Wow, you've certainly improved a lot lately
What would b nice is some shortcut keys, like Ctrl + B to get to bookmarks, ctrl + i to import, that stuff.



  #203    
Old August 18th, 2010, 08:57 AM
Loony Boo♪'s Avatar
Loony Boo♪
King Boo, from Whack A Hack!
 
Join Date: Apr 2008
Gender: Male
Nature: Lonely
Send a message via Windows Live Messenger to Loony Boo♪ Send a message via Skype™ to Loony Boo♪
Quote:
Originally Posted by diegoisawesome View Post
Technically, they ARE separate and similar (being created on two entirely different engines), but NSE borrowed a lot of things from Rebirth Edition.

So, technically, NSE is an update to RE, if you want to think of it like that.
You should remember that NSE edits general graphics, not only overworlds and RE only edits the overworlds. So, technically, NSE is not and update to RE. Because of that, NSE can be an update to TilED2002 and UNLZ GBA.

Bye~
  #204    
Old August 18th, 2010, 09:01 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 Black pass View Post
You should remember that NSE edits general graphics, not only overworlds and RE only edits the overworlds. So, technically, NSE is not and update to RE. Because of that, NSE can be an update to TilED2002 and UNLZ GBA.

Bye~
Well, it COULD be considered an update to any of those, you're right, but it can also be considered an update to Rebirth Edition, but only if you want to think of them as branching off the same idea.

Otherwise, NSE is only an update to itself (and GBA graphics editing).


My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles
  #205    
Old August 18th, 2010, 04:52 PM
pokemonsam9's Avatar
pokemonsam9
Beginning Trainer
 
Join Date: Oct 2009
Location: Our Universe
Gender: Male
Nature: Hardy
can i please have a tutuorial?
  #206    
Old August 18th, 2010, 06:00 PM
altariaking's Avatar
altariaking
Needs NO VMs...
 
Join Date: Dec 2009
Location: Scotland, Lesmahagow
Age: 40
Gender: Male
Nature: Naive
Send a message via Windows Live Messenger to altariaking
Ask and you shall receive.
http://www.pokecommunity.com/member.php?u=253113
  #207    
Old August 19th, 2010, 01:37 PM
pokemonsam9's Avatar
pokemonsam9
Beginning Trainer
 
Join Date: Oct 2009
Location: Our Universe
Gender: Male
Nature: Hardy
thank you so much! this was helpful!
  #208    
Old August 19th, 2010, 01:53 PM
Leafbarrett's Avatar
Leafbarrett
 
Join Date: Mar 2009
Age: 22
Since this program has the exact same problem as Advance Pokemon Sprite Editor:
Quote:
Originally Posted by Leafbarrett View Post
*SIGH*
O.
M.
F.
G.
Is there NOWHERE IN THE ENTIRE INTERNET that has the Leaf Green ini? Not Fire Red, not Ruby, not Emerald. LEAF GREEN. I have been looking ALL FREAKING DAY. Sorry if I sound pissed, it's because I am.
  #209    
Old August 19th, 2010, 01:58 PM
altariaking's Avatar
altariaking
Needs NO VMs...
 
Join Date: Dec 2009
Location: Scotland, Lesmahagow
Age: 40
Gender: Male
Nature: Naive
Send a message via Windows Live Messenger to altariaking
that's because nobody hacks leafgreen, so it has less support from tools. Either learn hex or hack a different rom.
http://www.pokecommunity.com/member.php?u=253113
  #210    
Old August 19th, 2010, 02:09 PM
Leafbarrett's Avatar
Leafbarrett
 
Join Date: Mar 2009
Age: 22
Quote:
Originally Posted by altariaking View Post
that's because nobody hacks leafgreen, so it has less support from tools. Either learn hex or hack a different rom.
It's not that I'M hacking it in particular, it's just that someone put in sprites for Leaf Green that I want, and no tool I download will let me get them OUT of the rom.
And trust me, I've tried to learn hex. Many times. Every single time, I screw it up royally.

Last edited by Leafbarrett; August 19th, 2010 at 02:17 PM.
  #211    
Old August 19th, 2010, 04:40 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
Then that's kinda your fault, not the tool makers. If you want an INI for leafgreen then go out and make one yourself. -.-
advanced pokemon sprite editor has a batch exporter if i remember right...no, it has a batch importer, but EITHER WAY. You really don't have a right to be mad at anyone, but now you have a motive :D

★ full metal.

I like to push it,
and push it,
until my luck is over.
  #212    
Old August 19th, 2010, 05:12 PM
Leafbarrett's Avatar
Leafbarrett
 
Join Date: Mar 2009
Age: 22
Quote:
Originally Posted by Full Metal View Post
Then that's kinda your fault, not the tool makers. If you want an INI for leafgreen then go out and make one yourself. -.-
advanced pokemon sprite editor has a batch exporter if i remember right...no, it has a batch importer, but EITHER WAY. You really don't have a right to be mad at anyone, but now you have a motive :D
I'd love to. In fact, that's the first thing I'd have done, if I knew how to in the first place. But therein lies the problem: I haven't got the SLIGHTEST idea how. Hell, I honestly don't even know what the .ini actually IS, let alone how to extract it!
  #213    
Old August 20th, 2010, 07:08 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 Leafbarrett View Post
I'd love to. In fact, that's the first thing I'd have done, if I knew how to in the first place. But therein lies the problem: I haven't got the SLIGHTEST idea how. Hell, I honestly don't even know what the .ini actually IS, let alone how to extract it!
Dude, how about just using Un-LZ GBA? It reads all of the LZ77 compressed sprites from the ROM (which do include the Pokémon sprites).


My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles
  #214    
Old August 20th, 2010, 09:32 AM
link12552's Avatar
link12552
just tired, that's all
 
Join Date: Dec 2007
Location: The not so distant future
Age: 18
Gender: Male
Nature: Calm
Quote:
Originally Posted by Leafbarrett View Post
Since this program has the exact same problem as Advance Pokemon Sprite Editor:
Problem? there's no real problem...
Your issue is that NSE's default pokemon.npi plug-in didn't have Leafgreen support added on release. (I don't own Leafgreen either..., but my friend does )

So here is a pokemon.npi plug-in with Leafgreen (english) support XD
Just save it in the plugins folder in the same directory as NSE
Attached Files
File Type: zip Pokemon.zip‎ (684 Bytes, 27 views) (Save to Dropbox)

Last edited by link12552; August 20th, 2010 at 09:57 AM.
  #215    
Old August 20th, 2010, 10:53 AM
Leafbarrett's Avatar
Leafbarrett
 
Join Date: Mar 2009
Age: 22
Quote:
Originally Posted by diegoisawesome View Post
Dude, how about just using Un-LZ GBA? It reads all of the LZ77 compressed sprites from the ROM (which do include the Pokémon sprites).
SOLD!
EDIT: Yes, this is the first time I've heard of that tool, or rather the first time I've heard what it actually does.
EDIT2: ASDFDSASDF. THIS TAKES FOREVER. XD My hand hurts. I guess that's to be expected with something like 1600 sprites to export... XD

Last edited by Leafbarrett; August 20th, 2010 at 12:32 PM.
  #216    
Old August 20th, 2010, 01:13 PM
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 Leafbarrett View Post
SOLD!
EDIT: Yes, this is the first time I've heard of that tool, or rather the first time I've heard what it actually does.
EDIT2: ASDFDSASDF. THIS TAKES FOREVER. XD My hand hurts. I guess that's to be expected with something like 1600 sprites to export... XD
Well, yeah, that's obvious. XD
Glad I could help, anyways.


My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles
  #217    
Old August 21st, 2010, 05:56 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
Well, I just wanted to say something...
The bytes that say "Palette Registers" also have something to do with the animation...
For instance, my Poké Ball sprites were messed up ever since I copied them over from FR. Then, I changed the so-called "Palette Registers" back to what it was before, and the animation error disappeared! Then, to fix the palette change that was caused by reverting the palette registers, I changed the palette slot "half-byte" back to what it was before, and poof! the Poké Ball works.

This is apparently what happened with the sprite with the bug I was talking to you before - the sprite I was replacing had its "palette registers" set differently (as I overwrote one of the special sprites, one that always faces down and isn't supposed to move).


My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles
  #218    
Old August 21st, 2010, 12:43 PM
007manyo's Avatar
007manyo
"The Name's Bond..."
 
Join Date: Aug 2009
Gender: Male
Nature: Modest
Found a glitch!

Whilst opening the "pokemon.npi" plugin, I got an output message that simply said "0". Every time I would move on to another sprite, such as from Bulbasaur to Ivysaur, or from Bulbasaur to Unown "?", or any other combination, I would receive the same output message-- "0".
fix?
Really, It's just to make it less annoying when you're trying to navigate through the pure awesomeness that is embodied in the form of link12552's NSE.

Click Mr. happy to go to my game, Questions With Holes!
d(^-^d)
  #219    
Old August 22nd, 2010, 06:34 AM
link12552's Avatar
link12552
just tired, that's all
 
Join Date: Dec 2007
Location: The not so distant future
Age: 18
Gender: Male
Nature: Calm
Quote:
Originally Posted by 007manyo View Post
Found a glitch!

Whilst opening the "pokemon.npi" plugin, I got an output message that simply said "0". Every time I would move on to another sprite, such as from Bulbasaur to Ivysaur, or from Bulbasaur to Unown "?", or any other combination, I would receive the same output message-- "0".
fix?
Really, It's just to make it less annoying when you're trying to navigate through the pure awesomeness that is embodied in the form of link12552's NSE.
Whoops... XD
It looks like a line of extra code made it into the Pokemon plug-in

You can easily fix it, so no worries...
Just open up the Pokemon plug-in in something like notepad, and delete the line that starts with "nout" (should be near the top)...
I wonder how I hadn't noticed...

Oh well, you can easily fix it, and I'll remove that part in the next release...
  #220    
Old September 1st, 2010, 02:25 PM
0m3GA ARS3NAL's Avatar
0m3GA ARS3NAL
Im comin' home...
Community Supporter Tier 1
 
Join Date: Jan 2008
Location: Superjail Penitentiary
Age: 22
Gender: Male
Nature: Gentle
Quote:
Originally Posted by link12552 View Post
Whoops... XD
It looks like a line of extra code made it into the Pokemon plug-in

You can easily fix it, so no worries...
Just open up the Pokemon plug-in in something like notepad, and delete the line that starts with "nout" (should be near the top)...
I wonder how I hadn't noticed...

Oh well, you can easily fix it, and I'll remove that part in the next release...
Lol, luckily I fixed that before i read the whole thread here.
I'm learning you're... interesting plugin language...

I've got to hand it to you... interesting indeed.
Best Graphic Editor I've seen so far, it does pretty much everything graphical, aside from tilemaps, the town map, and other larger sprites...

Hope to see more interesting developments, in the mean time, I might just make a plugin or 2....

EDIT
I am utterly confused...

Please explain step by step how the Pokemon Plugin works...
I've tried calculating it in my computers calculator but come up all wrong...
(assuming one can use unLZgba to find offsets...)

Step by step, command by command please?
And not just general terms, I get those, I need info like, why do you use flip(3), when it isn't listed in the database, how am I supposed to know what it means so I can use it myself?
(I'm not the greatest at reverse engineering)

Also, the;
append(value) command...
I don't know how it works either, I mean, yeah, you say it's loading the value into the memory, but WHY? What does that do, how does that affect anything in the plugin?

This is the most confusing though...
I'll comment it off...

dump(0) //What are you dumping from what?
Append(8) //What are you turning into 8? (If I'm right)
Multiply(I#) //What are you multiplying by the index number?
Add(&h2350b4) //What are you adding that number to...
Read(mem(0), 3) //How did you manage to get the desired offset? And why load 3?
Flip(3) //Okay, Flip(3) isn't ever explained...
Append(8) //Another append... dunno what the use is...
Multiply(I#) //again?
Add(&H237314) //what is this supposed add, and to what?

Please help, I'm not usually the one this lost, but you've made this such an odd language...
>Boot Jailbot
>Pass *****
.
.
Jailbot OS Ver 1.1.2
Greetings Warden
of Superjail Penitentiary
Awaiting user input...

>Display User_Info
╠══User Info══╣
Username:
0m3GA ARS3NAL
Age: 18
Sex: Male ♂
Race: Caucasian
Quote:
"What is this
I don't even..."

M/O: Often acts out to get attention, but recently has changed that. Has been studying up on hacking information and hopes to participate in more advanced hacking discussion.
╠══End of File══╣
Awaiting user input...

>

Last edited by 0m3GA ARS3NAL; September 1st, 2010 at 04:12 PM. Reason: Your double post has been automatically merged.
  #221    
Old September 1st, 2010, 06:16 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
dump(0) //Not sure
Append(8) //[pokemon sprite- 4 bytes][palette - 4 bytes]
Multiply(I#) //[multiply this by the index number]
Add(&h2350b4) //add this to the current memory thingy
Read(mem(0), 3) /*How did you manage to get the desired offset? -explained above
And why load 3? - only the first 3 bytes are actually the FILE offset pointer. (removing the '08' byte )
Flip(3) //Okay, Flip(3) isn't ever explained...turning 0C0B0A into 0A0B0C
Append(8) //Another append... dunno what the use is... - turning it into a GBA pointer (?)
that's just my best guess though, i've not actually looked at the file, nor do i know what it's supposed to do. i'll read the rest of your post after i post this XD
i lied, and read it before i posted ;D
what database?! O_o
I would like to make a plugin too! :D
One that would (sort of) do tilemaps in an off way...XD (it will take some time to work out the logic on how to do that though )


Quote:
Originally Posted by Leafbarrett View Post
I'd love to. In fact, that's the first thing I'd have done, if I knew how to in the first place. But therein lies the problem: I haven't got the SLIGHTEST idea how. Hell, I honestly don't even know what the .ini actually IS, let alone how to extract it!
It's pretty simple really.
Open a FR ROM with a hex editor, and have the FR.ini open in a parallel window.
Identify an offset that looks important in the .ini window, go there in the hex editor, and take note of what you see. Usually ini's will point to a table for this sort of application, and tables usually have pointers. The pokemon sprite table has [sprite ptr][palette ptr] if I remember correctly.
Taking a pointer, and finding an offset:
you see:
0x98765408
Split it up into bytes:
0x98 0x76 0x54 0x08
now reverse it:
0x08 0x54 0x76 0x98
Open up that offset (compressed) in NSE. and use the grayscale option. if what you see doesn't look like a b/w pokemon sprite, then i would suggest trying the other offset you got from the pointer. Now in APE or Full Metal Palette Editor (matter of preference) open the offset that isn't the pokemon sprite. Notice how those colors are used by that pokemon?
Now that you've seen how the INI tells NSE where things are at in the ROM, you can do the same for LeafGreen.
Table->[pointer][pointer]->Sprite/Palette.
Now here's the slightly easier part.
Open your (lgromname).gba.pal and (lgromname).gba.spr files in a hex editor.
In UNLZ.GBA find the first pokemon sprite, and take that number into memory.
Multiply that number by 4[bytes](the size of a pointer )
and then enter that into your hex editor's goto box (make sure you're using either decimal or hexadecimal based on which number system you used!)
You now have a pointer to the first sprite/palette (do for each file) of each pokemon. Pretty easy eh?
Now if you're using HexWorkshop, open up you're leafgreen ROM file (the same one you opened the unlzgba files with) and search for those pointers you found. The result should be your table offset.

[/minitut]
DO NOT QUOTE ME ON THIS, BECAUSE I TYPED IT IN 5 MINUTES WITH Opera, Explorer, and AdvanceMap Open at the time XD

★ full metal.

I like to push it,
and push it,
until my luck is over.

Last edited by Full Metal; September 1st, 2010 at 06:32 PM. Reason: Your double post has been automatically merged.
  #222    
Old September 1st, 2010, 10:08 PM
0m3GA ARS3NAL's Avatar
0m3GA ARS3NAL
Im comin' home...
Community Supporter Tier 1
 
Join Date: Jan 2008
Location: Superjail Penitentiary
Age: 22
Gender: Male
Nature: Gentle
Well, that would be a good explanation, but something tells me it's incorrect...

My Reasoning?
Look at the 'append' command near the beginning of JPAN's plugin...
It's not a number as simple as 8, no, it's a larger one, much larger.

And by database, I meant the small text file that was uploaded including the commands...

I say, if you upload something like a database, make sure you include a way to USE the documentation... I swear it's almost like 99% of C++ Tutorials, they all assume you have moderate experience with the language in question.

I dub this language, Nameless Script, or simply, NS.
Objections?

If you make more tools, you should implement this, NS into it.
Broaden, Widen, Imagine.

And finally... HELP! lol
>Boot Jailbot
>Pass *****
.
.
Jailbot OS Ver 1.1.2
Greetings Warden
of Superjail Penitentiary
Awaiting user input...

>Display User_Info
╠══User Info══╣
Username:
0m3GA ARS3NAL
Age: 18
Sex: Male ♂
Race: Caucasian
Quote:
"What is this
I don't even..."

M/O: Often acts out to get attention, but recently has changed that. Has been studying up on hacking information and hopes to participate in more advanced hacking discussion.
╠══End of File══╣
Awaiting user input...

>
  #223    
Old September 2nd, 2010, 03:59 AM
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
Well, this is .NET so we could use reflect and look at how a plugin is handled (?)

★ full metal.

I like to push it,
and push it,
until my luck is over.
  #224    
Old September 2nd, 2010, 04:25 AM
0m3GA ARS3NAL's Avatar
0m3GA ARS3NAL
Im comin' home...
Community Supporter Tier 1
 
Join Date: Jan 2008
Location: Superjail Penitentiary
Age: 22
Gender: Male
Nature: Gentle
Quote:
Originally Posted by Full Metal View Post
Well, this is .NET so we could use reflect and look at how a plugin is handled (?)
I was thinking more along the lines of just making a plugin, and putting debug lines everywhere and seeing what everything does...

Dunno if that will work either so...

EDIT
I found a bug.

If you try to load a plugin that isn't for your ROM, the program tells me I can't run it... but then I can't load any different plugins until I restart the program...

EDIT 2
My Gathered Info... (I'm still lost in the dark... where's the dev when I need him =( )

Code:
Memory      Value     Command        Comment
Blank             - No Commands
Mem(0)   &H0      - Append(F#)  //Why?
Blank             - Dump(0)     //Same Thing... Why?
Mem(0)   &H8      - Append(8)   //Distance between pokemon on the table...
Mem(0)   &H0      - Multiply(I#) //Sets Mem(0) up to read from the table...
Mem(0)   &H2350B4 - Add(&H2350b4) //Further Positions Mem(0)
Mem(0)	 &HD4FBD2 - Read(mem(0), 3) //From what I gather... table reading...
 Mem(1)	 &H2350B4
Mem(0)	 &HD2FBD4 - Flip(3)      //Sprite Pointer!
 Mem(1)	 &H2350B4
Mem(0)	 &H8      - Append(8)   //Why?
 Mem(1)	 &HD2FBD4
 Mem(2)	 &H2350B4
Mem(0)	 &H0      - Multiply(I#) //Why?
 Mem(1)	 &HD2FBD4
 Mem(2)	 &H2350B4
Mem(0)	 &H237314 - Add(&H237314) //Why?
 Mem(1)	 &HD2FBD4
 Mem(2)	 &H2350B4
Elaboration? From ANYONE, please, I really am determined to make a plugin...
>Boot Jailbot
>Pass *****
.
.
Jailbot OS Ver 1.1.2
Greetings Warden
of Superjail Penitentiary
Awaiting user input...

>Display User_Info
╠══User Info══╣
Username:
0m3GA ARS3NAL
Age: 18
Sex: Male ♂
Race: Caucasian
Quote:
"What is this
I don't even..."

M/O: Often acts out to get attention, but recently has changed that. Has been studying up on hacking information and hopes to participate in more advanced hacking discussion.
╠══End of File══╣
Awaiting user input...

>

Last edited by 0m3GA ARS3NAL; September 2nd, 2010 at 05:03 AM.
  #225    
Old September 2nd, 2010, 08:38 AM
JPAN
pokemon rom researcher
 
Join Date: Dec 2008
Append(num) makes that number appear in the memStack.
F# is the frame number, and I# is the index number.
so, Append(F#) makes the current frame number appear at the top of the Stack, that is Mem(0)

Dump(num) clears the memory position at Mem(num), so Dump 0 erases the mem(0) position and pushes the stack up (mem(1) becomes mem(0), mem(2) becomes mem(1)...)
Because it only had mem(0) occupied, it cleared the stack.

All arithmetic functions (Add, Multiply being examples) take the number that is at Mem(0) and applies that operation to it and a parameter.
So, in the example it multiplied by I#, which should probably be 0 at the time, resulting in Mem(0) = 8*0 = 0. The add makes mem(0) += 0x2350b4.

Read and Write are direct ROM operations, that do as the name implies. They read and Write the bytes as they appear to us, so they load/write byte by byte with the first being the most significant byte(Big Endian).
So, Read(mem(0), 3) reads the first 3 bytes of the location indicated by mem(0).

Because the GBA has it in reverse (least significant byte first, Litte endian), Flip takes the 3 bytes and reverses them, to look more like a pointer. Flip(3) flips the first 3 bytes.

A command that is not in your above post is the Image one.
Image takes as the first param the image offset, as second one the Palette offset and last the size of the image, in the format (0xWidth<<0x10 |0xheight). That is the reason the second pointer is loaded. It's the palette. Image(mem(1),mem(0), 00200020) would load the image in Mem(1), with 32*32 sprite size, with the palette indicated by mem(0).
Here are the links for my work


Currently working on:
Battle Script Documentation
Another large project
Post Reply
Quick Reply

Sponsored Links


Advertise here
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:10 PM.

About Us
© 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.

Copyright
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. Header artwork by Jordanice of deviantART.

Social Media
If you would like to stay up-to-date with us on the go, when we're down, or other such things, follow us on social media sites--most notibly Twitter, Facebook, and Google Plus--by clicking on the links provided.

Design presented by Peitharchia. Special thanks to Hiroshi Sotomura and Ausaudriel.