Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Rom Hacking: |
Acmlm's Board - I2 Archive - Rom Hacking - Has anyone even considered creating an editor for Mario RPG? | | | |
Pages: 1 2 3 4 5 6 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
giangurgolo Level: 10 Posts: 17/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
study this tutorial I wrote demonstrating the arrangement of 16x16 tiles with the 8x8 tiles from decompressed GFX in banks 3B0000 through 3E0000 16x16 tiles are arranged in banks 3B0000 through 3E0000 although I don't know about 3E0000 because I haven't documented anything there yet knowing this is vital to understanding the links between the crucial data, which goes in this order: tilesets read compressed GFX pointers from area layout data, decompressed GFX are arranged in 16x16 tiles, and 16x16 tiles are mapped here's an updated tilemap offset collection with the tileset offsets added; I was wrong about tilesets and their significance in tile mapping because that's where the whole tile-arranging thing takes place before it maps the tiles thanks for the feedback I've gotten this is about as much as I'm going to do...it's up to the programmer to try to comprehend it and do what they wish remember, if there are any questions about these processes just ask |
|||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1199/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
OK, one thing is that SMRPG seems to use the same screen mode as SMW, since the other 8 palettes are going to be used for the sprite layer. This means that each Map16 tile is 128 bytes big, right? My only other question is this- I'm guessing that the tileset decides the MAP16 page(s) selected for use, so if we could decode that, what else is there to do before you could put together a program that could edit the levels themselves? Tilesets may actusally be referred to as "MAP16 Page" sets, If I understand you right. EDIT: Hey, here's something for everyone involved in this project: It's a bit big, but that's what you get for using paint. If you want it please DL it and host it on your own site, thx. (edited by Darkflight on 07-14-05 02:39 AM) |
|||
Omega45889 Panser Level: 30 Posts: 288/335 EXP: 148978 For next: 16891 Since: 03-22-04 From: Vancouver Canada Since last post: 5 days Last activity: 6 hours |
| ||
Hmm, thats a good idea. I should make a logo for the project but, I dont want to start with all that visual stuff until i have something cool goin. (edited by Omega45889 on 07-14-05 02:35 PM) |
|||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1209/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
I'm fairly good with fireworks MX 2005 and .ico files. If you wanted I could work on something. The pic i posted was a gift for everyone who has put time and effort into this endeavor. | |||
Pikachu025 Shyguy Level: 17 Posts: 84/96 EXP: 21989 For next: 2754 Since: 05-05-04 Since last post: 75 days Last activity: 11 days |
| ||
Originally posted by DarkflightPlease never use BMP again. Thanks. Here's a GIF-Version (which was smaller than PNG, strangely): |
|||
giangurgolo Level: 10 Posts: 18/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
actually the tileset format has already been decoded (I'm guessing you were speaking hypothetically) this is the first part of the decompressed tileset for Mario's Pipehouse (and many others) which is the whole block (1000h bytes) and this is just a selection of the first 80h bytes as seen in Hex Workshop the selection is a single 16-tile row of 16x16 tiles...each 16x16 tile is 8 bytes (in the tileset data) so a single row of 16 16x16 tiles would be 128 bytes; however, the tops and bottoms of the tiles aren't in subsequent order...for instance the selection on top is the top half of the first tile in the set the selection on bottom is the bottom half of the first tile in the set that's the way it looks in a tile editor...in a ZST the graphics are arranged so that they're easiliy recognizable, which is because the top/bottom halves of the tiles are directly below each other on separate rows; the halves are 40h bytes apart tile rows are 128 (80h) bytes each so it works within a row here's an example where HW displays 64 bytes each row so that the top/bottom halves are displayed right above/below each other each box of 8 bytes is a 16x16 tile...every two bytes is an 8x8 tile; try to look at it as GFX seen in a tile editor; the byte 00 1C (or 1C 00 in big endian) is a transparent 8x8 tile...here I'll show you: consider this image directly correspondent to the last one according to the five 16x16 tiles selected...as you can see, the first two are blank because they both share the values 00 1C for every little 8x8 tile in the 16x16 tile arrangement |
|||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1215/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
OK, looking at that, does that mean that the tile one down from the first tile would be 00 1C 00 1C 00 04 00 38? So, if only the tile number, and not the other data byte were used, I would venture a guess that a 3 tile by 3 tile portion of the MAP16 could be explained sort of like this: 1C 1C | 1C 1C | 0C 0C 1C 1C | 1C 1C | 19 19 ______|______|______ | | 1C 1C | 1C 1C | 1C 18 04 38 | 38 38 | 19 19 ______|______|_______ | | 24 38 | 38 38 | 3C 3C 38 38 | 38 38 | 3C 38 All-in-all, that setup reminds me of the MAP16 format used in SMW, except that that's only a part of it. Perhaps then a MAP16 editor based off of the one in LM could be used, assuming that I've figured out the graphics low byte? |
|||
giangurgolo Level: 10 Posts: 19/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
remember that the low byte is the tile number...we're looking at little endian format so the grid you made should have the low byte if only the tile number is shown 1C is the high byte for the blank tiles I didn't have an explanation as to how to read an 8x8 tile: if a tile editor would be reading the 8x8 tile, in order to find what GFX section the tile is reading from follow these steps (this has a tile example): step 1: start with tile 0CC6 step 2: subtract 0x40 from the high byte only if it is greater than/equal to 40h, to cancel the mirroring 0CC6 (no modifications this time) step 3: divide high byte by four 03C6 remainder is 0, so it is from section 1 of GFX quotient is 0x03 so it uses palette 3 (from 0-7) (edited by giangurgolo on 07-14-05 06:03 PM) |
|||
Pikachu025 Shyguy Level: 17 Posts: 85/96 EXP: 21989 For next: 2754 Since: 05-05-04 Since last post: 75 days Last activity: 11 days |
| ||
I've edited your picture to fit the others, Darkflight. Do you like it? BTW, great stuff you are doing here! |
|||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1222/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
Nice pic, pikachu025. Ah, so I've mixed up the bytes. That would make the low byte table the following, instead of what I put last time: 00 00 | 00 00 | C6 C7 00 00 | 00 00 | B8 B9 _________________ 00 00 | 00 00 | 00 05 00 05 | 38 39 | 14 15 _________________ 00 05 | 24 25 | 00 00 14 15 | 06 07 | 00 05 So, for the division, if used in a program you would want to use the modulus command together with the division command in a code block similar to this:
Yea, that's in VB, but It shouldn't be too hard to convert, since most of the functions should be generic. |
|||
giangurgolo Level: 10 Posts: 20/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
sorry if this is off topic but is there anything that's capable of converting a long string of hex numbers to decimal form? not individually, I mean like an entire document...say, a list of hex values like this: 000A 0014 000A 0010 001E 0050 001E 0020 002B ...and so on any help would be greatly appreciated! |
|||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1246/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
well, in VB6 I'd use the command randomvariable = &h(your value here) which would take the hex value and convert it to base-10. |
|||
giangurgolo Level: 10 Posts: 21/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
I guess I meant to ask if there's any software out there that can do en masse base converting, since I don't have any knowledge of one existing. I don't have VB6 on my machine, though, if I wanted to create one of my own, but thanks for the help. |
|||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1248/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
well, my best idea would be to create a command-line prgram that could do it. If you have Qbasic, PM me and I will send you a program you could write in it to add up an infinite umber of hex numbers, if you want. | |||
Omega45889 Panser Level: 30 Posts: 291/335 EXP: 148978 For next: 16891 Since: 03-22-04 From: Vancouver Canada Since last post: 5 days Last activity: 6 hours |
| ||
Im almost finished writing a command line program that will do the conversion for you, but i am tired, and its like 5am. Ill finish it up tomorrow afternoon if you still want it. | |||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 5769/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
Base conversion/addition, eh? - contains utilities for converting between any two bases, and for adding any amount of numbers, among a bunch of other cool things, all by command line. (edited by HyperHacker on 07-15-05 06:37 AM) |
|||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1298/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
Awsome- but I have a question. With layers one and two, do they both have one tilemap, or is there only one, and a config bit determines the layer it goes on? | |||
BGNG Snifit Level: 22 Posts: 149/276 EXP: 56579 For next: 1771 Since: 06-03-05 Since last post: 8 days Last activity: 3 hours |
| ||
I've prepared a signature link icon for the Super Mario RPG thread in the same manner as the other ones used on this board. Use this one not for conformity or because I made it, but for the effect of uniformity: To include this in your signature without the annoying border and with the tooltip text in it, use the following code: <A HREF="http://board.acmlm.org/thread.php?id=11060"><IMG SRC="WhereverYouPutThis/SMRPGLE.gif" Border=0 Title="Super Mario RPG Hacking Underway"></A> |
|||
giangurgolo Level: 10 Posts: 22/42 EXP: 3346 For next: 1068 Since: 06-04-05 Since last post: 31 days Last activity: 22 days |
| ||
this doesn't really have anything to do with level-editing, but I threw together a monster/battle script chart which includes every significant monster stat ripped directly from the ROM, their stat offsets and battle script offsets and a table of battle scripts for every monster I guess it might make hacking a bit easier for anyone who wishes to edit those sorts of things. |
|||
aioria1981 Ninji Level: 20 Posts: 1/234 EXP: 36701 For next: 5738 Since: 07-20-05 From: Viña del Mar, Chile Since last post: 5 days Last activity: 5 days |
| ||
Hi, I'm a newbie in this forum, but I've reading this forum for a long time before registering. Well, here are my questions About these offsets... 0x394F3C death animation-pop 0x3950B3 death animation-fade out ...I don't know if in these offsets is where when u kill an enemy, it dies as a as an animation dropping 0, small coin or big coin. I ask because when i change the coins given by some enemy, (i.e: 0x39163E for goomba) it doesn't affect the way it dies (for example, if i put 8 coins, it has to be an animation for the big coin drop, since for what i've seen, monsters that drop 5 coins or more drop a large coin, and from 4 coins and lower are small coins, obviously 0 must not have any animation) Well, if so, can anybody explain the format of the bytes in these offsets and the lenght of the stats in number of bytes fir each monster? ...and if not, what do they mean. By the way, thanks for giangurgolo for all this doumentation and all of the guys contributing with ideas for hacking smrpg |
Pages: 1 2 3 4 5 6 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Rom Hacking - Has anyone even considered creating an editor for Mario RPG? | | | |