PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [RM2k] .mod, .it & Co-Formate abspielen... so gehts



Manuel
03.09.2006, 19:52
Hi @ all,

Ich habe mich mal rangesetzt und versucht, den Funktionsumfang des RPG-Maker 2000 zu erweitern, wobei ich mittlerweile soweit bin, das ich bereits erste Ergebnisse präsentieren kann.

Es gibt viele sogenannte Trackerformate für Musikdateien (mod, s3m, it, xm), die der RM2k leider nicht abspielen kann. Ich habe nun ein Programm geschrieben, was eben jene Formate nun doch für RM2k-Spiele zugänglich macht.


Wie funktioniert das?

Das Programm, was das Abspielen von Trackerformaten ermöglicht, ersetzt die "RPG_RT.exe" im Spielverzeichnis. Wird dieses Programm dann gestartet, startet es die Original-"RPG_RT.exe" (die ist im Programm selbst integriert und wird beim Ausführen entpackt); gleichzeitig wacht das Ursprungsprogramm für spezielle Befehle.

Dank des Tastenpatches von Ineluki ist es u.a. möglich, externe .EXE-Dateien aufrufen zu lassen. Ein zweites Programm (welches ebenfalls integriert und entpackt wird) spielt eben jene Musik dann im Hintergrund ab.

Was genau getan werden muss, um Trackerformate abspielen zu können, wird in der "Readme.rtf" genauer beschrieben, die u.a. im ZIP-Archiv unten dabei ist. Im Prinzip arbeitet es mit dem Tastenpatch-üblichen "script.wav"-Dateien, die man im Maker jederzeit über Event-Menüs aufrufen kann.

Damit ich die Musik überhaupt abspielen kann, verwende ich eine .dll-Datei, die sogenannte "fmod.dll" (http://www.fmod.org/) (ist im ZIP-Archiv unten dabei bzw. in meinem Programm integriert).


Gibt es Bugs?

Ich bin mit dem Programmieren noch nicht ganz fertig; gleichwohl ist mein Programm soweit fortgeschritten, dass ein (im richtigen Maße) problemloser Einsatz möglich ist. Folgende Probleme (die auch in der Readme.rtf im ZIP-Archiv unten stehen) sind leider noch enthalten und werden bis zum Final Release (hoffentlich) ausgemerzt:
Abgespielte Trackerformate muss man (noch) explizit sagen, dass sie stoppen sollen. Das macht es natürlich nicht lohnenswert, diese Musik an "festen" Stellen im Maker (Titelbild, GameOver-Screen, KS...) abzuspielen, da man da nur geringfügig/garnicht die Möglichkeit hat, die Musik zum Stoppen zu bewegen (Keine Sorge: Wird das Spiel beendet, beendet sich auch IMMER automatisch die Musik).
Die Musik beendet sich automatisch, wenn man F12 drückt. Das ist leider die einzige Abfrage, die ich aufrufen konnte, wenn man ins Menü gelangt. Ein "Go to Titlescreen", nach einem "Game Over"-Screen und der "Beenden"-Dialog im Standard-RM2k-Menü stoppt die Trackerformate NICHT.
Wie mit dem MP3-Patch von Ineluki ist es auch hier NICHT möglich, Fade-In/Out zu erzeugen oder die Lautstärke zu beeinflussen. Bis zum Final Release soll dieses Problem behoben sein.
Derzeit ist es "nur" möglich, Trackerformate abzuspielen. Ich benutze die "fmod.dll", die rein theoretisch in der Lage ist, u.a. auch .OGG-, .MP2- und .RAW-Dateien abzuspielen. Bis jetzt habe ich das allerdings noch nicht geschafft, da mir die Syntax zu kryptisch ist^^.
Soll nach dem expliziten Befehl, die Musik zu stoppen gleich eine neue Musik abgespielt werden, MUSS man zwischen beiden Event-Befehlen ein WAIT von 10, besser 20 Millisekunden eintragen. Sonst überschneiden sich beide Befehle (was heißt, dass sich die gerade gespielte Musik UND die neu abgespielte Musik ebenfalls beendet).



Für wen ist dieses Programm empfehlenswert?

Das Programm selbst sollte für Fortgeschrittene und Profis im RM2k gut geeignet sein, die keine Probleme damit haben, mal ein selbsterstelltes Menü im Maker zu erstellen. Auch Erfahrung mit dem Umgang des Tastenpatches von Ineluki ist sicher nicht verkehrt.


Sonstiges/Hintergründe

Geschrieben habe ich dieses Programm in AutoIt und FreeBasic. FreeBasic wird für den Einsatz der fmod.dll (also für das Abspielen der Trackerformate) verwendet, während AutoIt die Musik an den richtigen Stellen zum Stoppen bringt und die Taste F12 überwacht.

Den Quellcode halte ich derzeit noch strengstens unter Verschluss; die EXE ist verschlüsselt, eine Änderung mit dem Ressource Hacker nicht möglich (da die EXE danach nicht mehr ausführbar ist) und ich kann jederzeit einsehen, ob es sich bei dem Programm um meines handelt. Sobald aus meinem Programm eine "Final"-Version geworden ist, werde ich die Quellcodes veröffentlichen. Ich möchte nicht das gleiche Pech haben wie Ineluki, dem eine veraltete Version des MP3-Patches gestohlen wurde^^...


Downloads:

Nun denn, ich habe eine kleine Demonstration samt Readme in einer ZIP-Datei zusammengestellt, wie man mein Programm einsetzen kann. Hier der Link: fmoddemo.zip (ca. 2,5 MB groß; Tastenpatch & RTP vom RM2k wird benötigt). (EDIT: Veraltet, deswegen entfernt^^. Unten gibts einen fehlerbereinigten.)

Ihr könnt das Archiv, wenn ihr wollt, gerne auf eure eigenen Homepages stellen ;) . Seid aber bitte so nett und erwähnt auch, von wem das Programm überhaupt ist^^.

