fl
.fl - FL Character File Format
Freelancer stores character files in standard ini file format. They may be encryped or in plain text. Freelancer will read both formats.
.fl - Encryption Algorithm
The first four bytes of an encrypted file are FLS1. The encryption algorithm is show here:
private static byte[] gene = { (byte)'G', (byte)'e', (byte)'n', (byte)'e' }; byte[] decrypt(byte[] buf) {
if (buf.Length >= 4 && buf[0] == 'F' && buf[1] == 'L' && buf[2] == 'S' && buf[3] == '1')
{
byte[] dbuf = new byte[buf.Length - 4];
for (int i = 4; i < buf.Length; i++)
{
int k = (gene[i % 4] + (i - 4)) % 256;
dbuf[i - 4] = (byte)(buf[i] ^ (k | 0x80));
}
return dbuf;
}
return buf;
}
[Player]
[Player]
tstamp = INTEGER, INTEGER
house = FLOAT, NICKNAME
visit = HASHCODE, INTEGER
Parameter | Information |
---|---|
visit | The first parameter is the hashcode of the object. The second parameter is a bit field: 0x01 bit 0 - show object on nav map with no description 0x02 bit 1 - show object on nav map and show internal description 0x04 bit 2 0x08 bit 3 0x10 bit 0 - if wreck then this object has been looted 0x02 bit 1 - show object on nav map and show external description 0x04 bit 2 - show trade information if base 0x08 bit 3 - never show object on nav map |
[mPlayer]
[mPlayer]
locked_gate = HASHCODE
ship_type_killed = HASHCODE
sys_visited = HASHCODE
base_visited = HASHCODE
holes_visited = HASHCODE
vnpc = HASHCODE, HASHCODE
total_cash_earned = INTEGER
total_time_played = FLOAT
rumor = INTEGER
Parameter | Information |
---|---|
locked_gate | Hashcode of the jumpgate. Docking with this gate is prohibited. |
ship_type_killed | Hashcode of a ship. Used to display the number of ships visited on the in game player statistics screen. |
sys_visited | Hashcode of a system. Used to display the number of systems visited on the in game player statistics screen.. |
base_visited | Hashcode of a base. Used to display the number of bases visited on the in game player statistics screen. |
holes_visited | Hashcode of a jumphole. Used to display the number of jumpholes visited on the in game player statistics screen. |
vnpc | Hashcode of NPC character, Hashcode of Base/Room. Used to indicate if a player has talked to a particular NPC character at base. |
total_cash_earned | Not used. Always zero. |
total_time_played | The time in seconds that this character has been online. |
rumor | The IDS number from the rumor entry in mBases.ini. An entry in this line indicates that this player has viewed the rumor |