War3map.w3i

From Source Peek Wiki

Jump to: navigation, search
This page needs work yet! Please edit it and remove the NeedsWork template tag. You may find more pages which need work here

It contains some of the info displayed when you start a game.

Contents

Reign of Chaos Format

Type Description
int file format version = 18
int number of saves (map version)
int editor version (little endian)
String map name
String map author
String map description
String players recommended
float (8) "Camera Bounds" as defined in the JASS file
int Camera Bounds Complments (A)
int Camera Bounds Complments (B)
int Camera Bounds Complments (C)
int Camera Bounds Complments (D)
int map playable area width E* (see note 1)
int map playable area height F* (see note 1)
int flags (see below)
char map main ground type (see below)
int Campaign background number (-1 = none)
String Map loading screen text
String Map loading screen title
String Map loading screen subtitle
int Map loading screen number (-1 = none)
String Prologue screen text
String Prologue screen title
String Prologue screen subtitle
int max number "MAXPL" of players
array of structures then, there is MAXPL times a player data like described below.
int max number "MAXFC" of forces
int Forces Flags (see below)
int unknown (usually -1)
array of structures then, there is MAXFC times a force data like described below.
int if 0 it means that we've reached the end of the w3i. if it's non-zero, the following bytes define special settings for the map (techtree, upgrades,...)

note 1:

  • map width = A + E + B
  • map height = C + F + D

Flags

  • 0x0001: 1=hide minimap in preview screens
  • 0x0002: 1=modify ally priorities
  • 0x0004: 1=melee map
  • 0x0008: 1=playable map size was large and has never been reduced to medium (?)
  • 0x0010: 1=masked area are partially visible
  • 0x0020: 1=fixed player setting for custom forces
  • 0x0040: 1=use custom forces
  • 0x0080: 1=use custom techtree
  • 0x0100: 1=use custom abilities
  • 0x0200: 1=use custom upgrades
  • 0x0400: 1=map properties menu opened at least once since map creation (?)
  • 0x0800: 1=show water waves on cliff shores
  • 0x1000: 1=show water waves on rolling shores

Forces Flags

  • 0x00000001: allied (force 1)
  • 0x00000002: allied victory
  • 0x00000004: share vision
  • 0x00000010: share unit control
  • 0x00000020: share advanced unit control

Ground Types

Key Description
A Ashenvale
X City Dalaran

Player Data

Type Description
int number
int player type 1=Human, 2=Computer, 3=Neutral, 4=Rescuable
int player race 1=Human, 2=Orc, 3=Undead, 4=Night Elf
int 00000001 = fixed start position
String Player name
float Starting coordinate X
float Starting coordinate Y
int ally low priorities flags (bit "x"=1 --> set for player "x")
int ally high priorities flags (bit "x"=1 --> set for player "x")

Forces Data

Type Description
String Force name
int flags (see force flags)
int players (bitmask)


Frozen Throne Format

int: file format version = 19 (and 25 thx PitzerMike) int: number of saves (map version) int: editor version (little endian) String: map name String: map author String: map description String: players recommended float[8]: "Camera Bounds" as defined in the JASS file int[4]: camera bounds complements* (see note 1) (ints A, B, C and D) int: map playable area width E* (see note 1) int: map playable area height F* (see note 1)

  *note 1:
  map width = A + E + B
  map height = C + F + D

int: flags

  0x0001: 1=hide minimap in preview screens
  0x0002: 1=modify ally priorities
  0x0004: 1=melee map
  0x0008: 1=playable map size was large and has never been reduced to medium (?)
  0x0010: 1=masked area are partially visible
  0x0020: 1=fixed player setting for custom forces
  0x0040: 1=use custom forces
  0x0080: 1=use custom techtree
  0x0100: 1=use custom abilities
  0x0200: 1=use custom upgrades
  0x0400: 1=map properties menu opened at least once since map creation (?)
  0x0800: 1=show water waves on cliff shores
  0x1000: 1=show water waves on rolling shores
  0x2000: 1=unknown
  0x4000: 1=unknown
  0x8000: 1=unknown

char: map main ground type

  Example: 'A'= Ashenvale, 'X' = City Dalaran

int: Campaign background number (-1 = none) String: Map loading screen text String: Map loading screen title String: Map loading screen subtitle String: unknown int: Map loading screen number (-1 = none) (v25): String: (? need some investigations, should be the path of the custom loading screen) String: Prologue screen text String: Prologue screen title String: Prologue screen subtitle String: unknown float: unknown (fog z start?) float: unknown (fog z end?) float: unknown (fog intensity?) byte[10]: ? (maybe some strings?) int: unknown (-1) int: max number "MAXPL" of players array of structures: then, there is MAXPL times a player data like described below. int: max number "MAXFC" of forces int: Foces Flags

  0x00000001: allied (force 1)
  0x00000002: allied victory
  0x00000004: share vision
  0x00000010: share unit control
  0x00000020: share advanced unit control

int: unknown (usually -1) array of structures: then, there is MAXFC times a force data like described below. int: if 0 it means that we reach the end of the w3i

  if it's non-zero, the following bytes define special settings for the map (techtree, upgrades,...)

Players data format: int: unknown int: player type

  1=Human, 2=Computer, 3=Neutral, 4=Rescuable

int: player race

  1=Human, 2=Orc, 3=Undead, 4=Night Elf

int: 00000001 = fixed start position String: Player name float: Starting coordinate X float: Starting coordinate Y int: ally low priorities flags (bit "x"=1 --> set for player "x") int: ally high priorities flags (bit "x"=1 --> set for player "x")

Forces data format: String: Force name int: unknown int: unknown int: unknown

Personal tools
Sponsors