Über Feedback freue ich mich natürlich, für Problemlösungen stehe ich natürlich auch bereit :) .

EDIT: Sorry, gleich ein erster Fehler *duck*: Beim Starten der Demo wird zuerst gesagt, dass eine Musik abgespielt wird, was aber nicht stimmt. Keine Sorge, danach fragt der NPC nach drei Demo-Musikstücken, die funktionieren alle^^. Sorry für den dummen Fehler^^. Hier gibts die korrigierte Version. (http://home.arcor.de/mk-gamemaker/fmoddemo2.zip)

malu
03.09.2006, 20:04
Habs noch nicht getestet, hört sich aber sehr interessant an. Werde es morgen wahrscheinlich mal testen. Könntest du Ineluki nicht fragen ob man das mit dem MP3-Patch "fusionieren" könnte. Ist imo besser. Aber was ist eigendlich der Vorteil von Tracker-Dateien gegenüber MP3s usw?

ciao
malu

DR_Zeph
03.09.2006, 20:19
Wie mit dem MP3-Patch von Ineluki ist es auch hier NICHT möglich, Fade-In/Out zu erzeugen oder die Lautstärke zu beeinflussen. Bis zum Final Release soll dieses Problem behoben sein.

Geht doch schon, Fadingexe von RedBounty nutzen und gut ist.

Btw. ein ausschalten der Musik im Titelscreen sowie im Menü könntest du doch einfach über die Hintergrundmusik im Titelscreen bzw. dem Bestätigungssound hinbekommen. Dort einfach ein stop.script.wav abspielen lassen und anschließend die zweite Musik starten lassen.

Ansonsten tollige Idee.

Gendo Long
03.09.2006, 21:48
Habs noch nicht getestet, hört sich aber sehr interessant an. Werde es morgen wahrscheinlich mal testen. Könntest du Ineluki nicht fragen ob man das mit dem MP3-Patch "fusionieren" könnte.

dito

Ansonsten...ich werds auch morgen mal testen, und
bewertung hier rein editieren.
Ansonsen hört es sich gut an.
weiter so :A

Sgt. Pepper
03.09.2006, 21:52
Naja.

Ich bin ja nicht so der Experte, aber ich hatte das Gefuehl, dass das ganze doch schwer an den Ressourcen zerrt. Als ich mein DVB-Programm offen hatte war die Demo bspw nicht zu spielen (Alle paar Sekunden starke Ruckler, schlechte Musikqualität (knisternde Hintergrundgeräusche)).

Ohne DVB Programm war die Musikqualität in Ordnung. Es gab allerdings immernoch schwere Ruckler während ein Stueck gespielt wurde. Sollte dies das ganze Stueck lang so sein, halte ich das ganze fuer unbrauchbar, sorry. Nicht auszudenken was Leute mit noch schwächerem System da geliefert bekommen (Wovon es hier einige gibt).
Außerdem scheint mir das ganze doch umständlich zu sein. Ich kann mir nicht vorstellen, dass das die einfachste, beste, benutzerfreundlichste Methode sein soll.

Bevor ich es vergesse, mein System:

AMD Athlon XP 2200+
512 MB RAM
Windows XP

Ascare
04.09.2006, 13:19
Ich glaube nicht das solche exotischen Formate in der Community Anklang finden werden (ist doch eher etwas für Nostalgiker Nerds - nicht böse gemeint). mp3 oder midi reichen doch eigentlich aus.
Wenn du soundtechnisch am Maker etwas verbessern willst, dann vielleicht die Midiwiedergabe und das typische Klavierproblem, welches auf diesen Sysex Befehlen in der Midi beruht. Oder das ein- und ausfaden von mp3s (wobei ich dazu schonmal etwas gesehen hatte).

Barney
04.09.2006, 14:50
Wenn er es jedoch auch schafft, Formate wie .ogg oder vielleicht auch aac (plus) abspielbar zu machen, wäre das eine extreme Verbesserung, da diese beiden Formate bei einer geringeren Bitrate immernoch sehr gut klingen.

DR_Zeph
04.09.2006, 19:14
Hier btw. der FadingPatch. Wieso kennt sowas niemand =0

http://mitglied.lycos.de/rpgmakerpatch/CatFiles/Fading/Fading.zip

Manuel
04.09.2006, 20:02
Danke schonmal für euer Feedback :)
Könntest du Ineluki nicht fragen ob man das mit dem MP3-Patch "fusionieren" könnte. Ist imo besser. Aber was ist eigendlich der Vorteil von Tracker-Dateien gegenüber MP3s usw?Naja, WENN mein Programm mal mit dem MP3-Patch von Ineluki fusioniert wird, müsste er wohl die ganze Programmierarbeit machen... Er ist definitiv der bessere Programmierer als ich^^. Trackerformate haben den Vorteil, dass diese fast immer ein paar "WAV"-Töne gespeichert haben und diese in allen möglichen Tonhöhen/-lagen etc. an beliebigen Stellen abspielen kann. Das macht die Dateien zwar ca. dreimal so groß wie MIDIs, dafür ist musikalisch wesentlich mehr möglich als bei besagten MIDIs. Und die Größe ist da auch eher egal, da MP3 & Co. da trotzdem nicht mithalten können. (zumindest teilweise^^)
Naja.

