28.10.2012

FixUpin perusteet

Päivitetty 10/2019: Uudelleenmuotoilua FixUpin version 3.0 pohjalta


Tämä artikkeli käsittelee WorkerBeen FixUp-pluginia, jota voisi luonnehtia RBR:n epäviralliseksi 1.03-patchiksi, mutta joka on kuitenkin kehittynyt ja laajentunut vuosien varrella aivan hillittömäksi kokonaisuudeksi. FixUpista on tosiaankin moneksi.

Lukuisat päivitykset ja niiden myötä esitellyt laajennukset ovat eittämättä tehneet tämän blogituksen ylläpitämisen jokseenkin järjettömäksi, sillä onhan FixUpin oma dokumentaatio kuitenkin varsin tyhjentävä ja selkokielinen. Näin uudelleenmuotoiltuna tämä artikkeli pysynee luettavissa, mutta kenties vain toistaiseksi.

Niihin kohtiin FixUpin säädöissä, jotka eivät kerro minulle omasta elämästäni yhtään mitään, suosiolla jätän ottamatta kantaa ja patistan lukemaan sen alkuperäisen readmen.


  1. Lataa FixUp

  2. Pura paketti RBR:n Plugins-kansioon.

  3. Avaa pelihakemistossa sijaitseva RichardBurnsRally.ini. Kirjaa haluamasi arvot kohtiin XRes ja YRes.

  4. Käynnistä RBR. Tässä vaiheessa FixUp luo oman säätötiedoston FixUp.ini Plugins-kansioon ja haluttu kuvasuhdekin toimii. Sulje RBR.


_____________________________________________________


Seuraavaksi käydään läpi FixUp.inin arvoja pintapuolisesti niille, jotka eivät koskaan viitsi lukea readme-tiedostoja vaikka se olisi heidän omaksi parhaakseen. Seuraavat kohdat eivät ole tiedostossa esiintyvässä järjestyksessä, vaan pikemminkin yksiselitteisistä ei-niin-yksiselitteisiin. VSync-teemassa riittää kuitenkin pyöriteltävää, joten käsittelen ne tarkoituksella viimeisenä.


FixUp.ini Asetukset Huonot selitykset
[Settings]
fullscreenWindow=1 0 tai 1 Poistaa ikkunamoodissa (Fullscreen = false) pelatessa Windowsin "ikkunakoristeet" ja sijoittaa pelin näytöllä vasenta yläkulmaa vasten. Eli kun Windowsin ja pelin resoluutiot ovat samat, peli näyttää ikäänkuin olisi kokoruututilassa, vaikkei olisikaan. (1 on oletusasetus, eikä sitä siis tarvitse muuttaa, vaikka kokoruututilassa pelaisikin.)
fixAspectRatio=1 0 tai 1 Korjaa kuvasuhteen oikeaksi kaikilla resoluutioilla. RBR:hän ei ilmestyessään tukenut muita kuin tavallisimpia 4:3- ja 5:4-resoluutioita.
headGasketDurability=10 0 - 10 0 tai 1 (default) ja 2-10 (kansipahvin kestävyys kaksin-kymmenkertainen). Tähän kannattanee sen kummempia miettimättä laittaa täydet kympit, oli sillä sitten lopulta väliä tai ei. (RBRTM:n omissa asetuksissa on omakin FixGasketBug-rivinsä, joten jos näillä ei, niin ei sitten.)
centerMenu=1 0 tai 1 Kannattaa kokeilla kumpaakin asetusta, makukysymys nimittäin, mutta centerMenun idea on siis pitää valikot sekä HUD 4:3-tilassa, oli käyttämäsi resoluutio sitten mikä tahansa. Paitsi että oletusasetus 1 (eli käytössä) korjaa akuutisti ongelman, jossa valikkotekstit eivät lainkaan näy, niin toisaalta se myös väkisinkin muuttaa mittariston sijaintia. (Helpoiten siirrät mittariston haluttuun paikkaan Pacenote Pluginilla.)
processor=0 ------ Lue readmestä kohta "Main Thread Processor". Pidä vaan oletusasetus kun et kuitenkaan ymmärtänyt mitään.
adaptiveFFB=0



ffbBufferCycles=0









ffbMinFPS=58
0 tai 1



0/1/2/3...









-----
0 = RBR:n orkkis-FFB, 1 = WorkerBeen Adaptive Force Feedback. AdaptiveFFB on orkkis-FFB:tä voimakkaampi mutta se myös vaatii koneeltasi enemmän. AdaptiveFFB:tä on syytä käyttää vain VSyncin kanssa.

ffbBufferCycles on vain AdaptiveFFB:hen sidottu optimointisäätö (eli mikäli adaptiveFFB=0, säätö ei ole käytössä). Lue tarkempi selitys FixUpin readmestä, mutta seuraavassa yksinkertaistus:
0 (Paras adaptiveFFB, vaatii koneelta eniten joten suorituskykyongelmat mahdollisia.)
1 ("Ei-niin-paras" adaptiveFFB, kokeile mikäli 0 aiheuttaa ongelmia ruudunpäivitykselle jne.)
2 (Taas vähän huonompi FFB kuin 1:llä, mutta toisaalta parempi FPS.)
3 (Aletaan olla jo rajoilla, että yhtä hyvin adaptiveFFB:n voi ottaa pois päältä.)
4 (Unohda koko juttu...)

