<- 1  -   of 222 ->
^^
vv
List results:
Search options:
Use \ before commas in usernames
Quote from Black Falcon:
@rolando: Iirc you can create an elevator leading up to ceres even w/o graphical glitches (except items), but you can't fight Ridley. If you quickmet on ceres you'll notice that the escape event is already set (everything is in red).I think it has something to do with the event itself. Haven't played with it yet.
EDIT: I tested it, you can fight ridley but not without graphical errors.

@Webber1900:
Goto $A9:C544 (Hex/Pc $14:C544): 01 to 00 to prevent Mother brain from draining missiles,
super missiles and powerbombs. Still drains energy.

oh since i couldn't edit the elevator i just made a door connecting to the room but! i do see what you mean..and if you do fight ridey and beat him the timer with start and you die anyways..
LOL
Where can the sky error patch...(fixer) be found at?
Quote from Black Falcon:
@Webber1900:
Goto $A9:C544 (Hex/Pc $14:C544): 01 to 00 to prevent Mother brain from draining missiles,
super missiles and powerbombs. Still drains energy.


Thank you! I really needed that altered.
Edit history:
JAM: 2009-12-06 02:16:36 am
JAM: 2009-12-06 02:14:14 am
Quote from Black Falcon:
@rolando: Iirc you can create an elevator leading up to ceres even w/o graphical glitches (except items), but you can't fight Ridley. If you quickmet on ceres you'll notice that the escape event is already set (everything is in red).I think it has something to do with the event itself. Haven't played with it yet.
EDIT: I tested it, you can fight ridley but not without graphical errors.

If I remebmer it correctly, this bit is located at $7E:D82E (Ceres event bits)
0001 if Ridley was beaten, and 0000 if not.

Solution 1
You just need to set value at $7E:D82E to 0000 before entering Ceres, but just once.

Maybe, after defeating another boss use scroll ASM when you exit boss room.
But then you'll need to use another bit in Ceres that determinates when Ridley will be really defeated.


Solution 2
It just comes in mind. If I understood correctly, then if you skip Ceres, the Ridley event bit (0001) is set. To enter one more time you'll need to change state  properties for all alternative states at Ceres from first checkbox to second (for example). But saving rooms such as Ceres main shaft and Ridley's room in SMILE causes errors, and you'll need to do that manually.

Go to 7DF45 in hex and find bytes "29 E6 01" for every room. Change 01 to 02. Last room will be 7E0B5.

Then you'll need to change bit that will set up Ridley when defeated.
At 134127 change 01 to 02


Also, you'll need to change bit in check that determinate to load Ridley or not, depending on Ceres event bit.

At 1320FD change 01 to 02.


But I'm not sure about door that exploading when you escape.




Also, in both cases the game will still counts 100 hits (by default) before Ridley will fly away (or if your health goes below 30). No matter, is it regular power beam shots or Charged Ice + Wave + Plasma shot.

EDIT: Looks like solution 1 just needs a short ASM code while solution 2 needs a lot of hex changes.
I like Big Butts and I can not lie
Quote from UltimateAvenger:
Where can the sky error patch...(fixer) be found at?

My homepage :->
How can I add an extra message (when you picking up item) to game?
Embarrasing Fact: Power suit made by lowest bidder
Very messily. There are around 3 tables for messages and they're all full, so making new messages using the same index code requires a fair bit of work - and the alternative is writing your own code to display messages which is probably even more work.
Fortunately for you, there are around 3 fixes that have been made to expand the message table already. MathOnNapkins has made one, I have made one, and I think someone else made one too (Jathys? PJ?). I'd have to look around a little bit for mine and probably clean it up, but if you want I can upload it to the misc. patch topic. Math has probably completely forgotten how his works though and I'm not even sure anyone has the source for it anymore.

Actually, I think I'll just go ahead and assume you want to at least look at mine, so I'll go ahead and add that to my post in the patch topic tonight.
Quote from Kejardon:
There are around 3 tables for messages and
they're all full

3 tables? I've found only 2 of them.
First one is at 2869B (looks like an array with 2 instructions and with actual address to message);
Second one is right after first one at 28749 (I'm guessing it's a buttons array for messages with "press X button").

Are you mean the third one is an array of text messages?

I've just relocated the second array (and pointer to it at 28413) right after actual address of last message (1D). Then I've expanded it by adding 00's to the end and have placed the text messages right after relocated array.

