Language…
9 users online: amie5057,  Anorakun, autisticsceptile1993, Burst Man, Dispace, GrenudoGames, thatwaterblockrk, xMANGRAVYx, Xulon - Guests: 139 - Bots: 119
Users: 70,177 (2,558 active)
Latest user: brenknife

Posts by hash

hash's Profile → Posts

Thanks again for your help WhiteYoshiEgg, and while your fix (and explanation; thank you!) did indeed make the patch work, it isn't quite the patch I was hoping it would be.
It does what I want, but in a very unelegant way. The reload doesn't happen on the next submap until Mario fully transitions to the first level on the new map, instead of when Mario leaves the previous map. This leaves the ugly gfx/palettes visible for a few moments.
My next step is delving into the code and seeing if I can make the reload happen earlier.

So if anyone else has solution to the problem, it would be appreciated.
When using Layer 2 as a level, you can use Layer 3 images as the background. They are limited in colour, but add a nice touch to levels. To enable Layer 3, click #lm{props} in the toolbar and select from the dropdown. You'll notice at the bottom of the Layer 3 window it tells you the FG/BG index to use to enable each of the default Layer 3 backgrounds (rocks, scrolling rocks, windows, fish, beta cage or mist). This is the number located beside each FG/BG graphic index when you click #lm{gfxby}.

Hopefully that helps.
Open up #lm{8x} the 8x8 editor and press the keys Ctrl+Shift+PgDown on the keyboard. This will unlock the Internal GFX data we will use to display our animated water surface. As Thomas said above you will be using ExAnimation to display the water surface. Back in the #lm{8x} 8x8 editor, press your down arrow key 6 times, and you'll notice each frame of the water will be in the top left of this window. Hover over the first tile, and notice at the bottom of the 8x8 window it will say "Tile 0x600".


Now open up your ExAnimation #lm{exan} dialog and put in these settings (I urge you to read the guide on ExAnimation to see why you use these settings):


NOTE: Make sure your "Destination" (200 in the photo) is a blank area in your 8x8 editor window to avoid replacing tiles. If you aren't using any ExGFX in your level, 200 will be fine.

Now open up the #lm{16x} 16x16 editor window in LM and then click both #lm{8xt} #lm{8x} icons in that windows toolbar. The second one will open up the 8x8 Tile Selector window. If you've done everything correctly up until now, pressing the down arrow on your keyboard, or scrolling down a bit in that window, you will see your animated water! Just select the tiles, and paste them into a BLANK page of the 16x16 Tile Map Editor. I recommend you don't replace tiles on Pages 0 or 1, and begin your custom tiles on Page 2. If you're unsure what page you're looking at, press #lm{page} and blue boxes will appear with little numbers telling you your page number.


Paste your tiles, change the palette (water is Palette 7 by default), set the "Act As" to 0 (which is the default water tiles Act As settings). Now click the #lm{8xt} icon again to get out of 8x8 Tile Selector mode, and simply place your tile in your level.

Thomas above linked a guide to ExAnimation that is well worth the read and extremely informative. Hope this all helps you out.
So I've been working on a ROM for about a year, and have put tons of hours into it. I also make consistent backups, so I'm not extremely concerned about this issue, as I can recover my work. However, I am curious as to why (or how) this happened.

I'm not sure what relevant information is needed, so I'll cut to the chase with the problem that has arose.

I'm simply making a new level in my hack; adding new tiles into a level in Lunar Magic, and doing a few overworld tweaks. Saving periodically, and testing in Snes9x also. All is going well, then literally out of no where when I go to test in my emulator (the same way I have been for the past few hours), I have massive graphical glitches everywhere when I enter my levels! Lunar magic displays everything fine. I can add more blocks, view my Map16, save with no warnings, and everything works as usual in Lunar Magic, but it's mangled in my emulator (I tried Snes9x and Bizhawk).

Below is a screenshot of what it looks like in Lunar Magic, and also what the same spot looks like in the emulator:



