Back to OSDM Section Home Documentation(Reference) of the OSDM Script Features. Additions since OSDM Version 2.20.161 are highlighted in YELLOW. Translation from German to English in Progress.
Script Commands
CallCALCALL Syntax: CAL = Effect [ + Effect + Effect ... ] ( = ALL ) CAL (Call) starts one or more specified Effects. It is important that an effect must also be enabled via the control unit (Main Screen) in order to be started via Script. To start multiple effects with one CAL command, separate each effect with the plus sign "+" (e.G. CAL = MUSIC + DISPLAY). All Effects can be started simultanously with the parameter ALL (e.G. CAL = ALL), except for the DISPLAY and MUSIC. DISPLAY and MUSIC must be started via a separate CAL command. CAL = ALL CAL = DISPLAY + MUSIC NOP = 10 STP = ALL NOP = 5 CAL = BOUNCE + SINUS32 + SCROLL + LOGO END Applies to Effects: All RCSRANDOM CALL STOP Syntax: RCS = Effect [ + Effect + Effect ... ] Starts (CAL) or stops (STP) an effect randomly. The idea was to add some variety to an intro. FPS = 25 STP = ALL CAL = DISPLAY + MUSIC LAB = 1 RCS = LOGO + BACK + SCROLL NOP = 5 JMP = 1 Applies to Effects: All STPSTOP Syntax: STP = Effect [ + Effect + Effect ... ] ( = ALL ) Stops the specified effect (= not being rendered anymore). You can stop all running effects via the ALL parameter with the exception of DISPLAY and MUSIC, which must be stopped separately. STP = ALL CAL = DISPLAY + MUSIC + LOGO NOP = 25 STP = DISPLAY NOP = 2 STP = ALL + MUSIC END Applies to Effects: All SWPSWAP Syntax: SWP = Effect [ + Effect + Effect ... ] Switch an effect on/off. If the effect is started, then it will be stopped and vice versa. FPS = 25 CAL = ALL CAL = DISPLAY + MUSIC LAB = 1 SWP = LOGO NOP = 2 JMP = 1 Applies to Effects: All LabelBRKBREAK Syntax: BRK Instantly exits a REP / LOP loop. This command is especially useful in combination with the commands IFX, IFY and IFZ. LEA = LOGO REP = 100 IFX > 50 BRK ADX = 1 LOP JMPJUMP Syntax: JMP = LAB ID Jumps to the specified <LAB ID>, which was defined via the LAB command. It works like the "GOTO" command in Basic. LAB = 123 [...] JMP = 123 JSRJUMP TO SUBROUTINE Syntax: JSR = LAB ID Jumps to the specified sub-routine / <LAB ID> that was defined via the LAB command and returns to process subsequent commands after the JSR command, if the called sub-routine ends with a RTS command. This command is the equivalent to the "GOSUB" command in Basic. JSR = 23 END LAB = 23 [...] RTS LABLABEL Syntax: LAB = ID LAB declares a Label Bookmark or start of a sub-routine. Label names/IDs have to be numeric and be in the range between 0 and 32767. You can jump to a label via either the JMP (Jump) or the JSR commands. A label declaration is not a boundary to declare independent code segments and ignored by the script parser, if this line of the script was reached. To create separated sub routines, use the LAB command followed by a RTS command at the end of the sub routine. Make sure to include either the END or ESC commmand at the end of the main code block. Use the JSR command to execute the sub routines from your main code. To create independent sub routines in OSDM script you could also use the new "Macro" feature instead. LAB = 0 [...] LAB = 5261 [...] END LOPLOOP Syntax: LOP Specifies the end of a loop that was initiated via the REP <Count> command. LOP reduces the value for <Count> by 1 and ends the loop if <Count> is equal 0. CAL = ALL + MUSIC LEA = LOGO MVY = 480 LAB = 1 REP = 480 ADY = -1 LOP REP = 480 ADY = 1 LOP JMP = 1 REPREPEAT Syntax: REP = Number Start einer Schleifenwiederholung. Der Parameter <Number> bestimmt die Anzahl der Durchläufe einer Schleife die immer mit LOP abschließen muss! Wichtig ist, dass REP / LOP Schleifen nicht verschachtelt werden können, also innerhalb einer Schleife kann keine zusätzliche definiert werden! FPS = 25 CAL = ALL LEA = LOGO LAB = 1 REP = 255 ADX = 1 ADY = 1 LOP NOP = 5 REP = 255 ADX = -1 ADY = -1 LOP NOP = 5 JMP = 1 RTSRETURN TO SUBROUTINE Syntax: RTS Rücksprung aus einer Sub-Routine. Hierdurch wird eine Sub-Routine verlassen und führt das Programm nach der Befehlszeile JSR <Nummer> weiter aus. JSR = 1 ;Aufruf von LAB = 1 JSR = 2 ;Aufruf von LAB = 2 END LAB = 1 [...] RTS ;Rücksprung zu JSR = 2 LAB = 2 [...] RTS ;Rücksprung zu END TimeFPSFRAMES PER SECONDS Syntax: FPS = Framerate Setzen der Geschwindigkeit mit der ein Intro dargestellt wird. Dieser Befehl sollte immer am Anfang eines Scripts definiert werden, da alle Zeitbasierenden Effekte auf diesen Wert justiert werden! Es ist aber auch möglich ein Intro nachträglich zu beschleunigen bzw. zu verlangsamen. FPS = 25 CAL = ALL + DISPLAY + MUSIC NOP = 10 FPS = 0 END IFTIF TIME Syntax: IFT >, =, < Time Die IFT Anweisung kann zur Überprüfung der aktuellen Intro-Zeit angewendet werden. Es wird nach den Parameter <Time> getestet und nur dann mit der direkt folgenden Anweisung bei wahrer Bedingung fortgeführt. Ist die Intro-Zeit unwahr <Time> wird die darauffolgende Anweisung ausgeführt. Mögliche IFT Anweisungen sind : IFT > größer als <Time>, IFT < kleiner als <Time> und IFT = gleich <Time>. FPS = 25 CAL = ALL + DISPLAY + MUSIC LAB = 1 IFT > 20 : TRS = 0 IFT = 10 : STP = LOGO IFT = 15 : CAL = LOGO NOP = 0 ;Interrupt - bei LAB / JMP Schleifen unbedingt anwenden! JMP = 1 NOPNO OPERATION Syntax: NOP = Time Wartet entsprechend des übergebenen <Time> Parameters, die Darstellung eines Intros wird wärend dem aktuallisiert. Die Dauer des Wartens steht direkt in Abhängingkeit der FPS Einstellung. Bei Übergabe von <Time> = 0 wird ein Interrupt ausgeführt, was zur sofortigen aktualisierung der Darstellungen führt. Sehr wichtig bei LAB / JMP Schleifen! FPS = 15 LAB = 1 NOP = 8 : CAL = LOGO NOP = 8 : STP = LOGO JMP = 1 TIMTIME Syntax: TIM = Time Wartet bis zum erreichen einer im Parameter <Time> angegebenen Introzeit. Dieser Befehl kann u.U. eine zeitbasierende Effektsteuerung unterstützen. Um die aktuelle Introzeit zu ermitteln bietet es sich an, ein Intro im Debug Export mit aktivierten Show Info zu testen. Die Introzeit wird dann links oben angezeigt! FPS = 25 TRS = 0 CAL = ALL CAL = MUSIC TIM = 10 STP = LOGO TIM = 15 STP = MUSIC TIM = 20 STP = DISPLAY NOP = 2 END TRSTIME RESET Syntax: TRS = Time Einstellung der aktuellen Introzeit. Dieser Befehl ermöglicht das Zurücksetzen bzw. neusetzen des internen Intro-Timers. Insbesondere dann von Bedeutung wenn ein Intro unter anderem über den Befehl TIM zeitgesteuert wird. FPS = 25 CAL = ALL + DISPLAY + MUSIC TRS = 0 TIM = 10 STP = BOUNCE TIM = 25 CAL = BOUNCE TIM = 30 STP = MUSIC EffectAAXADD ANGLE X-DEGREE Syntax: AAX = Angle Addiert eine Winkelangabe zu der X-Achse entsprechend des Parameter <Angle>. Werte von -360 bis 360 sind möglich. Note Roy/SAC: It appears to be 365 instead of 360 for a full rotation via adjusting the angle CAL = DISPLAY + MUSIC + 3DBALL LEA = 3DBALL AAX = 90 NOP = 10 AAX =-90 END Effects: SINUS16, SINUS32, 3DBALL, 3DVECTOR, 3DDIRECT, STARS AAYADD ANGLE Y-DEGREE Syntax: AAY = Angle Addiert eine Winkelangabe zu der Y-Achse entsprechend des Parameter <Angle>. Werte von -360 bis 360 sind möglich Note Roy/SAC: It appears to be 365 instead of 360 for a full rotation via adjusting the angle CAL = ALL + MUSIC + 3DVECTOR FPS = 3 LEA = 3DVECTOR REP = 88 AAY = 2 NOP = 1 LOP FPS = 25 NOP = 10 AAY =-90 END Effects: SINUS16, SINUS32, 3DBALL, 3DVECTOR, 3DDIRECT, STARS AAZADD ANGLE Z-DEGREE Syntax: AAZ = Angle Addiert eine Winkelangabe zu der Z-Achse entsprechend des Parameter <Angle>. Werte von -360 bis 360 sind möglich. Note Roy/SAC: It appears to be 365 instead of 360 for a full rotation via adjusting the angle CAL = ALL + MUSIC + SPRITE FPS = 3 LEA = SPRITE LAB = 1 IDN = 0 : AAZ = 4 IDN = 1 : AAZ =-8 NOP = 1 JMP = 1 Effects: LOGO, SINUS16, SINUS32, 3DBALL, 3DVECTOR, 3DDIRECT, STARS, SPRITE ADAADD ALPHA-TRANSPARENCY Syntax: ADA = Value Addiert den Parameter <Value> zur aktuellen Alpha-Transparenz eines Effekt. Es können auch negative Werte übergeben werden. Dieser Befehl eignet sich insbesonders für flüssige Ein-/Ausblendungen innerhalb einer REP / LOP Schleife. Ein Transparenzwert kann Werte von 0 (nicht sichtbar) bis zu 255 (vollständig eingeblendet) annehmen. Ebenfalls ist wie bei MVA darauf zu achten, daß nicht alle Effekte unterstützt werden! FPS = 25 CAL = DISPLAY + MUSIC + SPRITE LEA = SPRITE IDN = 0 MVA = 0 LAB = 1 REP = 254 : ADA = 1 : LOP NOP = 3 REP = 254 : ADA =-1 : LOP NOP 3 JMP = 1 Effects: LOGO, BOUNCE, SPRITE, MASK ADCADD COPPER SPEED Syntax: ADC = Value Addiert den Parameter <Value> zur Bewegungsgeschwindigkeit eines Copper Effektes. Es können auch negative Werte übergeben werden. Dieser Befehl eignet sich insbesonder für flüssige Veränderungen in einer REP / LOP Schleife. Es ist unbedingt darauf zu achten das im OSDM ein entsprechender Copper FX voreingestellt ist! FPS = 25 CAL = DISPLAY + MUSIC + LOGO LEA = LOGO LAB = 1 REP = 10 : ADC = 1 : NOP = 1 : LOP NOP = 3 REP = 10 : ADC = -1 : NOP = 1 : LOP NOP 3 JMP = 1 Effects: LOGO, BORDER, COPPERBAR, SINUS16, SINUS32, AMIGATEXT ADHADD PIXEL ZOOM HEIGHT Syntax: ADH = Pixel Vergrößert bzw. verkleinert einen aktiven Effekt entsprechend dem Parameter <Pixel> in seiner Höhe. Dieser Befehl eignet sich insbesondere für exakte Größenangaben FPS = 5 CAL = ALL + MUSIC LEA = BOUNCE : IDN = 0 LAB = 1 REP = 100 ADH = 2 : NOP = 1 LOP REP = 100 ADH =-2 : NOP = 1 LOP JMP = 1 Effects: SINUS16, SINUS32, AMIGATEXT, MAGNIFYING, SPRITE, BOUNCER, LOGO ADIADD IDENTIFER Syntax: ADI = Value Addiert den Parameter <Value> zur aktuellen IDN eines Effektes. Es können auch negative Werte übergeben werden. Dieser Befehl eignet sich insbesonder für das Austauschen von Multiplen Objekten. FPS = 25 CAL = DISPLAY + MUSIC + 3DBALL LEA = 3DBALL IDN = 0 MVX = 0 ;Horizontale-Mitte des Screen MVY = 0 ;Vertikale-Mitte des Screen ADX = 320 ;Mitte + 320 Pixel LAB = 1 REP = 320 : ADX =-1 : NOP = 1 : LOP : NOP = 3 REP = 320 : ADX = 1 : NOP = 1 : LOP : NOP = 3 ADI = 1 : IFI > 7 : IDN = 0 JMP = 1 Effects: BOUNCE, SCROLL, BORDER, COPPERBAR, SPRITE, MUSIC, 3DBALL, 3DVECTOR ADSADD SPEED Syntax: ADS = Value Addiert den Parameter <Value> zur Ablauf-/Bewegungsgeschwindigkeit. Es können auch negative Werte übergeben werden. Dieser Befehl eignet sich insbesonder für flüssige Veränderungen in einer REP / LOP Schleife. Ebenfalls ist wie bei MVS darauf zu achten, daß nicht alle Effekte unterstützt werden! FPS = 25 CAL = DISPLAY + MUSIC + BOUNCE LEA = BOUNCE IDN = 0 PSH LAB = 1 REP = 10 : ADS = 5 : LOP NOP = 3 REP = 10 : ADS = -5 : LOP NOP 3 JMP = 1 Effects: LOGO, BOUNCE, SCROLL, SINUS16, SINUS32 ADVADD MUSIC VOLUME Syntax: ADV = Volume Die Lautstärkes einer abzuspielenden Musikdatei wird um den Parameter <Volume> in Prozentwerten erhöht bzw. erniedrigt CAL = ALL + DISPLAY MVV = 0 CAL = MUSIC FPS = 10 REP = 99 ADV = 1 NOP = 1 LOP NOP = 50 REP = 99 ADV =-1 NOP = 1 LOP FPS = 25 END Effects: MUSIC ADWADD PIXEL ZOOM WIDTH Syntax: ADW = Pixel Vergrößert bzw. verkleinert einen aktiven Effekt entsprechend dem Parameter <Pixel> in seiner Breite. Dieser Befehl eignet sich insbesondere für exakte Größenangaben FPS = 5 CAL = ALL + MUSIC LEA = SPRITE : IDN = 0 LAB = 1 REP = 100 ADW = 2 : NOP = 1 LOP REP = 100 ADW =-2 : NOP = 1 LOP JMP = 1 Effects: SINUS16, SINUS32, AMIGATEXT, MAGNIFYING, SPRITE, BOUNCER, LOGO ADXADD X-POSITION Syntax: ADX = Value Addiert den Parameter <Value> zur horizontalen Position. Es können auch negative Werte übergeben werden. Dieser Befehl eignet sich insbesonder für flüssige Positionsveränderungen in einer REP / LOP Schleife. CAL = LOGO + DISPLAY + MUSIC LEA = LOGO PSH LAB = 1 REP = 400 ADX = 1 IFX > 400 : BRK LOP ADX = -400 JMP = 1 Effects: LOGO, BACK, MASK, BOUNCE, SCROLL, SINUS16, SINUS32, 3DDIRECT, 3DBALL, 3DVECTOR, MAGNIFYING, PAGE, SPRITE, TRAINER ADYADD Y-POSITION Syntax: ADY = Value Addiert den Parameter <Value> zur vertikalen Position. Es können auch negative Werte übergeben werden. Dieser Befehl eignet sich insbesonder für flüssige Positionsveränderungen in einer REP / LOP Schleife. CAL = LOGO + DISPLAY + MUSIC LEA = LOGO PSH LAB = 1 REP = 300 ADY = 1 IFY > 300 : BRK LOP ADY = -300 JMP = 1 Effects: LOGO, BACK, MASK, BOUNCE, SCROLL, SINUS16, SINUS32, BORDER, COPPERBAR, 3DDIRECT, 3DBALL, 3DVECTOR, MAGNIFYING, PAGE, SPRITE, TRAINER ADZADD Z-POSITION Syntax: ADZ = Value Addiert den Parameter <Value> zur Größen-/Entfernugsposition. Es können auch negative Werte übergeben werden. Dieser Befehl eignet sich insbesonder für flüssige Größen-/Entfernugsveränderungen in einer REP / LOP Schleife. CAL = DISPLAY + MUSIC + 3DDIRECT LEA = 3DDIRECT PSH MVZ = 1000 LAB = 1 REP = 1000 ADZ = -1 LOP REP = 1000 ADZ = 1 LOP JMP = 1 Effects: BOUNCE, COPPERBAR, SINUS16, SINUS32, AMIGATEXT, 3DDIRECT, 3DBALL, 3DVECTOR, MAGNIFYING, SPRITE, LOGO ARXADD ROTATION X-ANGLE Syntax: ARX = Anglespeed Erhöht bzw. veringert die Rotatitonsgeschwindigkeit eines Objekt nach Angabe des Parameter <Anglespeed> zur X-Achse. Werte von -360 bis 360 sind möglich. CAL = DISPLAY + MUSIC + 3DBALL LEA = 3DBALL MRX = 0 LAB = 1 REP = 359 ADX = 1 NOP = 0 LOP NOP = 10 REP = 359 ADX =-1 NOP = 0 LOP NOP = 10 JMP = 1 Effects: LOGO, SINUS16, SINUS32, 3DBALL, 3DVECTOR, 3DDIRECT ARYADD ROTATION Y-ANGLE Syntax: ARY = Anglespeed Erhöht bzw. veringert die Rotatitonsgeschwindigkeit eines Objekt nach Angabe des Parameter <Anglespeed> zur Y-Achse. Werte von -360 bis 360 sind möglich. CAL = DISPLAY + MUSIC + 3DVECTOR LEA = 3DVECTOR MRY = 0 LAB = 1 REP = 359 : ADY = 1 : NOP = 0 : LOP NOP = 10 REP = 179 : ADY =-2 : NOP = 0 : LOP NOP = 10 JMP = 1 Effects: LOGO, SINUS16, SINUS32, 3DBALL, 3DVECTOR, 3DDIRECT ARZADD ROTATION Z-ANGLE Syntax: ARZ = Anglespeed Erhöht bzw. veringert die Rotatitonsgeschwindigkeit eines Objekt nach Angabe des Parameter <Anglespeed> zur Z-Achse. Werte von -360 bis 360 sind möglich. CAL = ALL + MUSIC LEA = SPRITE IDN = 0 : MRZ = 0 LAB = 1 NOP = 10 REP = 44 : ADZ = 2 : NOP = 0 : LOP NOP = 10 REP = 89 : ADZ =-1 : NOP = 0 : LOP JMP = 1 Effects: LOGO, SINUS16, SINUS32, 3DBALL, 3DVECTOR, 3DDIRECT, SPRITE BFXBILINIAR 3D RENDER FX Syntax: BFX = BitMask Specifies a unique 3D DirectX Blending mode during rendering of effects. Over the binary parameter <BitMask> the mode is set. Possible values:
Since the parameter <BitMask> is a binary value (0 =%0000, 1 = %0001, 2 = %0010, 4 = %0100, 8 = %1000) it is possible to combine multiple values, such as: 3 = %0011 eg switches Median fliter and alpha blending on and 15 = %1111 would turn on all modes! CAL = ALL + MUSIC LEA = 3DVECTOR : BFX = 4 LEA = 3DBALL : BFX = 2 LEA = SPRITES IDN = 0 : MRZ = 4 : BFX = 3 IDN = 1 : MRZ =-4 : BFX = 2 END Effects: LOGO, BACK, BOUNCE, SPRITE, MASK, 3DVECTOR, 3DBALL, MAGNIFYING, AMIGATEXT CPHCLONE COPY HEIGHT Syntax: CPH = Height The vertical distance in pixels between objects, which were cloned using either the CPX or CPY commands, can be adjusted with the CPH command, where the parameter <HEIGHT> specifies the exact distance in number of pixels to be applied. CAL = DISPLAY + MUSIC + 3DVECTOR LEA = 3DVECTOR PSH MVX = -222 MVY = -172 MVZ = 125 NOP = 5 MVX = -468 MVY = -346 MVZ = 560 CPX = 5 CPY = 3 CPW = 86 CPH = 186 NOP = 5 MVX = -358 MVY = -272 MVZ = 280 CPW = 50 CPH = 150 END Effects: 3DBALL, 3DVECTOR, SPRITE CPWCLONE COPY WIDTH Syntax: CPW = Width The horizontal distance in pixels between objects, which were cloned using either the CPX or CPY commands, can be adjusted with the CPW command, where the parameter <WIDTH> specifies the exact distance in number of pixels to be applied. CAL = DISPLAY + MUSIC CAL = 3DBALL LEA = 3DBALL MVX = -222 MVY = -172 MVZ = 125 NOP = 5 MVX = -468 MVY = -346 MVZ = 560 CPX = 5 CPY = 3 CPW = 86 NOP = 5 MVX = -358 MVY = -272 MVZ = 280 CPW = 50 END Effects: 3DBALL, 3DVECTOR, SPRITE CPXCLONE COPY X Syntax: CPX = Number This command allows the horizontal cloning of objects, meaning, parameter <Number> specifies the number of repitions (clones) or how many times an object is rendered in addition to the original, which can lead to interesting effects. It's important to note that the CPX command is currently only supported by the 3DBALL, 3DVECTOR and SPRITES effects. Furthermore its important to know that all pre-defined animated objects are being speed-up by the factor <NUMBER>. To avoid this from happing, its suggested to remove all animation commands in the to be cloned .OBJ and .VOBJ; 3DBALL and 3DVECTOR object definitions. CAL = DISPLAY + MUSIC CAL = 3DBALL LEA = 3DBALL MVX = -222 MVY = -172 MVZ = 125 NOP = 5 MVX = -468 MVY = -346 MVZ = 560 CPX = 5 CPY = 3 CPW = 86 END Effects: 3DBALL, 3DVECTOR, SPRITE CPYCLONE COPY Y Syntax: CPY = Number This command allows the vertical cloning of objects, meaning, parameter <Number> specifies the number of repitions (clones) or how many times an object is rendered in addition to the original, which can lead to interesting effects. It's important to note that the CPY command is currently only supported by the 3DBALL, 3DVECTOR and SPRITES effects. Furthermore its important to know that all pre-defined animated objects are being speed-up by the factor <NUMBER>. To avoid this from happing, its suggested to remove all animation commands in the to be cloned .OBJ and .VOBJ; 3DBALL and 3DVECTOR object definitions. CAL = DISPLAY + MUSIC CAL = 3DVECTOR LEA = 3DVECTOR MVX = 0 MVY = 0 MVZ = 125 NOP = 5 MVX = -248 MVY = -136 MVZ = 560 CPX = 5 CPY = 3 CPW = 86 END Effects: 3DBALL, 3DVECTOR, SPRITE FLHFLIP HORIZONTAL Syntax: FLH Das aktuelle Image wird horizontal gespiegelt. Nach Aufruf werden auch alle Anim-Frames angepasst. Dieser Befehl eignet sich insbesondere für seitenbegrenzte Bewegungsabläufe und dem unterstützenden Eindruck eines Richtungswechsels. CAL = ALL LEA = SPRITE IDN = 0 ;Erste Animation als aktuell LAB = 1 REP = 320 ;Nach rechts laufen IFX > 640 : BRK ADX = 2 : NOP = 1 LOP FLH REP = 320 ;Nach links laufen IFX < 0 : BRK ADX =-2 : NOP = 1 LOP FLH JMP = 1 Effects: BOUNCE, SPRITE FLVFLIP VERTICAL Syntax: FLV Das aktuelle Image wird vertikal gespiegelt. Nach Aufruf werden auch alle Anim-Frames angepasst. Dieser Befehl eignet sich insbesondere für höhenbegrenzte Bewegungsabläufe und dem unterstützenden Eindruck eines Richtungswechsels. CAL = ALL + MUSIC LEA = SPRITE IDN = 0 ;Erste Animation als aktuell LAB = 1 REP = 240 ;Nach unten fallen IFY > 480 : BRK ADY = 2 : NOP = 1 LOP FLV REP = 240 ;Nach oben springen IFY < 0 : BRK ADY =-2 : NOP = 1 LOP FLV JMP = 1 Effects: BOUNCE, SPRITE IDCIDENTIFER CLONE COPY Syntax: IDC = Identifer Erstellt einen identischen Clone der aktuellen IDN welcher im Parameter <Identifer> angegeben werden muss. Sinn dieser Anweisung ist bei Effekten mit gleicher Grafik aber unterschiedlichen Positionen bzw. Dimensionen diese nicht wiederholt im Intro als Resource einzubinden. Der Vorteil liegt hierbei in der speichersparenden Anwendung da nur auf eine IDN zugegriffen wird, gleichzeitig aber unterschiedliche Darstellungen ermöglicht. Der Kompromis ist das FLH und FLV auf alle geklonten IDN 's Auswirkungen hat. LEA = SPRITE IDN = 0 : MVX = 160 : MVZ = 100 ;IDN welche im folgenden ge-cloned wird IDC = 1 : IDN = 1 : MVX = 240 : MVZ = 125 ;Clone IDN 1 = IDN 0 IDC = 2 : IDN = 2 : MVX = 320 : MVZ = 150 ;Clone IDN 2 = IDN 0 IDC = 3 : IDN = 3 : MVX = 480 : MVZ = 175 ;Clone IDN 3 = IDN 0 CAL = ALL + MUSIC END Effects: SPRITE, BOUNCER IDLIDENTIFER LAYER ORDER Syntax: IDL = Effect Das aktuelle Image wJeder Effekt hat eine vordefinierte Layer - Reihenfolge in der er angezeigt wird ( ähnlich eines Daumenkinos ) . Dieses wird jeweils in der Regie ? Storyboard über die Tasten [A] bis [X] und [Cursor UP] / [Cursor DOWN] festgelegt. Um die Reihenfolge nachträglich zu ändern kann über den Parameter <Effect> der aktuell mittels LEA festgelegte Effekt und dessen Anzeigeposition ausgetauscht werden. FPS = 15 CAL = DISPLAY +BACK + SPRITE + LOGO + MUSIC LAB = 1 LEA = SPRITE : IDN = 0 ;Erste Sprite-ID als aktuell für Rep/Lop + IDL REP = 160 ;Nach rechts bewegen IFX > 640 : BRK ADX = 4 : NOP = 1 LOP IDL = BACK ;Sprite und Hintergrund tauschen die Anzeigefolge REP = 160 ;Nach links bewegen IFX < 0 : BRK ADX =-4 : NOP = 1 LOP LEA = LOGO ;Logo als aktuell für IDL IDL = BACK ;Logo und Hintergrund tauschen die Anzeigefolge NOP = 0 JMP = 1 Effects: Alle IDNIDENTIFER Syntax: IDN = Number Einige Effekte bestehen aus einzelnen Teilbereichen, SCROLL aus 8 Textscrollern, BOUNCE aus bis zu 100 Bounce Bobs sowie LOGO (Frame Based) aus bis zu 64 Einzelbildern. Mit IDN kann jeweils ein Teilbereich für nachfolgende Angaben als aktuell markiert werden. Positionsangaben beziehen sich z.B. dann nur auf diesen einzelnen Bereich. Ausnahme ist hier MUSIC, nach Aufruf wird der in Keymap definierte Track abgespielt sowie das LOGO (Anim Frame Based), hier wird das Frame entsprechend der IDN nach Aufruf angezeigt, Positionsangaben beziehen sich auf das Gesamtbild. Dieses eignet sich für einen individuellen Bildwechsel. Desweiteren besteht die Möglichkeit einer Darstellung multipler 3D Ball- / Vector Objekte, auch hier definiert IDN ein integriertes Objekt als aktuell. FPS = 25 CAL = ALL + DISPLAY + MUSIC LEA = SCROLL ;Bestimme Scroller für Effektzugriff IDN = 0 ;TextScroller 1 MVY = 80 ;Vertikale Position auf 80 MVS = -4 ;Von rechts nach links IDN = 1 ;TextScroller 2 MVY = 120 ;Vertikale Position auf 120 MVS = 5 ;Geschwindigkeit von links nach rechts IDN = 2 ;TextScroller 3 MVY = 160 ;Vertikale Position auf 160 MVS = -6 ;Geschwindigkeit von rechts nach links LEA = LOGO MVS = 10000 ;Wartezeit bis Bildwechsel LAB = 1 IDN = 0 : NOP = 4 ;Frame 0 anzeigen und warten IDN = 1 : NOP = 4 ;Frame 1 anzeigen und warten IDN = 3 : NOP = 4 ;Frame 3 anzeigen ... JMP = 1 Effects: BOUNCE, SCROLL, BORDER, COPPERBAR, SPRITE, MUSIC, 3DBALL, 3DVECTOR, LOGO, AMIGATEXT IFAIF ALPHA TRANSPARENCY Syntax: IFA >, =, < Value Die IFA Anweisung kann zu Testzwecken verwendet werden ob ein Effekt einen bestimmten Transparenzwert <Alpha> = 0 - 255 besitzt. Sollte die Bedingung wahr sein wird die erste direkt folgende Anweisung ausgeführt, ansonsten wird sie übersprungen. Mögliche IFA Anweisungen sind : IFA > größer als <Alpha>, IFA < kleiner als <Alpha> und IFA = gleich <Alpha>. Sie macht sich besonders brauchbar innerhalt von Schleifenanweisungen die die Transparenz eines Objektes mit ADA oder MVA manipulieren. REP = 200 ADA = -2 IFA = 0 : BRK LOP Effects: LOGO, BACK, MASK, SINUS16, SINUS32, 3DDIRECT, 3DBALL, 3DVECTOR, MAGNIFYING, PAGE, SPRITE, TRAINER IFIIF IDENTIFER Syntax: IFI >, =, < Value Die IFI Anweisung kann zu Testzwecken verwendet werden ob sich ein Teilbereich eines Effekt innerhalb vordefinierter Angaben befindet. Insbesondere von Bedeutung bei der Verwendung von multiplen Objekten, Sprites etc. Sollte die Bedingung wahr sein wird die erste direkt folgende Anweisung ausgeführt, ansonsten wird sie übersprungen. Mögliche IFI Anweisungen sind : IFI > größer als <Value>, IFI < kleiner als <Value> und IFI = gleich <Value>. FPS = 0 CAL = ALL + DISPLAY + MUSIC LEA = SPRITES LAB = 1 ADI = 1 IFI > 6 : JMP = 2 NOP = 2 JMP = 1 LAB = 2 ADI = -1 IFI < 0 : JMP = 1 NOP = 2 JMP = 2 Effects: BOUNCE, SCROLL, BORDER, COPPERBAR, SPRITE, MUSIC, 3DBALL, 3DVECTOR IFXIF X-POSITION Syntax: IFX >, =, < Value Die IFX Anweisung kann zu Testzwecken verwendet werden ob sich ein Effekt in einem horizontalen Bereich <Value> befindet. Sollte die Bedingung wahr sein wird die erste direkt folgende Anweisung ausgeführt, ansonsten wird sie übersprungen. Mögliche IFX Anweisungen sind : IFX > größer als <Value>, IFX < kleiner als <Value> und IFX = gleich <Value>. FPS = 0 CAL = ALL + DISPLAY + MUSIC LEA = LOGO LAB = 1 ADX = 4 IFX > 640 : JMP = 2 NOP = 0 JMP = 1 LAB = 2 ADX = -4 IFX < 0 : JMP = 1 NOP = 0 JMP = 2 Effects: LOGO, BACK, MASK, SINUS16, SINUS32, AMIGATEXT, 3DDIRECT, 3DBALL, 3DVECTOR, MAGNIFYING, PAGE, SPRITE, TRAINER IFYIF Y-POSITION Syntax: IFY >, =, < Value Die IFY Anweisung kann zu Testzwecken verwendet werden ob sich ein Effekt in einem vertikalen Bereich <Value> befindet. Sollte die Bedingung wahr sein wird die erste direkt folgende Anweisung ausgeführt, ansonsten wird sie übersprungen. Mögliche IFY Anweisungen sind : IFY > größer als <Value>, IFY < kleiner als <Value> und IFY = gleich <Value>. Darstellungen werden erst aktualisiert nach einer LOP bzw. TIM und NOP Anweisung. FPS = 0 CAL = ALL + DISPLAY + MUSIC LEA = LOGO LAB = 1 ADY = 4 IFY > 480 : JMP = 2 NOP = 0 JMP = 1 LAB = 2 ADY = -4 IFY < 0 : JMP = 1 NOP = 0 JMP = 2 Effects: LOGO, BACK, MASK, SINUS16, SINUS32, AMIGATEXT, COPPERBAR, 3DDIRECT, 3DBALL, 3DVECTOR, MAGNIFYING, PAGE, SPRITE, TRAINER IFZIF Z-POSITION Syntax: IFZ >, =, < Value Die IFZ Anweisung kann zu Testzwecken verwendet werden ob sich ein Effekt in einem entfernten Bereich <Value> befindet, bzw. bei SINUS16 / 32 eine im Parameter definierte Größe ereicht hat. Sollte die Bedingung wahr sein wird die erste direkt folgende Anweisung ausgeführt, ansonsten wird sie übersprungen. Mögliche IFZ Anweisungen sind : IFZ > größer/entfernter als <Value>, IFZ < kleiner/näher als <Value> und IFZ = gleich <Value>. FPS = 0 CAL = ALL + DISPLAY + MUSIC LEA = 3DDIRECT LAB = 1 ADZ = 32 IFZ > 64 : JMP = 2 NOP = 0 JMP = 1 LAB = 2 ADZ = -32 IFZ < 0 : JMP = 1 NOP = 0 JMP = 2 Effects: SINUS16, SINUS32, AMIGATEXT, 3DDIRECT, 3DBALL, 3DVECTOR, MAGNIFYING, SPRITE LEALOAD EFFECT ACCESS Syntax: LEA = Effect Initiert einen Effektzugriff. Es kann jeweils nur der aktuelle Effekt nach diesen Befehl in der Position etc. verändert werden. Der Effektzugriff bleibt solange aktuell bis ein neuer Effekt über LEA vorbereitet wird. FPS = 25 CAL = ALL + DISPLAY + MUSIC LAB = 1 LEA = LOGO ADX = 2 IFX > 640 : MVX = -200 ADY = 1 IFY > 480 : MVY = -100 LEA = BORDER IDN = 0 : ADY = 1 IFY > 240 : MVY = 40 IDN = 1 : ADY = -1 IFY < 240 : MVY = 440 JMP = 1 Effects: Alle MAXMOVE ANGLE X-DEGREE Syntax: MAX = Angle Dreht einen Effekt auf der X-Achse entsprechend der Angabe des Parameter <Angle>. Werte von -360 bis 360 sind möglich. CAL = DISPLAY + MUSIC + 3DBALL LEA = 3DBALL MAX = 270 NOP = 5 MAX =-270 NOP = 5 MAX = 0 END Effects: SINUS16, SINUS32, 3DBALL, 3DVECTOR, 3DDIRECT, STARS MAYMOVE ANGLE Y-DEGREE Syntax: MAY = Angle Dreht einen Effekt auf der Y-Achse entsprechend der Angabe des Parameter <Angle>. Werte von -360 bis 360 sind möglich CAL = ALL + MUSIC LEA = STARS MAY = 270 NOP = 5 CLS = 3 MAY =-270 NOP = 5 CLS = 3 MAY = 0 END Effects: SINUS16, SINUS32, 3DBALL, 3DVECTOR, 3DDIRECT, STARS MAZMOVE ANGLE Z-DEGREE Syntax: MAZ = Angle Dreht einen Effekt auf der Z-Achse entsprechend der Angabe des Parameter <Angle>. Werte von -360 bis 360 sind möglich. CAL = DISPLAY + MUSIC + SPRITE LEA = SPRITE IDN = 0 : MAZ =-90 CPI = 1 IDN = 1 : MAZ = 45 END Effects: LOGO, SINUS16, SINUS32, SPRITE, 3DBALL, 3DVECTOR, 3DDIRECT, STARS MRXMOVE ROTATION X-DEGREE Syntax: MRX = Anglespeed Rotiert ein Objekt nach Angabe des Parameter <Anglespeed> dauerhaft zur X-Achse entsprechend der übergebenen Geschwindigkeit. Werte von -360 bis 360 sind möglich CAL = DISPLAY + MUSIC + 3DBALL LEA = 3DBALL MRX =-10 NOP = 10 MRX = 0 NOP = 10 MRX = 15 END Effects: LOGO, SINUS16, SINUS32, 3DBALL, 3DVECTOR, 3DDIRECT, STARS MRYMOVE ROTATION Y-DEGREE Syntax: MRY = Anglespeed Rotiert ein Objekt nach Angabe des Parameter <Anglespeed> dauerhaft zur Y-Achse entsprechend der übergebenen Geschwindigkeit. Werte von -360 bis 360 sind möglich. CAL = DISPLAY + MUSIC + 3DVECTOR LEA = 3DVECTOR LAB = 1 NOP = 10 MRY = 16 NOP = 10 MRY = 0 NOP = 10 MRY =-16 JMP = 1 Effects: LOGO, SINUS16, SINUS32, 3DBALL, 3DVECTOR, 3DDIRECT, STARS MRZMOVE ROTATION Z-DEGREE Syntax: MRZ = Anglespeed Rotiert ein Objekt nach Angabe des Parameter <Anglespeed> dauerhaft zur Z-Achse entsprechend der übergebenen Geschwindigkeit. Werte von -360 bis 360 sind möglich. CAL = DISPLAY + MUSIC + SPRITE LEA = SPRITE IDN = 0 : MRZ =-8 IDN = 1 : MRZ = 8 END Effects: LOGO, SINUS16, SINUS32, SPRITE, 3DBALL, 3DVECTOR, 3DDIRECT, STARS MVAMOVE ALPHA-TRANSPARENCY Syntax: MVA = Value Bestimmt den Alpha-Transparenzwert eines Effekt. Als Parameter <Value> muss ein Wert von 0 (nicht sichtbar) bis zu 255 (vollständig eingeblendet) übergeben werden. Ebenfalls ist wie bei ADA darauf zu achten, daß nicht alle Effekte unterstützt werden! FPS = 25 CAL = DISPLAY + MUSIC + SPRITE LEA = SPRITE IDN = 0 : MVA = 64 IDN = 1 : MVA = 128 IDN = 2 : MVA = 255 END Effects: LOGO, BOUNCE, SPRITE, MASK MVCMOVE COPPER SPEED Syntax: MVC = Value Verändert die Bewegungsgeschwindigkeit eines Copper Effektes. Der Parameter <Value> bestimmt die Geschwindigkeit und Richtung. Wichtig ist zu beachten, daß ein jeweiliger Copper FX im OSDM voreingestellt ist! CAL = DISPLAY + MUSIC CAL = SINUS32 LEA = SINUS32 LAB = 1 MVC = 10 NOP = 5 MVC = -10 NOP = 5 JMP = 1 Effects: LOGO, BORDER, COPPERBAR, SINUS16, SINUS32, AMIGATEXT MVHMOVE PIXEL ZOOM HEIGHT Syntax: MVH = Pixel Vergrößert bzw. verkleinert einen aktiven Effekt entsprechend dem Parameter <Pixel> in seiner Höhe. Dieser Befehl eignet sich insbesondere für exakte Größenangaben. Entgegen MVZ ist die Veränderung nicht proportional. CAL = ALL + MUSIC LEA = SINUS32 IDN = 0 NOP = 5 MVH = 50 NOP = 5 MVH = 200 NOP = 5 MVH = 100 END Effects: SINUS16, SINUS32, AMIGATEXT, MAGNIFYING, SPRITE, BOUNCER , LOGO MVSMOVE SPEED Syntax: MVS = Speed Verändert die Ablauf-/Bewegungsgeschwindigkeit eines Effektes. Da nicht alle Effekte in diesen Bereich veränderbar sind, sollte eine Anwendung zunächst auf einzelne Effekte überprüft werden. CAL = DISPLAY + MUSIC CAL = BOUNCE LEA = BOUNCE IDN = 0 LAB = 1 MVS = 20 NOP = 5 MVS = 10 NOP = 5 MVS = 0 NOP = 6 JMP = 1 Effects: LOGO, BOUNCE, SCROLL, SINUS16, SINUS32, AMIGATEXT MVVMOVE MUSIC VOLUME Syntax: MVV = Volume Mittels MVV wird die Lautstärkes einer abzuspielenden Musikdatei bestimmt. Der Parameter <Volume> wird in Prozentwerten von 0 = nichts hörbar bis 100 = volle Lautstärke angegeben. CAL = ALL + DISPLAY MVV = 0 CAL = MUSIC NOP = 5 : MVV = 25 NOP = 5 : MVV = 50 NOP = 5 : MVV = 100 END Effects: MUSIC MVWMOVE PIXEL ZOOM WIDTH Syntax: MVW = Pixel Sets the absolute <Pixel> width of the active effect. This command is especially useful for precise object sizing, because unlike the MVZ, the change is not proportional. CAL = ALL + MUSIC LEA = SPRITE IDN = 0 MVZ = 200 NOP = 5 MVW = 100 END Effects: SINUS16, SINUS32, AMIGATEXT, MAGNIFYING, SPRITE, BOUNCER, LOGO MVXMOVE X-POSITION Syntax: MVX = X Position Sets the absolute horizontal (X-Axis) position of the active effect. Negative values are supported as well. CAL = LOGO + DISPLAY + MUSIC LEA = LOGO LAB = 1 MVX = 70 : NOP = 6 MVX = 410 : NOP = 6 JMP = 1 Effects: LOGO, BACK, MASK, BOUNCE, SCROLL, SINUS16, SINUS32, 3DDIRECT, 3DBALL, 3DVECTOR, MAGNIFYING, PAGE, SPRITE, TRAINER MVYMOVE Y-POSITION Syntax: MVY = Y Position Sets the absolute vertical (Y-Axis) position of the active effect. Negative values are supported as well. CAL = LOGO + DISPLAY + MUSIC LEA = LOGO LAB = 1 MVY = 70 : NOP = 6 MVY = 400 : NOP = 6 JMP = 1 Effects: LOGO, BACK, MASK, BOUNCE, SCROLL, SINUS16, SINUS32, BORDER, COPPERBAR, 3DDIRECT, 3DBALL, 3DVECTOR, MAGNIFYING, PAGE, SPRITE, TRAINER MVZMOVE Z-POSITION Syntax: MVZ = Z Position Enlarges or Reduces the display size of the active effect. The actual results of this command vary depending on the type of effect. The parameter <Z Position> for example, is interpreted by the AMIGATEXT, SINUS16 / 32 effects as a percentage figure, while by 3D objects the absolute (Z Axis) distance property is changed. The higher the value, the further away the object will be located. CAL = DISPLAY + MUSIC CAL = 3DDIRECT + SINUS32 LAB = 1 LEA = 3DDIRECT MVZ = 470 LEA = SINUS32 MVZ = 300 NOP = 6 LEA = 3DDIRECT MVZ = 40 LEA = SINUS32 MVZ = 30 NOP = 6 JMP = 1 Effects: BOUNCE, COPPERBAR, SINUS16, SINUS32, AMIGATEXT, 3DDIRECT, 3DBALL, 3DVECTOR, MAGNIFYING, SPRITE, LOGO PSHPUSH Syntax: PSH Refreshes the X, Y, Z, S properties of the efect with was activated via the LEA commands. This is especially of importance during the intro-creation at first time use of any AD(xyzs) positioning, if position parameters in debug-export mode are checked against values of the enabled "show info" option. This command is not really required and primarilly used for debugging and property verification. CAL = 3DBALL + DISPLAY LEA = 3DBALL PSH LAB = 1 REP = 200 ADX = 1 ADY = 1 ADZ = 1 ADS = 1 LOP REP = 200 ADX = -1 ADY = -1 ADZ = -1 ADS = -1 LOP JMP = 1 Effects: All RFXRANDOM FX Syntax: RFX = Max.Effectmode Randomly changes the active effect mode. The option parameter <Max.Effectmode> sets the maximum value of the effect mode available for random selection. The helps with restricting possible effect modes from being selected. The effect modus is defined by the pre-set options range starting at 0 - #Num.Effects. The LOGO Effect Mode 7 for example defines the "Pulse Fadeout". If this limit would be set, only effect modes between 0-7 would be randomly selected, but 8 - .. etc. not. CAL = LOGO + DISPLAY + MUSIC LEA = LOGO LAB = 1 SFX = 7 NOP = 6 RFX = 10 NOP = 6 JMP = 1 Effects: LOGO, AMIGATEXT, EQUALIZER SFXSET FX Syntax: SFX = Effectmode Changes the active effect mode for the active feature/effect (if available). Effects that support multiple effect modes are for example: LOGO, C64 BACK, EQUALIZER, AMIGATEXT and SPRITE. FPS = 25 CAL = LOGO + DISPLAY LEA = LOGO LAB = 1 SFX = 0 : NOP = 5 SFX = 3 : NOP = 5 SFX = 4 : NOP = 5 JMP = 1 Effects: LOGO, AMIGATEXT, EQUALIZER, SPRITE MISCCLSCOLOR SCREEN FLASH Syntax: CLS = Timespeed This statement causes flashing of the display. The <TimeSpeed> parameter determines the duration of the effect. Via the RGB command above a corresponding color value can be set in which color flashing is carried out. The default coloris black, if nothing other was specified. The flash is only supported if the OSDM main program option "display \ Screen Fading" is set! FPS = 25 CAL = DISPLAY + MUSIC RGB= $EFF LAB = 1 CAL = LOGO : NOP = 5 CLS = 3 STP = LOGO CAL = BACK : NOP = 5 CLS = 3 STP = BACK JMP = 1 ENDEND OF SCRIPT Syntax: END With this command, the script execution is completed; all subsequent statements are not being executed! This is particularly important if a final sequence of an intro is permanently displayed and CPU resources are to be saved. FPS = 25 CAL = ALL + DISPLAY + MUSIC LEA = SCROLL IDN = 0 MVS = -4 END ESCESCAPE INTRO Syntax: ESC This command ends the intro without pressing the [ESC] key and return to the desktop. This command is especially useful for time-limited intros or for a time-based exit of individual intros that are part of a Mega-tro. FPS = 25 CAL = LOGO + MUSIC LEA = AMIGATEXT SFX = 17 TRS = 0 TIM = 12 STP = LOGO CAL = AMIGATEXT + STARS CAL = BORDER + SCROLL NOP = 20 ESC IFRIF RANDOM Syntax: IFR >, =, < Value The IFR instruction generated at each call a random value and compares it with <value>. If the condition is "true" the immediately following statement is being executed. If the random value false <value>, the subsequent instruction is executed instead. The higher the value of <value>, the less probable is the execution of the true condition. Possible IFR instructions are: IFR> greater than <value>, IFR <less than <Value> and IFR = equal to <value>. FPS = 25 CAL = ALL + DISPLAY + MUSIC LEA = SPRITE LAB = 1 IDN = 0 : IFR < 8 : JSR = 2 ;Probability = 1:2 IDN = 1 : IFR = 8 : JSR = 2 ;Probability = 1:20 IDN = 2 : IFR > 8 : JSR = 2 ;Probability = 1:2 NOP = 0 JMP = 1 LAB = 2 IFX > 650 : MVX = -10 IFR > 10 : ADX = 2 RTS RGBRED GREEN BLUE Syntax: RGB = $Color
This indirect statement determines a color value using the <$ Color> in which the screen fading or the CLS statement is being executed. It is recommended to use hexadecimal values as parameter, because these are easier to read than decimal values. Values from RGB = $F00 : CLS = 3 ;RGB = Red LAB = 1 CAL = LOGO : NOP = 5 RGB = $0F0 : CLS = 3 ;RGB = Green STP = LOGO CAL = BACK : NOP = 5 RGB = $00F : CLS = 3 ;RGB = Blue STP = BACK JMP = 1 MacroMacroinstructionCOLOR SCREENFLASH Syntax: @MACRONAME [...] @END Macros provide the ability to define a frequently occurring code sequence as a form of placeholder. In simple terms, it is the means to program your own complex commands, because up to 10 (/ 0 - / 9) custom parameters can be passed. These parameters are exactly replaced at execution time by the passed values. Thus it is possible to declare the parameters effects, label numbers, etc. Another and not to be underestimated advantage is the better readability and an extensive modification to the code itself without much effort. Macros should always be defined at the beginning of a script and can be named freely. Important Note that macros must always prefixed with the character "@" and finished with "END"! The macro placeholder is then replaced with the appropriate content and values at compilation time of the script. @SimpleADXYZ ADX = 1 : ADY = 1 : ADZ = 1 @END @MyADXYZ LEA = /0 IDN = /1 ADX = /2 : ADY = /3 : ADZ = /4 @END @MyReset LEA = /0 IDN = /1 MVX = 320 : MVY = 240 : MVZ = 100 @END FPS = 10 CAL = ALL + MUSIC REP = 200 LEA = SPRITE IDN = 0 @SimpleADXYZ LEA = BOUNCE IDN = 2 @SimpleADXYZ NOP = 1 LOP @MyReset = SPRITE, 0 @MyReset = BOUNCE, 2 REP = 200 @MyADXYZ = SPRITE, 0, 2, 2,20 @MyADXYZ = BOUNCE, 2,-20,60,-2 NOP = 1 LOP END Vertical and Horizontal Screen Fade IN/OUT MacrosVertical Fader Sprite 7 = BlackRGB1-1-1_MASK.png Make Sure "Sprite" is on top of all other visible effects in Storyboard. If not, switch it temporarely with an unused one that is high enough. You could for example position "Trainer" as Top-Most Effect and always use that one for the switch @FADEIV or @FADEOV Example with Switching Storyboard position with "Trainer" LEA=SPRITE : IDL=TRAINER @FADEIV IDL=TRAINER Uses RGB 1,1,1 Sprite at Slot 7 to create Vertical fade-in Effect. Sprite 7 is cloned into virtual slots 8 to 15 @FADEIV LEA=SPRITE : IDN=7 : BFX=2 : MVA=255 : MVW=640 : MVH=480 : MVX=320 : MVY=240 IDC=8 : MVA=225 : MVH=20 : MVY=-10 IDC=9 : MVA=195 : MVY=-30 : IDC=10 : MVA=165 : MVY=-50 IDC=11 : MVA=135 : MVY=-70 : IDC=12 : MVA=105 : MVY=-90 IDC=13 : MVA=75 : MVY=-110 : IDC=14 : MVA=45 : MVY=-130 IDC=15 : MVA=15 : MVY=-150 REP=80 IDN=7 : ADY=6 : IDN=8 : ADY=6 : IDN=9 : ADY=6 : IDN=10 : ADY=6 IDN=11 : ADY=6 : IDN=12 : ADY=6 : IDN=13 : ADY=6 : IDN=14 : ADY=6 IDN=15 : ADY=6 LOP IDN=7 : MVA=0 : IDN=8 : MVA=0 : IDN=9 : MVA=0 : IDN=10 : MVA=0 IDN=11 : MVA=0 : IDN=12 : MVA=0 : IDN=13 : MVA=0 : IDN=14 : MVA=0 IDN=15 : MVA=0 @END Uses RGB 1,1,1 Sprite at Slot 7 to create Vertical fade-out Effect. Sprite 7 is cloned into virtual slots 8 to 15 @FADEOV LEA=SPRITE : IDN=7 : BFX=2 : MVA=255 : MVW=640 : MVH=520 : MVX=320 : MVY=-365 IDC=8 : MVA=15 : MVH=14 : MVY=-7 : IDC=9 : MVA=45 : MVY=-21 IDC=10 : MVA=75 : MVY=-35 : IDC=11 : MVA=105 : MVY=-49 IDC=12 : MVA=135 : MVY=-63 : IDC=13 : MVA=165 : MVY=-77 IDC=14 : MVA=195 : MVY=-91 : IDC=15 : MVA=225 : MVY=-105 REP=180 IDN=7 : ADY=3 : IDN=8 : ADY=3 : IDN=9 : ADY=3 : IDN=10 : ADY=3 IDN=11 : ADY=3 : IDN=12 : ADY=3 : IDN=13 : ADY=3 : IDN=14 : ADY=3 IDN=15 : ADY=3 LOP @END Horizontal Fader Sprite 7 = BlackRGB1-1-1_MASK.png Make Sure "Sprite" is on top of all other visible effects in Storyboard. If not, switch it temporarely with an unused one that is high enough. You could for example position "Trainer" as Top-Most Effect and always use that one for the switch @FADEIN or @FADEOUT Example with Switching Storyboard position with "Trainer" LEA=SPRITE : IDL=TRAINER @FADEIN IDL=TRAINER Uses RGB 1,1,1 Sprite at Slot 7 to create horizontal fade-in Effect. Sprite 7 is cloned into virtual slots 8 to 15 @FADEIN LEA=SPRITE : IDN=7 : MVA=255 : BFX=2 MVW=640 : MVH=480 : MVX=320 : MVY=240 IDC=8 : MVA=225 : MVW=20 : MVX=-10 IDC=9 : MVA=195 : MVX=-30 : IDC=10 : MVA=165 : MVX=-50 IDC=11 : MVA=135 : MVX=-70 : IDC=12 : MVA=105 : MVX=-90 IDC=13 : MVA=75 : MVX=-110 : IDC=14 : MVA=45 : MVX=-130 IDC=15 : MVA=15 : MVX=-150 REP=80 IDN=7 : ADX=8 : IDN=8 : ADX=8 : IDN=9 : ADX=8 IDN=10 : ADX=8 : IDN=11 : ADX=8 : IDN=12 : ADX=8 IDN=13 : ADX=8 : IDN=14 : ADX=8 : IDN=15 : ADX=8 LOP IDN=7 : MVA=0 : IDN=8 : MVA=0 : IDN=9 : MVA=0 IDN=10 : MVA=0 : IDN=11 : MVA=0 : IDN=12 : MVA=0 IDN=13 : MVA=0 : IDN=14 : MVA=0 : IDN=15 : MVA=0 @END Uses RGB 1,1,1 Sprite at Slot 7 to create horizontal fade-out Effect. Sprite 7 is cloned into virtual slots 8 to 15 @FADEOUT LEA=SPRITE : IDN=7 : MVA=255 : BFX=2 MVW=640 : MVH=480 : MVX=-425 : MVY=240 IDC=8 : MVA=15 : MVW=14 : MVX=-7 IDC=9 : MVA=45 : MVX=-21 : IDC=10 : MVA=75 : MVX=-35 IDC=11 : MVA=105 : MVX=-49 : IDC=12 : MVA=135 : MVX=-63 IDC=13 : MVA=165 : MVX=-77 : IDC=14 : MVA=195 : MVX=-91 IDC=15 : MVA=225 : MVX=-105 REP=160 IDN=7 : ADX=4 : IDN=8 : ADX=4 : IDN=9 : ADX=4 IDN=10 : ADX=4 : IDN=11 : ADX=4 : IDN=12 : ADX=4 IDN=13 : ADX=4 : IDN=14 : ADX=4 : IDN=15 : ADX=4 LOP @END Files Back to OSDM Section Home |