[Tiptoi] TT-Homebrew - Eigene Binaries für GME-Dateien programieren

Joachim Breitner mail at joachim-breitner.de
So Okt 27 20:22:18 CET 2024


Hi,

Am Sonntag, dem 27.10.2024 um 18:19 +0100 schrieb Joachim Breitner via
tiptoi:
> Am Sonntag, dem 27.10.2024 um 16:03 +0100 schrieb Florian via tiptoi:
> > das wundert mich. Bist du dir sicher, dass du wirklich die Main-Binary 
> > erstetzt? Soweit ich gesehen habe, tut diese den welcome-sound 
> > abspielen. Somit sollte dieser nicht mehr abgespielt werden, wenn man 
> > diese ersetzt. Oder macht das dein playSound(36)?
> 
> Ja, playSound(36) ist der Anschaltsound.
> 
> > Ich würde empfehlen, ein Spiel zu ersetzen, und die Main Binary zu 
> > lassen, wenn es einem darum geht, Spiele zu schreiben. Zumindest so 
> > lange, bis diese vollständig verstanden ist.
> 
> Ok, probiere ich mal


hmm, vielleicht war ich zu optimistisch am Donnerstag, zumindest kann
ich es jetzt nicht mehr alles reproduzieren.


Wenn ich das Feld

 * `0x009C`: 32bit. purpose unknown, can be 0.

auf 1 setze, aber keine Binaries habe, dann gehen die GME-Dateien, die
sonst vorher taten, nicht mehr. Genauer: Anschaltsound wird abgespielt,
der Rest nicht, Stift wohl abgestürzt, auch Lautstärke tut nicht mehr.


Wenn ich es auf 0 lasse, aber eine Main-Binary definiere, hat die kein
Effekt: Es kommt weiter der Anschaltsound aus der GME, und die GME
funktioniert sonst auch.

Wenn ich das Feld auf 1 setze und deine play_sound binary als Main-
Binary definiere, dann höre ich erst den Anschaltsound laut GME, dann
läuft dein play_sounds (und spielt alle Sounds der Reihe nach ab). 
Main-Binary per tttool zu Laden funkioniert also prinzipiell!


Wenn ich das Feld auf 1 setze und deine play_sound binary als Spiel-
Binary anlege, dann ists kaputt wie oben: Anschaltsound abgespielt, der
Rest nicht. (Vermutuing bisher: 0x009C = 1 heißt: Es gibt ist ein main-
binary zu laden – wenn es das nicht gibt dann stürzt er ab.)


Wenn ich das Feld auf 0 setzte und deine play_sound binary als Spiel-
Binary anlege, dann tuts: Anschaltsounds tut, normale GME-Skripte tun,
mit G(0) kann ich das binary starten. Sehr schön!


Wenn ich nun das Binary durch das austausche, dass ich erstellt habe,
kommt beim Ausführen von G(0) nur ein kurzer Knacker, aber weiter
nichts, und danach scheint weiterhin das normale GME am werkeln zu
sein.

Ah, hab meinen (ersten) Fehler: Hab mich mit der Anzahl an Sounds in
meiner GME verzählt und
        playSound(36)
hab es einfach nicht. Mit 
        playSound(35)
höre ich den Sound den ich im “Init-Code starte”. Sehr gut.

Aber auf OIDs reagieren tut er immer noch nicht… 

Ich kann mein Binary auch als main-binary einsetzen (also mit 0x009C =
1). Dann höre ich zuerst den Anschaltsound von der GME, dann das ersten
playSound aus meinem Binary. Aber auch dann nichts weiter, keine
Reaktion auf apii->fpAkOidPara[new_oid] == 1. Aber wohl auch nicht
abgestürzt, Lautstärkeknöpfe tun noch.


Bei dir funktioniert get_tipped_oid?


Cheers,
Joachim




-- 
Joachim Breitner
  mail at joachim-breitner.de
  http://www.joachim-breitner.de/



Mehr Informationen über die Mailingliste tiptoi