Variable Solid + Non-Solid Blocks So I just finished working on these little nifty blocks These are variable solid/nonsolid blocks, and can be used to make crisscrossing passages, passable walls, etc. ---------- Multivator Modifies the Elevator to allow both up AND down travel from the same Elevator. Use by setting Speed to $0002, and Speed2 to $0X40, where X is the screen below the screen you would emergy from. Regular elevators can still be used. Since the main initiation of the elevator has been changed, it is no longer necessary to set Speed2 to $0018 for elevators going down, this is done automatically. ---------- Morph Doors V1.0 Small 1 tile-high blue doors. Use like a normal blue door, with ShotBlock, BTS $30-$33. Useful for morph mazes. ---------- LTTP Spikes Creates an enemy which imitates Spikes from Zelda 3: A Link To The Past. You can set horizontal and vertical speeds; bounce delays; shot delays and distance, for each individual enemy. Useful for Simple dodge-run rooms, or more complex puzzles where you need to move spikes around the room to break blocks or clear a path. ---------- Save / Load It completely rewrites the saving and loading routines. Maps are fully saved (meaning Kejmap is useless), $100 bytes extra are saved per file, and another $100 bytes globally. Uses a bunch of free space in $81, but meh. Who uses that bank anyway? ---------- Prime HUD New HUD styled like the HUD from Prime, with an Energy Bar, Charge Bar, 2 equipment icons, and a map. Both icons are navigated with separate inputs (Select and Cancel), but you can still only use one at a time. The ASM file only includes the input system and HUD routines, as well as the necessary hijacks to work with the more variable values for Samus's currently selected item ($09D2). Only one beam can be equipped at a time, not including charge. Beams cannot be mixed via the HUD or Status Screen, though code exists to run the beams without crashing anyway if the player should somehow find a way to combine them. Different sounds can be used for each instance of HUD selection. Changing from Beams to Equipment, from Equipment to Beams, cycling Beams, and cycling Equipment. The palette lines can also be altered with the ASM file. At this stage, the only included version is with no beam mixing, but other versions and styles will come later on. ---------- Samus draw flag This is a small patch which creates a RAM flag at $0B3A that can disable drawing Samus into VRAM. A value of 0 means Samus will be drawn; anything else and she won't. Most of you will have no use for this patch. It's just a quick solution for hackers who need more versatility with drawing/animating Samus. This patch changes 3 bytes in the Samus drawing routine (2 bytes form a RAM address, 1 byte changes a branch destination). No other bytes are changed. ---------- Shot-Block Overflow Fix This is a small fix for that infamous "where are the shotblocks in Croc's room" bug. It's caused by an overflow when a long beam (at least wave + plasma) goes offscreen above a room, out of bounds, and the top of the room starts at Y = 0. The beam overflows the shot block reaction routine when it gets the next index from the out of bounds block to the inside block. It will actually happen in any room as long as you have a long beam, but you won't get a shotblock sound unless the blocks around the area use a tiledata value of $XX4X or $XXCX, which is not often. This small ASM will make it so even if the shot overflows, it will never have an incorrect block index and always check the right blocks. Free space is used from $94DFF7 -> $94DFFD.