Mapok exportálása pk3 fájlból

 ( thomasrc | 2012. január 13., péntek - 16:45 )

A következő lenne a feladat: Van előttem 4 darab pak0n.pk3 (ahol n egy szám) nevezetű fájl. Ezek mindegyike több mapot tartalmaz, melyeknek nevét a .pk3-on belülről a maps/*.bsp fájlokból tudom. A lényeg, hogy a pak fájlokból ki szeretném exportálni az összes mapot különálló mapneve.pk3 állományokba. A problémát az okozza, hogy nem elég a maps/*.bsp fájlokat exportálni, hanem szükség lenne a maphoz tartozó fájlokra is, melyek más-más könyvtárakban vannak (levelshots/, music/, scripts/, textures/ stb.).

A kérdésem, hogy létezik-e erre valamilyen célszoftver? Ha nem, hogyan tudnám megállapítani, hogy az adott maphoz milyen fájlok tartoznak?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

q3radiant volt erre anno. Ahogy nézem talán ez az ami még él http://radiant.robotrenegade.com/

Masik a QuArK, mely sajnos Armin tavozasa utan lassan ki is mult :(
--
cythoon

Ez az, ami biztosan él: http://dev.alientrap.org/projects/show/netradiant

----------------------------------------------------------
"One should strive to achieve; not sit in bitter regret."
www.xonotic.org

Nem írtál játékot, gondolom Quake, de ha nem, akkor esetleg a MOHRadianttal (Medal Of Honor pályaszerkesztő) is meg lehet próbálni. (A map felépítés hasonló, de az egészhez csak annyit értek, hogy felraktam anno a MohRadiantot, és csináltam benne egy kertecskét egy fészerrel meg egy fával :) )


Ne kattints ide!

Szerintem ezt utólag nem nagyon lehet kivitelezni, max próbálgatással. A map fájlok tartalmazzák pl. a textúrák, hangfájlok helyét plaintextben, de ez le van "fordítva" (~compile) a bsp fájllá, és az eredeti forrása nincs belecsomagolva a pk3 állományba. A levelshots-nak meg adott helye van, a /levelshots könyvtárba kell berakni a pálya nevével megegyező névvel.

Én Q3-hoz csináltam régebben pályákat, meg COD1-hez, máshoz lehet másképp kell (bár nem valószínű).

Esetleg nézz bele egy szövegszerkesztővel a bsp fájlba, hátha tartalmazza az elérési utakat, most nem tudom kipróbálni.

A fentebb említett Radiant utólag már nem jó, az csak a map fájllal tud dolgozni, a pk3-at jellemzően kézzel kell összerakni utólag.

No, belenéztem a .bsp fájlokba és ezeket látom az elején: http://img688.imageshack.us/img688/3888/nvtelenhz.png. Lejjebb pedig végig krix-kraxok vannak csak. A kérdés csak az, hogy az itt felsoroltakon kívül szükség van-e egyéb fájlokra/mappákra (a levelshotson kívül)?

Quake3-ról van szó.

http://en.wikibooks.org/wiki/Q3Map2#Decompiling_into_a_.map

Az eredeti q3map2 persze elvesztette a textúra koordinátákat, de divVerent javította ezt a hibát a netradiant-ban lévő q3map2-ben. Ez persze illegális reverse engineering, a map a bsp file forráskódja, nem véletlenül nem rakják bele a pk3-ba :P

----------------------------------------------------------
"One should strive to achieve; not sit in bitter regret."
www.xonotic.org

Sikerült részben megoldani a problémát, hála bacsi2 javaslatának: Ha megnyitom nézőkében (total commander) a .bsp fájlokat, akkor a sorok között látom az aktuális maphoz tartozó fájlokat. http://img52.imageshack.us/img52/7947/nvtelenpl.png

A probléma, hogy ezek rendezetlenül bárhol felbukkanhatnak (vannak ismétlődő útvonalak is) és ezt kézzel gyakorlatilag lehetetlen kigyűjteni. Minimum rámenne fél nap, mire végeznék egyetlen mappal. Esetleg tudtok-e segíteni nekem egy script összedobásával, ami kigyűjti az összes elérési útvonalat és lementi őket egy akarmi.txt nevű fájlba? Felőlem akár unixos is lehet a script, ha úgy könnyebb. Ha legalább ez meglenne, akkor egy másolóscriptet már össze tudnék dobni és kész is lenne...

sed, grep, awk :)

Köszönöm a tippet, megpróbálom. Legfeljebb nem sikerül majd. :)

Miért szeretnéd a pak fileokat egyébként kiherélni?

A kis házi projektem célja az lenne, hogy QL alól egy nem hivatalos szerveren játszani lehessen az eredeti Q3 mapokon oldstyle módban. Tehát Quake Live alól játszhatnak a kliensek Q3-hoz *hasonló* szerverbeállítások mellett eredeti Q3 mapokon (nyilván mindent nem lehet visszaállítani Q3-asra, de a fegyverek jellemzőit/sebzést és ehhez hasonlóakat igen).

Mivel az original Q3 mapokat nem tartalmazza a QL, ezért azokat a szerverről kell letöltenie majd a klienseknek. Na most, ha én felpakolom a szerverre egy-az-egyben a pak fájlokat, akkor a klienseknek kapásból le kéne tölteniük egy ~350MB-os fájlt. A megoldás az lenne, hogy a pakfájlokból kiszedegetem a mapokat és különálló, pár MB-os mapneve.pk3 állományonként kínálom azokat letöltésre a klienseknek.

Honnan van ehhez uptodate ql szervered?

Nem tudom, hogy a Q3-tol hogyan valtozott a bsp formatuma, en a Half-Life-et ismerem jobban. Az ugy nezett ki, hogy az elso 4x10 nt egy egy pointer volt a fajlon belul, hogy az adott szekciok hol kezdodnek azon belul 10 reszre volt felosztva a fajl. Amit te latsz, az egy szipla plain text resz, ahol az egyes entityk vannak (fenyek, objektumok, triggerek esemenykezeloi, stb.).

Ennek formatuma:

{ // entity kezdete
"kulcs" "ertek"
"kulcs" "ertek"
...
}
{
...
}
... // entity vege

Ezekkel az a baj, hogy ez nem a teljes lista, ezekben nincs benne a texturak, csak a hangokat meg az objektumokat tudod innen kigyujteni.

Masreszt, ha kell minden, az osszes .pk3 fajl tartalmat egy konytvarba bemasolod (mint irtak lenn: a Q3-tol kezdve ezek sima zip fajlok) es orom-boldogsag, ott van minden. Persze, ha az kell, hogy melyik palya mit hasznal, akkor szivas, nincs mas hatra, mint az entity lista es a tobbi lista feldolgozasa. Harmadik opcio, hogy kikeresed a Q3 forraskodjaban a resource loader reszt es ha ker valami fajlt, akkor naplozod - amugy is lesz olyan, amire a palya nem hivatkozik.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Hali! Gyere fel #xonotic @ irc.freenode.org -ra. divVerent-et kérdezd, hogy mi hogyan oldjuk meg automatikusan Xonotichoz a pályák pk3-ba csomagolását az automatikus compile szerveren - valszeg a fordítottja se működik nagyon másképp. (http://beta.xonotic.org/autobuild-bsp/?d)

A kérdés egyébként jogos, főleg azért, mert pak0n.pk3 jellemzően hivatalos, a játékhoz tartozó pk3 neve. Valami damn small fps kiadást szeretnél gyártani?
A kérdést tovább bonyolítja, hogy anno a pályakészítők mennyire figyeltek arra, hogy egy-egy pályához specifikusan elnevezett shader készletet használjanak, a többi, általános textúra készlethez pedig egy közösen használhatót (ha szétszeded, akkor a közös használatúakból duplikátumokat kell minden pk3-hoz csinálnod).

----------------------------------------------------------
"One should strive to achieve; not sit in bitter regret."
www.xonotic.org

Az összes pk3 fájl nem más mint egy zip fájl. A válsz: unzip. Sok sikert a szervered felfuttatásához.