djcev.com

//

Git Repos / fte_dogmode / qc / defs_ctypes.qc

Last update to this file was on 2024-04-12 at 18:56.

Show defs_ctypes.qc

//=============================================================================
// CLASSTYPES -- inspired by the system used in Arcane Dimensions -- CEV
//=============================================================================

//======================================================================
// fields
//======================================================================

.float classgroup; // used to identify base classes
.float classtype; // used to identify an entity's type

//----------------------------------------------------------------------
// classtype list; shared by client & server
//----------------------------------------------------------------------
enum
{
CT_WORLD, // world entity

// monsters
CT_PLAYER, // player (client)

// info
CT_INFO_FOCAL_POINT, // cutscenes
CT_INFO_INTERMISSION, // id1, end-of-map camera position
CT_INFO_INTERMISSIONTEXT, // pd3? intermission text ent
CT_INFO_MONSTER_SPAWNPOINT, // pd3 monster spawnpoint
CT_INFO_MOVIE_CAMERA, // cutscenes
CT_INFO_NOTNULL, // id1?
CT_INFO_NULL, // id1?
CT_INFO_PLAYER_START, // id1 player start
CT_INFO_PLAYER_START2, // id1 player start2
CT_INFO_PLAYER_COOP, // id1 player coop start
CT_INFO_PLAYER_DEATHMATCH, // id1 player deathmatch start
CT_INFO_ROTATE, // Hipnotic info_rotate
CT_INFO_TELEPORT_CHANGEDEST, // Qmaster teleporter changedest
CT_INFO_TELEPORT_DESTINATION, // id1 teleporters
CT_INFO_TELEPORT_RANDOM, // teleporters
CT_INFO_TESTPLAYERSTART, // test player start

// func
CT_FUNC_BOB, // RennyC func_bob
CT_FUNC_BOSSGATE, // id1 func_bossgate
CT_FUNC_BREAKABLE, // AD with mod. by Qmaster, iw, and d_ds
CT_FUNC_BUTTON, // id1 / pd3 func_button
CT_FUNC_COUNTER, // Hipnotic func_counter
CT_FUNC_DOOR, // id1 doors
CT_FUNC_DOOR_SECRET, // id1 secret door
CT_FUNC_ELVTR_BUTTON, // Rogue elevator buttons
CT_FUNC_EPISODEGATE, // id1 func_episodegate
CT_FUNC_EXPLOBOX, // id1 func_explobox
CT_FUNC_FALL, // RennyC func_fall
CT_FUNC_FALL2, // RennyC & whirledtsar func_fall2
CT_FUNC_ILLUSIONARY, // id1 func_illusionary
CT_FUNC_LASER, // Rubicon2 func_laser
CT_FUNC_MONSTER_SPAWNER, // progs_dump monster spawner
CT_FUNC_MOVEWALL, // Hipnotic rotation
CT_FUNC_NEW_PLAT, // Rogue / PD3 new_plat
CT_FUNC_ONCOUNT, // Hipnotic func_oncount
CT_FUNC_PARTICLEFIELD, // Hipnotic particle field
CT_FUNC_PLAT, // id1 plats / lifts
CT_FUNC_ROTATE_DOOR, // Hipnotic rotation
CT_FUNC_ROTATE_ENTITY, // Hipnotic rotation
CT_FUNC_ROTATE_TRAIN, // Hipnotic rotation
CT_FUNC_SHADOW, // pd3 func_shadow
CT_FUNC_TOGGLEVISIBLEWALL, // pd3(?) togglevisiblewall
CT_FUNC_TOGGLEWALL, // Hipnotic func_togglewall
CT_FUNC_TRAIN, // id1 train
CT_FUNC_WALL, // func_wall

// gibs
CT_GORE_HEAD, // deadstuff
CT_GORE_HEAD_ARMY, //
CT_GORE_HEAD_DEMON, //
CT_GORE_HEAD_DOG, //
CT_GORE_HEAD_ENFORCER, //
CT_GORE_HEAD_HELL_KNIGHT, //
CT_GORE_HEAD_KNIGHT, //
CT_GORE_HEAD_OGRE, //
CT_GORE_HEAD_PLAYER, //
CT_GORE_HEAD_SHALRATH, //
CT_GORE_HEAD_SHAMBLER, //
CT_GORE_HEAD_WIZARD, //
CT_GORE_HEAD_ZOMBIE, //
CT_GORE_GIB1, //
CT_GORE_GIB2, //
CT_GORE_GIB3, //

// hazards
CT_HAZARD_LTRAIL_START, // DOE lightning trail
CT_HAZARD_LTRAIL_RELAY, // DOE lightning trail
CT_HAZARD_LTRAIL_END, // DOE lightning trail
CT_HAZARD_SHOOTER, // trap_shooter
CT_HAZARD_SPIKESHOOTER, // trap_spikeshooter
CT_HAZARD_SWITCHED_SHOOTER, // trap_switched_shooter

// items
CT_ITEM_AMMO_CELLS, // id1 item_cells
CT_ITEM_AMMO_SPIKES, // id1 item_spikes (nails)
CT_ITEM_AMMO_ROCKETS, // id1 item_rockets
CT_ITEM_AMMO_SHELLS, // id1 item_shells
CT_ITEM_ARMOR_GREEN, // id1 armor1 Green Armor
CT_ITEM_ARMOR_YELLOW, // id1 armor2 Yellow Armor
CT_ITEM_ARMOR_RED, // id1 armorInv Red Armor
CT_ITEM_ARMOR_SHARD, // pd3 armor shards
CT_ITEM_AXE, // id1 weapon axe
CT_ITEM_BACKPACK, // id1 backpacks
CT_ITEM_ENVIROSUIT, // id1 powerup environment suit
CT_ITEM_GRENADE_LAUNCHER, // id1 weapon grenade launcher
CT_ITEM_HEALTH, // id1 health
CT_ITEM_HEALTH_VIAL, // pd3 health vial (5hp bubble)
CT_ITEM_INVISIBILITY, // id1 powerup ring of shadows
CT_ITEM_INVULNERABILITY, // id1 powerup pentagram of protection
CT_ITEM_KEY1, // id1 key1 (silver)
CT_ITEM_KEY2, // id1 key2 (gold)
CT_ITEM_KEY_CUSTOM, // pd3 custom keys
CT_ITEM_LIGHTNING_GUN, // id1 weapon thunderbolt (LG)
CT_ITEM_NAILGUN, // id1 weapon nailgun (NG)
CT_ITEM_QUAD, // id1 powerup quad damage
CT_ITEM_ROCKET_LAUNCHER, // id1 weapon rocket launcher (RL)
CT_ITEM_RUNE, // id1 rune/sigil
CT_ITEM_SHOTGUN, // id1 weapon shotgun (SG)
CT_ITEM_SUPER_NAILGUN, // id1 weapon super nailgun (SNG)
CT_ITEM_SUPER_SHOTGUN, // id1 weapon super shotgun (SSG)

// lights
CT_LIGHT, // id1 light
CT_LIGHT_CANDLE, // light_candle
CT_LIGHT_FLAME_LARGE_YELLOW, // id1
CT_LIGHT_FLAME_SMALL_YELLOW, // id1
CT_LIGHT_FLAME_SMALL_WHITE, // id1
CT_LIGHT_FLUORO, // id1 light_fluoro
CT_LIGHT_FLUOROSPARK, // id1 light_fluorospark
CT_LIGHT_GLOBE, // id1 light_globe
CT_LIGHT_SPRITE_FLAME, // pd3 sprite flame
CT_LIGHT_TORCH_SMALL_WALLTORCH, // id1

// misc
CT_MISC_AIR_BUBBLES, // id1 air bubbles
CT_MISC_AMBIENT_COMPHUM, // computer hum
CT_MISC_AMBIENT_DRIP, // drip sound
CT_MISC_AMBIENT_DRONE, // drone sound
CT_MISC_AMBIENT_FBUZZ, // fluoro buzz
CT_MISC_AMBIENT_GENERAL, // Rubicon Rumble devkit ambient_general
CT_MISC_AMBIENT_FIRE, // ambient fire sound
CT_MISC_AMBIENT_LBUZZ, // light buzz
CT_MISC_AMBIENT_SUCKWIND, // suck wind
CT_MISC_AMBIENT_SWAMP1, // swamp 1
CT_MISC_AMBIENT_SWAMP2, // swamp 2
CT_MISC_AMBIENT_THUNDER, // Zerstorer ambient thunder
CT_MISC_AMBIENT_WATER1, // ambient water 1
CT_MISC_AMBIENT_WIND2, // ambient wind 2
CT_MISC_BOB, // RennyC func_bob
CT_MISC_EVENTLIGHTNING, // id1 event_lightning (Chthon)
CT_MISC_EXPLOBOX, // id1 misc_explobox
CT_MISC_EXPLOBOX2, // id1 misc_explobox2
CT_MISC_FIREBALL, // id1 misc_fireball
CT_MISC_INFIGHT, // progs_dump 3 misc_infight
CT_MISC_MODEL, // misc_model -- Joshua Skelton
CT_MISC_MODELCANDLE, // model_candle
CT_MISC_MODELTRAIN, //
CT_MISC_NOISEMAKER, // pd3 some kind of testing ent?
CT_MISC_PARTICLES, // Rubicon2 misc_splash
CT_MISC_PARTICLESPRAY, // custents misc_particlespray
CT_MISC_PARTICLE_STREAM, // Zerstorer misc_particle_stream
CT_MISC_PLAY_BFIELD, // pd3 play
CT_MISC_PLAY_BRLIGHT, // pd3 play
CT_MISC_PLAY_DIMLIGHT, // pd3 play
CT_MISC_PLAY_EXPLOSION, // pd3 play
CT_MISC_PLAY_GIBS, // pd3 play
CT_MISC_PLAY_LAVASPLASH, // pd3 play
CT_MISC_PLAY_MFLASH, // pd3 play muzzleflash
CT_MISC_PLAY_SOUND, // pd3 play_sound
CT_MISC_PLAY_SOUND_TRIGGERED, // pd3 play_sound
CT_MISC_ROTATE_OBJECT, // Hipnotic rotation
CT_MISC_SHADOWCONTROLLER, // pd3 shadows
CT_MISC_SPARKS, // misc_sparks
CT_MISC_VIEWTHING, // id1?
CT_MISC_TELE_FOG, // pd3 play
CT_MISC_TELEPORTTRAIN, // id1 teleport train

// monsters
CT_MONSTER_BOSS_CHTHON, // id1 chthon
CT_MONSTER_BOSS_CHTHON2, // pd3 killable chthon
CT_MONSTER_BOSS_OLDONE, // id1 shub
CT_MONSTER_BOSS_OLDONE2, // pd3 killable shub
CT_MONSTER_DEATHKNIGHT, // id1 hell knight / death knight
CT_MONSTER_DOG, // id1 dog / pupper
CT_MONSTER_ENFORCER, // id1 enforcer
CT_MONSTER_FIEND, // id1 demon1 / fiend / jumpy friend
CT_MONSTER_FISH, // id1 fishies
CT_MONSTER_GRUNT, // id1 army / grunt / soldier
CT_MONSTER_KNIGHT, // id1 knights
CT_MONSTER_OGRE, // id1 ogres
CT_MONSTER_OGRE_MARKSMAN, // id1 ogre marksman
CT_MONSTER_SCRAG, // id1 wizard / scrag
CT_MONSTER_SHAMBLER, // id1 shambler
CT_MONSTER_VORE, // id1 shalrath / vore
CT_MONSTER_ZOMBIE, // id1 zombie

// paths
CT_PATH_CORNER, // id1 path_corner
CT_PATH_ROTATE, // Hipnotic rotation

// projectiles
CT_PROJECTILE_BULLET, // id1 shotgun pellets
CT_PROJECTILE_FIREBALL, // created by misc_fireball
CT_PROJECTILE_FLAK, // pd3 flak projectile
CT_PROJECTILE_GRENADE, // id1 grenade projectile
CT_PROJECTILE_HKNIGHT, // id1 hell / death knight magic
CT_PROJECTILE_LASERBEAM, // id1 laser projectile
CT_PROJECTILE_LAVABALL, // id1 lava balls (chthon projectile)
CT_PROJECTILE_MINIGRENADE, // DOE mini grenades
CT_PROJECTILE_MULTIGRENADE, // DOE multi grenades (spawns the mini)
CT_PROJECTILE_ROCKET, // id1 rocket projectile
CT_PROJECTILE_SPIKE, // id1 nail/spike projectile
CT_PROJECTILE_VOREBALL, // id1 vore projectile
CT_PROJECTILE_WIZARDMISSILE, // id1 Wizard (Scrag) missile
CT_PROJECTILE_ZOMBIECHUNK, // id1 zombie gib projectile

// targets
CT_TARGET_AUTOSAVE, // target_autosave from copper
CT_TARGET_FOGBLEND, // fog
CT_TARGET_SETCOUNT, //
CT_TARGET_SETSTATE, //
CT_TARGET_TEXTSTORY, // progs_dump textstory
CT_TARGET_TEXTSTORY_HELPER, // textstory helper subclass

// triggers
CT_TRIGGER_CAMERA, // cutscenes
CT_TRIGGER_CAMERA_POINT, // cutscenes
CT_TRIGGER_CDTRACK, // progs_dump 3 cd track trigger
CT_TRIGGER_CHANGELEVEL, // id1 change level trigger
CT_TRIGGER_CHANGEMUSIC, // jleww via changemusic.rar
CT_TRIGGER_CHANGETARGET, // change an entity's target field
CT_TRIGGER_COUNTER, // id1 trigger_counter
CT_TRIGGER_CVARSET, // was in cutscene.qc; from Drake?
CT_TRIGGER_EVERYTHING, // progs_dump 3; unknown prior source
CT_TRIGGER_FILTER, //
CT_TRIGGER_FOG, // fog
CT_TRIGGER_FOGBLEND, // fog
CT_TRIGGER_HEAL, // custents trigger_heal by TGR
CT_TRIGGER_HURT, // Hipnotic trigger_hurt
CT_TRIGGER_LADDER, // rubicon2 ladders
CT_TRIGGER_LOOK, // trigger_onlookat by NullPointPaladin
CT_TRIGGER_MONSTERFACE, // progs_dump 3 monsterface
CT_TRIGGER_MONSTERJUMP, // id1 trigger_monsterjump
CT_TRIGGER_MULTIPLE, // id1 trigger_multiple
CT_TRIGGER_ONCE, // id1 trigger_once
CT_TRIGGER_ONLYREGISTERED, // id1 registered content trigger
CT_TRIGGER_PUSH, // id1 push/wind brush
CT_TRIGGER_PUSH_CUSTOM, // progs_dump push custom
CT_TRIGGER_RELAY, // id1 trigger_relay
CT_TRIGGER_SECRET, // id1 secret trigger
CT_TRIGGER_SETGRAVITY, // Hipnotic gravity trigger
CT_TRIGGER_SETSKILL, // id1 setskill trigger
CT_TRIGGER_SHAKE, // ground-shake trigger
CT_TRIGGER_TAKE_WEAPON, // take_weapon
CT_TRIGGER_TELEPORT, // id1 teleporters
CT_TRIGGER_TEXTSTORY, // progs_dump textstory
CT_TRIGGER_USEKEY, // originally based on Hipnotic code
CT_TRIGGER_VOID, // necros' trigger_void, modified

// temp entities
CT_TEMP_ANIM_CONTROLLER, // animation controller
CT_TEMP_BUBBLES, // air bubble
CT_TEMP_DELAYEDUSE, // delayed sub_usetargets
CT_TEMP_DOOR_TRIGGER, // id1 doors
CT_TEMP_EXPLOSION, // id1 explosions (BecomeExplosion)
CT_TEMP_FALL2_HELPER, // RennyC & whirledtsar fall2
CT_TEMP_FOG_CONTROLLER, // pd3 fog
CT_TEMP_KEYDEF, // pd3 custom key definition
CT_TEMP_LASER_HELPER, // Rubicon2 func_laser
CT_TEMP_NEWPLAT_TRIGGER, // pd3 newplats
CT_TEMP_PLAT_TRIGGER, // id1 plats
CT_TEMP_ROTATE_CONTROLLER, // rotation controller
CT_TEMP_SHAMBLER_FIELD, // id1 shambler field
CT_TEMP_SPARK, // misc_sparks
CT_TEMP_WIZARDSPELL // id1 wizard spell (spawns missiles)
};

