Benutzer:Käsekumpel/Power Mode 2003: Unterschied zwischen den Versionen
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 5: | Zeile 5: | ||
|os=Windows | |os=Windows | ||
|engine=[[RPG Maker 2003]] 1.0.9.1 | |engine=[[RPG Maker 2003]] 1.0.9.1 | ||
− | |sprache= | + | |sprache=Russisch<br/>Englisch<br/>Spanisch <small>(Übersetzung)</small><br/>Französisch <small>(Übersetzung)</small><br/>Italienisch <small>(Übersetzung)</small> |
|version=0.02 | |version=0.02 | ||
|datum=17. Juni 2007 <small>(0.02)</small> | |datum=17. Juni 2007 <small>(0.02)</small> | ||
Zeile 13: | Zeile 13: | ||
'''Power Mode 2003''' ist ein vom russischen Entwickler [[firesta]] entwickelter Patch für den [[RPG Maker 2003]], der die Engine um einige über [[Variable]]n-Register steuerbare Funktionen und Kompatibilität für zusätzliche Audio-Formate erweitert. | '''Power Mode 2003''' ist ein vom russischen Entwickler [[firesta]] entwickelter Patch für den [[RPG Maker 2003]], der die Engine um einige über [[Variable]]n-Register steuerbare Funktionen und Kompatibilität für zusätzliche Audio-Formate erweitert. | ||
− | + | Eine erste (nicht mehr auffindbare) Preview-Version, des Patches wurde im Herbst 2006 im Forum des russischen Entwicklerteams [[GDSA Team]] in Form einer modifizierten [[RPG_RT.exe]] veröffentlicht und Anfang Jänner des darauffolgenden Jahres von einer als ''WIP-20070114'' deklarierten Version abgelöst. Eine englische Übersetzung der dokumentierten Patch-Funktionen wurde einen Monat später nachgereicht. Diese ''WIP-Version'' wurde anschließend von Entwicklern verschiedener internationaler Communities aufgegriffenen, übersetzt, und weiter geteilt. | |
− | + | Ein zentrales Feature des Patches ist der Ersatz des [[Harmony.dll|Harmony]]-Systems mit einer eigenen Bibliothek ''warp.dll'', welche als Schnittstelle zu einem externen Audio-Backend in einer separaten DLL dient. Vor Version ''0.02'' wurde hierzu eine die proprietäre Sound-Engine [[wikipedia:de:FMOD|FMOD]] gesetzt. | |
− | Die im | + | Die später im Juni 2007 veröffentlichte Version ''0.02'' enthält zwar keine zusätzlichen neuen Spezial-Funktionen, tauscht jedoch das in der Vorgänger-Version verwendete Audio-Backend gegen [[wikipedia:de:XMPlay|BASS]] aus, und entfernt zudem die experimentelle Spezial-DLL ''hvm.dll'' (''Harmony Virtual System'') von [[Ripp3er]] gänzlich. |
Im italienischen Raum war der Patch unter dem Namen ''Mega Patch 2003'' bekannt. | Im italienischen Raum war der Patch unter dem Namen ''Mega Patch 2003'' bekannt. | ||
==Features== | ==Features== | ||
+ | |||
+ | === Audiowiedergabe === | ||
+ | |||
+ | Da der Patch nur für die ''RPG_RT'' gedacht ist, und den Editor selbst nicht verändert, müssen Dateinamen entsprechend angepasst werden, um diese in den Musik- und Soundeffekt-Dialogen des ''RPG Makers'' verwenden zu können. | ||
+ | |||
+ | (zB. ''music.ogg '''->''' music.ogg.wav'') | ||
+ | |||
+ | ==== via FMOD (Pre-0.02) ==== | ||
+ | Abhängig von ''fmodex.dll''. | ||
+ | |||
+ | * Unterstützung zusätzlicher Audio-Formate wie .OGG | ||
+ | * Unterstützung verschiedener Tracker-Formate wie .MOD | ||
+ | * "Smooth MP3 Looping" | ||
+ | |||
+ | ==== via BASS (ab 0.02) ==== | ||
+ | DLLs: ''bass.dll'', ''bass_aac.dll'', ''bass_fx.dll'' | ||
+ | |||
+ | * Unterstützung des AAC+-Formats & des MP4-Container-Formats | ||
+ | * Unterstützung zusätzlicher Tracker-Formate wie .MO3 | ||
+ | * Keine Unterstütung mehr für .WMA | ||
=== Zusätzliche Kommandos & Operationen === | === Zusätzliche Kommandos & Operationen === | ||
− | Die Spezialfunktionen des Patches werden über eine Reihe von reservierten Variablen (''#0001'' - ''#0008'') gesteuert. | + | Die Spezialfunktionen des Patches werden über eine Reihe von reservierten Variablen (''#0001'' - ''#0008'') gesteuert. In der ersten Spalte folgender Tabelle '''''hervorgehobene''''' Variablen-Register lösen bei Schreiboperationen den vorgesehenen Patch-Code aus, dienen teils aber auch als Register für Ausgabewerte. Ausgeklammerte ("''<small>(#000x)</small>''") Namen sind lediglich für Ausgaben vorgesehen. |
{| class="wikitable" style="width: 100%; font-size: 0.85em;" | {| class="wikitable" style="width: 100%; font-size: 0.85em;" | ||
!Register!!Funktions-Bezeichnung!!Auswirkung und Anmerkungen | !Register!!Funktions-Bezeichnung!!Auswirkung und Anmerkungen | ||
|- | |- | ||
− | |''#0001:CR0''|| | + | |'''''#0001:CR0'''''||''Control Register 0''|| |
* Setzen auf Wert '''255''': Öffnen des Lade-Menüs (''Nur falls Spielstände vorhanden'') | * Setzen auf Wert '''255''': Öffnen des Lade-Menüs (''Nur falls Spielstände vorhanden'') | ||
* Setzen auf Wert '''254''': Schließen des Programms (''Exit to Windows'')<br/> | * Setzen auf Wert '''254''': Schließen des Programms (''Exit to Windows'')<br/> | ||
Beim Lesen der Variable wird abhängig davon, ob Speicherstände im Spielordner vorhanden sind, entweder '''0''' (keine Dateien vorhanden) oder '''1''' zurückgegeben. | Beim Lesen der Variable wird abhängig davon, ob Speicherstände im Spielordner vorhanden sind, entweder '''0''' (keine Dateien vorhanden) oder '''1''' zurückgegeben. | ||
|- | |- | ||
− | |''#0003:MCOORDY''||Abfrage des Maus-Cursors|| | + | |''<small>(#0002:MCOORDX)</small>''<br/>'''''#0003:MCOORDY'''''||Abfrage des Maus-Cursors|| |
− | Nach dem Setzen auf einen beliebigen Wert, werden die Variablen-Register | + | Nach dem Setzen auf einen beliebigen Wert, werden die Variablen-Register ''#0002:MCOORDX''' / ''#0003:MCOORDY'' auf die aktuellen X/Y-Positionen des Maus-Cursors gesetzt. |
− | Dies passiert nicht automatisch, sondern es muss vor jeder neuen Abfrage von Koordinaten der Wert der Variable | + | Dies passiert nicht automatisch, sondern es muss vor jeder neuen Abfrage von Koordinaten der Wert der Variable ''#0003:MCOORDY'' verändert werden! |
|- | |- | ||
− | |''#0004:KEY''||Erweiterte Tastenabfrage|| | + | |'''''#0004:KEY'''''||Erweiterte Tastenabfrage|| |
Nach dem Setzen der Variable (entweder auf eine gültige ''VirtualKey-ID'' oder den Wert '''0'''), wird der aktuelle Status der Tastatur überprüft und im Falle einer gedrückten Taste, der ''ID-Wert'' dieser in dasselbe Variablen-Register zurückgeschrieben. | Nach dem Setzen der Variable (entweder auf eine gültige ''VirtualKey-ID'' oder den Wert '''0'''), wird der aktuelle Status der Tastatur überprüft und im Falle einer gedrückten Taste, der ''ID-Wert'' dieser in dasselbe Variablen-Register zurückgeschrieben. | ||
Zeile 47: | Zeile 67: | ||
Wurde kein Tastendruck registriert, wird der Wert '''0''' in das Register zurückgegeben. | Wurde kein Tastendruck registriert, wird der Wert '''0''' in das Register zurückgegeben. | ||
|- | |- | ||
− | |''#0007:FCODE''||Fließkommazahl-Operationen|| | + | |''<small>(#0005:FVALUE1)</small>''<br/>''<small>(#0006:FVALUE2)</small>''<br/>'''''#0007:FCODE'''''||Fließkommazahl-Operationen|| |
+ | * Wert '''1''': Berechnung des Sinus / Cosinus für Eingabe in Register ''#0005:FVALUE1''<br/>('''sin''': wird in ''#0006:FVALUE2'' gespeichert; '''cos''': wird ''#0005:FVALUE1'' gespeichert) | ||
+ | * Wert '''2''': Berechnung des Tangens für Eingabe in Register ''#0005:FVALUE1''<br/>('''tan''' wird in in Ziel-Register ''#0006:FVALUE2'' gespeichert) | ||
+ | * Wert '''3''': Berechnung der Quadratwurzel für Eingabe in Register ''#0005:FVALUE1''<br/>(Ausgabe des '''natürlichen Teils''' des Ergebnisses in ''#0005:FVALUE1''; '''Nachkommastellen''': im Ziel-Register ''#0006:FVALUE2'') | ||
+ | * Wert '''3''': Berechnung einer Division mit Nachkommstellen (''#0005:FVALUE1'' / ''#0006:FVALUE2'')<br/>(Ausgabe des '''natürlichen Teils''' des Ergebnisses in ''#0005:FVALUE1''; '''Nachkommastellen''': im Ziel-Register ''#0006:FVALUE2'') | ||
+ | |||
+ | Da der ''RPG Maker'' standardmäßig keine Fließkommazahlen unterstütz, werden die Nachkommastellen für Operationen '''3''' & '''4''' als Ganzzahl zurückgegeben. | ||
|- | |- | ||
− | |''# | + | |'''''#0008:SPECIAL'''''||Special Mode|| |
+ | Aktiviert die Möglichkeit, die Rotation von bis zu 50 Pictures (zur damaligen Zeit das Höchstlimit) über einen festgelegten Variablen-Block individuell zu steuern. Dabei wird der Standard-Effekt des Makers, die Rotation bei Update der Spiel-Logik automatisch mit einem festgelegten Effekt-Wert zu inkrementieren, mit einem fix festgelegten aus einer Variablen-Referenz gelesenen Wert zwischen '''0''' und '''256''' überschrieben. (''Werte außerhalb eines uint8-Typs führen zu einem Integer-Overflow'') | ||
+ | |||
+ | Wird das Register zB. auf den Wert '''21''' gesetzt, legt somit der Inhalt von Variable ''#0021'' den Rotations-Wert für Picture-ID ''#01'' fest. Variable ''#0022'' den Wert für Picture ''#02'', usw.. | ||
+ | |||
+ | Werte unterhalb der ID '''11''' für Register ''#0008:SPECIAL'' werden als ungültig erkannt und deaktivieren das Verhalten des Patches. | ||
|} | |} | ||
Zeile 60: | Zeile 91: | ||
*Die Funktion der linken & rechten Maustaste wurde auf die Eingabe- und Abbruchs-Funktion (''Enter'' / ''ESC'') gemappt. | *Die Funktion der linken & rechten Maustaste wurde auf die Eingabe- und Abbruchs-Funktion (''Enter'' / ''ESC'') gemappt. | ||
+ | ==== Zusätzliche Verhaltensänderung bei Picture-Rotationen ==== | ||
Eine Besonderheit der japanischen Version des ''RPG Maker 2003''s, die Transparenz der oberen & unteren Hälfte eines dargestellten Pictures unabhängig voneinander steuern zu können, wurde herausgepatcht. Stattdessen wurde dem Datenfeld für die ''"Untere Transparenz"'' eine neue Funktion zugewiesen: | Eine Besonderheit der japanischen Version des ''RPG Maker 2003''s, die Transparenz der oberen & unteren Hälfte eines dargestellten Pictures unabhängig voneinander steuern zu können, wurde herausgepatcht. Stattdessen wurde dem Datenfeld für die ''"Untere Transparenz"'' eine neue Funktion zugewiesen: | ||
Aktuelle Version vom 26. März 2025, 10:15 Uhr
Power Mode 2003 |
---|
Erstellt von | firesta Ripp3er |
Betriebssystem | Windows |
Für Maker/Engine | RPG Maker 2003 1.0.9.1 |
Sprache | Russisch Englisch Spanisch (Übersetzung) Französisch (Übersetzung) Italienisch (Übersetzung) |
Aktuelle Version | 0.02 |
Veröffentlichung | 17. Juni 2007 (0.02) |
Herunterladen |
Power Mode 2003 ist ein vom russischen Entwickler firesta entwickelter Patch für den RPG Maker 2003, der die Engine um einige über Variablen-Register steuerbare Funktionen und Kompatibilität für zusätzliche Audio-Formate erweitert.
Eine erste (nicht mehr auffindbare) Preview-Version, des Patches wurde im Herbst 2006 im Forum des russischen Entwicklerteams GDSA Team in Form einer modifizierten RPG_RT.exe veröffentlicht und Anfang Jänner des darauffolgenden Jahres von einer als WIP-20070114 deklarierten Version abgelöst. Eine englische Übersetzung der dokumentierten Patch-Funktionen wurde einen Monat später nachgereicht. Diese WIP-Version wurde anschließend von Entwicklern verschiedener internationaler Communities aufgegriffenen, übersetzt, und weiter geteilt.
Ein zentrales Feature des Patches ist der Ersatz des Harmony-Systems mit einer eigenen Bibliothek warp.dll, welche als Schnittstelle zu einem externen Audio-Backend in einer separaten DLL dient. Vor Version 0.02 wurde hierzu eine die proprietäre Sound-Engine FMOD gesetzt.
Die später im Juni 2007 veröffentlichte Version 0.02 enthält zwar keine zusätzlichen neuen Spezial-Funktionen, tauscht jedoch das in der Vorgänger-Version verwendete Audio-Backend gegen BASS aus, und entfernt zudem die experimentelle Spezial-DLL hvm.dll (Harmony Virtual System) von Ripp3er gänzlich.
Im italienischen Raum war der Patch unter dem Namen Mega Patch 2003 bekannt.
Features
Audiowiedergabe
Da der Patch nur für die RPG_RT gedacht ist, und den Editor selbst nicht verändert, müssen Dateinamen entsprechend angepasst werden, um diese in den Musik- und Soundeffekt-Dialogen des RPG Makers verwenden zu können.
(zB. music.ogg -> music.ogg.wav)
via FMOD (Pre-0.02)
Abhängig von fmodex.dll.
- Unterstützung zusätzlicher Audio-Formate wie .OGG
- Unterstützung verschiedener Tracker-Formate wie .MOD
- "Smooth MP3 Looping"
via BASS (ab 0.02)
DLLs: bass.dll, bass_aac.dll, bass_fx.dll
- Unterstützung des AAC+-Formats & des MP4-Container-Formats
- Unterstützung zusätzlicher Tracker-Formate wie .MO3
- Keine Unterstütung mehr für .WMA
Zusätzliche Kommandos & Operationen
Die Spezialfunktionen des Patches werden über eine Reihe von reservierten Variablen (#0001 - #0008) gesteuert. In der ersten Spalte folgender Tabelle hervorgehobene Variablen-Register lösen bei Schreiboperationen den vorgesehenen Patch-Code aus, dienen teils aber auch als Register für Ausgabewerte. Ausgeklammerte ("(#000x)") Namen sind lediglich für Ausgaben vorgesehen.
Register | Funktions-Bezeichnung | Auswirkung und Anmerkungen |
---|---|---|
#0001:CR0 | Control Register 0 |
Beim Lesen der Variable wird abhängig davon, ob Speicherstände im Spielordner vorhanden sind, entweder 0 (keine Dateien vorhanden) oder 1 zurückgegeben. |
(#0002:MCOORDX) #0003:MCOORDY |
Abfrage des Maus-Cursors |
Nach dem Setzen auf einen beliebigen Wert, werden die Variablen-Register #0002:MCOORDX' / #0003:MCOORDY auf die aktuellen X/Y-Positionen des Maus-Cursors gesetzt. Dies passiert nicht automatisch, sondern es muss vor jeder neuen Abfrage von Koordinaten der Wert der Variable #0003:MCOORDY verändert werden! |
#0004:KEY | Erweiterte Tastenabfrage |
Nach dem Setzen der Variable (entweder auf eine gültige VirtualKey-ID oder den Wert 0), wird der aktuelle Status der Tastatur überprüft und im Falle einer gedrückten Taste, der ID-Wert dieser in dasselbe Variablen-Register zurückgeschrieben. Im Falle des Werts 0 wird der Status für das gesamte Keyboard überprüft (Tasten mit niedrigererem Code haben Priorität), ansonsten wird nur der Status einer einzelnen Taste überprüft. Wurde kein Tastendruck registriert, wird der Wert 0 in das Register zurückgegeben. |
(#0005:FVALUE1) (#0006:FVALUE2) #0007:FCODE |
Fließkommazahl-Operationen |
Da der RPG Maker standardmäßig keine Fließkommazahlen unterstütz, werden die Nachkommastellen für Operationen 3 & 4 als Ganzzahl zurückgegeben. |
#0008:SPECIAL | Special Mode |
Aktiviert die Möglichkeit, die Rotation von bis zu 50 Pictures (zur damaligen Zeit das Höchstlimit) über einen festgelegten Variablen-Block individuell zu steuern. Dabei wird der Standard-Effekt des Makers, die Rotation bei Update der Spiel-Logik automatisch mit einem festgelegten Effekt-Wert zu inkrementieren, mit einem fix festgelegten aus einer Variablen-Referenz gelesenen Wert zwischen 0 und 256 überschrieben. (Werte außerhalb eines uint8-Typs führen zu einem Integer-Overflow) Wird das Register zB. auf den Wert 21 gesetzt, legt somit der Inhalt von Variable #0021 den Rotations-Wert für Picture-ID #01 fest. Variable #0022 den Wert für Picture #02, usw.. Werte unterhalb der ID 11 für Register #0008:SPECIAL werden als ungültig erkannt und deaktivieren das Verhalten des Patches. |
Zusätzliche Änderungen am Verhalten der Runtime
Weiters hat der Patch noch folgende Nebeneffekte, die sich ohne manuelles Editieren mit einem Hex-Editor nicht deaktivieren lassen:
- Die Hersteller-Logos von Enterbrain wurden entfernt.
- Der Titelbildschirm wird immer übersprungen (Funktion entspricht dem des Auto Enter Patches).
- Die Funktion der linken & rechten Maustaste wurde auf die Eingabe- und Abbruchs-Funktion (Enter / ESC) gemappt.
Zusätzliche Verhaltensänderung bei Picture-Rotationen
Eine Besonderheit der japanischen Version des RPG Maker 2003s, die Transparenz der oberen & unteren Hälfte eines dargestellten Pictures unabhängig voneinander steuern zu können, wurde herausgepatcht. Stattdessen wurde dem Datenfeld für die "Untere Transparenz" eine neue Funktion zugewiesen:
Ist hier ein Wert >= 50 festgelegt, werden Standard-Rotationen von Pictures entgegen dem Uhrzeigersinn durchgeführt.
Links
- Projekt-Webseite des Entwicklers (archiviert)
- Release-Tagebuch im Forum des GDSA-Teams (archiviert)
- VirtualKey-Liste bei Microsoft Docs
- VirtualKey-Liste auf CherryTree