Jump to content

Valid resource reference characters?


Calhavintas

Recommended Posts

Hi there,

 

does somebody know which characters exactly are usable by the engine(s) as a resource reference?

 

Are there differences in the different engine versions?

 

Are there characters that should be avoided at all?

 

 

Have a nice day :)

Link to comment

Well, this isn't a strait answer, but if you go on and look here, the community has created a user/project based user prefix resource character pool that has all the characters you should be able to use. This is still the same with the extended character encoding that you can use to translate... aka there's no putting ö's, ä's, å's, etc to the file names, as the OS'es can't handle it the same way, for all. Translating with them can be done, so long as the .tra files are encoded with the intended codex.

 

This will rarely rise an issue, but there's one mod that breaks this ruleset and that's the Infinity Animations. That require the user to use the latin based US_english codex, even during file extraction, which is where big problems raise.

Also the exclamation mark is used as a negation in scripts and other processes ... so it's usage has limits in file names ... aka you can't really use "!a" as a prefix to script combat...

Link to comment

Hey, thanks for the answers.

 

I don't want to mod anything. I'm writing an interpreter for the infinity file formats at the moment and couldn't find any reference regarding valid characters that the engines work with.

This interpreter should be as strict as possible (regarding validation), but it should allow all cases that the engines can handle :)

 

For example: the full ascii character set is not usable as it contains non-printable characters. In addition the following characters are not allowed: : ? \ / | * < >

and the following names are not allowed/should not be used:

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9

Link to comment

For different reasons. I was searching for a hobby project, wanted to learn something new and (if the status of the project is usable) try to give something to the community that one or the other will find helpful.

The goals for this are purely based on libraries and tools for infinity engine based games.

 

Currently, i didn't found a object oriented cross-platform library only version, that can handle all aspects of all the underlying formats (creating, reading, updating, deleting) including their substructures

Link to comment

Well, it's your time, it just seems pointless so late in the game. DLTCEP has it in C or C++ (eye bleeding though and intertwined with win api), NI in Java, gemrb in C++, iesh in Python and then weidu and various tools with just a few bits/formats. I don't know NI's codebase, so excluding it, the closest thing I know to your library & OO criteria is iesh (infinity module), which fits both. It's not as complete as the standard editors though, but has been great for scripted exploration and dumping binary formats to human readable text (great for diffs).

Link to comment

Hey, thanks for the answers.

 

I don't want to mod anything. I'm writing an interpreter for the infinity file formats at the moment and couldn't find any reference regarding valid characters that the engines work with.

This interpreter should be as strict as possible (regarding validation), but it should allow all cases that the engines can handle :)

 

For example: the full ascii character set is not usable as it contains non-printable characters. In addition the following characters are not allowed: : ? \ / | * < >

and the following names are not allowed/should not be used:

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9

You can freely use those strings as resref. The full filenames are always resref + resourcetype The sucky windows OS will never encounter bare resrefs.

 

ielister is C++ and it has the basic fileformat stuff. It is just a resource viewer.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...