Mario soll immer groß bleiben- Tipps?

geschrieben am 12.02.2014 3:50:35
( Link )
Ich möchte den "small" Mario aus dem Hack entfernen, egal ob Patch, Hexedit o.Ä..Wenn Cape/Feather getroffen wird wird Mario groß.Wenn Mario groß getroffen wird ->tot. Man müsste ja theoretisch nur ändern, das wenn großer Mario getroffen wird dasselbe passiert wie wenn kleiner Mario getroffen wird (sprich "Schrumpfroutine" zu "Todroutine" ändern)

Habt ihr Ideen?
Wie kritisch man doch gegenüber dem System wird, wenn man älter wird...
geschrieben am 12.02.2014 4:19:59
( Link )
Ich weiß nicht, wie gut deine ASM-Kenntnisse noch sind, aber du könntest dir mal den Metroid HP Patch oder meinen RPG HP Couner Patch angucken und die abgucken, wie es da gemacht wurde. Selber wissen tue ich es leider nicht mehr, ist schon zu lange her.
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 12.02.2014 6:04:43
( Link )
Dein Patch ist eine gute Idee, ich werde einpaar Sachen daraus Copypasten und mal schauen was sich ergibt


Edit: Also

Code
org $01C510                                         ;\
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; | Disable Items giving Status Bar Items
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;/

org $00D129 ;\ Eliminate Powerdown Animation and jump to Flash Routine
db $EA,$EA,$EA,$80 ;/

org $00F600 ;\ Disable Powerup Taking when hurt
nop #$2 ;/

org $00F5F8 ;\ Disable Item Box getting used when hurt
nop #$4 ;/



Also wenn ich das aus deinem Patch kopiere passiert folgendes: Mario behält sein Powerup wenn er getroffen wird und verreckt nicht. Er bleibt immer Feuer/Feder/Groß.

Ich habe keine Ahnung wie man das macht, obwohl das EIGENTLICH ja nur folgendes verändert werden muss:
"Wenn Mario kleingroß(!) spiele Todroutine ab"

Das müsste eigentlich ein sehr einfacher Edit sein oder irre ich mich?
Wie kritisch man doch gegenüber dem System wird, wenn man älter wird...
geschrieben am 12.02.2014 15:40:56
( Link )
Wäre nicht auch einfach folgendes als Patch denkbar:
Code
LDA $19
CMP
BNE Return
JSL $00F606
Return:
RTL

Man müsste halt dafür sorgen, dass Mario beim betreten eines Levels immer mindestens groß ist und noch den Patch reinhauen, dass wenn Mario mit Blume / Feder getroffen wird nur groß wird.
geschrieben am 13.02.2014 3:24:43
( Link )
Also, das mit dem Patch habe ich FAST hinbekommen, es gibt nur ein Problem:

a) Ich kriege das nicht vernünftig hin das wenn man in den Tod fällt, denn Koopa springt hoch lol

b)Wie mache ich das das wenn man das Spiel startet man nicht KLEIN ist sondern GROß??? Die ROM MAP gibt keine Auskunft darüber


Code
;@xkas
header
lorom

;;;
!IntroLevel = $E9 ;Set Intro Level Number + #$24 (Setting to $00 will disable Intro)

!LifesatStart = $04 ; These are the lives you start with minus one

!Damage = $0012 ; Set Damage a regular Sprite deals (in Hex)

!StartMaxHealth = $0096 ; Max HP to start with (in Hex)

!StartMaxMP = $0F ; Set MP to start with (in Hex)

!RefillMPAfterDeath = $00 ; Set to $00 and your MP aren't refilled when you die

!LosePowerupAfterDeath = $01 ; Set to $00 to not lose your Powerup after Death

!MushroomHeal = $0019 ; Set HP a Mushroom restores (in Hex)

!MPHeal = $04 ; Set MP, a 1UP-Mushroom recovers (in Hex)

!FireballMP = $01 ; Set MP, a Fireball takes (In Hex)

!CapeMP = $01 ; Set MP, Flying takes per second (In Hex)

!FloatRequiresMP = $00 ; Set to $00 if you don't want Floating to require MP

!SpinMP = $00 ; Set MP, Cape-Spinning takes (in Hex)

