Banner
Views: 738,163,911
Time:
18 users online: Arobam, Christianero, FrozenHydra, FrozenQuills, Hooded Edge, Hypado, IanBoy, lucasfilm, MercuryPenny, MM102, ModernKiwi, Polaris, Stairkase, o Tahixham, The Hacking Yoshi, WhiteYoshiEgg, Yung Gotenks, ZAGESAW - Guests: 52 - Bots: 61Users: 38,843 (1,929 active)
Latest: MedroidFelipe
Tip: Unique level names aren't necessary, but they're a plus.Not logged in.
Ask anything about SMW Hacking - 2019 Edition
Forum Index - SMW Hacking - SMW Hacking Help - Ask anything about SMW Hacking - 2019 Edition
Pages: « 1 2251 252 253 254 255263 264 »
Are you starting a new save file before testing the overworld? As the level tile settings dialog states, the initial level flags apply only when starting a new save file - one which says EMPTY, not 0.
Originally posted by Telinc1
Are you starting a new save file before testing the overworld? As the level tile settings dialog states, the initial level flags apply only when starting a new save file - one which says EMPTY, not 0.

That was the case, indeed!
I never knew you needed to start a new save to get the new properties. I always assumed it would not, since you don't need to start a new save when you change the level a tile directs you to.
Thanks!!!

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
Does anyone think there's a way to have 32×32 Player Tilemap Patch 1.2 and Alternate Mario ExGFX work together?
Originally posted by Romano338
Originally posted by Telinc1
Are you starting a new save file before testing the overworld? As the level tile settings dialog states, the initial level flags apply only when starting a new save file - one which says EMPTY, not 0.

That was the case, indeed!
I never knew you needed to start a new save to get the new properties. I always assumed it would not, since you don't need to start a new save when you change the level a tile directs you to.
Thanks!!!

