Revolution Patch: Unterschied zwischen den Versionen

Aus Makerpendium.de
Zeile 10: Zeile 10:
 
|version=
 
|version=
 
|datum=6. Juni 2011
 
|datum=6. Juni 2011
|download=[https://share.cherrytree.at/showfile-2931/revpreview.rar Vorabversion]<br />[https://share.cherrytree.at/showfile-10139/patch.asm Originaler Assemblercode]<br />[https://share.cherrytree.at/showfile-2975/revhelpersrc.rar revhelper.dll-Sourcecode]
+
|download=[https://share.cherrytree.at/showfile-2931/revpreview.rar Vorabversion]<br />[https://share.cherrytree.at/showfile-10139/patch.asm Originaler Assemblercode]<br />[https://share.cherrytree.at/showfile-10138/revmsgedit.exe Anderer revmsgedit-Build]<br />[https://share.cherrytree.at/showfile-2975/revhelpersrc.rar revhelper-Sourcecode]
 
}}
 
}}
 
__NOTOC__
 
__NOTOC__

Version vom 29. November 2023, 11:27 Uhr

Revolution Patch
Kein Bild verfügbar
Erstellt von Cherry
Betriebssystem Windows
Für Maker/Engine RPG Maker 2003 1.08
Sprache -
Aktuelle Version
Veröffentlichung 6. Juni 2011
Herunterladen Vorabversion
Originaler Assemblercode
Anderer revmsgedit-Build
revhelper-Sourcecode