What have I done:
[1st array (01-26)] [Message array (01-1D)] [2nd array (01-26)] [Message array (1E-26)]

This is working, but sometimes -- very buggy.

Although, there is a free space of 9 items now between first array and message "Energy Tank", only 8 of them are working while 9th causes terrible glitches (even if it points to existing messages)... I'm disassembling bank 85 4th day in a row but still haven't found solution...

And I can't understand why exchanging 2 nearby pointers to
messages (Varia Suit and Spring Ball) with exchanging values to
messages in PLMs (07 <=> 08) causes big graphical error and
freezing the game when I got one of these items and message
"Varia Suit
Spring Ball"
when I got the other one.





Quote from Kejardon:
Actually, I think I'll just go ahead and assume you want to at least look at mine, so I'll go ahead and add that to my post in the patch topic tonight.

That will really help, thank you.
Embarrasing Fact: Power suit made by lowest bidder
uh, if you didn't notice, I already added the code for that.
http://m2k2.taigaforum.com/post/etc_patch_topic2.html

I would guess that the two items you listed have different setups/sizes. The code I wrote only has support for a single line for the message box, but it should be expandable to support multiple lines. Someone would have to look into the different options for those and, in my code, edit the size fix. Wouldn't be too hard, I don't think... but then I haven't looked at it and Super Metroid is quite good and making things that should be easy to do annoyingly hard.

Also after reviewing my code, you're correct. There are only 2 critical tables to adjust for.
What does the Kejmap even do??
Embarrasing Fact: Power suit made by lowest bidder
x_X
If you edit the minimap to be a different shape then the original map, it won't be saved correctly. Specifically, certain chunks of it are not saved and loaded when you load a saved game.
KejMap 1 rewrites the save routines to make more sense, and SMILE can then put the necessary data into the ROM to tell it how to correctly save/load the map.
KejMap 2 rewrites the save routines to figure out how to correctly save/load the map itself, so SMILE and the user don't even need to do anything. Having the SNES do the work itself will take a little extra time during saving/loading though.
Wow, that's exactly what SMILE said. Stupidity is overwhelming me.
Edit history:
Jathys: 2009-12-07 11:06:04 pm

I've seen it asked here (or at metroidconstruction) a few times. Also have seen it in IRC, e-mail, and private messages. That said, the next version of SMILE will be Wine-Friendly. HERE are some details on what the anticipated issues are. If you have experienced any difficulties other than the ones listed on that page (doubtful, as it crashed really really fast in Wine), PM me or ask here so the issues can all be fixed at once.

12-18-09 is the last minor release before the next major.
Edit history:
Dissolete: 2009-12-08 09:08:09 pm
Dissolete: 2009-12-08 09:07:33 pm
Dissolete: 2009-12-08 06:51:22 pm
Dissolete: 2009-12-08 06:50:56 pm
Dissolete: 2009-12-08 06:50:33 pm
The Tourian map is already loaded as if you had already accessed a map station. How do you make other maps do this as well?

EDIT: As I was making a room in Brinstar, I linked it to a room in Crateria. As I was playing in the game I realized that after I access a map station in Crateria and traveled to Brinstar through the linked doorway, the map of Brinstar had loaded in the minimap, but not the pause screen map. I don't know what happened, just thought I would share.

EDIT #2: Offset for the "Nintendo" Logo? How about the "Super Metroid" Logo at the start screen?
Does the door to Brinstar not have the Bitflag field (second one) as 40? Doors that go between areas should have this, or else you'll get that problem.
No, it didn't, but that wasn't a of problem of mine. I'm messing around with the map to see if I can get it to be like Eris. Clever DMantra has a lot of interesting quirks that I'm just puzzled over.
Edit history:
JAM: 2009-12-10 01:18:30 pm
JAM: 2009-12-10 01:18:24 pm
Kejardon
Thanks for the patch. My problem was solved by your FixSize subroutine.
Now I'm understanding the meaning of 3rd "=> Yes No" message.

Without FixSize subroutine, the new messages still can be added, but the
last one always will be glitched. In my case, I've added 9 messages, and
the 9th message displayed the text, but turns everything in Layers 1 & 2 to
black. If I decide to add 5 messages, the 5th message will cause this effect.

By the way, how can I turn message 1D to bigger one (used by Missiles, Speed Booster etc.)?
EDIT: Nevermind. I've got it.

