Wstęp
Plik DEF zawiera cały kod areny, nie ma tu plików CNS, CMD, AIR, itd. Wszystko jest zawarte w jednym pliku. Ma to swoje dobre i złe strony. Areny mają niewielkie możliwości, są proste i dosyć przejrzyste jednak powstaje spory bałagan kiedy rozbudujesz arenę i dodasz animacje, które przy tworzeniu postaci znajdowały się w osobnym pliku AIR. Omawiane grupy i kod nie muszą być zapisane dokładnie w tej samej kolejności.
Areny nie mogą wpłynąć na postacie znajdujące się na niej ani odwrotnie (z pewnymi drobnymi wyjątkami, bo postać ma większą władzę niż arena). Dlatego nigdy nie zrobisz np. areny platformowej, po której można by skakać stając w odpowiednich miejscach. Zapomnij o tym. Arenę możesz rozbudować jedynie graficznie, dodać odbicia, efekty, dynamiczne animacje i zaskoczyć wszystkich ciekawym pomysłem. Wszystkie udziwnienia i niestandardowe zachowania postaci na arenach to wynik dopasowania postaci do danej areny.
Tak wyglądają osie współrzędnych areny, osie: X, Y. Oś Y ma punkt 0 usadowiony wysoko na górze, oś X ma punkt 0 standardowo na środku areny (jak na obrazku). Mugenowy ekran ma standardowo wymiary 320x240 pikseli.
Przykładowy schemat areny:
[Info] ;podstawowe informacje ... [StageInfo] ;podstawowe parametry ... [PlayerInfo] ;położenie postaci ... [Camera] ;ustawienia kamery i wyświetlania ... [Bound] ;dystanse od krawędzi ekranu ... [Shadow] ;cień postaci ... [Reflection] ;odbicie obrazu ... [Music] ;muzyka na arenie ... [BGdef] ;definicja tła areny ...
[Info] - podstawowe informacje
[Info] : (tekst) Grupa z informacjami.
Name = "Nazwa" : (tekst) Nazwa areny.
DisplayName = "Nazwa" : (tekst) Wyświetlana nazwa areny.
VersionDate = 05,30,2017 : (tekst) Data lub wersja areny (MM,DD,YYYY lub X.XX).
MugenVersion = 1.0 : (tekst) Wersja Mugena (X.XX).
Author = "Autor" : (tekst) Autor areny.
Przykład:
[Info] ;podstawowe informacje Name = "Mountainside Temple" ;nazwa areny DisplayName = "Mountainside Temple" ;wyświetlana nazwa VersionDate = 09,30,2009 ;data lub wersja areny MugenVersion = 1.0 ;wersja Mugena Author = "Elecbyte" ;autor
[StageInfo] - podstawowe parametry
[StageInfo] : (tekst) Grupa z podstawowymi parametrami areny.
zOffset = 200 : (liczba_c) Wartość określa na jakiej wysokości znajduje się podłoże areny (podłoga), konkretnie chodzi tu o pozycję 0 na osi Y areny, standard to: zOffset = 200, ponieważ środek osi jest usadowiony wysoko tak jak na grafice we wstępie. Nazwa jest myląca i sugeruje oś Z, została zachowana z powodów kompatybilności.
zOffsetLink = ID : (liczba_c) Numer ID dla zOffset, dzięki obiektowi o typie dummy, który jest opisany w: Obiekty graficzne w mugenie, można dynamicznie zmieniać pozycję zOffset. Jeżeli nie chcesz dynamicznie wpływać tym obiektem na zOffset, nie musisz dodawać tego wpisu.
AutoTurn = 1 : (0/1) 1 = uruchamia auto odwracanie się postaci twarzą do siebie, 0 = wyłącza auto odwracanie.
ResetBG = 1 : (0/1) Restartowanie areny miedzy rundami. Jeżeli chcesz restartować (czyścić) arenę między rundami wstaw tu 1. Jeżeli np. stworzyłeś animację drzewa w które uderzył piorun i przewróciło się ono, to jeżeli nie chcesz żeby podczas 2 rundy sytuacja się powtórzyła, w takiej sytuacji wstaw tu 0.
HiRes = 0 : (0/1) [Win Mugen plus] Opcja powstała w jednej z modyfikacji Win Mugena, która obsługiwała areny z grafiką dla rozdzielczości 640x480. W innych wersjach Mugena wpis nie jest wspierany ale w Mugenie 1.0 wpis jest interpretowany jako LocalCoord = 640,480. Jak przekonwertować arenę Hi-res z Win Mugen plus do Mugen 1.0 ? Zobacz w Pytania i odpowiedzi - F.A.Q. » Jak to zrobić ?
LocalCoord = X, Y : (liczba_c) Mugen zgodnie z wpisem LocalCoord który informuje o rozdzielczości, przeskaluje rozdzielczość obiektu odpowiednio do rozdzielczości Mugena. Jeżeli LocalCoord nie zostanie użyty to Mugen przyjmie standardowe wartości. Standard to: LocalCoord = 320, 240. Zobacz: Rozdzielczość i LocalCoord.
xScale = 1 : (liczba_rz) Skalowanie na osi X dla przesunięć, pozycji, spritów, animacji, itd. Standard to: xScale = 1.
yScale = 1 : (liczba_rz) Skalowanie na osi Y dla przesunięć, pozycji, spritów, animacji, itd. Standard to: yScale = 1.
Przykład:
[StageInfo] ;podstawowe parametry zOffset = 200 ;podłoże areny zOffsetLink = 0 ;ID dla zOffset AutoTurn = 1 ;auto odwracanie postaci ResetBG = 1 ;restartowanie areny Localcoord = 320, 240 ;informuje o rozdzielczości xScale = 1 ;skala na osi yScale = 1 ;skala na osi
[PlayerInfo] - położenie postaci
[PlayerInfo] : (tekst) Grupa z położeniem postaci.
P1startX = -70 : (liczba_c) Pozycja startowa pierwszej postaci na osi X, standard to: P1startX = -70.
P1startY = 0 : (liczba_c) Pozycja startowa na osi Y, powinna być to wartość: 0 ponieważ oznacza to rejon po którym chodzi postać. Jeżeli dasz inną wartość to przy podskoku, upadku itd. postać wróci na pozycję 0.
P1facing = 1 : (liczba_c) Kierunek w który skierowana jest pierwsza postać, 1 = w prawo, -1 = w lewo.
P2startX = 70
P2startY = 0
P2facing = -1
P3startX = -100
P3startY = 0
P3facing = 1
P4startX = 100
P4startY = 0
P4facing = -1
LeftBound = -1000 : (liczba_c) Maksymalna możliwa przestrzeń poruszania się postaci i obiektów na osi X w lewo względem ekranu, nie chodzi tu o kamerę. Dla Win Mugena lewa krawędź ekranu to 0, Mugen 1.0 przyjmuje 0 za środek osi X czyli -1000 to -160 - 840. Standard to: LeftBound = -1000.
RightBound = 1000 : (liczba_c) Maksymalna możliwa przestrzeń poruszania się postaci i obiektów na osi X w prawo. Dla Win Mugena standard to: 1000 czyli 319 + 681. Mugen 1.0 liczy wartość od środka osi X czyli 1000 to 160 + 840. Standard to: RightBound = 1000.
Przykład:
[PlayerInfo] ;położenie postaci P1startX = -70 ;pozycja startowa X P1startY = 0 ;pozycja startowa Y P1facing = 1 ;skierowanie postaci P2startX = 70 P2startY = 0 P2facing = -1 P3startX = -100 P3startY = 0 P3facing = 1 P4startX = 100 P4startY = 0 P4facing = -1 LeftBound = -1000 ;maksymalna przestrzeń osi X w lewo RightBound = 1000 ;maksymalna przestrzeń osi X w prawo
[Camera] - ustawienia kamery i wyświetlania
[Camera] : (tekst) Ustawienia kamery i wyświetlania, kamera służy do podglądu akcji na arenie.
StartX = 0 : (liczba_c) Startowe ustawienie wyświetlania mapy na osi X, przy starcie mapa będzie starała się przesunąć do pozycji 0, więc standard to: StartX = 0.
StartY = 0 : (liczba_c) Startowe ustawienie wyświetlania mapy na osi Y, standard to: StartY = 0.
BoundLeft = -50 : (liczba_c) Maksymalne możliwe przesunięcie kamery w lewo na arenie, wartości powinny być ujemne, liczone od krawędzi ekranu.
BoundRight = 50 : (liczba_c) Maksymalne możliwe przesunięcie kamery w prawo na arenie, wartości powinny być dodatnie, liczone od krawędzi ekranu.
BoundHigh = -25 : (liczba_c) Maksymalne możliwe przesunięcie kamery w górę kiedy postać podskoczy lub lata, wartości powinny być ujemne, liczone od krawędzi ekranu. Standard to: BoundHigh = -25.
BoundLow = 0 : (liczba_c) Maksymalne możliwe przesunięcie w dół, proponuje się 0. Standard to: BoundLow = 0.
Tension = 50 : (liczba_c) Dystans poziomy do prawej i lewej krawędź ekranu, kamera zacznie podążać za postacią kiedy ta zbliży się bardziej do krawędzi niż podana wartość. Proponowane są wartości miedzy 0 a 160, najczęściej między 50 a 60, dla standardowej rozdzielczości 160 to połowa z 320, czyli połowa szerokości ekranu, dla tego na tę wartość ma wpływ rozdzielczość areny. Standard to: Tension = 50.
FloorTension = 0 : (liczba_c) Minimalny dystans pionowy najwyższej postaci od podłoża areny, który wywoła podążanie kamery za postacią. Wartości powinny być dodatnie. Dla wysokich aren proponuje się wartości między 20 a 30. Standard to: FloorTension = 0.
VerticalFollow = 0.2 : (liczba_rz) Efekt pionowego podążania za najwyżej położoną postacią, jeżeli podskakuje lub lata ekran podąża za nią z określoną prędkością dzięki podanemu współczynnikowi. Proponowane są wartości między 0 a 1. 0 = oznacza że kamera nie będzie podążała za postacią, 1 = kamera będzie starała się trzymać postaci jak najbliżej. Standard to: VerticalFollow = 0.
OverdrawHigh = 0 : (liczba_c) Dodatkowa wysokość wyświetlania areny ponad górną część ekranu, przydatna przy efekcie trzęsienia EnvShake, lub jeżeli wysokość ekranu jest większa niż ustalona wysokość areny.
OverdrawLow = 0 : (liczba_c) Dodatkowa wysokość wyświetlania areny pod dolną część ekranu, przydatna przy efekcie trzęsienia EnvShake, lub jeżeli wysokość ekranu jest większa niż ustalona wysokość areny.
CutHigh = 0 : (liczba_c) Możliwa wysokość obcięcia wyświetlania areny ponad górną część ekranu, jeżeli wysokość ekranu jest mniejsza niż ustalona wysokość areny. Jeżeli wpis zostanie zignorowany Mugen będzie próbował sam dopasować odpowiednie wartości.
CutLow = 0 : (liczba_c) Możliwa wysokość obcięcia wyświetlania areny pod dolną część ekranu, jeżeli wysokość ekranu jest mniejsza niż ustalona wysokość areny. Jeżeli wpis zostanie zignorowany Mugen będzie próbował sam dopasować odpowiednie wartości.
Przykład:
[Camera] ;ustawienia kamery i wyświetlania StartX = 0 ;start na osi X StartY = 0 ;start na osi Y BoundLeft = -50 ;max przesunięcie kamery w lewo BoundRight = 50 ;max przesunięcie kamery w prawo BoundHigh = -25 ;max przesunięcie kamery w górę BoundLow = 0 ;max przesunięcie kamery w dół Tension = 50 ;dystans do prawej i lewej krawędzi ekranu FloorTension = 20 ;dystans od podłoża który wywoła podążanie VerticalFollow = 0.2 ;efekt podążania za postacią OverdrawHigh = 0 ;dodatkowe wyświetlanie areny w górę OverdrawLow = 0 ;dodatkowe wyświetlanie areny w dół CutHigh = 0 ;wysokość obcięcia ponad górną część ekranu CutLow = 0 ;wysokość obcięcia pod dolną część ekranu
[Bound] - dystanse od krawędzi ekranu
[Bound] : (tekst) Dystanse postaci od krawędzi ekranu.
ScreenLeft = 15 : (liczba_c) Dystans od lewej krawędzi ekranu, której postać nie może przekroczyć kiedy kamera się nie rusza, standardowa wartość to 15, jeżeli natomiast podasz tu wartość ujemną postać po prostu wyjdzie poza ekran. Standard to: ScreenLeft = 15.
ScreenRight = 15 : (liczba_c) Dystans od prawej krawędzi ekranu, której postać nie może przekroczyć. Standard to: ScreenRight = 15.
Przykład:
[Bound] ;dystanse od krawędzi ekranu ScreenLeft = 15 ;od lewej krawędzi ScreenRight = 15 ;od prawej krawędzi
[Shadow] – cień postaci
[Shadow] : (tekst) Opcje związane z cieniem.
Intensity = 128 : (liczba_c) Intensywność cienia, wartości od 0 do 255, 0 to minimum (nie widać cienia) a 255 to maksimum, standard to: Intensity = 128.
Color = 0,0,0 : (liczba_c) Kolorystyka cienia w RGB, teoretycznie można nadać tu kolor cienia podając wartości od 0 do 255 dla każdego z kolorów, standard to: Color = 0,0,0.
yScale = 0.4 : (liczba_rz) Skala cienia, liczby dodatnie kierują cień w dół, ujemne w górę, standard to: yScale = 0.4.
Fade.Range = -200,-50 : (liczba_c) Zasięg cienia na osi Y składa się z dwóch wartości. Pierwsza to maksymalna odległość, jeżeli postać ją przekroczy, cień zniknie. Druga to średnia wartość, po jej przekroczeniu cień staje się mniej intensywny, natomiast poniżej cień ma taką samą intensywność jaka ustawiona jest w Intensity. Jeżeli wpis zostanie pominięty, standard to: Fade.Range = 0,0; w tedy cień jest zawsze widoczny. Wartości są ujemne dla postaci skaczącej w górę.
Przykład:
[Shadow] ;cień postaci Intensity = 128 ;intensywność cienia Color = 0,0,0 ;kolor yScale = 0.4 ;skala cienia Fade.Range = -200,-50 ;zasięg cienia
[Reflection] - odbicie obrazu
[Reflection] : (tekst) Odbicie obrazu postaci.
Intensity = 0 : (liczba_c) Intensywność odbicia, wartości od 0 do 255, 0 = minimum (brak odbicia) a 255 = maksimum, standard to: Intensity = 128. Odbicie można wykorzystać tworząc np. efekt lustrzanej podłogi.
Przykład:
[Reflection] ;odbicie obrazu Intensity = 128 ;intensywność odbicia
[Music] - muzyka na arenie
[Music] : (tekst) Muzyka na arenie.
BgMusic = sound\muzyka.mp3 : (tekst) Ścieżka do pliku dźwiękowego. Można dostarczyć swoją muzykę z areną, Mugen wyszukuje pliku dźwiękowego z pozycji głównego folderu z grą. Twórcy Mugena dodali możliwość odtwarzania muzyki z CD za pomocą zapisku: BgMusic = <numer>.da, należy wstawić numer ścieżki audio na płycie np. BgMusic = 3.da. Przy ustawionym BgMusic = 0.da zostanie odtworzona losowa ścieżka. Wszystko jednak zależy od ustawienia urządzenia odtwarzającego CD w pliku mugen.cfg. Nie polecam odtwarzania muzyki z CD bo mogą wystąpić liczne błędy.
BgmLoopstart = początek : (liczba_c) Muzykę w tle można zapętlić, chodzi tu o powtarzanie tylko kawałka utworu w kółko. Początek pętli należy podać w samplach a nie czasie.
BgmLoopend = koniec : (liczba_c) Koniec pętli należy podać w samplach a nie czasie. Po więcej zobacz: Dźwięki i muzyka.
BgmVolume = 100 : (liczba_c) Głośność, wartości od 0 do 100 określone w procentach %, standard to: BgmVolume = 100.
Przykład:
[Music] ;muzyka na arenie BgMusic = sound\muzyka.mp3 ;ścieżka do pliku dźwiękowego bgmloopstart = 433679 ; początek pętli bgmloopend = 493339 ; koniec pętli BgmVolume = 100 ;głośność %
[BGdef] - definicja tła areny
W tym miejscu dodaje się grafikę która będzie wyświetlana na arenie. Grafikę dodaje się według schematów, używając kilku typów obiektów.
Mugen właściwie określa to jako tła które są nakładane warstwowo ale określiłem to jako obiekt bo ma to swoją nazwę i typ, w zależności od typu wyświetla pojedynczy sprit lub animację. Wszystkie obiekty mają wyświetlać lub kontrolować grafikę w danym obszarze, obszar ten jest odpowiednio zdefiniowany tzn. ma swoją nazwę a obiekty przejmują tę nazwę. Jeżeli nazwa będzie zła, obiekt nie zostanie wczytany. Z reguły przy definicji możesz dodawać też ścieżkę do pliku SFF. Jak widać na przykładach wszystko opiera się na tym samym schemacie. Są cztery typy obiektów, poza ustawieniami każdego obiektu można je jeszcze razem kontrolować po określonym numerze ID.
Na nakładanie obiektów wpływa kolejność ich wywołania (te dodane niżej w kodzie nałożą się na te dodane wyżej). Pamiętaj, że nie musisz podawać wszystkich parametrów jeżeli uważasz, że ich nie potrzebujesz, Mugen ustawi dla nich standardowe wartości, wywoła błąd tylko kiedy będzie brakowało ważnego parametru lub będzie on nie przy tym obiekcie co trzeba, ostatecznie zignoruje parametr.
[BGdef] : (tekst) Definicja tła areny.
Spr = plik.sff : (tekst) Ścieżka do pliku SFF.
DebugBG = 0 : (0/1) 1 = włącza tryb debug tła, powoduje zamalowanie standardowo czarnego tła na inny kolor, tak żeby łatwo zobaczyć luki w rozmieszczeniu grafiki. Po zakończeniu prac zaleca się wyłączenie tego trybu ponieważ zmniejsza wydajność. Standard to DebugBG = 0.
Obiekty graficzne oraz ich kontrola opisane są w artykule: Edytowanie Mugena » Obiekty graficzne w Mugenie.
Przykładowy schemat tła areny z obiektami:
[BGdef] ; Definicja tła areny. spr = plik.sff ; (tekst) Ścieżka do pliku SFF. debugbg = 0 ; (0/1) Włącz/wyłącz tryb debug tła. ... [BG Nazwa obiektu] ; 1 obiekt. type = normal ; (tekst) Typ obiektu. ... [BG Nazwa obiektu 2] type = parallax ... [BG Nazwa obiektu 3] type = normal ... [BGCtrlDef Nazwa kontroli] ; Definicja kontroli obiektów. ... [BGCtrl Nazwa kontrolera] type = VelSet ... [BGCtrl Nazwa kontrolera 2] type = VelSet ...
Przykładowy kod areny
Arena Training Room (stage0-720.def):
; Definition of stage 0 (training stage) ; *** denotes values you should change/check for each stage. ; The term "background" is used to mean both backgrounds and foregrounds. ;-------------------------------------------------------- [Info] name = "Training Room 720" ;Name of the stage. displayname = "Training Room 720" ;Name to display versiondate = 09,30,2009 ;Version date of stage (MM,DD,YYYY or X.XX) mugenversion = 1.0 ;Version of M.U.G.E.N stage works on (X.XX) author = "Elecbyte" ;Stage author name ;-------------------------------------------------------- [Camera] ;Camera starting position: Usually 0 for both startx = 0 starty = 0 ;Left and right bound of camera ;You may want to fiddle a bit with these values to make sure the ;background doesn't move too far or too little ;*** boundleft = -500 boundright = 500 ;High and low bound of camera ;High is a negative number. Make is more negative if you want to ;camera to be able to move higher. ;Low should usually be 0. ;If omitted, defaults to -25 and 0 respectively ;*** boundhigh = -450 boundlow = 0 ;This is how much the camera will move vertically towards the ;highest player. Valid values are from 0 to 1. A value of 0 will mean ;the camera does not move up at all. A value of 1 will makes the camera ;follow the highest player. ;Typically .2 for normal-sized backgrounds. You may need to pull this ;value up for taller backgrounds. verticalfollow = .85 ;Minimum vertical distance the highest player has to be from the floor, ;before the camera starts to move up to follow him. For extremely ;tall stages, a floor tension of about 20-30 coupled with a ;vertical-follow of .8 allows the camera to follow the action. floortension = 200 ;Horizontal distance player is from edge before camera starts to move ;left or right. Typically 50 or 60. tension = 200 overdrawhigh = 120 overdrawlow = 120 cuthigh = 0 cutlow = 0 ;-------------------------------------------------------- [PlayerInfo] ;--- Player 1 --- ;Player 1 starting coordinates. p1startx = -280 ;Starting x coordinates p1starty = 0 ;Starting y coordinates p1facing = 1 ;Direction player faces: 1=right, -1=left ;--- Player 2 --- p2startx = 280 p2starty = 0 p2facing = -1 ;--- Player 3 --- p3startx = -400 p3starty = 0 p3facing = 1 ;--- Player 4 --- p4startx = 400 p4starty = 0 p4facing = -1 ;--- Common --- leftbound = -4000 ;Left bound (x-movement) rightbound = 4000 ;Right bound ;-------------------------------------------------------- [Bound] ;Distance from left/right edge of screen that player can move to ;Typically 15 screenleft = 60 ;Dist from left of screen that player can move to screenright = 60 ;Right edge ;-------------------------------------------------------- [StageInfo] ;"Ground" level where players stand at, measured in pixels from the ;top of the screen. ;Adjust this value to move the ground level up/down in the screen. ;*** zoffset = 660 ;Leave this at 1. It makes the players face each other autoturn = 1 ;Set the following to 1 to have the background reset itself between ;rounds. resetBG = 1 ;Width and height of the local coordinate space of the stage. localcoord = 1280, 720 ;Horizontal and vertical scaling factor for drawing. xscale = 1 yscale = 1 ;-------------------------------------------------------- [Shadow] ;This is the shadow darkening intensity. Valid values range from ;0 (lightest) to 256 (darkest). Defaults to 128 if omitted. intensity = 96 ;This is the shadow color given in r,g,b. Valid values for each ;range from 0 (lightest) to 255 (darkest). ;Defaults to 0,0,0 if omitted. ;intensity and color's effects add up to give the final shadow ;result. color = 0,0,0 ;This is the scale factor of the shadow. Use a big scale factor ;to make the shadow longer. You can use a NEGATIVE scale factor ;to make the shadow fall INTO the screen. ;Defaults to 0.4 if omitted. yscale = .3 ;This parameter lets you set the range over which the shadow is ;visible. The first value is the high level, and the second is ;the middle level. Both represent y-coordinates of the player. ;A shadow is invisible if the player is above the high level, ;and fully visible if below the middle level. The shadow is ;faded in between the two levels. This gives an effect of the ;shadow fading away as the player gets farther away from the ;ground. If omitted, defaults to no level effects (shadow is ;always fully visible). fade.range = 0,0 ;-------------------------------------------------------- [Reflection] ;Intensity of reflection (from 0 to 256). Set to 0 to have no ;reflection. Defaults to 0. intensity = 0 ;-------------------------------------------------------- [Music] ;Put a filename for a MOD, MP3 or MIDI here, or just leave it ;blank if you don't want music. If an invalid filename is ;given, then no music will play. To play CD audio, put ;the track number followed by ".da". Using a track number of ;0 will play a random audio track. For example, to play ;track 3 from a music CD, use: ; bgmusic = 3.da bgmusic = ;bgmloopstart = ;bgmloopend = ;Adjust the volume. 100 is for 100%. bgmvolume = 100 ;======================================================== ;-------------------------------------------------------- ; Background definition ; *** ;------------------------------------- ; [BG x] ; type = ? "Normal"/"Parallax" (def: "normal") ; spriteno = ?, ? Sprite group and number: groupno, imgno (req'd) ; start = ?, ? Starting location (integer) (def: 0, 0) ; delta = ?, ? Change in location per camera unit moved (float) (def: 1,1) ; trans = ? Transparency settings: "none"/"add"/"add1"/"sub"" (def: "none") ; mask = ? Masking (int): 0 - off, 1 - on (def: 0) ; velocity = ?, ? Velocity: x, y (float): speed background moves (def: 0, 0) ; tile = ?, ? Tiling: xtile, ytile (int): 0 - off, 1 - infinite, ; >1 - tile that number of times (def: 0, 0) - only for Normal BG ; tilespacing = ?, ? Tiling: x, y (int) : space between tiles (def: 0, 0) ; Parallax-only: ; xscale = ?, ? Top xscale, bottom xscale (float) ; width = ?, ? Top width, bottom width (int) (use either this or above, but not both) ; yscalestart = ? Starting y-scale (float, in percent) (def: 100) ; yscaledelta = ? Change in y-scale per unit (float, in percent) (def: 0) ;------------------------------------- ;------------------------------------- ; Main background definition [BGdef] ;Filename of sprite data spr = stage0-720.sff ;Set to 1 if you want to clear the screen to magenta before ;drawing layer 0 (the default background). Good for spotting "holes" ;in your background. ;Remember to turn this off when you are done debugging the background, ;because it slows down performance. debugbg = 0 ;---------- ; Start each background element with the following: ; Make sure it's "[BG n]", where n is anything you like (it's only used to ; report errors.) For example, you could use: [BG TheFloor] ; Specify as many as you like. This is an example of a normal background: [BG 0] ;The background type goes here: for now, only NORMAL and PARALLAX ;If this line is omitted, the type will be assumed to be normal. type = normal ;The sprite number to use for the background (from the SFF specified above) ;It's the group-number, followed by a comma, then the sprite-number ;*** Do not omit this line. spriteno = 0, 0 ;This is the layer number, which determines where the sprite is drawn to. ;Valid values are 0 and 1. ;0 for background (behind characters), 1 for foreground (in front) ;If this line is omitted, the default value of 0 will be assumed. layerno = 0 ;This is the starting location of the background in the format ;x, y ;If this line is omitted, the default value of 0,0 will be assumed. start = 0, 0 ;These are the number of pixels the background moves for every single unit ;of camera movement, in the format ;x, y ;For the main background (eg. the floor the players stand on) you'll want ;to use a delta of 1,1. Things farther away should have a smaller delta, ;like 0.5 for example. Things near the camera should have a larget delta. ;If this line is omitted, the default value of 1,1 will be assumed. delta = .75, .75 ;Here is the transparency setting of the background. ;Valid values are: ;"none" for normal drawing ;"add" for colour addition (like a spotlight effect) ;"add1" for colour addition with background dimmed to 50% brightness ;"addalpha" for colour addition with control over alpha values (you need ; an "alpha" parameter if you use this) ;"sub" for colour subtraction (like a shadow effect) ;If this line is omitted, it's assumed that there will be no transparency. trans = none ;Use this parameter only if "trans = addalpha". First value is the alpha ;of the source (sprite), and the second is the alpha of the destination ;(background). The values range from 0 to 256. ;Uncomment the line below to use it: ;alpha = 256,0 ;Mask means whether or not to draw colour zero of a sprite. ;If you turn masking off, the background will take less CPU power to draw, ;so remember to turn it off on sprites that don't use it. ;If this line is omitted, it's assumed that there will be no masking. mask = 0 ;The format for tiling is x,y. For each of them, the value is: ;0 to use no tiling, 1 to tile, n where (n>1) to tile n times. ;If this line is omitted, it's assumed that there will be no tiling. ;tile = 0, 0 ;This is the x and y space between each tile, for tiled backgrounds ;If omitted, default value is 0,0 tilespacing = 0,0 ;This defines the drawing space, or "window" of the background. It's ;given in the form ;x1,y1, x2,y2 ;where (x1,y1)-(x2,y2) define a rectangular box. ;Make the window smaller if you only want to draw part of the background. ;You normally do not have to change this setting. Value values range from ;0-319 for x, and 0-239 for y. The values are 0,0, 319,239 by default (full ;screen). ;Uncomment the line below to use it: ;window = 0,0, 1279, 719 ;Similar to the delta parameter, this one affects the movement of ;the window. Defaults to 0,0 ;Uncomment the line below to use it: ;windowdelta = 0,0 ;---------- [BG 1] type = parallax spriteno = 1, 0 start = 0, 612 delta = .78, .75 xscale = 1, 3 yscalestart = 100 yscaledelta = .3 mask = 0