Revolution Patch ist eine von Cherry modifizierte, jedoch nie fertiggestellte RPG_RT.exe vom RPG Maker 2003 1.08, die eine Vielzahl neuer Features hinzufügt, die teilweise über Switches (#3361~4100) und Variablen (#3371~3400) gesteuert werden. Damit das Programm lauffähig ist, wird revhelper.dll im Spielordner benötigt.

Zu Beginn der Entwicklung entstand mit TBBPatch eine Version, die vor allem dazu diente, dem Kampfsystem einen rundenbasierten Ablauf zu spendieren. Eine frühe Vorabversion des Revolution Patch zum Testen erschien am 6. Juni 2011, nach kurzer Zeit folgte mit Debug Addon for RM2k3 eine Auskopplung, die sich nur auf Debugging-Features konzentrierte. Der Ersteller selbst bezeichnete den Patch einige Zeit später als falschen Ansatz und widmete sich anschließend der Entwicklung des Pluginsystems DynRPG, ebenfalls für die gleiche Makerversion.

Darstellungsreihenfolge

Der Reihenfolge, in der in jedem Frame verschiedene Arten von Grafiken auf den Bildschirm gezeichnet werden, werden zwischen den einzelnen Kategorien eine Reihe festgelegter Bereiche aus Picture-IDs hinzugefügt. Als beständig gekennzeichnete Picture-Bereiche werden bei einem Mapwechsel nicht gelöscht.

Auf dem Mapbildschirm

  • Das Panorama
  • Tiles unterhalb sowie auf Höhe der Spielerfigur
  • Pictures #0127~0999 (beständig ab #0500)
  • Eventoide Objekte unterhalb der Spielerfigur
  • Pictures #1000~1999 (beständig ab #1500)
  • Eventoide Objekte auf Höhe der Spielerfigur
  • Pictures #2000~2999 (beständig ab #2500)
  • Tiles oberhalb der Spielerfigur
  • Pictures #3000~3999 (beständig ab #3500)
  • Eventoide Objekte oberhalb der Spielerfigur
  • Pictures #4000~4999 (beständig ab #4500)
  • Wettereffekte
  • Pictures #0001~0126 (weiterhin nur flüchtig)
  • Pictures #5000~5999 (beständig ab #5500)
  • Animation
  • Pictures #6000~6999 (beständig ab #6500)
  • Systemgrafik-Fenster (bspw. die Nachrichtentextbox)
  • Pictures #7000~7999 (beständig ab #7500)
  • Momentan laufende Timer

Auf dem Kampfbildschirm

  • Backdrop oder sonstige Terrain-abhängige Hintergrundgrafiken
  • Pictures #8000~8499
  • Helden- und Gegnergrafiken
  • Pictures #8500~8999
  • Wettereffekte
  • Pictures #9000~9499
  • Animationen
  • Systemgrafik-Fenster
  • Momentan laufende Timer
  • Pictures #9500~9999

Spezielle Switches

  • Switch #3366 pausiert sämtliche Bewegungsrouten auf eventoiden Objekten.
  • Switch #3369 blockiert die manuelle Steuerung der Spielerfigur.
  • Switch #3370 ist immer ON, solange die Nachrichtentextbox offen ist.
  • Switch #3371 erzwingt die Darstellung von Nachrichtentexten ohne Fenster, auch wenn die Einstellung dafür aus ist.
  • Switch #3372 deaktiviert die kleine zusätzliche Texteinrückung von Auswahlmöglichkeiten.
  • Switch #3373 reduziert die Breite des Rahmens von Auswahlmöglichkeiten auf das Nötigste.

Tastatur und Maus

Wird Variable #3371 durch den entsprechenden Eventbefehl auf 0 gesetzt, wird daraufhin ermittelt, ob derzeit eine Taste auf der Tastatur gedrückt wird, und - falls dies der Fall ist - selbige Variable mit der erstbesten, dazugehörigen VirtualKey-ID überschrieben. Zu den möglichen Werten gehören dabei unter anderem auch die Maustasten (Links: 1, Mitte: 4, Rechts: 2).

Wird die gleiche Variable stattdessen auf einen positiven Wert gesetzt, gilt diese Überprüfung nur für die Taste mit der entsprechenden VirtualKey-ID. Falls die Taste nicht gedrückt wird, wird der Variable der Wert 0 zugewiesen.

Die aktuelle Position des Mauszeigers relativ zum Spielfenster wird dauerhaft in den Variablen #3372 (X) und #3373 (Y) hinterlegt und kann darüber abgefragt werden.

Textüberwachung

Variable #3391 und #3392 enthalten den Bytecode der je nach Tempo bis zu zwei im aktuellen Frame ins Nachrichtentextfenster hinzugefügten Zeichen (0 falls nicht zutreffend). Die Variablen #3393 und #3394 geben an, in welcher Zeile und Spalte sich der Nachrichtentext-Prozess derzeit befindet. Variable #3395 enthält die horizontale Position der Zeichen (relativ zum linken Rand der Textbox), #3396 die zuletzt genutzte Textfarbe, #3397 das Schreibetempo.

Sonstige Anpassungen

  • Sobald ein Fehler auftritt, wird das Spiel nicht geschlossen, sondern resettet.
  • Falls eine angeforderte Grafikdatei nicht vorhanden ist, wird ein Dummy generiert, auf dem der Dateiname geschrieben steht.
  • F11 öffnet jederzeit im TestPlay-Modus das Dateimenü im Speichermodus.
  • Picture-Befehle können auch benutzt werden, während die Nachrichtentextbox geöffnet ist.
  • Der Befehl zum Eingeben einer Zahl, die anschließend in einer Variable gespeichert wird, zeigt zu Beginn den derzeitigen Wert der gewählten Variable an.
  • Nachrichtentexte und Auswahlmöglichkeiten können mehr als vier Zeilen enthalten (revmsgedit.exe wird benötigt).
  • Wird versucht, eine Auswahl abzubrechen, für die kein Abbruchsfall definiert wurde, ertönt der Buzzer-Sound.

Fensterverwaltung

Mit den Funktionen (siehe "Funktionsaufrufe") #21~37 können eigene Systemgrafik-Fenster erstellt, befüllt, angezeigt und verwaltet werden.

Funktionsaufrufe

Wenn Variable #3361 auf einen Wert gesetzt wird, wird eine Funktion ausgelöst, die an diesen Wert gekoppelt ist. Je nach gewählter Funktion ist eine zuvor durchgeführte Angabe von bis zu neun Parametern in Variablen ab #3362 notwendig.

Einige Funktionen arbeiten mit Kommazahlen, die in zwei Parameter-Variablen aufgeteilt werden. Dabei gibt die erste den Teil vor, die zweite den hinter dem Komma an. Auf beiden Seiten sind jeweils bis zu 7 Stellen möglich (123 und 4567000 bspw. würden zusammen 123,4567 ergeben).

Stringtypen
1 Heldenname
2 Skillname
3 Skillbeschreibung
4 Itemname
5 Itembeschreibung
7 Höchst priorisierter Heldenzustand
Spezielle Eventoid-IDs
10001 Spielerfigur
10002 Boot
10003 Schiff
10004 Flugschiff
10005 Aktuelles Event
Beispiele für Zahlen-Platzhalter
%6d Bis zu sechsstellige Zahl (rechts)
(1234 =   1234)
%-6d Bis zu sechsstellige Zahl (links)
(1234 = 1234  )
%.6d Immer mindestens sechsstellige Zahl
(1234 = 001234)
Funktionsname Auswirkung und Anmerkungen
1 GetTurn Speichert den allgemeinen Kampfrundenzähler in Variable #3362.
2 SetTurn Ändert den Kampfrundenzähler des Kampfteilnehmers aus Variable #3362 auf den Wert von #3363.
3 GetTurnUsedFlag
4 SetTurnUsedFlag
5 SetBattleLayout Ändert die Kampfbildschirmlayout-Einstellung auf den Wert aus Variable #3362.
6 SetWindowSize Ändert die Fenstergrößen-Einstellung im Kampfbildschirm auf den Wert aus Variable #3362.
7 SetWindowTransparency Ändert die Einstellung für Fensterdurchlässigkeit auf den Wert aus Variable #3362.
8 GetPartyMember Speichert die ID des Helden im PartySlot aus Variable #3362 in #3363.
9 GetATBValue Speichert den Wert der ATB-Leiste des Helden aus Variable #3362 in #3363.
10 SetATBValue Ändert den Wert der ATB-Leiste des Helden aus Variable #3362 auf den Wert aus #3363.
11 GetEnemyID Speichert die ID des Gegners im TroopSlot aus Variable #3362 in #3363.
12 GetFullScreenFlag Speichert in Variable #3362, ob der Vollbildmodus aktiv ist oder nicht.
13 GetLargeWindowFlag Speichert in Variable #3362, ob das Spielfenster auf einfach oder doppelt eingestellt ist.
14 GetTotalPlayingTime Speichert die bisher gemessene Spielzeit (bzw. den FrameCounter) in Variable #3362.
15 SetKeyAssignment Ändert die dem GameButton in Variable #3363 zugewiesene Taste auf den Wert aus #3362.
16 GetATBMode Speichert die ATB-Modus-Einstellung in Variable #3362.
17 SetATBMode Ändert die ATB-Modus-Einstellung auf den Wert aus Variable #3362.
18 GetSkillMP Speichert den MP-Verbrauch des Skills aus Variable #3362 in #3363.
19 SkipMessage Überspringt den momentanen Nachrichtentext, falls vorhanden.
20 GetStringLength Speichert in Variable #3364 die Länge der angegebenen Zeichenkette vom Typ aus #3362 mit der ID aus #3363.
21 OpenCustomWindow
22 CloseCustomWindow
23 ClearCustomWindow
24 IsCustomWindowOpen
25 HasCustomWindowOpeningFinished
26 SetCustomWindowMode
27 SetCustomWindowBackgroundTransparency
28 SetCustomWindowChoicesCount
29 SetCustomWindowChoicesColumns
30 SetCustomWindowChoicesPerPage
31 SetCustomWindowSelPos
32 SetCustomWindowSelSize
33 SetCustomWindowChoiceDefault
34 SetCustomWindowChoiceResultVar
35 GetCustomWindowChoice
36 GetCustomWindowScrollPos
37 SetCustomWindowChoice
38 GetEventLayer Speichert die Prioritätsebene (0/1/2) des Eventoiden mit der ID aus Variable #3362 in #3363.
39 SetEventLayer Setzt die Prioritätsebene (0/1/2) des Eventoiden mit der ID aus Variable #3362 auf den Wert von #3363.
40 GetBattlerPos Speichert die Position des angegebenen Kampfteilnehmers aus Variable #3362 in #3363 (X) und #3364 (Y).
41 SetBattlerPos Setzt die Position des angegebenen Kampfteilnehmers aus Variable #3362 auf die Werte von #3363 (X) und #3364 (Y).
42 DoesEventExist Speichert in Variable #3363, ob ein Event mit der in #3362 angegebenen ID existiert.
43 SetEventPositionOffset Verschiebt die Grafik des Eventoiden mit der ID aus Variable #3362 pixelgenau auf das Offset in #3363 (X) und #3364 (Y).
44 BetterGetEventID Listet ab der Variable mit der ID aus #3364 alle Eventoiden auf, die sich auf der Position aus #3362 (X) und #3363 (Y) befinden (Ende: 0).
45 EvalHeroName Ersetzt Zahlenplatzhalter im Namen des in Variable #3362 angegebenen Helden durch die Werte von Variablen, auf die ab #3363 verwiesen wird.
46 CopyStringToHeroName Ersetzt den Namen des in Variable #3362 angegebenen Helden durch die in #3363 (Stringtyp) und #3364 (ID) angegebene Zeichenkette.
47 AddCharToHeroName Hängt das Zeichen mit dem ANSI-Code aus Variable #3363 an das Ende des Namens vom in #3362 angegebenen Helden.
48 GetCharFromHeroName Speichert in Variable #3364 den ANSI-Code des Zeichens im Namen des in #3362 angegebenen Helden an der Stelle aus #3363.
49 CatHeroName Kopiert den Namen des in Variable #3363 angegebenen Helden an das Ende des Namens von jenem aus #3362.
50 GetCameraPos Speichert die Position des aktuellen Ausschnitts vom Mapbildschirm pixelgenau in Variable #3362 (X) und #3363 (Y).
51 SetCameraPos Ändert die Position des aktuellen Ausschnitts vom Mapbildschirm pixelgenau auf die Position aus Variable #3362 (X) und #3364 (Y).
52 SquareRoot Speichert die Quadratwurzel aus einer aus Variable #3362 und #3363 kombinierten Kommazahl in selbigen.
53 Sine Speichert den Sinus (SIN) aus einer aus Variable #3362 und #3363 kombinierten Kommazahl in selbigen.
54 Cosine Speichert den Kosinus (COS) aus einer aus Variable #3362 und #3363 kombinierten Kommazahl in selbigen.
55 Tangent Speichert den Tangens (TAN) aus einer aus Variable #3362 und #3363 kombinierten Kommazahl in selbigen.
56 FloatAdd Addiert die aus Variable #3364 und #3365 kombinierte Kommazahl auf die aus #3362 und #3363.
57 FloatSubtract Subtrahiert die aus Variable #3364 und #3365 kombinierte Kommazahl von der aus #3362 und #3363.
58 FloatMultiply Multipliziert die aus Variable #3362 und #3363 kombinierte Kommazahl mit der aus #3364 und #3365.
59 FloatDivide Dividiert die aus Variable #3362 und #3363 kombinierte Kommazahl durch die aus #3364 und #3365.
60 IsEnemyHidden Speichert, ob sich der Gegner im in Variable #3362 angegebenem TroopSlot derzeit im versteckten Zustand befindet, in #3363.
61 SetBattlerAnimation
62 ShowDamage
63 GetRow Speichert die Kampfreihen-Einstellung des in Variable #3362 angegebenen Helden in #3363.
64 SetRow Ändert die Kampfreihen-Einstellung des in Variable #3362 angegebenen Helden auf den Wert von #3363.
65 SetPictureAngle Setzt den Rotationswinkel des in Variable #3362 angegebenen Pictures auf die aus #3363 und #3364 kombinierte Kommazahl
66 SetGlobalEventSpeed
67 SetEventSpeed
68 SetEventFrame
69 SetEventPlace Ändert die Position des in Variable #3362 angegebenen Eventoiden auf der Map zu der in #3363 (X) und #3364 (Y).
70 MoveCamera Bewegt den aktuellen Ausschnitt des Mapbildschirms an den Pixel aus Variable #3362 (X) und #3363 (Y) mit dem Tempo aus #3364 (Pixel pro Sekunde ×3,75).
71 HideEnemy Versteckt den Gegner auf dem in Variable #3362 angegebenen TroopSlot oder zeigt diesen, abhängig von #3363.
72 GetNumberOfEnemies Speichert in Variable #3363 die Größe der Gegnergruppe mit der in #3362 angegebenen ID.
73 GetPicturePalette Speichert die Palette des in Variable #3362 angegebenen Pictures in Variablen ab der ID aus #3363.
74 SetPicturePalette Überschreibt die Palette des in Variable #3362 angegebenen Pictures mit Werten von Variablen ab der ID aus #3363.
75 GetPicturePixel Speichert die Farb-ID vom in Variable #3363 (X) und #3364 (Y) angegebenen Pixel im Picture von #3362 in #3365.
76 SetPicturePixel Ändert die Farb-ID vom in Variable #3363 (X) und #3364 (Y) angegebenen Pixel im Picture von #3362 auf den Wert von #3365.
77 FillPictureRect
78 CopyPictureRect
79 DrawPictureLine
80 GetPictureDimensions Speichert die Größe vom in Variable #3362 angegebenen Picture in #3363 (Breite) und #3364 (Höhe).
81 IsMessageWaiting Speichert in Variable #3362 den Zustandswert, ob die Nachrichtentextbox derzeit auf eine Eingabe wartet.
82 DoesEventPageExist
83 SetChuckNorrisMode Verhindert, dass bestimmte Fehler die Anwendung zum Absturz bringen können.
84 SimulateKeyPress

Siehe auch

Links

Öffnen
● RPG_RT-/Editor-Patches (IPS/HPA/EXE) von Cherry