From DoomWiki.org

< User:Quasar‎ | Sandbox
Revision as of 12:11, 13 July 2020 by Quasar (talk | contribs) (Doom 64 basic specs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Doomednums[edit]

Ordinal Doomednum
MT_PLAYERBOT1 3008
MT_PLAYERBOT2 3009
MT_PLAYERBOT3 3010
MT_DEMON1 3002
MT_DEMON2 58
MT_MANCUBUS 67
MT_POSSESSED1 3004
MT_POSSESSED2 9
MT_IMP1 3001
MT_IMP2 3007
MT_CACODEMON 3005
MT_BRUISER1 3003
MT_BRUISER2 69
MT_SKULL 3006
MT_BABY 68
MT_CYBORG 16
MT_CYBORG_TITLE 3014
MT_PAIN 71
MT_RESURRECTOR 3013
MT_CAMERA 0
MT_DEST_TELEPORT 14
MT_DEST_PROJECTILE 2050
MT_FAKEITEM 89
MT_LASERMARKER 90
MT_GIB_CRUSHED 24
MT_ITEM_ARMOR1 2018
MT_ITEM_ARMOR2 2019
MT_ITEM_BONUSHEALTH 2014
MT_ITEM_BONUSARMOR 2015
MT_ITEM_BLUECARDKEY 5
MT_ITEM_REDCARDKEY 13
MT_ITEM_YELLOWCARDKEY 6
MT_ITEM_YELLOWSKULLKEY 39
MT_ITEM_REDSKULLKEY 38
MT_ITEM_BLUESKULLKEY 40
MT_ITEM_ARTIFACT1 1042
MT_ITEM_ARTIFACT2 1043
MT_ITEM_ARTIFACT3 1044
MT_ITEM_STIMPACK 2011
MT_ITEM_MEDKIT 2012
MT_ITEM_SOULSPHERE 2013
MT_ITEM_INVULSPHERE 2022
MT_ITEM_BERSERK 2023
MT_ITEM_INVISSPHERE 2024
MT_ITEM_RADSPHERE 2025
MT_ITEM_AUTOMAP 2026
MT_ITEM_PVIS 2045
MT_ITEM_MEGASPHERE 83
MT_AMMO_CLIP 2007
MT_AMMO_CLIPBOX 2048
MT_AMMO_ROCKET 2010
MT_AMMO_ROCKETBOX 2046
MT_AMMO_CELL 2047
MT_AMMO_CELLPACK 17
MT_AMMO_SHELL 2008
MT_AMMO_SHELLBOX 2049
MT_AMMO_BACKPACK 8
MT_WEAP_BFG 2006
MT_WEAP_CHAINSAW 2005
MT_WEAP_CHAINGUN 2002
MT_WEAP_LAUNCHER 2003
MT_WEAP_PLASMA 2004
MT_WEAP_SHOTGUN 2001
MT_WEAP_SSHOTGUN 82
MT_WEAP_LCARBINE 84
MT_PROP_FIRE 2051
MT_PROP_CANDLE 34
MT_PROP_BARREL 1001
MT_PROP_TECHLAMP1 1015
MT_PROP_TECHLAMP2 1016
MT_PROP_TORCHBLUE 1003
MT_PROP_TORCHYELLOW 1039
MT_PROP_TORCHRED 1025
MT_PROP_POLEBASELONG 1050
MT_PROP_POLEBASESHORT 1051
MT_PROP_FIREBLUE 1033
MT_PROP_FIRERED 1034
MT_PROP_FIREYELLOW 1035
MT_GIB_MEATSTICK 1005
MT_GIB_MEATHANG 1006
MT_GIB_TORSOHANG 1007
MT_GIB_RIBFLOOR 1008
MT_GIB_TWITCHFLOOR 1009
MT_GIB_BLOODPOOL 1010
MT_GIB_BONEFLOOR 1011
MT_GIB_MEATRIBFLOOR 1012
MT_GIB_MEATRIBCAGE 1013
MT_GIB_CHAINHOOK 1014
MT_GIB_HANGCAGE 1017
MT_GIB_CHAINPINSER 1018
MT_GIB_CHAINARM 1019
MT_GIB_HANGMACE1 1020
MT_GIB_HEADSTICK1 1022
MT_GIB_HEADSTICK2 1023
MT_GIB_DOUBLEMEATSTICK 1024
MT_PROP_STATUE1 1028
MT_PROP_STATUE2 1029
MT_PROP_TECHPOLELONG 1031
MT_PROP_TECHPOLESHORT 1032
MT_PROP_TREESTUMPSMALL 1036
MT_PROP_TREESTUMPLARGE 1037
MT_PROP_TREE 1038
MT_PROP_BLOODYPOLE 1045
MT_GIB_HANGMACE2 1046
MT_GIB_HANGWHITEMEAT 1047
MT_GIB_HANGHEAD 1048
MT_GIB_HANGRIB 1049

Map structures[edit]

struct maplights_t
{
    byte    r;
    byte    g;
    byte    b;
    byte    a;
    int16_t tag;
};

struct mapsidedef_t
{
    int16_t     textureoffset;
    int16_t     rowoffset;
    uint16_t    toptexture;
    uint16_t    bottomtexture;
    uint16_t    midtexture;
    int16_t     sector;
};

struct maplinedef_t
{
    uint16_t    v1;
    uint16_t    v2;
    int         flags;
    int16_t     special;
    int16_t     tag;
    uint16_t    sidenum[2];
};

// Line flags
#define ML_BLOCKING             1               // Solid, is an obstacle.
#define ML_BLOCKMONSTERS        2               // Blocks monsters only.
#define ML_TWOSIDED             4               // Backside will not be present at all if not two sided.
#define ML_DONTPEGTOP           8               // upper texture unpegged
#define ML_DONTPEGBOTTOM        16              // lower texture unpegged
#define ML_SECRET               32              // In AutoMap: don't map as two sided: IT'S A SECRET!
#define ML_SOUNDBLOCK           64              // Sound rendering: don't let sound cross two of these.
#define ML_DONTDRAW             128             // Don't draw on the automap at all.
#define ML_MAPPED               256             // Set if already seen, thus drawn in automap.
#define ML_DRAWMASKED           0x200           // Draw middle texture on sidedef
#define ML_DONTOCCLUDE          0x400           // Don't add to occlusion buffer
#define ML_BLOCKPROJECTILES     0x800           // blocks projectiles
#define ML_THINGTRIGGER         0x1000          // Line is triggered by dead thing (flagged as ondeathtrigger)
#define ML_SWITCHX02            0x2000          // Switch flag 1
#define ML_SWITCHX04            0x4000          // Switch flag 2
#define ML_SWITCHX08            0x8000          // Switch flag 3
#define ML_CHECKFLOORHEIGHT     0x10000         // if true then check the switch's floor height, else use the ceiling height
#define ML_SCROLLRIGHT          0x20000         // scroll texture to the right
#define ML_SCROLLLEFT           0x40000         // scroll texture to the left
#define ML_SCROLLUP             0x80000         // scroll texture up
#define ML_SCROLLDOWN           0x100000        // scroll texture down
#define ML_BLENDFULLTOP         0x200000        // do not extend blending for top texture
#define ML_BLENDFULLBOTTOM      0x400000        // do not extend blending for bottom texture
#define ML_BLENDING             0x800000        // use sector color blending (top/lower, ceiling, floor colors).
#define ML_TRIGGERFRONT         0x1000000       // can only trigger from the front of the line
#define ML_HIDEAUTOMAPTRIGGER   0x2000000       // don't display as yellow line special in automap
#define ML_INVERSEBLEND         0x4000000       // reverse the blending of the sector colors
#define ML_UNKNOWN8000000       0x8000000       // reserved
#define ML_UNKNOWN10000000      0x10000000      // reserved
#define ML_UNKNOWN20000000      0x20000000      // reserved
#define ML_HMIRROR              0x40000000      // horizontal mirror the texture
#define ML_VMIRROR              0x80000000      // vertical mirror the texture

// Special attributes
#define MLU_MACRO               0x100           // line is set to be used as a macro
#define MLU_RED                 0x200           // requires red key
#define MLU_BLUE                0x400           // requires blue key
#define MLU_YELLOW              0x800           // requires yellow key
#define MLU_CROSS               0x1000          // must cross to trigger
#define MLU_SHOOT               0x2000          // must shoot the line to trigger
#define MLU_USE                 0x4000          // must press use on the line to trigger
#define MLU_REPEAT              0x8000          // line can be reactivated again

// Sector light indices
enum
{
    LIGHT_FLOOR,
    LIGHT_CEILING,
    LIGHT_THING,
    LIGHT_UPRWALL,
    LIGHT_LWRWALL
};

struct mapsector_t
{
    int16_t     floorheight;
    int16_t     ceilingheight;
    uint16_t    floorpic;
    uint16_t    ceilingpic;
    uint16_t    colors[5];
    int16_t     special;
    int16_t     tag;
    uint16_t    flags;
};

// Sector flags
#define MS_REVERB               1       // sounds are echoed in this sector
#define MS_REVERBHEAVY          2       // heavier echo effect
#define MS_LIQUIDFLOOR          4       // water effect (blitting two flats together)
#define MS_SYNCSPECIALS         8       // sync light special with multiple sectors
#define MS_SCROLLFAST           16      // faster ceiling/floor scrolling
#define MS_SECRET               32      // count secret when entering and display message
#define MS_DAMAGEX5             64      // damage player x5
#define MS_DAMAGEX10            128     // damage player x10
#define MS_DAMAGEX20            256     // damage player x20
#define MS_HIDESSECTOR          512     // hide subsectors in automap (textured mode)
#define MS_SCROLLCEILING        1024    // enable ceiling scrolling
#define MS_SCROLLFLOOR          2048    // enable floor scrolling
#define MS_SCROLLLEFT           4096    // scroll flat to the left
#define MS_SCROLLRIGHT          8192    // scroll flat to the right
#define MS_SCROLLUP             16384   // scroll flat to the north
#define MS_SCROLLDOWN           32768   // scroll flat to the south

// Thing flags
// Skill flags.
#define MTF_EASY            1
#define MTF_NORMAL          2
#define MTF_HARD            4
#define MTF_AMBUSH          8      // Deaf monsters/do not react to sound.
#define MTF_MULTI           16     // Multiplayer specific
#define MTF_SPAWN           32     // Don't spawn until triggered in level
#define MTF_ONTOUCH         64     // Trigger something when picked up
#define MTF_ONDEATH         128    // Trigger something when killed
#define MTF_SECRET          256    // Count as secret for intermission when picked up
#define MTF_NOINFIGHTING    512    // Ignore other attackers
#define MTF_NODEATHMATCH    1024   // Don't spawn in deathmatch games
#define MTF_NONETGAME       2048   // Don't spawn in standard netgame mode (coop)
#define MTF_NIGHTMARE       4096   // [kex] Nightmare thing

struct mapthing_t
{
    int16_t     x;
    int16_t     y;
    int16_t     z;
    int16_t     angle;
    int16_t     type;
    int16_t     options;
    int16_t     tid;
};