Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Super Mario World hacking: |
Acmlm's Board - I2 Archive - Super Mario World hacking - Custom Block request. | | | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
Smallhacker Green Birdo SMW Hacking Moderator Level: 68 Posts: 1306/2273 EXP: 2647223 For next: 81577 Since: 03-15-04 From: Söderhamn, Sweden Since last post: 10 hours Last activity: 9 hours |
| ||
I would try to do this myself, but I have absolutely no idea of how to copy data to the VRAM or get the MAP16 tile number from a location. I need a custom block that checks the MAP16 blocks at the co-ordinates (0,0) to (3,0) (Layer 1). Then, it loads a graphics file like this: o The graphics file to be loaded is decided by the MAP16 block. (Block 3 loads GFX File 3, block 87 loads ExGFX file 87.) o The block at (0,0) decides which file to load into FG1, the block at (1,0) decides whch file to load into FG2, etc. o If the file number is invalid (32 - 7F)*, it won't do anything to that graphics slot. *) Yes, I know that 7F is valid, but who the heck would ever use it? After that, it would change itself into the next MAP16 block. If anyone could spare some time to do this block OR tell me how to do it, I would really appreciate it. |
|||
blackhole89 LOLSEALS Moderator of ROM hacking EmuNET IRC network admin Head GM of TwilightRO Level: 47 Posts: 549/971 EXP: 739208 For next: 26995 Since: 03-15-04 From: Dresden/Germany Since last post: 14 hours Last activity: 12 hours |
| ||
I suggest an easier version of the stuff you mentioned above. - Somewhere in the unused space of the ROM you have a level number -> GFX indices table editable with a hex editor or something else. - Somewhere else in the unused ROM space you keep non-compressed (!) GFX data to be loaded into the VRAM. - The block routine, when called, reads out the corresponding GFX indices and copies the corresponding GFX data into the VRAM. It would be much easier to code because I know as much as nothing about the compression algorithm SMW uses on the graphics (and, I believe, only few people besides FuSoYa do). Besides, you would spare yourself having to abuse your level's top left corner. If you agree with the above, I might try to code such a block for you. Otherwise it would be beyond my possibilites. |
|||
Smallhacker Green Birdo SMW Hacking Moderator Level: 68 Posts: 1307/2273 EXP: 2647223 For next: 81577 Since: 03-15-04 From: Söderhamn, Sweden Since last post: 10 hours Last activity: 9 hours |
| ||
That would probably work too... I would be really happy if you did that. However... There's one thing that I accually didn't think about, but it's neccesary. It has to be able to switch graphics at least three times per level. Therefore, could you make the "table format" contain three graphics addresses/level (and make the blocks so that only a few bytes will be needed to change in the code in order to choose which one of the addresses to use)? Just one question: Would the table be used with the current sub-level number or the number of the main level? (Current sub-level preferred.) Also, thanks again. |
|||
blackhole89 LOLSEALS Moderator of ROM hacking EmuNET IRC network admin Head GM of TwilightRO Level: 47 Posts: 550/971 EXP: 739208 For next: 26995 Since: 03-15-04 From: Dresden/Germany Since last post: 14 hours Last activity: 12 hours |
| ||
As for the last question, it will be the sub-level number. The thing with three graphics sets per level is possible, too. Well, I'll try to make such a block, mainly because it could be also of use for my own hack... |
|||
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: 3260/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
I've got a slightly better idea, for those who don't intend to use 3 different sets of graphics for every level: Make 3 tables instead. One block would load graphics as specified in the first table, another from the second, and so on. You could basically have as many different 'graphic replacement' tables as you wanted this way. Or, you could hard-code the address into the block, and just have people copy and hex edit the block, like those gravity-changing ones release a while back. That way you don't need all these unused table entries if you only plan to use it a few times. [edit] You know, this sort of thing would be a lot easier if the level data format was tweaked ever so slightly to allow an extra 'parameter' byte for custom blocks (make Map16 insertions have one more byte which can be specified by the user and gets loaded to a register/address in custom block code.) I'm talking to you, Fu. (edited by HyperHacker on 02-13-05 10:15 PM) |
|||
FuSoYa Defender of Relm Level: 26 Posts: 152/255 EXP: 99529 For next: 2746 Since: 03-15-04 From: Moon Since last post: 7 days Last activity: 7 hours |
| ||
Originally posted by HyperHacker Bug fixes only now, remember? Besides, creating a large table in the ROM to hold an extra value or two for all the FG Map16 tiles isn't too difficult. |
|||
Smallhacker Green Birdo SMW Hacking Moderator Level: 68 Posts: 1308/2273 EXP: 2647223 For next: 81577 Since: 03-15-04 From: Söderhamn, Sweden Since last post: 10 hours Last activity: 9 hours |
| ||
Originally posted by HyperHacker Accually, that sounds like a pretty good idea... No wasting space on tables and easier to program... |
|||
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: 3287/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
Originally posted by FuSoYaOriginally posted by HyperHacker There's an idea. But there must be some bug you could fix at the same time. Is 'FG Start Position' in Main/Midway Entrance supposed to have 2 00s and no 90? |
|||
FuSoYa Defender of Relm Level: 26 Posts: 153/255 EXP: 99529 For next: 2746 Since: 03-15-04 From: Moon Since last post: 7 days Last activity: 7 hours |
| ||
The list comes right from the ROM, so yes, it's supposed to be that way. |
|||
Juggling Joker Boomerang Brother SMW Hacking Moderator Yeah, JAMH is still being worked on. Level: 48 Posts: 493/1033 EXP: 811447 For next: 12096 Since: 03-15-04 From: Wyoming Since last post: 2 days Last activity: 3 hours |
| ||
I have plenty of litte bugfixes to suggest, I'll get right on that when I'm not at work. | |||
cpubasic13 17 years old now. Time to buy some M rated games by myself! Level: 54 Posts: 832/1346 EXP: 1206934 For next: 26936 Since: 03-15-04 From: Blame my parents, Eddy Since last post: 2 days Last activity: 1 day |
| ||
Some bugfixes are for the sprites that have special things to them (Hammer Bros. throw rate is either fast or slow, depending on the x-coordinate and the Pitchin' Chuck throws 2, 3, 4, or 6 balls depending on the x-coordinate) so if you need some bugs, Fu, there are some (well, technically they are not bugs, but just some touchups...). Well, what I was thinking was that there was a block in Blocktool that changes the palette to a certain level's palette when touched. All you would probably have to do is alter it to where you change it to load both palette and graphic set from that level. Just a thought, though, and I highly doubt it is possible... |
|||
FuSoYa Defender of Relm Level: 26 Posts: 154/255 EXP: 99529 For next: 2746 Since: 03-15-04 From: Moon Since last post: 7 days Last activity: 7 hours |
| ||
Thanks, but as you said, those aren't bugs. Although if some real bugs turn up someday and a release becomes necessary, I'll probably include those. |
|||
Juggling Joker Boomerang Brother SMW Hacking Moderator Yeah, JAMH is still being worked on. Level: 48 Posts: 494/1033 EXP: 811447 For next: 12096 Since: 03-15-04 From: Wyoming Since last post: 2 days Last activity: 3 hours |
| ||
Oh, one thing I thought of (this isn't a bug either, but I would love you forever if you implement it) is the ability to take off those annoying FGx, BG prefixes on the dropdown lists for the Super GFX Bypass. Ya know, like you did for the Objects and Enemy lists. | |||
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: 3321/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
Originally posted by FuSoYa Where is that list? I wouldn't mind being able to modify or expand it. Especially if I could find the routine that reads it. (I don't suppose by any chance LM gets the number of list entries from the ROM as well? ) |
|||
FuSoYa Defender of Relm Level: 26 Posts: 156/255 EXP: 99529 For next: 2746 Since: 03-15-04 From: Moon Since last post: 7 days Last activity: 7 hours |
| ||
JJ: You could use Shift-F4 in LM's main window to switch to the alternate bypass dialog where you type the numbers in. HH: I don't recall offhand, but a quick search for "00 60 C0 00" in the ROM will probably take you right to it. I doubt there's a "number of list entries" value for LM to read... the game probably uses a bit mask and some bit shifting on a byte to get the index to use. Meaning if you want to expand the # of entries, you'll likely have to expand the settings as well to use them. |
|||
Juggling Joker Boomerang Brother SMW Hacking Moderator Yeah, JAMH is still being worked on. Level: 48 Posts: 496/1033 EXP: 811447 For next: 12096 Since: 03-15-04 From: Wyoming Since last post: 2 days Last activity: 3 hours |
| ||
Hey, thanks Fu. I didn't even know that existed until now. This oughta speed things up for me. |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Super Mario World hacking - Custom Block request. | | | |