Ich bin ja nicht so der Experte, aber ich hatte das Gefuehl, dass das ganze doch schwer an den Ressourcen zerrt[...](Alle paar Sekunden starke Ruckler)
[...]
Es gab [...] schwere Ruckler während ein Stueck gespielt wurde. Sollte dies das ganze Stueck lang so sein, halte ich das ganze fuer unbrauchbar, sorry. Nicht auszudenken was Leute mit noch schwächerem System da geliefert bekommen (Wovon es hier einige gibt).
Außerdem scheint mir das ganze doch umständlich zu sein. Ich kann mir nicht vorstellen, dass das die einfachste, beste, benutzerfreundlichste Methode sein soll.

Bevor ich es vergesse, mein System:

AMD Athlon XP 2200+
512 MB RAM
Windows XPDas ist extrem seltsam, vor allem, da mein PC zu den Oldtimern zählt^^. Auf meinem AMD Duron 800 MHz mit 256 MB RAM und Windows XP hat es überhaupt keine Probleme gegeben, weder im Fenster- noch im Vollbildmodus. Ich habe das Programm extra ressourcenschonend programmiert... Rein theoretisch müsste es auch mit 500 MHz und 64 MB RAM klarkommen... Sorry, ich habe da derzeit leider keine Idee, wie man das Problem lösen könnte :( . Ransetzen und ein paar "Versuche" mit meinem XP werde ich aber auf jeden Fall noch machen.
Ich glaube nicht das solche exotischen Formate in der Community Anklang finden werden (ist doch eher etwas für Nostalgiker Nerds - nicht böse gemeint). mp3 oder midi reichen doch eigentlich aus.Da irrst du dich aber gewaltig Ascare, dass solche Trackerformate längst "out" seien :D . Lies dir mal nur in Wikipedia folgenden Satz zur Definition von S3M (http://de.wikipedia.org/wiki/S3M) durch:
Trotz des Alters, hat das Format dennoch das Potential qualitativ äußerst hochwertige Musik wiedergeben und speichern zu können. So lagen große Teile der Musik der kommerziellen und weit verbreiteten Ego-Shooter Unreal und Unreal Tournament in S3M vor.Auch im Internet gibt es vergleichbare Musikangebote von Trackerformaten, die vgmusic mindestens das Wasser reichen können, beispielsweise ModPlug (http://www.modplug.com/) oder The Mod Archive. (http://www.modarchive.com/) Hast du außerdem schonmal was von "Jazz Jackrabbit" gehört, dessen Musik im Demolink vorkommt und in der gleichnamigen Community zu den wohl besten Trackermusiken gehört? Mal ehrlich, wenn .mod und .s3m zu den Nerd-Techs gehört, zu was gehört dann .mid? ;) Nur bei einem gebe ich dir Recht: .mod und .s3m etc. sind nicht innerhalb dieser Community nicht sehr weit verbreitet.
Wenn er es jedoch auch schafft, Formate wie .ogg oder vielleicht auch aac (plus) abspielbar zu machen, wäre das eine extreme Verbesserung, da diese beiden Formate bei einer geringeren Bitrate immernoch sehr gut klingen.OGG steht definitiv auf der Liste der ToDo's, bei AAC bin ich mir leider noch nicht sicher... Ich werde sehen, was sich machen lässt.
Hier btw. der FadingPatch. Wieso kennt sowas niemand =0Ich schätze mal, weil diese Seite auch (primär) zum Deutschpatch leiten soll, der in der Community dank alter Versionen immer noch mit vielen Vorurteilen zu kämpfen hat. Aber das ist eine andere Diskussion^^.
Wenn du soundtechnisch am Maker etwas verbessern willst, dann vielleicht die Midiwiedergabe und das typische Klavierproblem, welches auf diesen Sysex Befehlen in der Midi beruht. Oder das ein- und ausfaden von mp3s (wobei ich dazu schonmal etwas gesehen hatte).Kurz und bündig: Das kann ich nicht. Um sowas bewerkstelligen zu können, müsste man direkt Funktionen des RPG-Makers manipulieren können, und dazu bin ich nicht in der Lage (Ineluki vielleicht schon^^). Mein Programm nutzt ja auch "nur" eine Funktion aus, die Ineluki mit seinem Tastenpatch überhaupt erst möglich gemacht hat; ohne seinen Patch gäbe es mein Programm auch nicht. Und mal ganz offen gesprochen: Mich wundert es, dass dieses Programm von mir nicht schon längst von jemand anderem entwickelt wurde...

Arbeiten werde ich an den Patch auf alle Fälle. Wann mit (Final-)Ergebnissen zu rechnen ist, kann ich allerdings nicht sagen... Privat bin ich durch Schule und Beruf derzeit voll ausgebucht^^.

Ascare
04.09.2006, 22:41
Ich rede nicht über die gesamte Internetgemeinde, sondern nur die Makercomm. und da wirst du mit .it .mod usw. nicht weit kommen. Hinzu kommt das die Meisten nichtmal mit dem Tastenpatch umgehen können und weitere Audioformate verursachen nur noch mehr Komplikationen. Will das Projekt nicht schlecht reden, denn ich würde eine ogg Einbindung oder spc wenn möglich, auch interessant finden.

[KoA-Dani]
04.09.2006, 23:47
Ich weiss nicht, was ich davon halten soll. Fände ogg natürlich genauso klasse - vorausgesetzt fades werden ergänzt. Aber ansonsten würde es mich mehr freuen, wenn all die enthusiastischen Progger hier etwas mehr Zeit in den XP stecken und dort einiges auf die Beine stellen würden - von den weit größeren Möglichkeiten brauche ich wohl nicht zu sprechen.



Ich rede nicht über die gesamte Internetgemeinde, sondern nur die Makercomm. und da wirst du mit .it .mod usw. nicht weit kommen.

Hmm...mag vielleicht daran liegen, dass man diese Formate bisher nicht im Maker nutzen konnte ? :> Gab keinen Grund groß darüber zu reden.

Ascare
05.09.2006, 00:30
']
Hmm...mag vielleicht daran liegen, dass man diese Formate bisher nicht im Maker nutzen konnte ? :> Gab keinen Grund groß darüber zu reden.
Nee, eher daran das kaum jemand weiß was das ist bzw. wie man dieses Format überhaupt erreicht. Gängige Audio Encoder können das meines Wissens nach auch nicht so weiteres. Daher sind sie imo exotisch. ;)

Junta
29.01.2007, 15:17
MOD-Formate sind auch vollkommen anders aufgebaut als eine MP3 oder ähnliches (weiß nicht, ob der Begriff "Streaming-Format" hier angebracht ist). Für ihre Größe stellen sie eine sehr gute Möglichkeit zur Musikwiedergabe dar. Selbst FFX benutzte, afaik, noch sowas Ähnliches.

Dee Liteyears
29.01.2007, 15:53
Das einzige imho lohnenswerte Format was noch nicht im Maker eingebaut ist, sind .SPC Dateien. Wers schafft die innen Maker zu kriegen, der bekommt von mir nen Keks!:D

Don Cuan
29.01.2007, 17:08
Das einzige imho lohnenswerte Format was noch nicht im Maker eingebaut ist, sind .SPC Dateien. Wers schafft die innen Maker zu kriegen, der bekommt von mir nen Keks!:D
Wer das vor zwei Jahren noch gemacht hätte, hätte von mir eine ganze Ladung bekommen :D.

Junta
29.01.2007, 17:37
Ne Lib dafür gibt's. Es mangelt eher an der Dokumentation dazu. Wer aber Lust hat selbst dafür 'ne Lib zu schreiben, so tue er sich keinen Zwang an...^^

RPG Hacker
29.01.2007, 18:38
SPC-Formate würden mir auch gut in den Kram passen. Wenn man mal bedenkt, das die nur etwa 60 KB pro Stück haben *schwärm*. Außerdem brauche ich gerade SPC-Musik in meinem aktuellen... äääh... "Projekt". Und da wäre es echt kompakter an Stelle von 3 MB großen MP3s ein paar SPCs abzuspielen.

Junta
29.01.2007, 18:49
Wenn man mal bedenkt, das die nur etwa 60 KB pro Stück haben *schwärm*.
Bei 4-Bit lossy Samples kein Wunder^^

netwarrior
29.01.2007, 21:07
Danke Manuel, dein kleiner Patch ist echt genial.
Ich kann es wirklich gut gebrauchen, da es einige mod-Stücke gibt, die ich in meinem Projekt mit einbinden wollte (aber nicht konnte).
Damit spare ich mir die Arbeit sie auf mp3-Format zu packen.

Ich habe damit ein bischen herumexperimentiert, bis jetzt habe ich keine Fehler gefunden.

Weiter so. :A

MfG
netwarrior

Corti
30.01.2007, 15:04
Wenn er es jedoch auch schafft, Formate wie .ogg oder vielleicht auch aac (plus) abspielbar zu machen

Ist mir bereits gelungen nur setzt das einen installierten MP4Media-Splittercodec (FFDAudio etc. ) voraus den dann nur jeder 3. mal sporadisch hat und die paar KB Unterschied zur MP3 machens auch nicht.



Zitat von http://de.wikipedia.org/wiki/S3M
Trotz des Alters, hat das Format dennoch das Potential qualitativ äußerst hochwertige Musik wiedergeben und speichern zu können. So lagen große Teile der Musik der kommerziellen und weit verbreiteten Ego-Shooter Unreal und Unreal Tournament in S3M vor.
Die Unreal-Engine wechselte ab der UnrealEngine2 auf OpenAL +OGG , die hier genannten Titel sind allesamt 7 und mehr Jahre alt.

RPG Hacker
30.01.2007, 15:58
Bei 4-Bit lossy Samples kein Wunder^^

Hast du denn überhaupt schon mal die Musik von Secret of Mana oder Seiken Densetsu 3 gehört? Du würdest dich wundern! Und besser als ein paar popelige Midis ist es allemal. Mal ganz davon abgesehen das das (so weit ich weiß) gar keine 4-Bit Dingsdas sind!

Bauzi
31.01.2007, 18:42
Ich hab jetzt das ganze mehr oder weniger überflogen, aber:

Derzeit ist es "nur" möglich, Trackerformate abzuspielen. Ich benutze die "fmod.dll", die rein theoretisch in der Lage ist, u.a. auch .OGG-, .MP2- und .RAW-Dateien abzuspielen. Bis jetzt habe ich das allerdings noch nicht geschafft, da mir die Syntax zu kryptisch ist^^.
Theoretisch ist schonmal besser als unmöglich. Ich will sehr gerne .m4a
(AAC+ hdev2) Musikstücke abspielen. Könnte ich es mit diesem Teil?
Und wenn ja kannst du mir da ein wenig helfen damit das auch klappt?
Ich bin mir jetzt nicht ganz sicher ob du damit auch Videodateien möglich sind...
Äh... tjoar geht das? Würde gerne mp4 abspielen lassen oder zumindest einen Container der meinen x264 Stream enthällt (mkv oder vlt geht es ja auch mit ogg). Man kann zwar auch avis mit x264 codieren, aber darauf möchte ich nicht gerade gerne zugreifen.