//----------------------------------------------------------------------
// classgroups, defined as needed; I did not want to do this -- CEV
// go no higher than 24 bits (according to the FTEQCC manual) -- CEV
// current count: 16 -- CEV
//----------------------------------------------------------------------
enumflags
{
CG_TEMPENTITY, // temporary entities
CG_MAPENTITY, // mapper-placeable entities
CG_FUNC, // func_*
CG_FUNC_ROTATE, // rotation objects
CG_ITEM, // items
CG_ITEM_ARMOR, // armor pickups
CG_ITEM_AMMO, // ammunition boxes
CG_ITEM_HEALTH, // health pickups
CG_ITEM_KEY, // keys
CG_ITEM_POWERUP, // powerups
CG_ITEM_WEAPON, // weapon pickups
CG_MONSTER, //
CG_MONSTER_FLY, //
CG_MONSTER_SWIM, //
CG_PROJECTILE, // missiles & projectiles
CG_TRIGGER // trigger_*
};

Return to the top of this page or return to the overview of this repo.

Log defs_ctypes.qc

Date Commit Message Author + -
2024-04-12 Moveable gibs, heads, some bugfixes cev +16 -14
2024-04-05 Player footsteps, shareware monsters, misc? cev +2  
2024-03-24 2nd pass refactor, rework QC class structure cev +300  

Return to the top of this page or return to the overview of this repo.