Myös ffbMinFPS on pelkästään Adaptive FFB:hen liittyvä säätö (eli mikäli adaptiveFFB=0, säätö ei lainkaan käytössä). 58 on oletussäätö, ns. "ihannesäätö" 60hz näytölle. Niiden, jotka haluavat käyttää Adaptive FFB:tä ja joilla on käytössä vähän paremman puoleinen 144hz näyttö, tulisi lukea FixUpin readme. Se voi osoittautua hyödylliseksi.
ffbDeadZone=0
ffbDeadZoneThreshold=0
----- Säädöt suunnattu direct drive -rattia käyttäville. Puurolla on köyhän miehen ratti, joten lue virallinen ohjeistus laskukaavoista ja suosituksista.
VSync päällä (oletusasetus)
fixVSync=1
vSyncActive=1
soundRefreshRate=0
----- Oletussäädöt ovat nämä, ja hyvät onkin, mutta koska simuisteille vSync on ollut ainakin noin perinteisesti – joskaan ei ehkä RBR:n osalta – lähinnä perkeleestä, tätä kannattanee vähän syvemmin pohtia. Etenkin kun versioon 2.9 WorkerBee lisäsi asetuksen soundRefreshRate, joka mahdollistaa vSyncin disabloimisen ilman kompromisseja äänien suhteen...
VSync pois päältä
fixVSync=1
vSyncActive=0
adaptiveFFB=0
soundRefreshRate=60
----- ...MUTTA on kuitenkin syytä huomauttaa, että RBR:ssä VSyncin ottaminen pois päältä aiheuttaa tuulilasinpyyhkimien välkkymistä sateella, mikä autosta riippuen on joko enemmän tai vähemmän ikävää. Jos keskimääräinen ikävyystaso kohoaa sietämättömäksi, voit joko poistaa pyyhkimet kaikista autoista (esim. RBRCIT:llä), tai laitat VSyncin takaisin päälle ja olet murehtimatta liikoja paljon puhutusta input lagista. Mestaruuksia on voitettu VSyncillakin, muista se.

SoundRefreshRate: WorkerBeen (puuron paras ystävä) mukaan järkevät arvot ovat 30–90 välillä, 60:n ollessa suositeltu ensiasetus.



_____________________________________________________




Enhanced Trackloader (FixUp 3.0)



Pienelle osalle pelaajista (puuron arvaus: triple screen -käyttäjille) tietyt pikataipaleet – kiistattomin ja raportoiduin on Semetin – ovat tunnettuja siitä, että ne tapaavat kaatua latausvaiheessa, mikäli niitä ajaa/ajatetaan saman session/rallin aikana useamman kerran. Muita enemmän tai vähemmän raportoituja tapauksia ovat Carvalho de Rei, Verkiai ja kenties myös Luceram - Col Saint Roch (Puuro on unohtanut aiheesta jo suurimman osan tätä kirjoittaessa).

Ensimmäisenä toimenpiteenä voi suositella RBRTestPluginin poistamista (tiedosto + alikansio Plugins-kansiossa), joka voikin hyvällä tuurilla ratkaista ongelman joillakin yksittäisillä kuskeilla, mutta valitettavasti useimmilla tämä ratkaisumalli on todettu riittämättömäksi eli peli jatkaa kaatumista pitkälti samaan malliin, olkoonkin että ilman tuttua Debug Error! -herjaa. (Mikäli pluginin poistaminen alkaa estää pelin käynnistystä, tiedät varmastikin mitä kokeilla ensin.)

Ratkotakseen näitä ongelmia WorkerBee lisäsi FixUp-pluginin versioon 3.0 komealta kalskahtavan ominaisuuden Enhanced Trackloader, joka tosin ei ole mikään kokonaisvaltainen muutos pikataipaleiden lataamisen saralla, vaan vaatii ensin ongelmallisen erikoiskokeen lbs-tiedostojen pilkkomista erillisiksi .lbs- ja .lb2-tiedostoiksi bin-kansiosta löytyvällä splitlbs.exellä. Mikäli lb2-tiedostoa ei löydy, erikoiskoe latailee siis jatkossakin vanhaan tyyliin.

Mutta toimiiko tämä?

Kukaan ei tiedä. Emmekä me tiedä kenenkään edes testanneen tätä, joten ratkaisumalli on toistaiseksi pitkälti spekulatiivinen. Ja huono puoli on joka tapauksessa se, että esimerkiksi RBRTM:n kaltainen nettiplugin ei mahdollista pilkotun lbs-tiedoston käyttöä online-kisassa (myös lbs-tiedoston CRC tarkistetaan), joten toimiessaan tästä olisi näillä näkymin hyötyä vain offline-ajelussa. Sama alkukielellä.

Teknokammoisimmat pelaajat kaipaavat kuitenkin rautalankaesimerkkejä, joten otetaan käsittelyyn vaikkapa Semetin 2009:

  1. Ensin selvitetään EK:n oma ID, jonka voi tarkistaa helpoiten suoraan \Maps\Tracks.ini:stä (Semetin 2009:n ID on 582).

  2. Kopioi tiedostot track-582_M.lbs ja track-582_O.lbs kansioon \Plugins\fixup\bin.

  3. Raahaa tiedostot (yksi kerrallaan, sillä massapilkkominen ei näemmä toimi) splitlbs.exen päälle.

    → splitlbs pilkkoo tiedoston lbs- ja lb2-tiedostoiksi sekä tekee backupin alkuperäisestä lisäämällä orig-tiedostopäätteen.

  4. Leikkaa uudet lbs- ja lb2-tiedostot ja liitä takaisin Maps-kansioon.