News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - retro_hun

Pages: [1]
Programming / [PS2] Dragon Ball Z: Budokai Tenkaichi 3 - menu textures
« on: March 06, 2020, 02:44:42 pm »
I'd like to translate this game. Is there some kind of information about the menu textures itselves? I know very well that there's a huge community behind modding DBZBT3, but all they care about is character swapping and changing the player textures. Some of their public tools can be used to view some of the files I need, but anything other than viewing usually crashes the tool or corrupts the file. So I didn't find anything about my interest, sadly, I don't even know what format/extension these files could be (not TIM2 files, that for sure). My most advanced hardware to translate for was PS1 so I'm relatively new to PS2, but I know that some of these textures might be "swizzled".

This game uses the Criware method of compressing stuff in *.AFS files, so AFSExplorer/DKZStudio can give me multiple *.unk files, nothing too specific.


I'm a hungarian fan-translator and I began my work on this title. Little did I know that according to a certain "Zone files technical documentation" written by Nyxojaele, the game uses compressed graphics for some of its visuals. I can do HEX editing and tile editing... basically stuff that involves low-level skills, but I can't make any sense of the documented method to get these graphics decompressed. And even then, there's the problem of injecting these graphics back to the game. The document states:

"Some graphics encountered are compressed to save space. This compression is not super-complex,
and it vaguely resembles RLE compression. Compressed graphics are stored linearly- that means
to decompress them, all you need to do is read in some compressed values, then output the
appropriate decompressed values. Rinse, repeat. After encountering the "end of graphic" value,
the entire array of decompressed values will be the actual graphic as it should be for loading
into VRAM.

The first 8 bytes are called "common values"- each byte being it's own value. These are values
that show up frequently in the compressed graphic, and later on will be referred to by index.
After the common values, all other values are stored as nybbles (2 values per byte, 4 bits
each)- these values should be read in the following manner:

 1) Read 1 value. This is the opcode- it represents what sort of compression exists for the
    coming value(s), or what action to take (such as the end of compression marker)
 2) Depending on the opcode, there may be parameter values following the opcode. Read these
    values as well.
 3) Calculate what the output values should be and add them to the output array.
 4) If the opcode was NOT the end of compression marker, go back to step 1, starting at the
    position immediately following the parameters, if any, in the compressed data.

The opcodes and parameters are as follows:
    Opcode    What to do with it
    0x0       Read 2 more values. Bitshift the first value left by 4, then add it to the 2nd
              value, and finally add 19 to that value. Append that many 0's (zeroes) to the
              decompressed array.
    0x1       Read 1 more value. Append that value to the decompressed array.
    0x2       Read 1 more value. Append that value twice to the decompressed array.
    0x3       Read 1 more value. Append that value to the decompressed array. Read and Append
              another value.
    0x4       Read 1 more value. Append that value to the decompressed array. Read and Append
              another value. Read and Append a 3rd value.
    0x5       Read 1 more value- This is your desired value. Read another value- This is your
              loop value. Append the desired value to the decompressed array, loop times.
    0x6       Read 1 more value. Append that many 0's (zeroes) to the decompressed array.
    0x7-0xE   Subtract 7 from the opcode and use that as an index into the common values array-
              From that value, the first 4bits are your loop value, and the last 4 bits are
              your desired value. Append your desired value to de decompressed array, loop
    0xF       Finish. This signals that decompression is done, and no more opcodes should be
              read from the compressed data."

I assume this needs some assembly knowledge, which I don't have (yet).

Any kind of guidance or help is appreciated. Right now, I know that some fonts are missing, namely the font that's used during the intro sequence (after prologue) and the fonts/graphics used for the "Level Up", "Heart Up" messages (also the "Final Stage: Bloodlines" and other fonts that are used for the zones' names.)

As far as I can tell, I extracted everything that's stored as RAW.

Thanks in advance.

- Feri

ROM Hacking Discussion / [PS1] Resident Evil trilogy
« on: February 17, 2016, 07:09:09 pm »
Hi! I would gladly make a hungarian translation of this trilogy, but getting the text proved somewhat difficult. I was able to hack my translated script into RE2, so I think that's OK for now, but RE1 and RE3 are still a mystery to me. I'm using the Biofat utility, both the newest and the older ones (which even supported Dead Aim, and a lot of other games too). Sadly, the software quite unstable, but it's still something... But those files. No matter what, I just can't make any sense out of it, couldn't get the text. I have the German and Spanish versions as a base, since those have subtitles during cut-scenes. If someone could help just so I can view it in HEX editor, that would be enough for me. It's not my first project, I localised a few NES and SNES games, and my ongoing project is Silent Hill. I would like to continue this year with more survival-horror. RE2 looks fine with more easily editable text, it's just those other too...
Thanks in advance!

- Feri

PS.: I know the structure. *.RDT or *.ARD supposed to contain room informations, and likely, decrypting or extracting the contents of such files should yield various camera, and what-not setting, including the ones I need, the *.MSG. I can get those in RE2, but not so much in 1 and 3. Actually, in the case of RE2, I can edit the *.RDT directly, since the game (or at least the german vesion) appearently uses a simple method to contain its text, and a plain old relative search was enough.

Pages: [1]