SAN (Static Actors)
The SAN file is what stores all of the games static actors. A static actor is mapped to a LPD file to handle that given actors logic.
- Location:
$GAMEDIR/client/script
- Extensions:
san
- Encrypted File Name:
rq9q1797qvs.san
- Decrypted File Name:
StaticActor.san
The SAN file header is a simple struct which follows the following format:
struct header_t = {
char file_type[4]; // Always "SANE"
char unknown[8]; // Unknown
char padding;
}
The SAN file format is fairly straight forward it contains a basic file header following with a list of all known actors within the game.
struct lpd_t = {
header_t header;
actor_t actors[];
}
struct actor_t = {
uint32 actor_id; // Actor ID as BE processed with a logical or of 0xA0F00000
char actor_name[...0x0]; // This is the name of the actor which is null terminated
char padding;
}
The actors is an “encrypted” and can be decrypted using the following algorithm:
char decoded = encoded ^ 0x73