xboxscene.org forums

Author Topic: Timesplitters 3 Pc Map Maker  (Read 79 times)

ZPaul2Fresh8

  • Archived User
  • Jr. Member
  • *
  • Posts: 83
Timesplitters 3 Pc Map Maker
« on: April 10, 2005, 10:44:00 AM »

I've made alot of progress on the map maker on TSFP.

I've broken down the complete file structure and I'm ready to make a PC program, but I'll need some help.

I need a coder, so if you can code email me. This looks like an intermediate project that will span a few weeks and maybe into a month or so.

Thanks!
Logged

incognegro

  • Archived User
  • Hero Member
  • *
  • Posts: 1764
Timesplitters 3 Pc Map Maker
« Reply #1 on: April 20, 2005, 07:25:00 AM »

BUMP! more ppl need to see this.....
Logged

ZPaul2Fresh8

  • Archived User
  • Jr. Member
  • *
  • Posts: 83
Timesplitters 3 Pc Map Maker
« Reply #2 on: April 21, 2005, 04:23:00 PM »

Probably Not. They probably set the limit near the xbox's RAM limit. I'm looking into finding more details. I would like to improve a map's size, new textures and models.
Logged

ZPaul2Fresh8

  • Archived User
  • Jr. Member
  • *
  • Posts: 83
Timesplitters 3 Pc Map Maker
« Reply #3 on: August 07, 2005, 10:18:00 AM »

not, yet... more info to come
Logged

gothi

  • Archived User
  • Jr. Member
  • *
  • Posts: 84
Timesplitters 3 Pc Map Maker
« Reply #4 on: August 07, 2005, 11:06:00 AM »

Why not just document the map format and post it here so that someone can pick it up when they have free time? Just specify that you would like credit for documenting the format on any program that does get released smile.gif
Logged

ZPaul2Fresh8

  • Archived User
  • Jr. Member
  • *
  • Posts: 83
Timesplitters 3 Pc Map Maker
« Reply #5 on: August 07, 2005, 01:46:00 PM »

QUOTE(gothi @ Aug 7 2005, 01:17 PM)
Why not just document the map format and post it here so that someone can pick it up when they have free time? Just specify that you would like credit for documenting the format on any program that does get released smile.gif
Logged

Userlame

  • Archived User
  • Newbie
  • *
  • Posts: 20
Timesplitters 3 Pc Map Maker
« Reply #6 on: August 10, 2005, 03:29:00 PM »

I looked at a map real quick.  Saves it as marker that is fixed size (32756 bytes) so expanding maps probably won't work.

I don't know for sure if you can include new textures. It can be done through pak files. If anyone knows about some common EA modelling let me know. It almost appears to be a modfied dff. I don't know for sure though  blink.gif
Logged

ZPaul2Fresh8

  • Archived User
  • Jr. Member
  • *
  • Posts: 83
Timesplitters 3 Pc Map Maker
« Reply #7 on: August 10, 2005, 07:24:00 PM »

QUOTE(Userlame @ Aug 10 2005, 05:40 PM)
I looked at a map real quick.  Saves it as marker that is fixed size (32756 bytes) so expanding maps probably won't work.
Logged

ZPaul2Fresh8

  • Archived User
  • Jr. Member
  • *
  • Posts: 83
Timesplitters 3 Pc Map Maker
« Reply #8 on: August 10, 2005, 07:33:00 PM »

here's some motivation, some bits i jotted down:

CODE

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]


There's so info to show some serious interest in thsi project. I have all the bytes for the weapons, characters, levels, music etc...

A program was started but unsure if it will be finished, the author is MIA...

There's quite a bit of time put into the program so far, all the arrays are written. The game save signing was cracked, the only thing needed is a good user interface for map creation.
Logged

ZPaul2Fresh8

  • Archived User
  • Jr. Member
  • *
  • Posts: 83
Timesplitters 3 Pc Map Maker
« Reply #9 on: August 17, 2005, 12:11:00 PM »

Thank you Userlame for the .pak program for extracting archives.

Now since models are available, I'm working on a plug-in for Milkshape 3D to import/export Timesplitter Models.  biggrin.gif

Hopefully we can get a program to inject/zip the files so we can do some testing.

 beerchug.gif
Logged

ZPaul2Fresh8

  • Archived User
  • Jr. Member
  • *
  • Posts: 83
Timesplitters 3 Pc Map Maker
« Reply #10 on: September 26, 2005, 07:55:00 AM »

Nope, still alive. Progress is just slow  biggrin.gif
Logged