What it appears like to me is Lunar Magic suddenly started to ignore... some of my ExGFX files? and defaulted to the original GFX files instead... but retained some ExGFX tiles #ab{o_O} The tiles that have been 'replaced' with mangled graphics seem to match up with the locations in the original GFX files. At the time of the glitch occurring, all I was doing was adding more tiles to this snow level; not messing with graphics.

I have tried importing/exporting the ExGFX/GFX files again, and nothing changes in the emulator or Lunar Magic. My game doesn't crash, and I have received no warnings when or since this happened. Opening the ExGFX files in YY-CHR shows no issues, it's only in emulator.

Does anyone know what could have caused this?

If it matters, I have a lot of stuff in this hack. From ASM patches (~44 minor/major tweaks and additions), ExGFX (~506), plenty of ExAnimation, pixi sprites (~140, mostly disassemblies), UberASM (~62 entries, mostly HDMA), around 2.5 pages of custom GPS blocks, and around 50 full levels + ~50 sub levels. Could I have attempted to cram to much stuff into a 4MB rom and had something overflow? I can provided any and as much detail as needed to help figure this out.

Any help with this matter would be appreciated. I don't want more issues down the line, and I'm only 1.5 worlds away from completion.
Thanks for the reply Noivern, I did end up using LMs built in restore function to step back a few places until the problem was no more. I still have no idea what caused the issue, but it appears to have begun when I was adding some ExAnimation to an overworld submap.
I redid the steps I had taken before noticing the corruption, but this time it seems completely fine. I'm gonna chock it up to a borked save, but for now everything seems as normal. One thing I did note that I found odd, was my levels and overworld colours had switched to 'special world passed' for some reason. Strange.

But this issue seems to be resolved, so mods can close the thread if they'd like.
Is your V-Scroll for Layer 2 in the 'Other Properties' header #lm{othprops} set to 'none'? It needs to be for layer 2 smash to work.
I am also having some issues with OAM index in relation to sprites > layers.
I'm trying to get the Urchin Disassembly to have low priority and go behind layer 1 (similar to how pipe piranha plants do).

I tried adding Thomas' code above into the sprite (in varying locations) with no luck. I also looked at how piranha plants and lakitu handle priority but that left me lost.

It seems in the Urchin's case the following code handles some of it's priority, but I don't know how to modify this sprite to go behind layer 1.
Code
LDX $15E9	;
LDY #$02	;
LDA #$04	;
JSL $81B7B3	;


Any help?
WhiteYoshiEgg, thank you once again for your help! Your explanation and the results are very helpful and achieve exactly what I am after. I reduced each entry in TileProp: by $30, and it made each tile of the urchin respect priority. I'll save this post for future reference :)
Originally posted by RussianMan
Originally posted by hash
3. When rising up from crushing they ignore new blocks above them. Adding interaction would be nice.


Originally posted by RussianMan
As for 3. I may create patch for that.


ok


Thanks for this RussianMan!
My apologizes for bumping a 4 month old thread, but I can't get this patch to work with my ROM. When I apply the patch as-is, no changes made, it crashes my game as soon as the overworld begins to load. Doesn't matter if I am on a submap or main map, I receive a garbage tile screen and a freeze. I tried the exact same patch on a fresh ROM and have no issues with the patch at all.

So my question is, are there any incompatibilities with other patches that are known? Secondly, how would I go about debugging to figure out where and why the crash I am experiencing is taking place?

I am not using an SA-1 ROM, and am only trying to insert the smoke/ninji included by default.
Name: Sumo Bros Flame Fix (+upgrade)
Type: Patch/Sprite
Tool: Asar/Pixi
Description: Prevent the sumo bros flames from expanding onto non-solid ground/air. The sumo bro's lightening always generates 5 flame stacks regardless of the ground to the sides of the center flame sometimes allowing flames to hover in the air. This patch would reduce the flames to only spawn above solid ground. Another approach would be for the flames to spread the entire length of the platform they land on, stopping when they encounter a wall or non-solid ground.
Maybe a lazy request, but I do palette animations quite often and always found it tedious to type in the SNES RGB value manually when doing palette animation.
So perhaps a new hotkey (Ctrl+Shift+click or an F key maybe?) while hovering over a palette colour could copy the SNES RGB value to clipboard. Then I can right click > paste in the ExAnimation cell to speed up adding colours to the frame list.

