OSDM Script Notes and Suggestions

Combined list of bugs and suggestions for OSDM Script in a structured format that is easier to work with.

New OSDM Script Commands

SET Commands
  • MMX - Set X Move (3D Vector, 3D Ball) (0-360) (ZINI (Radius)) (0-180)
  • MMY - Set Y Move (3D Vector, 3D Ball) (0-360) (ZINI (Radius)) (0-180)
  • MMZ - Set Z Move (3D Vector, 3D Ball) (0-360)
  • MSF - Set Start Frame (Sprite) - Note: Effect wie IDN = X auf die Frames bei einer Logo Animation. Es macht Sinn MSF zum auswaehlen des aktuellen Frames auch bei den Effekten LOGO und BOUNCE zu verwenden
  • MFD - Set Frame Delay (Logo) - Note: Effect wie MVS = X bei Sprite Animation. Es macht Sinn MFD zum setzen des Frame Delays auch bei dem Efffekten SPRITE und BOUNCE zu verwenden
Compare Commands
  • IRX - Compare Value X Rotation (3D Vector, 3D Ball)
  • IRY - Compare Value Y Rotation (3D Vector, 3D Ball)
  • IRZ - Compare Value Z Rotation (3D Vector, 3D Ball)
  • IMX - Compare Value X Move (3D Vector, 3D Ball)
  • IMY - Compare Value Y Move (3D Vector, 3D Ball)
  • IMZ - Compare Value Z Move (3D Vector, 3D Ball)
  • IAX - Compare Value X Angle (3D Vectot, 3D Ball)
  • IAY - Compare Value Y Angle (3D Vector, 3D Ball)
  • IAZ - Compare Value Z Angle (3D Vector, 3D Ball)
  • IFF - Compare Frame Number (Sprite, Logo, Bounce)
  • IDF - Identifier Frame ID (Sprite, Logo, Bounce) - Sets the current frame to the specified frame number (like IDN does for the Logo Effect today)
Adjust Commands
  • AMX - Add X Move (3D Vector, 3D Ball) (-360 - 360)
  • AMY - Add Y Move (3D Vector, 3D Ball) (-360 - 360)
  • AMZ - Add Z Move (3D Vector, 3D Ball) (-360 - 360)
Other Commands
  • RST Reset Command to set the 3D Objects and Vectorbobs (single and multi) back to where they started when the Effects were activated via the CAL = 3DVECTOR or CAL = 3DBALLS commands

Support of Existing Commands for New Effects

SFX
  • MASK
    • 0 = None
    • 1 = Vertical Slice Bumping
    • 2 = Flashing Skid Boxes
    • 3 = Create Desktop Mask
    • 4 = Scratch TV Crumble
    • 5 = Bordered Viewpoint
MVX, MVY / ADX, ADY
  • AMIGATEXT 2
  • PAGE 2
  • ZINI 2
  • REFLECTION
  • PLASMA
MVS, IDN
  • PAGE
  • ZINI
  • PLASMA
  • TRAINER

2 Implemented in latest OSDM Version, but buggy/not working properly.

Script Command Bugs

LOGO
  • ADA - Note: Den einzigen effekt den ADA hat, ist die 100% sichtbarmachung des logos (wie MVA = 255) wenn mit ADA = -X (negativ) der Alphawert von 0 unterschritten wird. Z.b. LEA = LOGO, MVA = 0, ADA = -11
  • SFX - Funktioniert nur, wenn irgend ein Logo Effect im OSDM interface spezifiziert wurde und nicht wenn Effect = NONE ausgewaehlt wurde.
3D VECTOR
  • STP
ZINI
  • STP1

1 Already added to non-public OSDM v2.10.160a (14.03.2010) ALPHA, which is currently being developed.

New OSDM Script Features

CUSTOM EXIT

Added by Roy/SAC March, 2011

Cool waere es, wenn man noch was machen koennte, wenn der user ESC oder SPACE (je nach Introeinstellung) drueckt, um das intro zu beenden. Um zum Beispiel ein eigenes „ausblende“ feature zu bauen oder noch nen „credits“ screen zeigen will und so etwas (mit getimeter musik ausblendung zum Beispiel). Das ESC Kommando sollte dann immer noch wie eh und je die normale OSDM intro exit routine ausfuehren.

Ich dachte da zum Beispiel an den aufruf einen SYSTEM Labels oder SYSTEM Makros. z.B.:

...
Normaler Code
...
END

LAB=EXIT
   STP=DISPLAY
   NOP=1
   CAL=SPRITE
   LEA=SPRITE
   IDN=8
   MVA=255
   CAL=DISPLAY
   NOP=2
   REP=100
     ADA=-2
     ADV=-1
   LOP
   REP=27
     ADA=-2
   LOP
   ESC
