Files
FireBee_Setup/devtools/rsm/DE/modules/unilay/unilay.txt
2022-10-02 10:09:40 +02:00

163 lines
6.0 KiB
Plaintext
Raw Blame History

Universal Overlay v1.2
----------------------
Armin Diedering
letzte Žnderung: 29.1.2000
Tabulatorweite: 3
1. Was ist UniLay ?
===================
UniLay ist ein Overlay f<>r ResourceMaster ab Version 3.0. Mit Overlays ist
es m”glich, schon im Editor userdefinierte Objekte darzustellen.
UniLay verwendet dabei die ResourceMaster-eigenen Userdef-Objekte, die der
ResourceMaster verwendet, wenn keine MagiC-Sonder-Typen verf<72>gbar sind. Das
hat den Vortei, daž das Overlay mit seinen 2-3 kByte sehr klein ausf„llt.
Nachteilig ist es, daž die Objekte im Editor nicht ganz so dargestellt
werden, wie sie sp„ter im Programm aussehen werden. Immerhin ist aber schon
ein grober Eindruck m”glich.
2. Installation
===============
RSM 3.0:
--------
Einfach die Dateien "unilay.ovl" und "unilay.cnf" in den RSM-"modules"-Ordner
kopieren und in "rsm.ovl" und "rsm.cnf" umbenennen.
RSM 3.2:
--------
Einfach die Dateien "unilay.ovl" und "unilay.cnf" in den
RSM-"modules"-Ordner kopieren. Da RSM 3.2 mehrere Overlays unterst<73>tzt,
k”nnen die Dateien umbenannt werden und UniLay mehrfach in den
"modules"-Ordner kopiert werden. Der Dateiname f<>r die "*.ovl" und die
"*.cnf" m<>ssen dabei gleich sein (z.B. "flydials.ovl" und "flydials.cnf").
Ab RSM 3.2 kann ein Overlay eigene Toolboxen anbieten. UniLay sucht im
"modules"-Ordner nach einer Tools-Resource ("Overlay-Name.rsc"). Diese
Resource muž ganau so aufgebaut sein, wie eine RSM-Tool-Resource -> rsm.hyp.
3. Welch Objekte werden unterst<73>tzt ?
=====================================
UniLay bzw. der ResourceMaster unterst<73>tzt derzeit 7 Sonder-Objekte
- RSM_MOVEBUTTON Das bekannte Eselsohr um mit Dialoge zu fliegen.
- RSM_BUTTON Ein Button mit einem unterstrichenen Buchstaben.
- RSM_CHECKBUTTON Ein Ankreuzbutten mit/ohne unterstrichenen Buchstabe.
- RSM_RADIOBUTTON Ein Radiobutten mit/ohne unterstrichenen Buchstabe.
- RSM_UNDERLINED Ein unterstrichener String.
- RSM_GROUPBOX Ein Gruppenrahmen.
- RSM_NICELINE Eine Niceline f<>r Men<65>s.
Abgesehen von RSM_MOVEBUTTON kommen die Sonder-Objekte nur zum Einsatz, wenn
es sich um G_STRING-, G_BUTTON- oder G_TITLE-Objekte handelt.
Bei RSM_BUTTON, RSM_CHECKBUTTON und RSM_RADIOBUTTON wird der unterstrichenen
Buchstabe durch eine eckige Klammer im Buttontext gekennzeichnet. Oder aber
auch MagiC-like durch das Setzen von Whitebak. Die Position wird dann durch
die Bits 8-11 von ob_states bestimmt.
Die MagiC-Methode hat Vorrang.
4. Wie Konfiguriere ich UniLay ?
================================
UniLay l„d bei der Initialisierung die Datei "unilay.cnf". In dieser
CNF-Datei wird festgelegt, f<>r welche Objekte das Overlay aktiv werden soll.
Die Datei muž mit folgender Zeile eingeleitet werden!
------------Schnipp-----------
#[xxxx]
------------Schnapp-----------
Damit wird die ID des Overlays festgelegt ("xxxx" steht dabei f<>r 4
beliebige Zeichen). Wer verschiedene CNF-Dateien verwenden will (oder muž),
sollte f<>r jede CNF eine ID vergeben. Da die ID des Overlays auch in der
*.rsm-Datei gespeichert wird, aktiviert RSM das Overlay nur dann, wenn die
IDs <20>bereinstimmen.
Um Konflikte mit ”ffentlichen Overlays zu vermeiden, sollten private IDs mit
einem '_' beginnen z.B. so "#[_AO1]" (Armins Overlay Nr.1).
Dann kommen die Objekt-Zeilen.
Jede g<>ltige Objekt-Zeile hat folgenden Aufbau:
------------Schnipp-----------
#00 0000 0000 0000 0000 0000 0000 Kommentar
------------Schnapp-----------
Also sie wird immer mit einem Doppelkreuz (am Anfang der Zeile) eingeleitet.
Dem Doppelkreuz folgen 7 hexadezimal codierte und durch Leerzeichen
getrennte Zahlen. Dabei ist die Erste immer zweistellig und der Rest
vierstellig. Ein optionaler Kommentar muž durch Leerzeichen oder TABs von
der letzten Zahl getrennt sein.
Die Erste Zahl bestimmt die Sonder-Objekt-Nummer. Dabei gilt:
0 -> NICHTS_ZEICHNEN
2 -> RSM_MOVEBUTTON
3 -> RSM_BUTTON
4 -> RSM_CHECKBUTTON
5 -> RSM_RADIOBUTTON
6 -> RSM_UNDERLINED
7 -> RSM_GROUPBOX
8 -> RSM_NICELINE
Die folgenden 6 Zahlen sind in 3 Paare aufgeteilt. Jedes Zahlenpaar enth„lt
eine Maske und einen Vergleichswert. Diese Zahlenpaare gelten jeweils f<>r
die OBJECT-Komponenten Typ, Flags und States.
Beispiel:
---------
1. Das Overlay soll die Darstellung eins RSM_CHECKBUTTON <20>bernehmen wenn:
- der Erweiterte Typ = 22 (hex 16)
- der Objekttyp = G_STRING (28 bzw. hex 1c)
#03 ffff 161c 0000 0000 0000 0000
--- ---- ---- -------------------
| | | |
| | | Flags und States spielen keine Rolle
| | Erw.Typ=22 und Typ=G_STRING?
| alle bits von ob_type beachten
RSM_CHECKBUTTON
2. Da nur ein Checkbutton gezeichnet werden soll, wenn das EXIT-Flag nicht
gesetzt ist, brauchen wir noch eine Zweite Zeile.
#00 ffff 161c 0004 0004 0000 0000
--- ---- ----
| | |
| | ist EXIT gesetzt?
| nur das EXIT-Flag auswerten
NICHTS_ZEICHNEN
Diese Zeile muž unbedingt vor der RSM_CHECKBUTTON-Zeile stehen.
3. Ein RSM_RADIOBUTTON soll bei den gleichen Bedingungen wie oben gezeichnet
werden, wenn das RADIO-Flag gesetzt ist.
#04 ffff 161c 0010 0010 0000 0000
--- ---- ----
| | |
| | ist RADIO gesetzt?
| nur das RADIO-Flag auswerten
RSM_RADIOBUTTON
Auch Diese Zeile muž vor der RSM_CHECKBUTTON-Zeile aber nach der
NICHTS_ZEICHNEN-Zeile stehen.
4. Um es zusammen zu fassen:
- der Erweiterte Typ = 22 (hex 16)
- der Objekttyp = G_STRING (28 bzw. hex 1c)
- wenn EXIT-Flag soll nix gezeichnet werden
- wenn RADIO-Flag dann RSM_RADIOBUTTON sonst RSM_CHECKBUTTON
------------Schnipp-----------
#00 ffff 161c 0004 0004 0000 0000 Wenn Exit nix Zeichnen
#04 ffff 161c 0010 0010 0000 0000 Wenn RADIO -> RSM_RADIOBUTTON
#03 ffff 161c 0000 0000 0000 0000 Wenn kein EXIT und auch kein RADIO
dann RSM_CHECKBUTTON
------------Schnapp-----------