EDIT: Another suggestion, if at all possible, the ability to have non-silent layer 1 events reveal on the overworld without having to refresh the current map.
Originally posted by Erik
I figure you'll have better luck (and ease of use) using the version I posted in this thread. I recall the zip of the one I posted here includes an incorrect version which corrupts vanilla code in a non SA-1 ROM. Besides, the version from that thread works innately with Lunar Magic's OW sprite system.

Thanks for the link Erik, that newer overworld sprite patch does work flawlessly but unfortunately doesn't work hand in hand with SMW's original sprite engine. I'm only looking to add a ninji sprite (currently) so at the cost of all the other sprites, I'll have to hold off. Looking at the included ninji.asm looks intimidating to grasp re-creating SMW's original sprites. Thank you again though, I'll keep the patch in mind for the future.
Alternatively, copy the entire palette row (Ctrl+Alt+left click) containing the palette you'd like in every level, then go to one of the test levels (or any level without custom palettes enabled) and ctrl+alt+right click to paste the entire palette row you copied earlier. This will now make every level use the new palette colours.

When you copy palettes into levels without custom palettes enabled, the changes take place across all levels.
I have an issue in my hack where the layer 3 border doesn't always update when changing submaps. When I use a pipe or a star the screen fades out to black then fades back in revealing the next submap. The border updates perfectly when this happens. However, when changing submaps via an exit tile (the red layer 1 paths) the screen does a rectangular windowing sequence instead. The border does not update when this happens.

So my question is how can I get the exit tiles to either,
A) Force a fade out (like stars or pipes) instead of the rectangular windowing or,
B) Force a layer 3 border update before revealing the new submap

I've looked through the ROM Map and Thomas' Bank*.asm data but didn't see any entries relating to overworld screen transitioning. Any help would be great.
First off, if I am understanding this post correctly the 'extension' field and the term 'extra bytes' are used interchangeably, correct?

I am using RussianMan's C3 sprite, Flying Coin 'n Block and attempting to change the X speed of the sprite using the extension field in Lunar Magic but it doesn't seem to save what I enter. The readme.txt included with the sprite says:
Originally posted by readme.txt
~Flying Coin and Solid Block~
This is a coin/solid block that can fly.

Originally it flies in unused Red Coin/Golden 1-up, Yoshi Wing and etc. pattern, but setting option makes it fly in straight pattern!

It uses 2 Lunar Magic's Extra Bytes (those are in Extension Field in "Modify Sprite Manual (in hex)") for X and Y speed in that case.

First byte (2 digits on the left) set X speed, second byte (2 right digits) set Y speed.

On extra bit set it'll initially be a solid block, otherwise it'll be a coin.

It can be affected by P-switch, pressing it turns coin into block and vice versa.

And that's all it has to it. Credit is optional.


So I insert the sprite, and enter say '0F00' into the extension field and click OK. When I test the effects, nothing changes, and when Alt+Right clicking the sprite to edit the properties, the extension field has reverted back to 0. What am I doing wrong?
MarioFanGamer and Telinc1, thank you both for the replies. I still use Pixi, I should have mentioned that. However, solution #1 worked. It was as simple as reloading Lunar Magic and now everything works as it should. Thank you both for clarification.
Just an idea I had for a new sprite that I have failed miserably to try and create myself:

Name: YI Digging Mole
Type: Sprite
Tool: Pixi
Description: A sprite similar in effect to the Creating/Eating snake blocks, that would move in accordance with a table defining the x/y movements in the .asm file. Alternatively, blocks that when touched change the direction and get eaten. It would be great if a table of blocks could be defined as eatable (106, 25 etc), and all others inedible. When the sprite hits an inedible block, the sprite would disappear in a puff of smoke/explosion. Graphically it would resemble the mole transformation from Yoshi's Island (files provided below). Normally the sprite would hurt mario when touched (bounced on with Yoshi/spinjump) but using the extra bit would allow the sprite to be rideable.

ExGFX
Palette
PalMask

Thanks in advance.