That's because these settings are saved into SRAM. It might seem weird at first but remember that the initial level settings flag also features the midway point flag, save promt flag, no reentry flag and most importantly, level beaten flag. These aren't necessarily set on the level init but certainly when you exit (either dying, start+select or beating) a level.
In addition, the direction you can go on the level is the same as when you beat the level. That means, if an exit leads you up, Mario moves up (it also enables you to go back on the next tile but that's just a side note) and sets the flag that you can go up on said tile and said flag is the same as on the initial level settings flag.
And just as a side note: These and Mario and Luigi's initial position are the only modifyable settings which are saved in SRAM and therefore require an empty file to take effect for. For anything else, a simple reload of the overworld (e.g. depending on the settings, entering a level and go back, switching the overworld or reloading the savefile) is enough.

tl;dr The direction you can initially go on a level tile is saved in SRAM due to how SMW works.

Originally posted by Conal
Does anyone think there's a way to have 32×32 Player Tilemap Patch 1.2 and Alternate Mario ExGFX work together?

Not really. The reason is because both of them hijack Mario's GFX routine (both, uploading and tiles) which, not to mention that Mario ExGFX uses variations of GFX32 and 32x32 player GFX .
You can, however, incoorporate the Mario ExGFX aspect to the 32x32 player tilemap patch. That shouldn't be hard given that all Mario ExGFX does is to switch the bank to upload the data which can be done in an easy modification.

Yay, first layout!
Thanks for the info, pretty interesting!!

New question:
Is it possible to have the message box's message completely transparent for a level?
I want my C5 intro like that (the real message would be the BG or the FG, so I need nothing to pop up but still the "message triggering the end of the intro" to happen).
Or maybe put my graphics on a layer that would be on top of the message box but I don't think that's doable

--------------------
Super Mario Pants World by Romano338 - Playthough
Luigi's Lost Levels by Romano338 - Playthough
Baby Kaizo World by Romano338 [Cancelled] playthrough
New Question, please help! I'm editing my overworld for the first time.

When I replaced Yoshi's Island, i had to move mario to a new starting location. I moved the sprite to the new location of yoshi's house and hit save. I then tried to test my level but mario wasn't in the same location i moved his sprite to. Mario was in the position of original SMW starting position. He also couldn't move at all. When i tried entering a level, i was put in the bonus game soft lock.

I know i saved mario's new starting locatioin. I tested moving mario to different worlds/locations, same result. My levels have paths and are all correctly numbered. Any suggestions would be very helpful. Thanks
The game remembers Mario's overworld position when you save the game. That means, if you start from a used file, the change doesn't get applied instantly. Make sure to start from an empty file (note that the file has to say "EMPTY", not just a 0) or erase any used savefile when you change Mario's position.

Yay, first layout!
Hi, i need some help on understanding Level Data Format.

Let's say i wanna edit YOSHI'S ISLAND 1, ROM map says:

Code
$0688DD	283 bytes	Level data	Level 105


looking at All.log we have:

Code
DATA_0688DD:                      
	.db $33,$40,$08,$80,$27,$58,$10,$BF
	.db $77,$F4,$02,$72,$AD,$22,$F7,$F4
	.db $03,$10,$01,$41,$77,$FE,$03,$F7
	...


1. The level format data says something about "Pointer Tables", what are those?

2. Where is level's objects data stored? i mean position, type, size, etc? I dont think all YI 1 information fits in only 283 bytes of data...

3. Map16 is all possible sprites (images) allowed to be inserted at certain lvl, am i correct? Can i have more than one Map16 by level? Can a Map16 be used be multiple levels?

2. What is a "bank"?

Ps: i'm trying to edit levels without Lunar Magic so any information related to it won't help much
Originally posted by farofa_azeda
1. The level format data says something about "Pointer Tables", what are those?

It's a list of pointers where the level is located in the ROM. Yoshi's Island 1, for example, is put at $0688DD. It shouldn't bother you, though, given that it's only interesting for ASMers.

Originally posted by farofa_azeda
2. Where is level's objects data stored? i mean position, type, size, etc? I dont think all YI 1 information fits in only 283 bytes of data...

The table you see for the level data is the level data. Each object is made out of three bytes (at least usually ‒ screen exits are object too but use four instead of three bytes). It's format is following:
NBBYYYYY bbbbXXXX SSSSSSSS
where
  • N is the New Screen flag i.e. it tells SMW go to the next screen for the next objects.
  • BBbbbb is the Object number which doesn't need much explaination other then that object 0 is used for the single tiled, fixed sized extended objects
  • YYYYY and XXXX are the Y and X position respectively and
  • SSSSSSSS is the Settings byte which often is tile size (X and Y, respectively, though there is a wide ledge with fixed height but very big X size) but sometimes used as the secondary tile number (either completely like the extended objects, or partially with some sizable objects like the pipe)

Keep in mind that the object number isn't the same as the Map16 number, especially since BBbbbb. Instead, objects are a blueprint which places a set of Map16 tiles. Ledge objects, for example, places on the top row a ledge Map16 tile and for the bottom whereas pipes place two tiles per row and add at the top and/ or bottom, depending on the pipe. They also might reform if put over other tiles as seen with the left and right top edges or the climbing net.

tl;dr SMW uses objects, blueprints which places Map16 in the level. That allows you to save space since not every single Map16 tile has to be placed manually.

Originally posted by farofa_azeda
3. Map16 is all possible sprites (images) allowed to be inserted at certain lvl, am i correct? Can i have more than one Map16 by level? Can a Map16 be used be multiple levels?

That's some big misinformation. Map16 are the tiles you can interact with the levels and have nothing to do with graphics, at least on their own. And besides, the correct word for foreground and background graphics are simply "foreground" or "background graphics". "Sprites" refer to the graphics of entities like Mario or enemies, though we on SMWC refer "sprites" as the enteties themselves and not their graphics (their graphics are simply called "sprite graphics").
That being said, Lunar Magic allows you to use two more GFX slots for foreground and background graphics. You can put another FG or BG GFX for them like a castle or cave alongside a grassland level. Keep in mind that you need to recreate the tiles yourself in the Map16 editor, though, not to mention that certain tiles changes on certain tilesets (e.g. caves have got lava tiles and upside down slopes whereas castle has spikes, moving stairs and the boss door).

Originally posted by farofa_azeda
2. What is a "bank"?

I believe with "bank" you refer to either the PC bank or the background bank. I assume the latter since the former is a programming question: I don't know the exact reason but you can't use any tile for backgrounds. Each page is put in a set containing 16 pages in total. These sets are called "groups". Again, don't ask me for details as I don't understand the inner working of the background.

Edit: Tag (ul) is now closed.

Edit²: Typo. <_<

Yay, first layout!


1. The "pointer tables" are just a table of 24-bit (3-byte) addresses in the ROM to each level's data. It's how the game associates each level number with that data. In the event that Lunar Magic moves that data somewhere else (because it can no longer fit in that space), you'll have to look at the pointer table to figure out where that data got moved.
For example, if 105 gets moved, you would look at 0x05E000 + (0x105*3) = 0x05E30F; the 24-bit value here then forms the pointer to the level data (in little endian; so if it was like "80 3F 11", that becomes "$113F80").

2. It is indeed in that data table. The level data format page you linked describes it in a bit more detail, but basically, every object (excluding some LM ones, and screen exits) can be entirely described in three bytes. So the length of data is 5 bytes for the level header, 3 times however many objects are present, then 4 times the number of screen exits, and finally 1 byte for the end sentinel (an FF byte). So, for example, level 105 has one screen exit and 91 objects, which you can see add up: 5 + 91*3 + 1*4 + 1 = 283.
For level 105, you can see the first object's data is "$58,$10,$BF" (because 5 bytes are skipped for the header). The "BBbbbb" value you see in the object data format here is 0x21, which in turn corresponds to the large-scale ground ledge that covers the bottom of level 105.



e: got ninja'd on the rest. May as well post what I had anyway.

That said, with the last one he may actually mean the programming use of bank, since the level data format page references those. Basically, whenever you have a 24-bit (3-byte) address, each of the individual bytes of that address are referred to in different ways. From lowest-value to highest-value, you have the "low" byte, "high" byte, and "bank" byte; e.g. $AABBCC has a low byte of $CC, high byte of $BB, and bank byte of $AA.
This becomes important with e.g. the sprite data pointers. Whereas the layer 1/2 pointers are all 24-bit, the sprite pointers are only 16-bit; they don't have a bank byte (because in the original game, SMW could fit all the sprite data into a single bank). This becomes an issue with LM-modified hacks since that data won't necessarily fit in that one bank anymore, so Lunar Magic created a separate table to hold those bank bytes. As such, in order to find the location of sprite data in a LM-modified hack, you'll have to actually look the level up in two tables; the table at $05EC00 for the low/high bytes, and then the table at $0EF100 for the bank byte. Those two value together will form the full 24-bit pointer.


Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
I'm running into an odd problem where a level cannot be longer than 0B. I can make changes to the header, but as soon as I save to ROM, it reverts to 0B screens.

What is odd is that 0B was not the original number of screens for the level in the first place, so I am not sure why it is choosing to get stuck there of all places.
Originally posted by RadzPrower
I'm running into an odd problem where a level cannot be longer than 0B. I can make changes to the header, but as soon as I save to ROM, it reverts to 0B screens.

What is odd is that 0B was not the original number of screens for the level in the first place, so I am not sure why it is choosing to get stuck there of all places.

What do you mean by "reverts back to 0B screens"? Everything on the other screens gets erased?
Originally posted by Darolac
What do you mean by "reverts back to 0B screens"? Everything on the other screens gets erased?

The level length reverts to 0B. Everything placed remains just fine, but the level just stops when you try and play it rather than continuing. The value for level length is the only thing that reverts.
Thank you Thomas and MarioFanGamer, you guys helped a lot.
Hey, I did something while editing a level to mess up the entire game. Now, whenever i play test my levels I can't spin jump and I can only run half the time. Any ideas about what could be wrong?
Why does Lunar Magic need a header?
Originally posted by RadzPrower
Originally posted by Darolac
What do you mean by "reverts back to 0B screens"? Everything on the other screens gets erased?

The level length reverts to 0B. Everything placed remains just fine, but the level just stops when you try and play it rather than continuing. The value for level length is the only thing that reverts.


Originally posted by Rezin98
Hey, I did something while editing a level to mess up the entire game. Now, whenever i play test my levels I can't spin jump and I can only run half the time. Any ideas about what could be wrong?


Well, I have no clue of what might be the problem in both cases, but you could try the following:


-Export all your recently made levels and map16 of the rom.

-Use the LM restore option to get back in time and revert to some days - even weeks ago.

-Check if you were having that problem back then. if it's the case, just restore to a older point; if you solved the problem, reinsert your levels and map16, reapply your tools applied during that interval , restore your OW (you can do that with a copy of the newest rom, just open the OW on that rom, open the rom where you want to put your OW in , reopen the OW and save it) and you're good to go.

If that doesn't solve it you could try to just port everything to a new rom.
Originally posted by Darolac
Well, I have no clue of what might be the problem in both cases, but you could try the following:


-Export all your recently made levels and map16 of the rom.

-Use the LM restore option to get back in time and revert to some days - even weeks ago.

-Check if you were having that problem back then. if it's the case, just restore to a older point; if you solved the problem, reinsert your levels and map16, reapply your tools applied during that interval , restore your OW (you can do that with a copy of the newest rom, just open the OW on that rom, open the rom where you want to put your OW in , reopen the OW and save it) and you're good to go.

If that doesn't solve it you could try to just port everything to a new rom.

After an overnight shutdown, it seems to have fixed itself.
Could there be a simple way for the player to swim in lava when either invincible (star) or with a specific power up (flower) in a way that every sprite will still treat it as lava?

I'm thinking since the lava kind of acts like water (albeit it kills you), it might make sense if, when in an invincible state, that the lava continues to harm other sprites, but be possible for Mario to swim in.
Originally posted by Conal
Could there be a simple way for the player to swim in lava when either invincible (star) or with a specific power up (flower) in a way that every sprite will still treat it as lava?

I'm thinking since the lava kind of acts like water (albeit it kills you), it might make sense if, when in an invincible state, that the lava continues to harm other sprites, but be possible for Mario to swim in.

I guess a custom block could do the trick. I might try to make it if I have some time.
Pages: « 1 2251 252 253 254 255263 264 »
Forum Index - SMW Hacking - SMW Hacking Help - Ask anything about SMW Hacking - 2019 Edition

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2019 - SMW Central
Legal Information - Privacy Policy - Link To Us


Total queries: 25

Menu

Follow Us On

  • Facebook
  • Twitter
  • YouTube

Affiliates

  • Talkhaus
  • SMBX Community
  • GTx0
  • Super Luigi Bros
  • ROMhacking.net
  • MFGG
  • Gaming Reinvented