<- 1  -   of 222 ->
^^
vv
List results:
Search options:
Use \ before commas in usernames
Heh, I figured out what my problem was.  The default information is the height of the drained acid and the acid you see when using the bottom entrance.  Instead of copying the normal pointers information I needed to copy the changed pointers information. 

New problem: Same room, when the top door is used everything scrolls fine, but not when the bottom door is used.  I can't get the room to scroll freely on the return trip.
Acclaimed Threshold
Constant Sorrows
Quote from Xaggoth:
Heh, I figured out what my problem was.  The default information is the height of the drained acid and the acid you see when using the bottom entrance.  Instead of copying the normal pointers information I needed to copy the changed pointers information. 

New problem: Same room, when the top door is used everything scrolls fine, but not when the bottom door is used.  I can't get the room to scroll freely on the return trip.


It'll have to do with the scroll data the door has. Let me check and see what it should have to read properly.

---

Okay, try giving the door that goes INTO the bottom area a scroll pointer of BF9E. The scroll pointer is the very last box in the door editor.
By default the lower door already has that scroll pointer.  The upper door has a scroll pointer of 0000. 
Acclaimed Threshold
Constant Sorrows
Quote from Xaggoth:
By default the lower door already has that scroll pointer.  The upper door has a scroll pointer of 0000. 


Well, if you don't care about the camera "hiding" the bottom room from the top entrance, you can change the door's scroll pointer and the room's scroll pointer to 0000. That should fix it.
Quote from Acheron86:
Well, if you don't care about the camera "hiding" the bottom room from the top entrance, you can change the door's scroll pointer and the room's scroll pointer to 0000. That should fix it.


I guess I don't get what you mean by "hiding," setting it to 0000 seems to give free scrolling throughout the room (before it would only scroll the bottom level) and that is what I had needed.  This seemed like an odd problem to me, the room doesn't use any scroll plms and would not work with it's default scroll information.
Eschews avatars
Some rooms (like the dirt digger room; grrr!) have scroll data hardcoded into them, and changing the pointer doesn't do anything. I'm actually surprised Acheron86's idea worked. The gold statue presumably has code that changes the scroll data; ordinarily it would set screen (0,1) to red, which would prevent scrolling from above or below. If your problem persists, repointing the enemy data to something without the statue is probably your best shot.
Quote from ducknerd:
Some rooms (like the dirt digger room; grrr!) have scroll data hardcoded into them


Hm in this case I wonder if it'd work for you to give another room (preferably a two stated one) the Enemy pop and set pointers of Shaktool's room so he'd be moved to the other room as well (so it wouldn't be necessary to reconstruct all 8 of his pieces), if someone wanted to use him in another room. But then it may be in Shaktool's AI to do that to the room and not the room itself.
Acclaimed Threshold
Constant Sorrows
Quote from Black Telomeres:

Hm in this case I wonder if it'd work for you to give another room (preferably a two stated one) the Enemy pop and set pointers of Shaktool's room so he'd be moved to the other room as well (so it wouldn't be necessary to reconstruct all 8 of his pieces), if someone wanted to use him in another room. But then it may be in Shaktool's AI to do that to the room and not the room itself.


That would work fine, Shaktool breaks those blocks anywhere. A lot of enemies break those blocks.

Besides I'm pretty sure that Shaktool's room having a strange camera is probably tied to a specific room state/door setting. I'll have to look into it eventually.
Well by "work" I meant that the room wouldn't set the camera until you PB. Everyone knows enemyblocks work elsewhere.
Acclaimed Threshold
Constant Sorrows
Quote from Black Telomeres:
Well by "work" I meant that the room wouldn't set the camera until you PB. Everyone knows enemyblocks work elsewhere.


I asked your mom if she knew about enemy blocks, and she did not. So ha.

Anyway has anyone been able to put multiple different space pirates in one room? They get all graphic-glitchy on me. I've got them set to 0004 for Unknown2 of course.
Quote from Acheron86:
I asked your mom if she knew about enemy blocks, and she did not. So ha.


Gasp.

Anyway, did we ever figure out what that other BTS block is? The one with half a ripper?

Also, Acheron, did you come any closer to solving the ASMless spinjump from standing jump problem? I've been messing with that, but still have nothing but some interesting built-in-spacejump properties.
Embarrasing Fact: Power suit made by lowest bidder
Quote from Cardweaver:
Also, Acheron, did you come any closer to solving the ASMless spinjump from standing jump problem? I've been messing with that, but still have nothing but some interesting built-in-spacejump properties.

You guys are trying to get a normal to spinjump transition without ASM?
The spinjump motion type actually check if the previous motion type was also a spinjump-sort of motion (spinjump, spacejump, or screw attack). If not, then it calls the 'calculate starting jump velocity' routine. If you aren't going to use ASM, the best you'll get is that built-in-spacejump, I think.
Quote:
91:FBBB goes to FBCF,X routines, X = 0A1F.
...
FC99(3, spinjump) JSL 90:98BC if starting jump (checked by previous movement type)
Acclaimed Threshold
Constant Sorrows
Well, there's our answer. I figured it was aiming a bit too high anyway. Of course, with that routine Kej showed us there... hrm.

I guess it's probably something similar for the "switch into morphball while shinesparking" idea too. Man, so much to learn, so much I don't know... why can't I take ASM classes at my local college? :P
Embarrasing Fact: Power suit made by lowest bidder
Quote from Acheron86:
I guess it's probably something similar for the "switch into morphball while shinesparking" idea too.

