De Ultimate Stunts track editor (ustuntstrackedit)

Inleiding

De Ultimate Stunts track editor zal u in staat stellen om nieuwe banen te maken en bestaande banen te bewerken. Op dit moment (versie 0.7.0) is de track editor nog erg beperkt: het is slechts mogelijk om tiles te plaatsen/verwijderen op de baan, en om banen te importeren vanuit het originele spel Stunts.

Gebruik

Op dit moment is de gebruikersinterface nog vrij eenvoudig. In het hoofdvenster is er een 3D view van de baan, de naam van de baan erboven, en een menu aan de linkerkant. Het menu kan gebruikt worden met de muis. Voor het rondbewegen in de 3D view kunnen de volgende controls gebruikt worden: De "cursor"positie is zichtbaar als de positie van de knipperende tile. De vertikale kolom van tiles op de cursorpositie is ook zichtbaar als een witte balk van lijnen:

De baan bewerken

Het "knipperen" van de cursor laat twee toestanden van de baan zien: de huidige toestand, en hoe het er uit ziet als u op de Enter toets drukt. Soms is er geen verschil, en in deze gevallen zult u geen geknipper zien. De standaard bewerkmodus is om individuele tiles in te voegen (eigenlijk is dit de enige bewerkmodus in versie 0.7.0). Dus, als u op Enter drukt, wordt de geselecteerde tile ingevoegd op de cursorpositie. Bestaande tiles op die positie worden daarbij verwijderd. De volgende toetsen kunnen gebruikt worden: Op dit moment is de beschikbare set tilemodellen beperkt tot de selectie van tiles die al gebruikt worden in de baan. Ook kunnen de afmetingen van de baan niet veranderd worden, route informatie kan niet veranderd worden, en omgevings-instellingen (achtergrond, belichting etc.) kunnen niet bewerkt worden. Op dit moment moeten deze dingen allemaal handmatig gedaan worden.

Stunts banen importeren

Één van de opties in het track editor menu is om banen te importeren vanuit het originele "Stunts" (4D Sports Driving) spel. Het eerste dat u moet doen is de directory opgeven waar de Stunts banen zich bevinden. Dit is een absoluut pad, dus het is niet relatief ten opzichte van de Ultimate Stunts datadir. De "." directory is de directory vanwaaruit de track editor gestart is. In de toekomst zal deze vraag waarschijnlijk vervangen worden door een gebruikersvriendelijkere directory browser. Nadat u de juiste directory geselecteerd heeft kunt u op een baanbestand klikken, zodat het geïmporteerd wordt.

Configureren van de Stunts importeer functie

De Stunts import functie kan geconfigureerd worden door een bestand te bewerken dat zich in de Ultimate Stunts data directory bevindt: misc/trackedit.conf. In dit configuratiebestand kan bijna het hele baan-importeer proces aangepast worden met de variabelen in de [trkimport] sectie. Dit importeerproces heeft de volgende stappen:
1: Laad een template baan
Ultimate Stunts laadt een normaal Ultimate Stunts baanbestand, dat zal dienen als uitgangspunt voor de geconverteerde baan. Deze baan zal later bewerkt worden, afhankelijk van de inhoud van het .trk bestand. De bestandsnaam van deze templatebaan kan ingesteld worden met de templatefile variabele, bijvoorbeeld:
templatefile = misc/trackedit.template
De template baan moet minimaal 30*30 tiles breed en lang zijn, en minimaal 2 tiles hoog, of meer, afhankelijk van de configuratie van de rest van het importeerproces. Alle tiles en textures die ooit gebruikt zullen worden in de rest van het proces moeten aanwezig zijn in de template baan. De begintoestand van de tiles moet een vlakke, horizontale grond zijn.
2: Laad het terrein
Vervolgens worden de terrein en tile item bytes in het .trk bestand verwerkt. Alle bytewaarden zijn hier hexadecimale waarden, maar zonder de gebruikelijke 0x prefix. Wat hier gebeurt hangt in de eerste plaats af van het terrein: Als een terrein byte met hexadecimale waarde xy wordt verwerkt, dan wordt dat gedaan volgens de variabele terrain_xy in het configuratiebestand. Als een item byte met de waarde pq wordt verwerkt, dan wordt dat gedaan volgens de variabele tile_pq. Tot slot, voor de terrein bytes tussen 07 en 0a, het verwerken van een combinatie van terrein byte xy en item byte pq wordt gedaan volgens de variabele terrain_xy_pq.

Alle waarden van de variabelen terrain_xy, terrain_xy_pq en tile_pq hebben het zelfde formaat. Deze waarden bevatten nul of meer eenheden van de volgende vorm:

x,y,z:tileID/rotatie/hoogte;
Elk van deze eenheden zorgt ervoor dat één tile veranderd wordt. De waarden x,y,z zeggen welke tile veranderd zal worden. tileID/rotatie/hoogte zijn de nieuwe instellingen van de tile, met de zelfde betekenis als de drie waarden in het baan-bestandsformaat. x,y en z zijn positie-relatief ten opzichte van de tile die verwerkt wordt. x en y zijn de relatieve horizontale positie in de baan, en z is de laag in de baan (de vertikale positie). Dus, 0,0,0 is de laagste tile op de verwerkte positie, 0,0,1 is de tweede-laag tile op die positie, enz.. Posities zoals 1,0,0 of 0,1,2 zijn buiten de tile die verwerkt wordt, maar hen veranderen is toegestaan voor grote tiles.

De "grote tile" item waarden fd, fe en ff worden niet verwerkt.