THESE PAGES ARE FREE OF

JAVA
FRAMES

STORED ON A LINUX SERVER, AND RUNNING SPACEHAWKS' OWN LINUX BASED VOTING AND MESSAGE BOARD CGI.

NO MICROSOFT RELATED PROGRAMS WERE USED TO CREATE THIS SITE.

VOYAGER
IBROWSE
AWEB
 
MSIE
 

WORLDNEWS ISSUE 19
ProQuake 1.20

Meglehetôsen hosszú ideje hozzáférhetô már Frank Wille PPC Quake portja, amely mindazon elônyökkel rendelkezett, amire a korábbi portok önmagukban még nem lehettek képesek; sajnálatosan azonban egyetlen, egyetlenegy pici probléma még hivatalos megjelenése után is akadt még ezzel a porttal: nem futott vele a Chapter Honour.

Ugyan ez rajtam kívül nem valószínű, hogy emberek nagyobb tömegeit aggasztotta volna, végtére pedig én is nagyszerűen elvoltam egy, a fent említett TC modot tökéletesen futtató, viszonylag réginek számító PowerUP porttal - azonban mindez mégis azt jelentette, hogy valami nincs rendben Wille - egyébként Clickboom által is elismerten - hivatalos portjával.

Akik ircrôl ismernek bizonyára emlékezhetnek rá, hogy hosszú hónapokon keresztül tüntem el rejtélyes "Betatest rulez" felkiáltásokkal - és ugyanezen számos hónap alatt egyre áramlottak az újabb és újabb symbol táblás és debug verziók, folyt a debug remote levélen, telneten keresztül, valamint hegyen, vizen, levegôben és az óperenciás tengeren át is...

A hibára azonban egyáltalán nem volt könnyű rátalálnunk. Látszólag úgy tűnt, a TC mod hangjaival van valamiféle probléma: azonban hiába cseréltük le a PAK összes hangját egy garantáltan működô sample-val, az eredmény mindig ugyanaz volt - az engine kifagyott, mielôtt még a játék maga teljesen betöltôdött volna.

Akkor végülis feladtuk - utóbb azonban történt egy napon, hogy ismét eluralkodott rajtunk a késztetés, hogy megoldást keressünk a problémára. Mindennek kiváltója pedig egy egészen egyszerű véletlen volt - még a régesrégi, C64-es idôkben gyökerezô debug módszerhez folyamodtam amikor egyszer, csak úgy szórakozásból a játékkal kísérleteztem: és a látszólag vaddisznó mentalitással rendelkezô ötlet, hogy letöröljem a sound alkönyvtárat úgy ahogy van nem várt eredménnyel járt. Ugyan lépten nyomon a nem talált hangok után visítva, de futott a Chapter Honour..!

Innen már viszonylag gyorsan, három nap lefolyása alatt raktuk össze a puzzle hiányzó darabjait: melyszerint a CH fut cyberstormokon, de nem fut blizzardokon, hogy nem fut BVision-on sem, hogy...

A hiba ugyanis csak A1200-on fordul elô. Kiváltója pedig a Chapter Honour egyik hangja, a bolt.wav volt, mint egyszemélyi fôkolompos. Ez a hang ugyanis nem teljesen felel meg a wav specifikációnak, lévén az egyik data chunknak szokatlan a hossza benne. Ez viszont nem is lenne igazán probléma, még annak ellenére sem, hogy a következô chunk mérete meglehetôsen illegal - a Quake normális esetben ugyanis beépített védelemmel kompenzálja az ilyeneket, amely megakadályozza, hogy olyan adathoz próbáljon hozzáférni, amely a wav valódi méretén túl mutat. Mint mondtam történik ez normális esetben...

Azonban ez a hossz jelen esetunkben $49000000 volt (0x49000000, hogy mindenki örüljön), ami azért bír különös jelentôséggel, mert ô a magyarázat arra, miért történt a fagyás kizárólag A1200-asokon. A jelenleg (pontosabban akkor) használt PPC kódgenerátornak ugyanis volt egy rejtett hibája. A címeket ugyanis nem unsigned, hanem signed értékekként kezelte, magyarán $80000000 felett az értékek negatív számokat reprezentáltak.

CyberStormPPC esetén nem jelentkezik probléma, lévén ott a fastram tartomány a $08000000 címen kezdôdik; ha a kettôt összeadjuk az még mindig alatta van a fentebb említett negatív számba történô átfordulási határnak. Nem úgy a BlizzardPPC esetében: itt gyökeresen más címen található ($68000000, vagy közel hasonló) - esetünkben pedig egyszerű összeadás után látható, hogy $68000000+$49000000 az $b1000000, ami a fent említett compiler hiba miatt negatív számot eredményez, a quake biztonsági ellenôrzése így nem tudja kivédeni és kompenzálni a hibát, a program pedig végrehajtja azt ami a halálát is jelenti egyben: a hozzáférést egy nem létezô címhez, azaz illegal data access-t.

