Erweiterung für RPG2003 1.12: Destiny for Maniacs!

  • Ok, Regexp selbst zu implementieren wäre ein Alptraum. Das will man niemandem wünschen. Wäre nur ein nettes Bonus-Feature gewesen.


    In meinen vorherigen Beitrag habe ich noch einen Vorschlag reineditiert, der um einiges wichtiger wäre. Wäre der umsetzbar?

  • Ich kann diesen Codebrocken geradezu schreien hören, diese Schwäche von DestinyScript war schon immer sehr übel. Umsetzbar wird das schon sein, andere Sprachen können schließlich auch Speicher über Pointer per Namen referenzieren. Aber meine Fähigkeiten übersteigt es weit, mir überhaupt auszudenken, was dafür alles nötig wäre.


    Das einzige schon vorhandene, was da Abhilfe schaffen würde, wäre, die IDs (und allerlei andere Werte), die man braucht, in Konstanten zu verpacken. Die müsste sich dann leider jeder selbst zurechtlegen, in eine eigene Version einbauen und daraus ne speziell angepasste DLL kompilieren. Wofür auch erstmal ne Menge Vorbereitung betrieben werden muss, insofern... nicht für alle tauglich. Ich kann hierfür echt keine vernünftige Lösung anbieten, sondern nur überkompliziert sinnieren.


    ~炬燵あ

  • Schade, wäre wohl auch zu schön gewesen. Die Konstanten-in-die-DLL-hacken-Methode klingt wirklich nicht allzu attraktiv.


    Es wäre ohnehin schon der Hammer, den Funktionsumfang des Rm2k-DestinyScripts im Rm2k3 nutzen zu können, auch ohne Extrawürste. Über weitere Funktionen kann man sich ja später noch Gedanken machen, wenn die erste Version steht (und du dann noch Lust hast). Ich werd meine Einfälle mal weiterhin notieren.

  • Ja, weiter überlegen und notieren kann nicht verkehrt sein. Vielleicht kann ich mit ganz viel Glück ja sogar mal mit einem "Ha, ninja'd, das hab ich schon integriert!" auf einen Vorschlag reagieren. Bin gerade aber wieder mit anderen Sachen beschäftigt, da wird Destiny noch ein Weilchen auf der Strecke verweilen.


    ~炬燵あ

  • An die wenigen, die das hier oder etwas anderes von mir (zB MöhrchenDice-Bilder) interessiert: Rechnet in nächster Zeit besser mit nichts Neuem, ich habe heute alle meine laufenden Arbeiten an [Destiny for Maniacs] (inklusive Hilfe) sowie an allen Spielen/Experimenten (meine übrigen Anteile an [Elements Destiny] können nicht mehr viel im restlichen Team ausbremsen, also nicht verzagen, was dieses Spiel angeht) aufgrund der vorherrschenden Pandemie, aus der wir dank zu vieler sehr gefährlicher Menschen niemals herauskommen werden, zeitlich unbestimmt eingefroren, ich sehe mich momentan nicht dazu in der Lage.


    Dies ist keine Protestaktion, sondern nerventechnisch für mich notwendig und kann schnell wieder vorüber sein oder sich lange hinziehen. Näher werde ich die Situation nicht erläutern, um meine Gesundheit muss sich hier allerdings niemand Sorgen machen. Das hier nur mal als kleines Update, das nicht viel zum Thema beiträgt, aber allen einen kleinen Infohappen bereithält, die sich fragen, ob oder wann hier noch was kommen möge.


    Bis Baldrian, bleibt sicher und tragt Masken ordnungsgemäß, so viel es nur geht, um andere auch vor euch zu schützen. Mein kontaktloser Dank sei allen gewiss, die sich an einfachste Regeln zur Pandemiebekämpfung halten können, anstatt alles mit Protesten gegen "Freiheitsbeschränkung" zu verschlimmern.


    Und wenn ihr mir einen großen Gefallen tun wollt: Schreibt bitte keine Antworten, nehmt es einfach zur Kenntnis und wendet euch Schönerem zu. Sobald jemand darauf hier in diesem Thread reagiert, würde jener garantiert sehr weit vom Gleis abkommen.


    ~炬燵あ

  • Ich möchte nicht groß in Aussicht stellen, demnächst das Ding mal releasen zu können, denn so wirklich arbeite ich noch nicht wieder dran, aber es gibt endlich wieder klein wenig frischen Fortschritt.


    Im Objekt [Message] können jetzt der Idle-Timer, die aktuelle Zeile, wie weit sie fortgeschritten ist und das DrawOffset für das nächste Zeichen abgefragt werden. Damit lässt sich bspw. eine Funktion schreiben, die automatisch, während die Dialogbox mit Text gefüllt wird, Sounds ausspuckt. Und da sich das grafisch nicht präsentieren lässt und ich jetzt auch nix aufnehmen will, gibt's hier jetzt stattdessen den Code dafür.

    Das Ganze packt man in ein Event mit [Parallel] und setzt noch ein [Wait 0] dahinter (sobald diese Version denn mal draußen ist). In diesem Beispiel schaltet Variable #1203 frameweise von 0 bis 5 durch, womit 10mal pro Sekunde ab dem Start eines Dialogtextes der Cancel-SystemSE mit einem zufälligen Pitch zwischen 50 und 150% abgespielt wird. Warum ausgerechnet der, wird man sich fragen. Äh... der fiel mir als erstbeste Möglichkeit ein, um mit dem RTP Tonfolgen zu erzeugen, die zu BanjoKazooie-Gibberish passen.


    ~炬燵あ

  • Mittlerweile hat vor einer knappen Woche BingShan nach langer Zeit ein neues großes Update für MP rausgehauen, es wird also wahrscheinlich nun nochmal etwas länger dauern, bis ich DestinyForManiacs veröffentlichen kann, denn natürlich will ich schauen, ob ich es gleich dafür anpassen kann.


    Wer sich für die wahnsinnig vielen neuen Änderungen von mp210519 (zB Spielbildschirmgröße ändern) interessiert, kann meine auf englisch verfasste Liste diesbezüglich im Forum von RMN lesen, mir ist gerade nicht danach, sie nochmal auf DE zu schreiben.


    ~炬燵あ

  • Aus der Anpassung für mp210519 wird erstmal nichts. Wie es aussieht, wurde ein großer Teil der Engine restlos über den Haufen geworfen und from-scratch neugeschrieben. Klingt absolut unrealistisch? Ja, isses auch. Aber anders kann ich mir nicht mehr erklären, was mit RPG_RT.exe passiert ist und was die Changelog-Beschreibungen versuchen zu vermitteln. Das ist zwar der helle Wahnsinn, aber zu dem, was ich hier mache, absolut inkompatibel.


    Das heißt allerdings noch lange nicht, dass es für Destiny jetzt aus ist, es wird nur wahrscheinlich gezwungenermaßen auf mp200128/210414 (und einigen weiteren RPG2000-/2003-Versionen, auch wenn es nicht bei allen von ihnen offiziell zugelassen ist) hängenbleiben.


    Unterdessen habe ich noch eine neue Picture-Funktion zusammengestümpert, sie ist weder stabil noch fertig, aber mittlerweile halbwegs verwendbar. Mit ihr lässt sich über recht komplizierte Parameter Inhalt von einem AuroraSheet in ein anderes per Matrix kopieren (Wikipedia ➤ Affine Abbildung). Wenn man es Zeilenweise einzeln machen lässt, wie im nachfolgenden Beispiel, entsteht mit den richtigen Werteverschiebungen fast schon sowas wie Perspektive.


    Oder kurz gesagt: Es funktioniert fast genau so wie Mode7 (SFC/SNES).


    ~炬燵あ