RTS

... oder am anfang des scripts

@INTROEXIT
  ...
  Custom Code
  ...
@END

Zur Sicherheit, damit keiner auf die Bloede Idee kommt damit Schindluder zu treiben und den User nicht aus dem intro rauslaesst, koennte man ja einbauen, dass er beim wiederholten ESC/SPACE druecken zwangsmaessig zum normalen Ende des intros kommt.

USER Variables

Die definition von user variablen wuerde viele sachen einfacher machen. Zum Beispiel zum Speichern, ob ein bestimmter Event eingetroffen ist oder nicht. Ein paar fixe user variablen (e.g. VAR1 - VAR10) wuerden es auch erst einmal tun. Hier ein paar Beispiele vie das aussehen koennte.

Beispiel 1

..
SET VAR1 = 0
..

VAR1 = 0 : JSR = 1
VAR1 = 1 : JSR = 2
...

Beispiel 2

...
REP = 100
...
SET VAR2 = VAR1 + 1
VAR2 > 10 : BRK
,,,
LOP
...

Wenn SET VARX = … ein Problem sein sollte wegen der bisherigen struktur von OSDM Script, dann wuerde es vielleicht eher sinn machen folgende Konstruktion zum setzten des wertes einer User Variable zu verweden:

SET = VAR1 : VAL = 0

oder

SET = VAR2 : VAL = VAR1 + 1
Done! Implemented in OSDM

Implemented Script Features

List of script features that were implemented in newer OSDM versions. Records kept for historic purposes.

SET Commands
  • MRX - Set X Rotation (3D Vector, 3D Ball) (0-360)1
  • MRY - Set Y Rotation (3D Vector, 3D Ball) (0-360)1
  • MRZ - Set Z Rotation (3D Vector, 3D Ball) (0-360)1
  • MAX - Set X Angle (3D Vector, 3D Ball, Sinus Text) (0-360)1
  • MAY - Set Y Angle (3D Vector, 3D Ball, Sinus Text) (0-360)1
  • MAZ - Set Z Angle (3D Vector, 3D Ball, Sinus Text) (0-360)1
  • MXV MVV - Set Music Volume (Music) (1-100)1
Compare Commands
  • IFA Compare Alpha Value (LOGO, BOUNCE, SPRITE, MASK)1
  • IDL - Identifier Layer ID (Swaps order of Effects Layer Position)1
Adjust Commands
  • ARX - Add X Rotation (3D Vector, 3D Ball) (-360 - 360)1
  • ARY - Add Y Rotation (3D Vector, 3D Ball) (-360 - 360)1
  • ARZ - Add Z Rotation (3D Vector, 3D Ball) (-360 - 360)1
  • AAX - Add X Angle (3D Vector, 3D Ball, Sinus Text) (-360 - 360)1
  • AAY - Add Y Angle (3D Vector, 3D Ball, Sinus Text) (-360 - 360)1
  • AAZ - Add Z Angle (3D Vector, 3D Ball, Sinus Text) (-360 - 360)1
  • AMV ADV- Add Music Volume (Music) (-100 - 100)1
Other Commands
  • QUT ESC Quit Intro (like ^Q1 in Scroll Text)1
  • FRX FLH Mirror/Flip Object on X-Axis (Bounce Bob, Sprite)1
  • FRY FLV Mirror/Flip Object on Y-Axis (Bounce Bob, Sprite)1
  • BFX Set 3D DirectX Alpha-Blending mode (1 & 2 & 4=On / 0=Off)1

1 Already added to non-public OSDM v2.10.160a (14.03.2010) ALPHA, which is currently being developed.

Support of Existing Commands for New Effects

MVS
  • AMIGATEXT
MVZ
  • LOGO (zum setzen der Groesse (100 = 1:1 oder 100%). Hilfreich, selbst wenn erst einmal nur beschraenkt auf OSDM Script und wenn kein Effect auf Logo angewendet wuerde darf)
MVA
  • LOGO 1
ADA
  • LOGO 1
ADZ
  • LOGO (zum stufenweise Zoomen des logos, vergroessern oder verkleinern. Hilfreich, selbst wenn erst einmal nur beschraenkt auf OSDM Script und wenn kein Effect auf Logo angewendet wuerde darf)

1 Already added to non-public OSDM v2.10.160a (14.03.2010) ALPHA, which is currently being developed.

Extra

 
 suggestions_osdm_script.txt · Zuletzt geändert: 2013/04/05 08:33 (Externe Bearbeitung)
 
Falls nicht anders bezeichnet ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Driven by DokuWiki