dominus

Untitled

Feb 10th, 2020
381
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. In the zip there are u7h files and the extracted voc files, stripped of the extra header so you can actually play them back in VLC. Also some altered voc files (extra a) that keep to the same filesize as the originals. And some different length ones in the extra folder. These are not the real translation files, just some fun I had with them to test things out)
  2.  
  3. u7h files:
  4. headers that are included before the actual file.
  5. iffheader.u7h is the iff file header beginning with FORM and then 4 bytes for the iff file size (but subtract 8 bytes for the added header (FORM+filesize)) and type of the iff file (INTR).
  6. other u7h files ususually 4 bytes filetype (FLIC, FONT, VOCF, SHAP), 4 bytes filesize
  7. voc headers: 4 bytes filetype (VOCF), 4 bytes for the filesize, 8 bytes for the filename (usually these are part of the voc file, but for ease of use I included it in the u7h file, so you need to add 8bytes to the filesize).
  8.  
  9. To make the iff file work in the original, you need to trim the extra flx header Exult adds before the "FORM".
  10.  
  11. Unfortunately some headers needed an extra null byte or the whole intro would crash in both Exult and the original.
  12. These are 3, 4, 6, 8, 9, 11, 13, 15, 19, 20, 22, 23, 25, 26, 27, 28, 29, 30.
  13.  
  14. Just now rereading the u7techt.txt I finally understand what the extra 00 byte is for: to even the bytesize. So that byte belongs to the file before the number I took it into the header for.
  15. This can all be done manualy but very cumbersome. I have no idea how I managed to do the extended intro without Exult crashing with this as well.
  16.  
  17. So now I need to try whether it would work if I even the bitesize correctly. But why the need to even the bytesize? And does Exult depend on this?
  18.  
  19. For letting expack create an iff file I'm thinking you would need to specify several things:
  20. - that it is an iff file (so no flx header and starts with FORM and the complete filesize -8 byte), e.g. expack -iff
  21. - index file which states the type of the iff file (e.g. INTR)
  22. - filetype of each file (FLIC, VOCF, FONT, SHAPE)
  23. - filename (or blank) or option to not ad the name header in the case of files you didn't touch and didn't delete the header (only count the filesize after adding the 8byte nameheader)
  24.  
  25. something like this: expack -iff -i indexfile
  26. indexfile:
  27. INTRO.DAT, INTR
  28. LB.FLI, FLIC, lblogo
  29. guard.voc, VOCF, -
  30.  
  31. Then expack needs to count the filesize of each file, check whether it is uneven and add an extra 0 byte to make it even, write the filesize in the Filetype header. Then count the total filesize and write that to the FORM header (-8 bytes).
RAW Paste Data