Caesar 3 Scenario Format
This is the single easiest file format to deal with. All scenario files are exactly the same size: 211692 bytes. While some blocks of data are still unknown to me, here's what I have figured out:
Offset (hex) | Length (bytes) | Description |
---|---|---|
0x0 | 52488 | Short grid, graphic IDs. Each ID corresponds to a different graphic element / building |
0xcd08 | 26244 | Byte grid, edge data |
0x1338c | 52488 | Short grid, terrain data |
0x20094 | 26244 | Byte grid, related to "randomness" in terrain. 00 or 20 (hex), 01 or 21 for 2x2 buildings, etc |
0x26718 | 26244 | Byte grid, random numbers used for, among others: merging houses, tile appearance, minimap colours |
0x2cd9c | 26244 | Byte grid, indicates the elevation level: 0 for the "ground" level, 1 for the first elevation level, 2 for the second, and so on |
0x33428 | 8 | Camera X and Y position, 4 byte integer each |
0x33430 | 2 | Starting date, negative for BC |
0x33434 | 1 | Empire location, 00 = Lugdunum, etc |
0x3343e | 160 | 20 requests, divided into 4 parts of 20 shorts: (1) years into mission, (2) good ID, (3) amount, (4) time to fulfill in months |
0x334de | 200 | 20 invasions, divided into 5 parts of 20 shorts: (1) years into mission, (2) type: 0 = none, 1 = barbarian, 2 = enemy, 3 = distant battle, (3) number of invaders, (4) attack point, 0-7 or 8 for random, (5) attack: 0 = food, 1 = gold, 2 = buildings, 3 = troops, 4 = random |
0x335a8 | 4 | Starting funds |
0x335ac | 4 | Enemy nationality |
0x335b4 | 8 | Map width and height, both integers, both should be the same value |
0x335c4 | 24 | Brief description |
0x33822 | 1 | Image ID |
0x33826 | 1 | Rank: 0 = citizen, etc |
0x33828 | 16 | Herd points, split up in 2 chunks of 4 shorts each. First chunk is X coordinate, second is Y coordinates |
0x338b0 | 100 | Price changes, 1x 20 shorts plus 3x 20 bytes. (1) year, (2) good ID, (3) amount, (4) 0 = fall, 1 = rise |
0x33928 | 44 | Special events. In order: gladiator revolt flag, gladiator revolt year, change of Emperor flag, change of Emperor year, sea / land trade problem flags, Rome raises / lowers wages flags, contaminated water flag, iron mine collapse flag, and clay pit flooded flag |
0x33954 | 32 | Fishing points, see herd points |
0x33974 | 20 | Requests: favour gained |
0x339ec | 2 | Rome supplies wheat flag |
0x339f2 | 94 | Short flags: enable/disable buildings |
0x33a54 | 16 | Rating requirements (integers): culture, prosperity, peace, favor |
0x33a64 | 4 | Flags whether ratings are required: culture, prosperity, peace, favor |
0x33a68 | 8 | Flag and value in years, integer each: Time limit (losing time) |
0x33a70 | 8 | Flag and value in years, integer each: Survival time (winning time) |
0x33a78 | 8 | Earthquake type and year, integer each. Type: 0 = none, 1 = minor, 2 = average, 3 = major |
0x33a80 | 8 | Flag and value, integer each: population requirement |
0x33a88 | 4 | Earthquake point, X and Y coordinates, short each |
0x33a8c | 8 | People entry and exit point |
0x33a94 | 32 | 8 invasion points, see fish points |
0x33ab4 | 8 | River entry and exit point |
0x33abc | 4 | Rescue loan |
0x33ac0 | 12 | 3 milestones: 25%, 50%, 75% |
0x33ad8 | 1 | Climate: 0 = central, 1 = northern, 2 = desert |
0x33ad9 | 2 | Flag: flotsam on |
Last modified on 2008-07-06 15:15:57