Language…
27 users online: 1UPdudes, Abstract,  AmperSam, autisticsceptile1993, badummzi,  Blaagon, CharlieUltra, CroNo, dashlet, Dennsen86, GamesInTweed, GiraffeKiller, Hammerer, Inflagrandy,  MarioFanGamer, Metal-Yoshi94, MorrieTheMagpie, mtheordinarygamer, Papangu, playagmes169, rafaelfutbal, Romiori, Rykon-V73, Ryrir, TheOrangeToad, Tulip Time Scholarship Games, underway - Guests: 289 - Bots: 440
Users: 64,795 (2,369 active)
Latest user: mathew

Posts by Bensalot

Bensalot's Profile → Posts

So I am making an underwater level. Mario can swim and everything seemed to be working. However when I put cheep cheeps and rip van fish in the level they act as if they are not in an underwater level. The cheep cheep will flop around and the rip van fish just scurries across the floor. Like I said I have the level set to be underwater and Mario doesn't have any trouble swimming. What's going on?
Trust the Fungus.
Still havent figured this one out. I know it has something to do with the previously mentioned patch, i just cant figure out where and how to make the fix. I tried to just port everything i did to a new rom without this patch but for some reason patches that previously worked just crash the rom now and im kinda stuck with what i have. So any help fixing this patch would be appreciated.
Trust the Fungus.
So there is a couple problems with the "press r to switch characters" patch found in the patch section. I tested it on a vanilla rom to make sure it wasnt something on my end. Its kind of hard to explain so bare with me. Ok, you start the game as mario. You start at Yoshi's house and then go to the right to Yoshi's island 2 and select the level. You start the level as Mario and then press r to switch to luigi and complete the level. When you return to the overworld, you come back as Luigi, the new path animation plays, but instead of the player being on yoshi's island 2, you are back at yoshis house. Not only that but even though the path animation played, you can't move up to yoshis island 3 for some reason. Also, when you die as luigi with no lives left, it wont end the game unless you die again. Not sure why this is and id love to use this patch in my hack but these issues essentially makes the game unplayable. I posted these same issues in the patch's comment section but havent heard anything. Is there any way this can be fixed?
Trust the Fungus.
I just noticed this after having this patch for a while now. In bonus stages after getting the 1ups if you face toward the left of the screen while small and on yoshi the graphic glitch is still screwed up and maybe a bit more so. Is there a way to fix this so that it works when facing left too?
Trust the Fungus.
Okay, figured this one out for myself. Here is the altered code to fix this issue to whoever is interested


Code
!base = $0000
!base2 = $0000
if read1($00FFD5) == $23
sa1rom
!base = $6000
!base2 = $3000
endif

org $00E49A
autoclean JSL Fix

freecode
Fix:
	PHA
	LDA $19
	BNE .return
        LDA $0076|!base2
        CMP #$00
        BEQ .left
	LDA $13E0|!base                ; sets player pose
	CMP #$14
	BNE .return
	CPY #$10
	BNE .return
	PLA
	INC #2
	STA $0300|!base,y                
	XBA
	RTL
.return
	PLA
	STA $0300|!base,y
	XBA
	RTL

.left
	LDA $13E0|!base                ; sets player pose
	CMP #$14
	BNE .return2
	CPY #$10
	BNE .return2
	PLA
	DEC #2
	STA $0300|!base,y                
	XBA
	RTL
.return2
	PLA
	STA $0300|!base,y
	XBA
	RTL

Trust the Fungus.
I had this same issue. I ended up just altering the graphics in yychr. I took the marios "behind yoshi" foot away. It makes the yoshi turn loom better and you dont even notice the difference when mario is on fences and such. My hack is SMW just keef edition if you want to see how that method looks in action.
Trust the Fungus.
I was wanting to add the intro from SMA2 or at least a version of it to my hack. I know this takes a lot of asm and exanimation knowledge but is there a tutorial or something that would at least give me a good start?
Trust the Fungus.
A while back i found two patches that were either rejected from the patch section or never seem to have been submitted in the first place. I wanted to use them so I went through the patches and fixed the problems that they were having. Basically, I have 2 patches that change luigis physics. The first one makes him jump higher and shoot fireballs straight (it also disabled his spin jump but i took that out) The issue was that if you were jumping and collected a powerup it would send luigi flying off the screen, would make him constantly float up in water, would glitch him out on springboards, and a couple other things I cant remember. The second patch gives luigi his overslip thing in modern games. The issue there was he wouldnt stop sliding if on yoshi and would not animate at all when peach is rescued from bowser. Both of these patches only affect luigi (player 2) and not mario. Point is i fixed these issues myself and i want to share them with everyone but i cant get in contact with the original creators of these patches. I guess i am wondering if it is ok to submit them cause i think a lot of people would like these.


