This file is composed of Mapmaker files from Timesplitters 3 FP.
They are compared through a Hex editor and the differences are note
to breakdown the file structure in order to make a PC Map maker.
Data:
Max Filename Length = 26
Filename Location = 0x6.70 byte 3 to 0x6.80 byte 12.
Map Briefing Lenth = 223
Briefing Location = 0x6.90 byte 3 to 0x5.170 byte 01.
Map Description Length = 223
Description Location = 0x5.170 byte 03 to 0x5.250 byte 01.
=======================================================
00000010x01 = Starting Points
Bytes:
00 = Nothing
c4 = All
44 = Red Team
00000010x02 = ? 01/03
00000010x05 = Tile Count
01 for 1 tile map seen
02 for 2 tile map seen
03 for 3 tile map seen
04 for 4 tile map seen
00000010x10 = ?
00000010x11 = Texture Set
Bits:
01 = Lab
02 = Egyptian
03 = Military
04 = Horror
05 = Virtual
00000010x13 = Default Map Light Color
Bits:
00 = Default (Top Left)
01
02
03 = Grey
04
05
06
07 = Black (Top Right)
08 = Light Red
09
0a
0b = Red
0c
0d
0e
0f = Dark Red
10 = Light Orange
11
12
13
14
15
16
17 = Dark Orange
18 = Light Yellow
19
1a
1b
1c
1d
1e
1f = Dark Yellow
20 = Light Green
21
22
23
24
25
26
27 = Dark Green
28 = Light Teal
29
2a
2b
2c
2d
2e
2f = Dark Teal
30 = Light Blue
31
32
33
34
35
36
37 = Dark Blue
38 = Light Purple (Bottom Left)
39
3a
3b = Purple
3c
3d
3e
3f = Dark Purple (Bottom Right)
00000010x15/16 = Background Music
Bytes:
ff ff = Recommended
28 00 = TS1 Chinese Restaurant
29 00 = TS1 Planet X
6e0x09/10/11/12 : f3 or 46?
00000010x16 = ? ff/00
00000020x01&02 = Sky Type
Bits:
ff ff = Rec Sky
3b 00 = Gloomy Sky
3c 00 = Abstract Sky
3d 00 = Dusk Sky
3e 00 = Sunset Sky
3f 00 = Cold Night Sky
40 00 = Artic Sky
00000020x03 = Weather
Bits:
00 = Rec
01 = Rain
02 = Storm
03 = Snow
00000020x05 = Bot Set
Bits:
0a = Baldies
0b = Mapmaker
01 = ?
02 = Assorted
03 = Femme Fatales
04 = Sidekicks
05 = Henchmania
06 = Undead
07 = Cyber
08 = Freaks
09 = Creatures
11 = Custom***
00000020x06 = ???? 00 Something to do with Bot Set
00000020x07 = ???? 0a
00000020x08 = ???? 00
============================================================
CUSTOM BOTSETS:
00000020x09 = Botsets (Slot01)
00000020x10 = Slot Validater (00 = Bot, ff = No Bot/Empty)
00000020x11 = ???? 0f
00000020x12 = Bot Skin If applicable (
00000020x13 = Botsets (Slot02)
00000020x14 = Slot Validater (00 = Bot, ff = No Bot/Empty)
00000020x15 = ???? of
00000020x16 = Bot Skin If applicable
00000030x01 = Botsets (Slot03)
00000030x02 = Slot Validater (00 = Bot, ff = No Bot/Empty)
00000030x03 = ???? 0f
00000030x04 = Bot Skin If applicable
00000030x05 = Botsets (Slot04)
00000030x06 = Slot Validater (00 = Bot, ff = No Bot/Empty)
00000030x07 = ???? 0f
00000030x08 = Bot Skin If applicable
00000030x09 = Botsets (Slot05)
00000030x10 = Slot Validater (00 = Bot, ff = No Bot/Empty)
00000030x11 = ???? 0f
00000030x12 = Bot Skin If applicable
00000030x13 = Botsets (Slot06)
00000030x14 = Slot Validater (00 = Bot, ff = No Bot/Empty)
00000030x15 = ???? 0f
00000030x16 = Bot Skin If applicable
00000040x01 = Botsets (Slot07)
00000040x02 = Slot Validater (00 = Bot, ff = No Bot/Empty)
00000040x03 = ???? 0f
00000040x04 = Bot Skin If applicable
00000040x05 = Botsets (Slot08)
00000040x06 = Slot Validater (00 = Bot, ff = No Bot/Empty)
00000040x07 = ???? 0f
00000040x08 = Bot Skin If applicable
00000040x09 = Botsets (Slot09)
00000040x10 = Slot Validater (00 = Bot, ff = No Bot/Empty)
00000040x11 = ???? 0f
00000040x12 = Bot Skin If applicable
00000040x13 = Botsets (Slot10)
00000040x14 = Slot Validater (00 = Bot, ff = No Bot/Empty)
00000040x15 = ???? 0f
00000040x16 = Bot Skin If applicable
*NOTE EVery 3rd byte of the bot data always equaled '0f'. Except for one
instance where I had only 2 bots, then it was '02'. Bot count? No.
I have 6 bots one time and it was still '0f'. Hmm....
Maybe Bot Difficulty AI?
BOT BYTES:
00 = Harry Tipper
01 = Kitten Celeste
02 = Khallos
03 = Henchman
04 = ?
05 = Elite Henchman
06 = Henchwoman
07 = Elite Henchwoman
08 = Captain Ash
09 = ?
0a = Captain Fitzgerald (Skin 02) /Nobby Peters (Skin 00) /Sapper Johnson (Skin 01) /Tommy Jenkins (Skin 03)
0b = Ivor Baddic (Skin 02) /Pulov Yurah (Skin 03) /Comrade Papadov (Skin 01)
0c = Cortez
0d = ?
0e = Lazarus Mumble
0f = Mordecai Jones
10 = Angel Forge
11 = Ghengis Kant
12 = ?
13 = INSETICK SD/12
14 = Dr. Lancet
15 = ?
16 = Gladstone
17 = Arthur Aching
18 = Gilbert Gastric
19 = Jo-Beth Casey
1a = Carrion Carcass
1b = Victorian Crow
1c = Prison Officer
1d = Blanche Deadwood
1e = Mad Old Crow
1f = Jacob Crow
20 = Lt. Black
21 = Jed
22 = Mr. Fleshcage
23 = Gideon Gout
24 = Edwina (Skin 00) /Deadwina (Skin 01)
25 = Daisy Dismay
26 = Dr. Pustule
27 = Jo-Barf Creepy
28 = ?
29 = Gaston Boucher
2a = Clip Clamp
2b = Lenny Oldburn
2c = ?
2d = R-110
2e = ?
2f = ?
30 = ?
31 = ?
32 = ?
33 = ?
34 = ?
35 = ?
36 = ?
37 = ?
38 = ?
39 = ?
3a = ?
3b = ?
3c = Vlad the Installer
3d = Leonid
3e = Oleg
3f = Nurse Gulag
40 = Dr. Peabody
41 = Swinging Tipper
44 = Amy Chen
47 = Booty Guard
48 = Henchman Cortez
49 = Karma Crow
4c = Security
4e = Berzerker Splitter
53 = Jack Sprocket
54 = Sister Faith
55 = Dr. Amy
56 = Inceptress
57 = Brother Bartholomew
58 = Envirosuit
59 = The Freak
5a = Dr. Cortez
5b = Time Assassin
5c = SecuriDroid XP
5d = Monkey
5e = Cyborg Chimp
5f = Brains
63 = John Smith
66 = Anya
67 = Private Jones
68 = Private Hicks
69 = INSETICK SK/10
6a = Nurse Tourniquet
6b = Nurse Sputum
6c = Neophyte Lucian
6d = Neophyte Constance
6e = Inceptor
6f = Tin-Legs Tommy
70 = Renzo
71 = Lt. Christine Malone
72 = Headsprouter
73 = The General
74 = Time Assassin Cortez
76 = Jacque de la Morte
77 = Viola
78 = Mr. Underwood
79 = Sewer Zombie
7a = Undead Preist
7b = Crypt Zombie
7c = Maiden
7d = Jared Slim
7e = Venus
7f = Chasity
80 = Ghost
81 = The Master
82 = Mischief
83 = Mr Giggles
84 = Riot Officer
85 = Leo Krupps
86 = Stumpy
87 = Bear
88 = Kypriss
89 = Stone Golem
8a = Aztec Warrior
8b = High Preist
8c = Dinosaur
8d = Braces
8e = Handyman
8f = Candi Skyler
90 = R One-Oh-Seven
91 = The Cropolite
92 = Changeling
93 = Calamari
94 = Snowman
95 = Corporal Hart
96 = Badass Cyborg
97 = Robofish
98 = Chinese Chef
99 = Gingerbread Man
9a = Duckman Drake
9b = Ninja Monkey
9c = Gretel
9d = Goddard
9e = Schmidt
9f = Captain Ed Shivers
a0 = Crispin
a2 = Med-Unit 6
a3 = Teeth Mummy
a4 = Arial DiVinci
a5 = Dozer
a6 = Sheriff Skullface
a7 = The Deerhaunter
a8 = GOLIATH SD/9
a9 = PROMETHEUS SD/7
aa = PROMETHEUS SK/8
ab = Koozer Mox
ac = The Sheal
ad = Hans
ae = Mr. Socky
af = Eli Scrubbs
ff = EMPTY SLOT (*The following byte is also ff ex. ff ff)
=======================================================================
00000050x01 = Weapon Sets
Bits:
01 = Assorted
02 = Plasma
03 = Conventional
04 = Neon
05 = Retro
06 = Rockets
07 = Doubles
08 = Explosives
09 = Mapmaker
of = Custom****
****[bits for Custom Weapon Set Slots]
02 = Pistol 9mm
0e = Tactical 12 Guage
16 = Soviet Rifle
1d = Heat Seeker
28 = Grenades
33 = Machine Gun
36 = Baseballbat
00000050x05 = Weapon Set (Slot1)
00000050x07 = Weapon Set (Slot2)
00000050x09 = Weapon Set (Slot3)
00000050x11 = Weapon Set (Slot4)
00000050x13 = Weapon Set (Slot5)
00000050x15 = Weapon Set (Slot6)
00000070x04 = Starting Point/Rotation
Bits:
61 = South
62 = Southwest
00000250x05&06 = Mode Disable?
None = 01 80
Assault = 01 90
Bag Tag = 21 80
Capture the Bag = 11 80
Deathmatch = 05 80
Elimination = 41 80
Gladiator = 01 a0
Monkey Assistant = 01 c0
Shrink = 81 80
Story = 03 80
Team Deathmatch = 09 80
Thief = 01 82
Vampire = 01 81
Virus = 01 84
Zones = 01 88
00000250x06 = ? 80/00
00000250x07 = Something to do with Indoor Level?
Bits:
01 = ?
03 = True
00000250x08 = ? ec
=======================================================
TILE DATA
00000250x09/10 = ? 58 with 1 tile, a0 with 2 tiles, e8/06 with 3 tiles, 30/07
00000260x01 = ? 02
000004f0x05 = ?
000004f0x09 = ? 64 with 1 tile, ac with 2 tiles, f4 with 3 tiles
000004f0x10 = ?
000004f0x13 = Tile Type? Message to be display as Result of action?
Bits:
08 = Open
23 = Open Pillars
28 = Corridor 3
00000500x01 = Tile Location (X)
Bits:
00 = 0 (Left Column) to 27 = 27 (Right Column)
00000500x02 = Tile Location (Y)
Bits:
00 = 0 (Top Row) to 27 = 27 (Bottom Row)
00000500x03 = Floor Level ID
Bits:
fe = 1st Level
ff = 2nd Level
00 = 3rd Level
01 = 4th Level
02 = 5th Level
00000500x04 = Tile Orientation
Bits:
00 = Normal
01 = Rotated 90* (B Once)
02 = Rotated 180* (B Twice)
03 = Rotated 270* (X Once)
00000500x05 = 49 with 2 tiles, 41 with 3
00000500x06 = Something to do tile collection?? coincides with 510x13
(2/3 tiles,1 item, X0,Y0 & X1,Y0) = 00
(1 tile, 1 item, X0,Y0) = 02
(1 tile, 1 item, X0,Y1) = 02
00000500x08 = Indoor Level
Bits:
00 = Default
02 = YEs
00000500x12 = Tile Light Color
Bits:
fe = Default (Corridor1)
40 = Teal (2b)
00000510x13 = Something to do tile collection?? coincides with 500x06
(2 tiles,1 item, X0,Y0 & X1,Y0) = 01
(1 tile, 1 item, X0,Y0) = 00
(1 tile, 1 item, X0,Y1) = 00
(3 tiles,1 item, x0/1/2) = 02
00000510x16 = Something to do with Indoor Level?
00000520x01 = Start of Grid Tile Placement (48)?
00000520x05 = Something to do tile collection
00000520x06 = Something to do tile collection
00000520x07 = 2 tiles ='d ea, 3 = eb, 4=eb
00000520x08 = Something to do tile collection
Possible Tile collection Theory (Grid X,Y)
0,0 = 520x05/06/07/08
Corridor 1 = e9, 03, ea, 03?
00000530x13 = Main Objective Description (Story Mode) Tile data?! e9, 03, ea, 03!
00000540x05 = ?
00000540x06 = ?
00000540x07 = ?
00000540x09 = ?
00000540x10 = ?
00000540x13 = ?
00000540x16 = ?
00000550x01 = ?
00000550x03 = ?
000005e0x13/14/15/16 = Another Signing Point????
00000630x13 = Maybe Start of Map? Unknown. Each Level has their own unique serial number composed of 4 bits (13,14,15,16)??? No Tiles = 00's
00000630x14 =
00000630x15 =
00000630x16 =
000027d0x05 = Story AI Name (Slot 01)
00002820x13 = Story AI Name (Slot 02)
00002880x05 = Story AI Name (Slot 03)
000028d0x13 = Story AI Name (Slot 04)
00002930x05 = Story AI Name (Slot 05)
00002980x13 = Story AI Name (Slot 06)
000029e0x05 = Story AI Name (Slot 07)
00002a30x13 = Story AI Name (Slot 05)
All Data Here is Work of Paul Eicher Jr.
[email protected]