Jump to content


Member Since 23 May 2016
Offline Last Active Feb 16 2018 01:35 PM

Posts I've Made

In Topic: [WIP] (b1.1.0) KOTORPatcher - TSLPatcher-like app for Android

04 February 2018 - 10:54 PM

You'd think so, but no. They are field types 16-18. In my Aurora docs the field types end at #15 with the 'List' type. There are 19 total field types for Odyssey GFF (0-18).

Huh, weird. My docs also end at 15, I don't think there's any newer ones. Thanks, I'll probably need that for GFF patching.

In Topic: Editing offsets in binary 2DAs

04 February 2018 - 10:47 PM

EDIT: I also stored row headings in a seprate list, as that is conceptually how they are stored in a 2da file. But in the Netbeans plugin I'm working on at the moment, I will probably add them into the first column of the table model, so the user can edit them as if they were part of the data (a la the way KOTORTool does it). Again - stylistic choice based on GUI!

Something I just thought about: columns should definitely be separate, because if they are part of the List/array, if you ever need to add one for some reason, iterating through the entire thing is waayy slower than just adding it to one List of names.

In Topic: [WIP] (b1.1.0) KOTORPatcher - TSLPatcher-like app for Android

04 February 2018 - 08:59 PM

Odyssey GFF files have 3 additional field types that weren't present in my Aurora documentation. Orientation/Quaternion (16, complex, pointer to 4 floats); Position/Vector (17, complex, pointer to 3 floats); StrRef (18, complex, pointer to int32LE). If you guys have documentation that specifies these then maybe I need to find a newer edition...

Wouldn't those just be fields not types?

In Topic: [WIP] (b1.1.0) KOTORPatcher - TSLPatcher-like app for Android

04 February 2018 - 03:00 PM

I humbly retract my spurious, slanderous allegations against KOTORTool! :P In my defense, your honour, I did state that I couldn't exactly remember if it was KOTORTool I was thinking of that did a 1:1 ratio... I started looking into the 2da format 2 years ago, then got distracted... and I'm getting on a bit, and my memory isn't what it used to be... :coffee:

I would be very interested and grateful if you would be willing to share your knowledge of the file formats. It would be really useful for my own project - it's really difficult to find information on the Odyssey file formats, especially if there are cases where they digress subtlety from the equivalent Aurora format. Cheers!

In a PM, Fair Strides told me that the files in KOTOR are the same as their documented Aurora forms. Obviously that's excluding binary 2DA, which you've figured out, and RIM, which is missing. In the xoreos-tools source, it says that RIM is basically a simplified ERF. Quoting:
A RIM file is a resource archive, used in several Aurora games.
It is a simplified version of the more complex ERF format, lacking
the support for a localized description text as found in early ERF
formats, as well as compression and encryption as found in later
ERF formats.

There is only one single version, V1.0, of the RIM format known and
supported. For each resource file, it stores a path- and extension-less
name (with a maximum of 16 ASCII characters) and a Type ID.

In Topic: [WIP] (b1.1.0) KOTORPatcher - TSLPatcher-like app for Android

02 February 2018 - 06:08 PM

PorygonZRocks: I'm not sure if you know of me or not, but that knowledge would only help in giving you confidence in my offer. I have access to most of the file formats the KotOR games use and I recently just finished converting TSLPatcher from Pascal to Perl so I have the entire source code in two different langauges and can answer questions.

Had I even known this project existed (it likely got buried in all of the holiday and Episode 8 stuff), I would have been able to help out much sooner. Things like the .mod, .erf, and .sav files are all in the ERF format, while the .rim files are in the RIM format; both are similar, but have their tricks for writing the files. Also, with writing RIM files, you will never be able to get a 1:1 byte-to-byte ratio between the original game files and edited files... :|

I can be contacted on here via PM, on Discord (User name FairStrides, ID# 2148), or on Skype (though I'm rarely on that nowadays).

@peedeeboy: I realize that you guys are already past the fun of writing .2da files (yeah, the pointers part was fun, avoiding a 1:1 ratio and doing it the way Bioware did it), but I felt the need to correct you in that KotOR Tool does not do a 1:1 Pointer-to-Data ratio. It still uses a single pointer for each unique piece of data, with duplicate data being referenced by the original pointer. :)

Yeah, I know of you. Thanks a bunch for the offer, I'll be sure to ask if I need help!
I have already found the Bioware Aurora File Format docs online, and I think that KOTOR mostly uses those? I know some things, like binary 2DAs, aren't there (perhaps weren't used for NWN?), but there is info on that, and thankfully peedeeboy has dealt with that anyway. Is anything else missing from the docs, or are any of the formats updated from the documented versions that you know of?