i ran into another problem. the thing that was crashing the game was the background. every time i edited it. it corrupts the rom.
i figured out how to fix that error by copying the pointers from a similar room. it fixed it but now when i play, if i walk away from the starting point. it erases the background and reverts to this black and white chopped up thing. (btw this is the 1st room, the ship room)
can anyone help?
EDIT: nvm i fiddled around with the pointers and i found out that i need to turn the fx2 to 0000.
Sweet! Thanks DSO I guess you can tell I'm turning Wave Beam into a Magma/Heat Beam =D. Now I just need to have a look at those tables and change the sounds, then the palette. I *think* wave's palette is dominant over the other beams (cept for ice, but that doesn't matter). If it isn't, I'll have to change that too.
Just go into Tools > Background Editor > EDIT BG in SMILE, and draw using your tiles as you would normally do. You can also replace the background tiles with created / ripped ones to have your own backgrounds in your hack.
Obviously, you may need to change the BG_Data under pointers to link to your new background.
ok in my mini hack, im trying to make it so i can just go through the room with the statues of the bosses, and skip it without making new room connections(because i do not understand how making rooms and doors work)
i made it so all i have to do is use the super missile to the ground to get through tat room, but the scroll doesnt work. ive made the 2nd scroll square green and still no luck.
ok in my mini hack, im trying to make it so i can just go through the room with the statues of the bosses, and skip it without making new room connections(because i do not understand how making rooms and doors work)
To skip the room requires reading up on changing doors (something everyone should be able to do). To allow passage through that room will most likely require editing the ASM (an easy ASM fix, I'm sure, but still ASM).
A "clone door" is nothing more than an "imaginary" door. It's a way of asking SMILE, "There is no door here leading to this other location, but if there was, what would the values be?"
When I say "door", I'm referring to the actual tile that Samus touches that makes her go somewhere else, not the bubble that you shoot. In Super Metroid, doors do not actually connect to each other. You have 2 doors; one going each way.
Looks like a lot of steps, but the steps are quite simple: 1) Place the mouse over where you want either of the doors to lead to . . . Press "C". 2) In the box that pops up, type any name for this "Clone door". The only purpose of the name is so you can remember which door/room/direction/etc... 3) Do this exact same thing in the other room (the room that connects to the one you were just in. 4) Once you have your two "clone doors" named, press "D" on the appropriate door tiles to bring up the door editor for a door. You don't need to understand all the hex values (it's good stuff to know, but not needed for you). Assuming the door you clicked on had the appropriate bts (see spoiler below), the door editor automatically opened to the correct door for you. 5) Select the appropriate "clone door" from the list and hit the "Transfer Properties" button. Notice that the hex values in the top row have changed. 6) Hit the "Remember" button. 7) Close the door editor and save your room. 8) Repeat with the other room/door.
The bts value of the door tile is the index into the door list you see when you open the door editor.
I need Samus's beta sprite from a mocked up picture. I have a hard time trying to make it look exactly like it. Could someone rescan it or tweak the picture?
I know next to nothing about SMILE, so I want to know if it's going to overwrite all the other rooms, too. I guess I could have phrased my question better.
No. It's basically a helpful quirk within SMILE. SMILE doesn't display anything new on-screen when you open a ROM, as it waits for you to select a room from the drop-down list. Therefore if you already have a room open, SMILE doesn't refresh it when you open the second ROM, so you can immediately save it. You can (ab)use this to replace buggy rooms, or to copy them from a broken ROM to a good one.
(look at level pointer [top one]) I used just under 2000 bytes for my room. Can anyone tell me how to fix whatever I accidentally wrote over? I'm really comfortable with my knowledge of hex, and hacking is at a stand still till I can figure this out.
EDIT: Alright, I fucked up even more, I moved a different room's level data to 30251C. (as seen in level_entries) So for the pointer I put E0251C, I then released the last 4 digits can't be below 8000, so I changed it to E0A51C. I saved the pointer, tried to save the room, but it showed: Room Space = 0 Used Space = 1200 So I didn't save, then SMILE crashed, now I can't enter the room. Anyone know what I did? This blows.
now with elevators. which "tags" do you link to? im guessing its more complicated since there are 2 door bts for each entry?
First one (right after elevator) is always leads to room 0000. Values are the same for every elevator going down. If you change them, just open every other room with elevator going down, place cursor under elevator and Press "D" to call door Editor. Just write down values from there and enter them in door under elevator in statues room. Second door (at the bottom of screen) is acting like normal door.
If you want to add another door, read Section 3.1 in Moonedit SMILE FAQ.
Tyjet, I have recently come across this issue. It really isn't a big deal once you know how to fix it.
From what you wrote it sounds like the only problem you really had is you didn't write the offset in the level entries document. This caused SMILE not to recognize that pointer as a correct offset and didn't give the right values. To fix it you need to copy the room from a clean game and manually insert it back into your hack via a hex editor. You'll have to redo your room again.
(look at level pointer [top one]) I used just under 2000 bytes for my room. Can anyone tell me how to fix whatever I accidentally wrote over? I'm really comfortable with my knowledge of hex, and hacking is at a stand still till I can figure this out.
Well, I tried what you've done. SMILE write your Level Data to $181194. It just counted 301194 as B01194 and wrote data at this address (in bank $B0).
As for solution, I can recommend to use program called Bank Buddy. It's a very useful utility. It can be found at Jathys' site. (Where you download SMILE). This program can transfer single bank from one ROM to another. In your case, you'll need to transfer bank $B0 from backup copy to your current version of the ROM.
Quote from Tyjet66:
EDIT: Alright, I fucked up even more, I moved a different room's level data to 30251C. (as seen in level_entries) So for the pointer I put E0251C, I then released the last 4 digits can't be below 8000, so I changed it to E0A51C. I saved the pointer, tried to save the room, but it showed: Room Space = 0 Used Space = 1200 So I didn't save, then SMILE crashed, now I can't enter the room. Anyone know what I did? This blows.
As for second problem, when you enter E0251C as Level Data, this value was saved in mdb data of your room. Everytime you trying to open this room, SMILE trying to load data from $E0251C (as it saved in mdb) and crashing because that's a not valid address.
The problem here is a single byte (25 instead of A5). You can fix it using hex editor. What room you can't open? Let it be 79F9F, for example. Open you ROM in SMILE. Go to address $79F9F (or add 200 bytes if your ROM has header). Search for these bytes: E6 E5 1C 25 E0. When you found a match, just change 25 to A5 and save. Problem solved. Now you can open your room
As for future, remember the first rule of hacker: Do the backups. Always. For example, in my hack, version 2.05 means 205 backups. And there are only backups with successful progress, not counting versions in which something going wrong (almost 100 of them, named as 1.74bad, 1.75test etc. or even deleted).