Also if you want to see the patches in action my ROM hack is SMW Just Keef edition. Its in the full hack release section since its just a mod of the original game with more dinos, enemies, levels and such.
Trust the Fungus.
So I have been wanting to save dragon coins found in my hack. I have it working for the most part but sometimes a level will register that the coins have been found without playing the level and sometimes it won't save until you have collected them twice. I know you have to save them in BWRAM plus if you are using SA1. I have it setup like this

Code
bw_ram_table:
;Put save ram addresses here, not after .end.

dl $400EF8 : dw $0001 ;Yoshi rescued flag

dl $401F2F : dw $000C ;Yoshi Coin Collected 

.end
		
bw_ram_defaults:


db $00

db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 

;Format: db $xx,$xx,$xx...
;^valid sizes: db (byte), dw (word, meaning 2 bytes: $xxxx), and dl
;(long, 3-bytes: $xxxxxx). The $ (dollar) symbol isn't mandatory,
;just represents hexadecimal type of value.


Can someone help me figure out what I am doing wrong?
Trust the Fungus.
Thanks for the notes. You'll be happy to know I took them to heart and made some changes.

- Tyravonous Rex is now a bit faster.
- Leolapleurodon is now a bit slower.
- The spamming in Crystal Secret 1 has been improved.
- The secret exit in Crystal Secret 1 is now a bit trickier.

I did not do anything to the underground area. I had recently made it so that only the large boulders can hurt you. I personally like the gimmick of this part so I made the choice to leave it unaltered.
Trust the Fungus.
Well I uploaded the 5.0 version the other night but it does not seem to have gone through yet. Hold out replaying til then to see those new changes I mentioned
Trust the Fungus.
Originally posted by Rhizy27
Hey, great hack! Although, I do seem to have a problem. In Fossil Canyon, I can't get access to the secret exit in the pipe area with the dolphins. Once I get to the exit pipe, the screen is supposed to keep scrolling, but it just doesn't, I can't go past that pipe. I have it patched to 5.0, playing on Snes9x 1.6, everything else is fine. Every video I've seen has players just keep walking to the right, but my copy just won't do that. Something I need to do?



Nah your copy is fine. That is the level secret. It will scroll when you find the right way to get to that spot.
Trust the Fungus.
I used the Mario Luigi select patch and it works great but when you beat a level with Luigi it still says mario at the drumroll points tally. Anyone know how to fix this?

Mario/Luigi select
Trust the Fungus.
No worries, I saw it. I'm in the process of adding one last prehistoric critter of Mammoth proportions lol. Just fyi the update is correct, I just labeled it wrong. I'll fix it but what you have is the most current release. All it did was fix a couple of minor bugs
Trust the Fungus.
What emulator are you using? I use SNES9x and don't get any problems. Some emulatirs cant handle the bigger dinosaurs from what I have noticed. Im not really sure how to fix that.
Trust the Fungus.
I am trying to make some changes to the cave in generator sprite. The rocks fall so frequently it makes the level really hard. I figured out I could write a code in to disable sprite interaction with mario if it is the small rock and only hurt him if he gets hit by a big rock. I used this code

LDA !167A,x ;\ disable sprite's interaction with Mario
ORA #$80 ; |
STA !167A,x ;/

The issue I am having is that it only works if you are not on Yoshi. If you are riding yoshi and get hit by small rock it will still hurt you. I still need the big rocks to hurt the player so I can't really fix this interaction in the cfg. editor. Does anyone know what routine to add so that I can make small rocks not interact with the player if you are on yoshi? Basically I just need a hex edit that will disable sprite interaction with the player whether you are on yoshi or not.

here is the asm file I have with my edits for the cave in block sprite if that helps.

Code
!AppearAboveGround = 1      ; Set to 1 if you want the block to appear above the ground
!HurtAfterFall = 0          ; Set to 1 if you want the block to hurt Mario even after hitting the ground

!FallSFX = $09              ; Sound effect to play when the sprite hits the ground
!FallBank = $1DFC

print "INIT ",pc
    %BEC(+)
        LDA #$01            ;\ mark block as small
        STA !C2,x           ;/
        STZ !1662,x         ; set sprite clipping value for small block
        STZ !1656,x         ; set object clipping value for small block
+   RTL

print "MAIN ",pc
    PHB : PHK : PLB
    JSR SpriteCode
    PLB
    RTL

