163 lines
6.0 KiB
Plaintext
163 lines
6.0 KiB
Plaintext
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-----------
|