diff --git a/src/mapdef/mapdef.txt b/src/mapdef/mapdef.txt
index 004e8584c24587ae5b229ef1476ea2692d55d8af..91453e0f7128fa452c7c08bc0f6aeb0c3cbc8eac 100644 (file)
--- a/src/mapdef/mapdef.txt
+++ b/src/mapdef/mapdef.txt
////////////////////////////////////////////////////////////////////////////////
// main blocks
"map" size 452 bytes header binblock 7 {
- "name" type char[32] offset 0 writedefault;
- "author" type char[32] offset 32 default "" writedefault;
- "description" type char[256] offset 64 default "" writedefault;
- "music" type char[64] offset 320 default 'Standart.wad:D2DMUS\ПРОСТОТА' writedefault;
- "sky" type char[64] offset 384 default 'Standart.wad:D2DSKY\RSKY1' writedefault;
+ "name" type char[32] offset 0 writedefault tip "map name";
+ "author" type char[32] offset 32 default "" writedefault tip "map author";
+ "description" type char[256] offset 64 default "" writedefault tip "map description";
+ "music" type char[64] offset 320 default 'Standart.wad:D2DMUS\ПРОСТОТА' writedefault tip "music resource";
+ "sky" type char[64] offset 384 default 'Standart.wad:D2DSKY\RSKY1' writedefault tip "sky resource";
"size" type size offset 448 as wh writedefault;
+ // not in binary
+ // temporary, for lighting experiments
+ "light_ambient" type color default (0 0 0 255) tip "ambient light for the whole level";
}
"texture" size 65 bytes binblock 1 {
"keys" type ubyte offset 19 bitset Key default KEY_NONE;
//WARNING: "trigdata" MUST be defined before "type", and "type" MUST be named "type" (for now, can be changed later)
"triggerdata" type trigdata[128] offset 20; // the only special nested structure
+ //DO NOT USE! experimental feature! will be removed!
+ "exoma_init" type string default "" tip "will be called on trigger creation";
+ "exoma_think" type string default "" tip "will be called on each think step";
+ "exoma_check" type string default "" tip "will be called before activation";
+ "exoma_action" type string default "" tip "will be called on activation";
}
EFFECT_FIRE, // 3
}
+//WARNING! max allowed items types is 127
enum Item {
ITEM_NONE, // 0
ITEM_MEDKIT_SMALL, // 1
TRIGGER_SHOT_BFG, // 12
TRIGGER_SHOT_EXPL, // 13
TRIGGER_SHOT_BFGEXPL, // 14
+ TRIGGER_SHOT_FLAME, // 15
//
TRIGGER_SHOT_MAX = MAX,
}
KEY_BLUETEAM, // 16
}
+enum HitType {
+ HIT_SOME, // 0
+ HIT_ROCKET, // 1
+ HIT_BFG, // 2
+ HIT_TRAP, // 3
+ HIT_FALL, // 4
+ HIT_WATER, // 5
+ HIT_ACID, // 6
+ HIT_ELECTRO, // 7
+ HIT_FLAME, // 8
+ HIT_SELF, // 9
+ HIT_DISCON, // 10
+}
+
////////////////////////////////////////////////////////////////////////////////
// various triggers
"ext_random" type bool offset 20 default false;
// this one is for moving platforms
"panelid" panel default null;
+ "silent" type bool default true;
+ "sound" type string default "";
}
enum TriggerScoreTeam {
"position" type point offset 0 as txy writedefault;
"type" alias shotType type ubyte offset 8 enum TriggerShot writedefault;
"target" alias shotTarget type ubyte offset 9 enum TriggerShotTarget writedefault;
- "quiet" type negbool offset 10; // negbool!
+ "sound" alias shotSound type negbool offset 10; // negbool!
"aim" type byte offset 11 enum TriggerShotAim default TRIGGER_SHOT_AIM_DEFAULT;
"panelid" type int offset 12 panel default null writedefault;
"sight" type ushort offset 16;