Multiple Midways aktiviert! Aber: Castle Sequence löschen?

geschrieben am 17.01.2013 18:44:10
zuletzt bearbeitet von exit1337 am 25.01.2013 12:53:53.
( Link )
Da meine Levels jetzt länger werden, will ich Gebrauch von Multiple Midways machen. (Hoffentlich funzt das noch mit dem alten Lunar Magic 1.63.0.0)

[Egal, zum Test hab ich LM 1.82 benutzt]
Ich habe jetzt mal imamelia's Patch runtergeladen und multimidway.asm auf ne Testrom gepatcht. In multimidwaytables.asm ist ja schon ein Checkpoint reingeschrieben, der Mario in Level 105 auf die gleiche Stelle wie im Original teleportieren soll. Ich habe den Code lediglich so umgeschrieben, dass er Mario in Screen 06 statt 09 teleportiert, um zu testen, ob es wirklich klappt.

Aber eigentlich weiß ich nicht, wie ich diese Checkpoints aktiviere. Also es gibt ja diesen Block checkpoint.asm. Den habe ich jetzt mal umbenannt in Checkpoint105.asm und in den BTSD Ordner kopiert. Muss ich in der ASM Datei was umschreiben? Es steht ja nur drin
!OWLevelNum = $13BF
Muss ich das ändern in !OWLevelNum = $105?

Ich habe den Block mal so belassen wie er ist, und eingefügt. Wenn Mario in-game dagegenspringt, höre ich zwar den "Midway-Sound", aber es passiert nichts, wenn er stirbt.

Help?

Exits done: 42, Overworld: 80%

To do list: Castle #5... fast fertig... Danach gibts endlich die Demo
geschrieben am 17.01.2013 19:04:49
( Link )
Ich kenne mich mit dem Patch zwar nicht aus, aber zumindest kann ich sagen, dass folgendes falsch ist:

Zitat
!OWLevelNum = $13BF
Muss ich das ändern in !OWLevelNum = $105?

$13BF ist hier nur die Adresse, in der ein Wert gespeichert wird, nicht der Wert selbst. Die Zahl solltest du da stehen lassen.
geschrieben am 17.01.2013 19:36:23
( Link )
Kann es sein, dass du auch noch ein Custom Sprite bzw. einen Custom Block einfügen musst? Soweit ich weiß verwendet der Patch ja nicht die normalen Midway Points, die schoni m Spiel drin sind.
-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 17.01.2013 19:49:13
( Link )
So, ich habe jetzt mal einen Checkpoint eingefügt, und der funktioniert jetzt auch.

Ich möchte ja aber mehrere Checkpoints (=Midways) einfügen.
In Multimidwaytables.asm hab ich jetzt 3 Checkpoints für Level 105 angegeben:

Code
Checkpoints105:
dw $0105,$0000,$0610,$0160,$0900,$00C0,$0900,$00C0
dw $0105,$0000,$0710,$0160,$0900,$00C0,$0900,$00C0
dw $0105,$0000,$0810,$0160,$0900,$00C0,$0900,$00C0
Checkpoints106:
[...]


Das sind immer die gleichen Checkpoints, nur das der erste Mario in Screen 06, der zweite in 07 und der dritte in 08 teleportieren soll.
Ich habe den Custom Block checkpoint105.asm 2 mal kopiert und alle drei checkpoints (checkpoint105.asm, checkpoint105_2.asm und checkpoint105_3.asm) in den BTSD Ordner gepackt.

Alle drei Checkpoints haben folgenden Code:
Code
db $42

JMP MarioBelow : JMP MarioAbove : JMP MarioSide : JMP SpriteV : JMP SpriteH : JMP MarioCape : JMP MarioFireball : JMP TopCorner : JMP HeadInside : JMP BodyInside

!OWLevelNum = $13BF
!CheckpointRAM = $7FA040
!CheckpointNumber = $01

MarioAbove:
MarioBelow:
MarioSide:
TopCorner:
HeadInside:
BodyInside:

LDX !OWLevelNum
LDA #!CheckpointNumber
STA !CheckpointRAM,x

LDA #$05
STA $1DF9

LDA #$02
STA $9C
PHY
JSL $80BEB0
PLY

SpriteV:
SpriteH:
MarioCape:
MarioFireball:
RTL


Bis auf dass !Checkpointnumber beim zweiten Checkpoint statt $01 jetzt $02 hat, und beim dritten demnach $03.
Ab ins Level platziert -> Checkpoint1 funktioniert wunderbar, Checkpoint2 und 3 begeben Mario in ein verglitchtes Bonus Game. Multimidwaytables.asm habe ich natrülich vorher wieder auf die ROM gepatcht.

Irgendwleche Ideen?

Exits done: 42, Overworld: 80%

To do list: Castle #5... fast fertig... Danach gibts endlich die Demo
geschrieben am 17.01.2013 20:01:00
( Link )
Zitat von exit1337:
Multimidwaytables.asm habe ich natrülich vorher wieder auf die ROM gepatcht.

Irgendwleche Ideen?

Das einzige, was du patchen musst, ist multimidway.asm. Bei multimidwaytables.asm würde ich eher erwartet, dass die ROM hopsgeht.
geschrieben am 17.01.2013 20:08:14
( Link )
Kleiner aber dummer Fehler, jetzt funktioniert es perfekt! Danke! :)

Exits done: 42, Overworld: 80%

To do list: Castle #5... fast fertig... Danach gibts endlich die Demo
geschrieben am 25.01.2013 12:57:03
( Link )
Double-Post:

Wenn ich Checkpoints in Burgen platziere, kommt das "Mario Start" und vor allem eine Castle Sequence mit Level 105 Background, wenn ich über einen CHeckpoint ins Level gehe.
Hat jemand eine Ahnung, wie ich das beheben kann? Eventuell ein ASM Code, der das "Disable No Yoshi Intro"-Häkchen setzt, nachdem ein Checkpoint geladen wird?

Exits done: 42, Overworld: 80%

To do list: Castle #5... fast fertig... Danach gibts endlich die Demo