Játékmagyarítások fóruma

Magyarítás és magyarosítás különbsége
(https://hu.wikipedia.org/wiki/Magyarosítás)

Ebben a topikban NEM az M.I./Gépi segítéses fordításokkal foglalkozunk.
Ne reklámozd, ne szúrd be hírként, ne emlegesd, ne is kelts feszültséget ezzel a témával!
Köszönjük.

Magyaritasok.hu | HunosítókTeam | Lostprophet | PS Hack Fórum | Unreal Engine 4 Tutorial (Kena) by .:i2k:.
  • mmster
    #15989
    Szia!

    Bátorkodtam én is letölteni az állományt, és nem akarok fontoskodni, de egy kicsit bonyolultabb a szerkezete, mint egy egyszerű szöveges fájlé. Készítettem egy gyors leírást róla, amit szeretnék megosztani veled.

    A fájl fejléce valahogy így néz ki:
    struct FILEHEADER {
    long unknown; //0x0001
    long signature; //"PRF" null terminated
    long unknown; //0x0002
    long unknown; //0x01A8
    long dirOffset; //0x2B802
    };

    Az ismeretlen adattagoknak nem tudom a funkcióját, azokat változatlanul meg kell hagyni.

    A fejléc beolvasása után elugrunk a fájlszerkezetet leíró rekordok kezdetéhez:
    fseek(prf_file,dirOffset,SEEK_SET);

    Itt megtaláljuk az archívumban található fájlok számát:
    long numFiles; //0x001A
    Itt kihagyunk 20 bájtot, ezeknek az adatoknak is ismeretlen a rendeltetése:
    fseek(prf_file,20L,SEEK_CUR);

    Ezek után találhatók a fájlokat leíró rekordok, melyek szerkezete:
    struct FILEDESC {
    char type[4]; //"TXT "
    long unknown; //ID?
    long offset;
    long size;
    };
    A lényeg az eltolás és a méret. Ha szövegben változik egy mondat hossza, akkor értelemszerűen ezt a két értéket is módosítani kell.

    Ezek után a numFiles változó értékének (26) megfelelő rekordot beolvasunk és megkapjuk a szövegek tartalmazó állományok pontos méretét és az archívumban való elhelyezkedésüket. Innentől már egyszerű szöveges állományként is kezelhetjük őket. Mindegyik fájl egy bevezető nullás bájttal kezdődik, ezeket érdemes átugrani, és csak a becsomagoláskor visszaírni.

    Természetesen az is előfordulhat, hogy így sem működik a dolog, de érdemes megpróbálkozni vele.

    Üdvözlettel: mmster