Input is disabled during shinesparking. You'd have to change a pointer at least or something to re-enable it - I might have it in my notes somewhere (it's RAM 7E0A42 or 7E0A44 IIRC, but my notes online don't mention the ROM that changes it). Other than that, I can't think of anything that would prevent you from doing stuff while shinesparking. IIRC all the shinesparking stuff works independently of Samus's pose and stuff (except for collision detection).
Any adverse effects of completely removing the lava-draining chozo? thanks
Eschews avatars
No problem I can forsee, just don't use the Enemy/PLM +- function. Repoint the enemy data to an enemy-free room. Or, better yet, just turn Chozo into a lava beast.
Is it possible to add two-hundred data save things in a certain room (it has 2.5k data currently) without using any space from other rooms? If a hex editor is necessary, could someone tell me exactly what to do? I've done very few hex edits, and it was only to fix bugs.
Acclaimed Threshold
Constant Sorrows
Quote from Bolognab:
Is it possible to add two-hundred data save things in a certain room (it has 2.5k data currently) without using any space from other rooms? If a hex editor is necessary, could someone tell me exactly what to do? I've done very few hex edits, and it was only to fix bugs.


Data... save things? You mean expanding room limits, I'm guessing? Expand your ROM and change the level pointer for the room to free space, then you don't have to worry about room size limits. SMILE can add banks and you should be able to figure out where the free space is (at the end of the ROM). It's a good idea to add the level pointers to SMILE's level_entries text file so that it warns you if you're going to overwrite your own rooms.
Devonodev: Other D
can i copy a room's propeties from a clean rom into another rom?
i mean enemies and everything
Acclaimed Threshold
Constant Sorrows
Quote from devonodev:
can i copy a room's propeties from a clean rom into another rom?
i mean enemies and everything


Sure. Open the clean ROM, load up the room. Open the other one, and click save without changing the room.
Devonodev: Other D
i removed all the enemies in the room, can i bring them back
the metroid is a lie !
how do i expand the amount of rooms that i can use so i can make my hack massive?
Acclaimed Threshold
Constant Sorrows
Quote from phantomhacker:
how do i expand the amount of rooms that i can use so i can make my hack massive?


Adding rooms is something you should avoid unless you're really comfortable, as it's a good deal more convoluted than just expanding room sizes. You can just take a room, expand its size and add doors, and use it for several rooms instead.

Quote from devonodev:
i removed all the enemies in the room, can i bring them back


If you changed the enemies in the room with the Enemy/PLM - + function, just bump it back up. If you modified their values to make them something else, you'll have to change them back manually.
Quote from Acheron86:
Quote from Bolognab:
Is it possible to add two-hundred data save things in a certain room (it has 2.5k data currently) without using any space from other rooms? If a hex editor is necessary, could someone tell me exactly what to do? I've done very few hex edits, and it was only to fix bugs.


Data... save things? You mean expanding room limits, I'm guessing? Expand your ROM and change the level pointer for the room to free space, then you don't have to worry about room size limits. SMILE can add banks and you should be able to figure out where the free space is (at the end of the ROM). It's a good idea to add the level pointers to SMILE's level_entries text file so that it warns you if you're going to overwrite your own rooms.

Is there a guide like Black Telomere's for noob hex editors?  Embarassed I understand where and what the free space and banks are, but how do i apply them to a room's pointers?
Acclaimed Threshold
Constant Sorrows
I had written up a very, very noob-friendly guide. It's posted somewhere in this thread but I can't find it so here you go again.

~-| 3.5 Increasing Room Size Limits |-~ ~[Acheron86]~

  If you're tired of running out of space for a room, there's a cure. You'll just need some free space in the SMC to work with. SMILE has an option for expanding ROM space, so that's the best way to get some more room. The banks created by the "expand ROM" option will start at E0 and go on from there. A single bank is good enough for at least a dozen large rooms, so let's just expand it once for now.
  What you'll want to do next is open up the room you want to edit and pull up the pointers window. Change the Level Data pointer to point to free space. For your first new room, this would be E08000 (300000 in hex). Note this is E0-8-000 and not E0-0-000! Pointers will never have anything below 8000 in the second two bytes! As long as you make sure you're above 8000 for the bytes after the bank, go ahead and save, and you'll see right away that your size limit has changed to some ridiculous value. You can now edit to your heart's content and not worry a smidgen about silly room size issues.
  There is one more thing you should do, though, and that's add this room to the "level_entries" text file for SMILE, stored under the Smile/files folder. Add its hex location (300000) at the end of the file. This will make sure that SMILE keeps you from overwriting other rooms.
  Any time you decide to do this to rooms hereafter, you'll need to take an extra step and open up your ROM in a hex editor. Check where the free space begins after your new room at the very end of the ROM, so that you're not overwriting your first new room with your second one. If your new room goes from hex address 300000 to 301200, you'll want to use an address somewhere else. If you want to leave yourself a few hundred bytes in case you decide to edit the old first room later on, You should pick an address like 301400. Plug that into your pointer window to see what the pointer for that location should be (in this case, it's E09400, again, NOT E01400, as that's not above 8000!). Put this value into your Level Data pointer, and save. Don't forget to add this room's hex address (301400) to the "level_entries" file!