!FlyReduceSpeed = $32 ; Set, how fast your MP are reduced while Flying ($32 = 1 second)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Adress Defines (Touch only if you know what you're doing);
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


!freeram = $0060 ; Have to be TWO Bytes!

!displayram = $0062 ; Used for Status Bar

!bowserram = $0113 ; Used for removing Mario head in Bowser Battle

!checkram = $0DC4 ; Used for loading Initial Data

!powerupram = $0DC5 ; Used for saving Powerup when you die

!HurtFlag = $0670 ; $02 means Custom Damage, anything else means Normal Damage

!FlyTimer = $0671 ; Used for reducing MP while Flying

!Health = $010D ; Adress for storing current HP, have to be TWO Bytes!

!MaxHealth = $010F ; Adress for storing Maximum HP, have to be TWO Bytes!

!MP = $0111 ; Adress for storing current MP

!MaxMP = $0112 ; Adress for storing Maximum MP

!HealthSRAM = $700360 ; SRAM Adress for saving Health Data, have to be SIX Bytes!

!MaxHealthSRAM = $700366 ; SRAM Adress for saving Maximum Health Data, have to be SIX Bytes!

!MPSRAM = $70036C ; SRAM Adress for saving MP Data, have to be THREE Bytes!

!MaxMPSRAM = $70036F ; SRAM Adress for saving Maximum MP Data, have to be THREE Bytes!

!ItemSRAM = $700372 ; SRAM Adress for saving Item Data, have to be THREE Bytes!

!PowerupSRAM = $700375 ; SRAM Adress for saving Powerup Data, have to be THREE Bytes!

!LifesSRAM = $700378 ; SRAM Adress for saving Lifes


;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
!freespace = $238200 ; < POINT TO FREE SPACE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

org $00F5B2 ;\ When falling into a hole or lava
jsl CustomPitDeath ;/

org $00F5D5 ;\ Custom Damage Routine
jml hit ;/


org $00F606 ;\ Jump to Custom Death Routine
jml customdeath ;/

org $01C510 ;\
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; | Disable Items giving Status Bar Items
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;/

org $00D129 ;\ Eliminate Powerdown Animation and jump to Flash Routine
db $EA,$EA,$EA,$80 ;/

org $00F600 ;\ Disable Powerup Taking when hurt
nop #$2 ;/

org $00F5F8 ;\ Disable Item Box getting used when hurt
nop #$4 ;/

org $05CF1B ;\
nop #3 ; |
; | Disable Bonus Game
; |
org $009E4B ; |
nop #3 ;/

org $008F9D ;\
jml $008FC5 ; |
nop ; |
; |
; |
org $009053 ; | Remove Bonus Stars from Status Bar
nop #3 ; |
; |
; |
org $009068 ; |
nop #3 ;/

org $01C524 ;\ Mushroom always gives Mushroom Power
db $00,$00,$00,$00 ;/


org $01C528 ;\ Flower always gives Flower Power
db $04,$04,$04,$04 ;/


org $01C52C ;\ Star always gives Star Power
db $02,$02,$02,$02 ;/


org $01C530 ;\ Feather always gives Feather Power
db $03,$03,$03,$03 ;/

;;;
org !freespace ;\
; |
db "STAR" ; | RATS-Tag
dw codeend-hit ; |
dw codeend-hit^#$FFFF ;/
;;;

hit: ;\
lda $19
bne code
lda #$01
sta $19
code:
lda $19 ; |
cmp #$02
BCS Reducer

CustomPitDeath: ;\
lda $19 ; | Save Powerup when you fall into a hole
sta !powerupram ;/


customdeath: ;\
rep #$20 ; |
lda #$0000 ; |
sta !Health ; |
sep #$20 ; |
stz !HurtFlag ; |
lda #$90 ; |
sta $7D ; |
lda #$09 ; |
sta $1DFB ; | Custom Death Routine
lda #$FF ; |
sta $0DDA ; |
lda #$09 ; |
sta $71 ; |
stz $140D ; |
lda #$30 ; |
sta $1496 ; |
sta $9D ; |
stz $1407 ; |
stz $188A ; |
rtl ;/
Reducer:
lda #$38 ;\ Play Hurt Sound
sta $1DFc ;/
lda $0D9B ;\
cmp #$80 ; | Disable Knockback in Iggy/Larry Battles
beq NoKnockback ;/

lda #$D7 ;\
sta $7D ; |
; |
lda $76 ; |
bne other ; |
; |
lda #$29 ; |
sta $7B ; |
bra next ; | Knockback Code
; |
other: ; |
lda #$D7 ; |
sta $7B ; |
; |
next: ; |
; |
NoKnockback: ; |
; jml $00F5DD ;/
lda #$01
sta $19
rtl
itemreturn: ;\ Jump back to Main Code
jml $01C608 ;/


;;;;;



codeend:
Wie kritisch man doch gegenüber dem System wird, wenn man älter wird...