Ez volt a lényegében rendkívül egyszerű kis hiba, amit viszont amilyen rendkívül nehéz volt felfedezni - olyan egyszerű, és olyan minimális erôfeszítést igénylô volt javítani.

Wille azonban nem lenne Wille, ha az eltelt idôben nem igyekezett volna még tovább fejleszteni a portot, én pedig nem lennék én, ha csupán a fentiek kedvéért cikket és nem hírt gyártottam volna a News Column-ba.

Az 1.09 Quake Server ugyanis idôközben átlényegült 1.00 Amiga ProQuake (Quake 1.20) verzióvá. A veziószám módosulásán kívül mindez két dolgot jelent: a J.P. Grossman által fejlesztett ProQuake összes extension-je bekerült jelen, Amigás verziónkba is - errôl részleteiben mindjárt szólunk - valamint a szigorúan vett Amigás rész is fejlôdött picit. Mivel ez a rövidebb, vegyük elôször sorjára ezeket a változásokat:

- a Wille féle Quake ezentúl maga foglalja le a szükséges stack mennyiséget, nincs többé szükség azt a program indítása elôtt a stack paranccsal megadni (Végre - ez egy igen bosszantó hátránya volt a többi Quake portunkkal szemben, bár sajnos nem ô volt az egyetlen ilyen...-Emeric SH)
- kijavításra került a játékállás elmentésének néha jelentkezô hibája: többé nem lesz már olyan, hogy különös lények jelennek meg a játékban a kimentett állás betöltése után, és a nehézség szintje is ugyanaz marad, mint az mentés elôtt valóban volt
- az AGA rész néhány további paramétert is támogat ezentúl, ezek a következôk: -ntsc, -pal, -dblntsc, -dblpal
- javított képarány minden felbontásban. Ezt megelôzôen a 640x200 felbontás például meglehetôsen... hm... mulatságosan nézett ki

Megemlítve rövid benyomásomat a játékról, a sebessége sem hátrányára változott - immár biztos, hogy a leggyorsabb, AGA esetében legalábbis. Némi elenyészô, de feltétlenül szükséges mazochizmusmusra való hajlammal akár a 640x512 PAL Interlaced felbontás mellett is játszható.

És akkor végül következzen a ProQuake kiegészítéseinek teljes listája - ékes angol nyelven. Lefordítani azért nem volna értelme, mert némelyikük esetében sajnos én sem tudom pontosan mirôl van szó (nincs részletezésem az adott pontokról), így nem tudom mit kellene fordítanom helyettük.

Client:

- precise aim for ProQuake connection
- ProQuake message on connect
- ProQuake version
- Auto-smooth for camera/chasecam/eyecam
- longer mm1, mm2 messages
- (say): for messagemode2
- support for mods in qsocket (EXPLAIN - byte after accept server->client;
byte after connect client->server)
- fixed losing backscroll on print
- fixed HOME and END in console
- added proquake commands to CL_Parse
- pq_teamscores: teamscores in status bar!!!
- pq_timer: timer in status bar!!
- put sound back to DOSquake levels!
- added ping to scoreboard
- added ProQuake help page
- added cl_crossx, cl_crossy for GL
- queries server for pings if not connected to crmod6.0 server
- added pq_lag - synthetic lag!
- recognizes ping +N
- grab match time from crmod 4.0-5.1
- added r_waterwarp to GL

Server:

- disabled tell
- () in mm2 (server side)
- Allow multiple connects from any IP (server side)
- precise aim for ProQuake connection
- added hook for QuakeC to turn off server flag in cvars
- Added ProQuake console variable (so mods can detect it)
- can set logfile name; can use %d for multiple logs
- log file header
- dprint(proquake client connected) if proquake client detected

Other:

- removed "backup past 0"
- remover "stuck", "unstuck" messages
- implemented suppport for sys_ticrate

Valamint az F11, F12 és PAUSE billentyűk más helyekre kerültek, lévén ezek korábban olyan billentyűet használtak, amelyek hiányoznak az Amerikai billentyűzetekrôl. Ezentúl:

F11 - Del
F12 - Help
PAUSE - * a numerikus billentyűzeten

Legutoljára hagytam talán a legfontosabbat: a ProQuake 1.20 jelenlegi verziója letölthetô az alábbi címrôl (WarpOS verzió, csak nehogy bárki meglepôdjön):

Emeric SH

 

 

 

 
 
 
GLOBAL LINKS DOWNLOAD AREA MESSAGE BOARD