I have already expanded buttons array with this code:

Code:
;All big messages, such as "Missiles" must be placed in new slots first.
;For each big message, value 9643 in FixSize Subroutine must be increased by 100.

;declaring big message
;	DW $83C5 : DW $825A : DW BigMessage

;BigMessage:
;	DW $000E, $000E, $000E
;	DW $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E
;	DW $000E, $000E, $000E
;	DW $000E, $000E, $000E
;	DW $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E
;	DW $000E, $000E, $000E
;	DW $000E, $000E, $000E
;	DW $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E
;	DW $000E, $000E, $000E
;	DW $000E, $000E, $000E
;	DW $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E, $284E
;	DW $000E, $000E, $000E

org $85840C
	JSR FixButtons

org $85A774

FixButtons:
	LDA $1C1F
	CMP #$001D
	BPL +
	RTS
+
	ADC #$1000	;8681+1000*2=A781
	RTS

org $85A781
	DW $012A, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
;One word for 1 new message. In my case, 10 messages and 10 words.
;For big messages values are non-zero. Zero -- for small messages. 
;Button that will appear in line "Press .. button" is depending on values

;See examples at 28749 when the message array starts. 
;0000 for Energy Tank (no button), 012A for Missiles etc.
I have a question regarding to the gravity suit, is there a way to disable damage from spikes with the gravity suit on. This includes damage, the flash when hurt, the sound effects for the hurt sound, and her being thrown back.

I hope this is understandable enough...
Embarrasing Fact: Power suit made by lowest bidder
Yes. Add a hook in the collision routine for spike blocks that checks for the gravity suit. If it's equipped, just return a normal solid block collision. You can look up where that routine is from my block collision document on Jathys' site.
This would actually be very easy to code, if anyone is trying to learn assembly this may be a good first project.
Could it also be used to make blocks that disables the morph ball bombs.
You can do anything with ASM, as long as it's within the limitations of the snes/SM engine. It would be easy to make blocks that disable bombs, just have code that runs when you touch them which turns off the bombs collected bit, and reset it when you leave. You could also add a check for the game state, so if you pause it doesn't look like you never actually picked them (they'll still be in the equipment screen).
What is the address that tells the game gravity is equipped?
7E:09A2 - 7E:09A3    Equipped items
7E:09A4 - 7E:09A5    Collected items


More specifically: The value of the PLM is $20, so that tells you the bit you'll want to check for...

Actually, I'll just show you how the game does it with a bit of debugging. This bit of code determines what index Samus uses for her palette. The first bit of code is run with gravity on, the second with only varia. As you can see, to check for gravity, you just need to LDA $09A2, BIT #$0020 then a BNE, which will activate if you have collected gravity. If there's other stuff you still need to know, don't be afraid to ask.
Code:
 
$90/ECB6 AD A2 09    LDA $09A2  [$90:09A2]   A:0001 X:0008 Y:0000 
$90/ECB9 89 20 00    BIT #$0020              A:C021 X:0008 Y:0000 
$90/ECBC D0 10       BNE $10    [$ECCE]      A:C021 X:0008 Y:0000 
$90/ECCE A9 04 00    LDA #$0004              A:C021 X:0008 Y:0000 
$90/ECD1 8D 74 0A    STA $0A74  [$90:0A74]   A:0004 X:0008 Y:0000 



$90/ECB6 AD A2 09    LDA $09A2  [$90:09A2]   A:0001 X:0008 Y:0000 
$90/ECB9 89 20 00    BIT #$0020              A:C001 X:0008 Y:0000 
$90/ECBC D0 10       BNE $10    [$ECCE]      A:C001 X:0008 Y:0000 
$90/ECBE 89 01 00    BIT #$0001              A:C001 X:0008 Y:0000 
$90/ECC1 D0 04       BNE $04    [$ECC7]      A:C001 X:0008 Y:0000 
$90/ECC7 A9 02 00    LDA #$0002              A:C001 X:0008 Y:0000 
$90/ECCA 8D 74 0A    STA $0A74  [$90:0A74]   A:0002 X:0008 Y:0000 
Then what is the routine for spike collision, I know that I could look at the block collision document but it needs a bit more explanation as to what the document is saying.
I like Big Butts and I can not lie
The values of the bits that you need to check for each item are listed here at the bottom of the page btw