SpriteCode:
    JSR Graphics
    LDA #$00
    %SubOffScreen()

    LDA $9D                 ;\ if sprites locked,
    BNE Return              ;/ return
    JSL $01802A|!BankB      ; update sprite position
    JSL $01A7DC|!BankB

    JSL $019138|!BankB      ; interact with objects

    LDA !1588,x             ;\ if sprite isn't touching the ground,
    AND #$04                ; |
    BEQ Return              ;/ branch




    LDA !1686,x             ;\ disable sprite's interaction with objects
    ORA #$80                ; |
    STA !1686,x             ;/

    LDA #$E0                ;\ set new sprite Y speed
    STA !AA,x               ;/

    LDA.b #!FallSFX         ;\ play sound effect
    STA.w !FallBank|!Base2  ;/
Return:
    RTS

X_Disp:         db $00,$10,$00,$10      ;\  just your generic 32x32 square
Y_Disp:         db $00,$00,$10,$10      ; |
TilemapBig:     db $CC,$CE,$EC,$EE      ;/

!TileSmall      = $E0

Graphics:
    %GetDrawInfo()

    LDA !C2,x           ;\ if block is small,
    BNE Small           ;/ branch

; graphics routine for big block
    PHX                     ; preserve sprite index
    LDX #$03                ; setup loop
-   LDA $00                 ;\ set tile x position
    CLC : ADC X_Disp,x      ; |
    STA $0300|!Base2,y      ;/

    LDA $01                 ;\ set tile y position
    CLC : ADC Y_Disp,x      ; |
    STA $0301|!Base2,y      ;/

    LDA TilemapBig,x        ;\ set tile number
    STA $0302|!Base2,y      ;/

    PHX                     ;\ set tile properties
    LDX $15E9|!Base2        ; |
    LDA !15F6,x             ; |
    ORA $64                 ; |

    if !AppearAboveGround == 0
        AND #$CF            ; | clear priority bytes
    endif

    STA $0303|!Base2,y      ; |
    PLX                     ;/

    INY #4                  ; increase OAM index

    DEX                     ;\ if tiles left to draw,
    BPL -                   ;/ go to start of loop

    PLX                     ; retrieve sprite index

    LDY #$02                ; the tiles drawn were 16x16
    LDA #$03                ; four tiles were drawn
    JSL $01B7B3|!BankB      ; finish OAM write
    RTS

; graphics routine for small block
Small:

    
        LDA !167A,x         ;\ disable sprite's interaction with Mario
        ORA #$80            ; |
        STA !167A,x         ;/
		
		
		
    LDA $00                 ;\ set tile x position
    STA $0300|!Base2,y      ;/
    LDA $01                 ;\ set tile y position
    STA $0301|!Base2,y      ;/
    LDA.b #!TileSmall       ;\ set tile number
    STA $0302|!Base2,y      ;/

    PHX                     ;\ set tile properties
    LDX $15E9|!Base2        ; |
    LDA !15F6,x             ; |
    ORA $64                 ; |

    if !AppearAboveGround == 0
        AND #$CF            ; | clear priority bytes
    endif

    STA $0303|!Base2,y      ; |
    PLX                     ;/

    LDY #$02                ; finish OAM write
    LDA #$00
    JSL $01B7B3|!BankB
    RTS

Trust the Fungus.
That did the trick. I had to move where the code runs but it worked. Thanks
Trust the Fungus.
So I have been trying to figure this problem out for some time now. After a long time of testing and re testing I think I might have narrowed down the problem. The issue is that I want to be able save the dragon coins found in levels and have it show up on the overworld map that the coins were collected. I am working with an SA1 enabled rom, I am using the overworld counters patch, the individual dragon coin save patch, and applying bwram plus. Everything seems to work fine for the most part but I will occasionally have a level not register that all the coins were collected. What I finally figured out is that the NPC sprite seems to interfere with saving the dragons when spoken to in level. If you "talk" to the sprite and it is set to display a message that is set a different level number, the coins will not save once you beat the level. This does not happen if the message that the sprite displays is from a level number that the original game is programmed to read from. It only happens when it displays a custom message that you tell the sprite to read that is set to read from another level. This is done using the palette editor and setting the x position to match. I don't know if I am wording all of this clearly but I am sure that this NPC sprite is the culprit to the coin saving issue. I really want to use the NPC sprite but I can't figure out what is happening in the code to make it so that dragon coins won't save when the message is triggered. Any help with this would be greatly appreciated.


This is the npc sprite

https://pastebin.com/Y3NbaHFB
Trust the Fungus.
Well I tested it out. Good news is that it saves the coins now. Bad news is that it causes the npc to only read messages from the level it is in rather than being able to tell it to read from other levels. However, if you have it set to read 2 messages it will display the second message you tell it to read from.
Trust the Fungus.