28.10.2012

FixUpin perusteet

Päivitetty 3/2021: highQualityCubicEnvironmentMaps lisätty FixUp.ini-taulukkoon


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 tuorein versio FixUp:sta.

  2. Pura lataamasi paketti pelikansioon (veteraanien tulee tosiaan huomata, että versiosta 4 eteenpäin pluginin hakemistorakenne on FMOD-integraation myötä muuttunut).

  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.


_____________________________________________________



FixUp (FixUp.ini)



FixUp:n oletusasetuksethan kelpaavat sellaisenaan n. 95% pelaajista, mutta alla silti puuroutunut läpikäynti, jonka tarkoituksena on täydentää ReadMe.FixUp.txt:n antia. Huom! FixUp luo säätötiedosto FixUp.inin Plugins-kansioon vasta kun peli on käynnistetty kerran.


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. Käytä ainoastaan VSync:n kanssa. Huom! Paremmilla pelimonitoreilla (120hz→) pelattaessa AdaptiveFFB saattaa aiheuttaa pitkiä FPS:n alenemia (jopa 10–20s) pätkien alkuun tai Call for Help:n yhteyteen. Tällöin ei kannata jäädä tappelemaan säätöjen kanssa vaan palaa suosiolla orkkis-FFB:hen.

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. Aseta tämä siis aina hieman pienemmäksi kuin mitä on näyttösi virkistystaajuus (esim. 144hz näytöllä vaikka 142).

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.
highQuality
CubicEnvironmentMaps=1
0 tai 1 (Sidottu RichardBurnsRally.inin UseCubicEnvironmentMaps-säätöön; mikäli se on pois päältä, niin on käytännössä tämäkin.)

Tämä ominaisuus parantelee erityisesti peilien toimivuutta autoissa. RBR:n laajassa autovalikoimassa ylipäätään toimivat taustapeilit ovat harvinaisuus sinällään ja silloin kun ne löytyvät (kuten esim. Shenshee:n Porsche 911 SC RS:ssä), niiden heijastelemat kuvat auton takaa ovat kuitenkin usein (aina?) varsin puutteellisia. Tämä korjaus pakottaa kaiken näkyviin kuten pitää.

VSync päällä (oletusasetus)
fixVSync=1
vSyncActive=1
soundRefreshRate=0
----- Oletussäädöt ovat nämä ja suurimmalle osalle riittävät sellaisenaan.

Ensisijaisesti soundRefreshRate on luotu korjaamaan ääniongelmia silloin kun VSync on nimenomaan pois päältä, mutta jos kuulut siihen harvalukuiseen joukkoon, joiden kuulottimiin kantautuu syystä tai toisesta epämääräistä renkaiden sutimista jopa VSync:n kanssa (esim. suoralla tiellä), aseta soundRefreshRate:n arvoksi vaikka 60, ja kyseisen ongelman pitäisi poistua.
VSync pois päältä
fixVSync=1
vSyncActive=0
adaptiveFFB=0
soundRefreshRate=60
----- Tulee ymmärtää, että RBR:ssä VSyncin disabloinnin myötä mm. tuulilasinpyyhkimien animointi bugittaa pahasti aiheuttaen ikävää välkkymistä sateella. Jos keskimääräinen ikävyystaso kohoaa sietämättömäksi, voit joko poistaa pyyhkimet kaikista autoista (esim. RBRCIT:llä) tai aktivoida VSyncin uudelleen. Mestaruuksia on voitettu VSyncillakin, muistakin 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.