]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/csqcmodel_settings.qh
Merge branch 'TimePath/cleanup'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / csqcmodel_settings.qh
index 04a7a7d3ef0745548a90aa04dbb2322679e94564..256142759d622b44fd4baa21ddb0d5537120fb49 100644 (file)
@@ -1,116 +1,6 @@
 #ifndef CSQCMODEL_SETTINGS_H
 #define CSQCMODEL_SETTINGS_H
 
-#if defined(CSQC)
-       #include "util-pre.qh"
-       #include "../client/sys-pre.qh"
-       #include "../dpdefs/csprogsdefs.qh"
-       #include "../client/sys-post.qh"
-       #include "../client/defs.qh"
-       #include "../dpdefs/keycodes.qh"
-       #include "constants.qh"
-       #include "stats.qh"
-       #include "../warpzonelib/anglestransform.qh"
-       #include "../warpzonelib/mathlib.qh"
-       #include "../warpzonelib/common.qh"
-       #include "../warpzonelib/client.qh"
-       #include "playerstats.qh"
-       #include "teams.qh"
-       #include "util.qh"
-       #include "nades.qh"
-       #include "buffs.qh"
-       #include "test.qh"
-       #include "counting.qh"
-       #include "weapons/weapons.qh"
-       #include "mapinfo.qh"
-       #include "command/markup.qh"
-       #include "command/rpn.qh"
-       #include "command/generic.qh"
-       #include "command/shared_defs.qh"
-       #include "urllib.qh"
-       #include "animdecide.qh"
-       #include "../client/command/cl_cmd.qh"
-       #include "monsters/monsters.qh"
-       #include "../client/autocvars.qh"
-       #include "notifications.qh"
-       #include "deathtypes.qh"
-       #include "../client/damage.qh"
-       #include "../csqcmodellib/interpolate.qh"
-       #include "../client/teamradar.qh"
-       #include "../client/hud.qh"
-       #include "../client/scoreboard.qh"
-       #include "../client/waypointsprites.qh"
-       #include "../client/movetypes.qh"
-       #include "../client/prandom.qh"
-       #include "../client/bgmscript.qh"
-       #include "../client/noise.qh"
-       #include "../client/tturrets.qh"
-       #include "../server/tturrets/include/turrets_early.qh"
-       #include "../client/main.qh"
-       #include "../client/vehicles/vehicles.qh"
-#elif defined(MENUQC)
-#elif defined(SVQC)
-       #include "util-pre.qh"
-    #include "../server/sys-pre.qh"
-    #include "../dpdefs/progsdefs.qh"
-    #include "../dpdefs/dpextensions.qh"
-    #include "../server/sys-post.qh"
-    #include "../warpzonelib/anglestransform.qh"
-    #include "../warpzonelib/mathlib.qh"
-    #include "../warpzonelib/common.qh"
-    #include "../warpzonelib/util_server.qh"
-    #include "../warpzonelib/server.qh"
-    #include "constants.qh"
-    #include "stats.qh"
-    #include "teams.qh"
-    #include "util.qh"
-    #include "nades.qh"
-    #include "buffs.qh"
-    #include "test.qh"
-    #include "counting.qh"
-    #include "urllib.qh"
-    #include "command/markup.qh"
-    #include "command/rpn.qh"
-    #include "command/generic.qh"
-    #include "command/shared_defs.qh"
-    #include "net_notice.qh"
-    #include "animdecide.qh"
-    #include "monsters/monsters.qh"
-    #include "monsters/sv_monsters.qh"
-    #include "monsters/spawn.qh"
-    #include "weapons/config.qh"
-    #include "weapons/weapons.qh"
-    #include "../server/weapons/accuracy.qh"
-    #include "../server/weapons/common.qh"
-    #include "../server/weapons/csqcprojectile.qh"
-    #include "../server/weapons/hitplot.qh"
-    #include "../server/weapons/selection.qh"
-    #include "../server/weapons/spawning.qh"
-    #include "../server/weapons/throwing.qh"
-    #include "../server/weapons/tracing.qh"
-    #include "../server/weapons/weaponstats.qh"
-    #include "../server/weapons/weaponsystem.qh"
-    #include "../server/t_items.qh"
-    #include "../server/autocvars.qh"
-    #include "../server/constants.qh"
-    #include "../server/defs.qh"
-    #include "notifications.qh"
-    #include "deathtypes.qh"
-    #include "../server/mutators/mutators_include.qh"
-    #include "../server/tturrets/include/turrets_early.qh"
-    #include "../server/vehicles/vehicles_def.qh"
-    #include "../server/campaign.qh"
-    #include "campaign_common.qh"
-    #include "mapinfo.qh"
-    #include "../server/command/common.qh"
-    #include "../server/command/banning.qh"
-    #include "../server/command/radarmap.qh"
-    #include "../server/command/vote.qh"
-    #include "../server/command/getreplies.qh"
-    #include "../server/command/cmd.qh"
-    #include "../server/command/sv_cmd.qh"
-#endif
-
 // define this if svqc code wants to use .frame2 and .lerpfrac
 //#define CSQCMODEL_HAVE_TWO_FRAMES
 
 //#define CSQCMODEL_SUPPORT_GETTAGINFO_BEFORE_DRAW
 
 // server decides crouching, this lags, but so be it
-#define CSQCMODEL_SERVERSIDE_CROUCH
+//#define CSQCMODEL_SERVERSIDE_CROUCH
 
 // a hack for Xonotic
 #ifdef CSQC
 # define TAG_ENTITY_NAME tag_networkentity
 # define TAG_ENTITY_TYPE float
 .float tag_networkentity;
+
+# define TAG_VIEWLOC_NAME tag_networkviewloc
+# define TAG_VIEWLOC_TYPE int
+.float tag_networkviewloc;
 #else
 # define TAG_ENTITY_NAME tag_entity
 # define TAG_ENTITY_TYPE entity
+
+# define TAG_VIEWLOC_NAME viewloc
+# define TAG_VIEWLOC_TYPE entity
 #endif
 
 // new fields
        CSQCMODEL_PROPERTY(2, int, ReadInt24_t, WriteInt24_t, effects) \
        CSQCMODEL_PROPERTY(4, int, ReadByte, WriteByte, modelflags) \
        CSQCMODEL_PROPERTY_SCALED(8, float, ReadByte, WriteByte, alpha, 254, -1, 254) \
-       CSQCMODEL_PROPERTY(16, float, ReadByte, WriteByte, skin) \
+       CSQCMODEL_PROPERTY(16, int, ReadByte, WriteByte, skin) \
        CSQCMODEL_PROPERTY(32, float, ReadApproxPastTime, WriteApproxPastTime, death_time) \
        CSQCMODEL_PROPERTY(64, float, ReadByte, WriteByte, solid) \
        CSQCMODEL_IF(!isplayer) \
                CSQCMODEL_PROPERTY(128, TAG_ENTITY_TYPE, ReadShort, WriteEntity, TAG_ENTITY_NAME) \
-               CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, glowmod_x, 255, 0, 255) \
-               CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, glowmod_y, 255, 0, 255) \
-               CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, glowmod_z, 255, 0, 255) \
-               CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, colormod_x, 255, 0, 255) \
-               CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, colormod_y, 255, 0, 255) \
-               CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, colormod_z, 255, 0, 255) \
+               CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, glowmod_x, 254, -1, 254) \
+               CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, glowmod_y, 254, -1, 254) \
+               CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, glowmod_z, 254, -1, 254) \
+               CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, colormod_x, 254, -1, 254) \
+               CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, colormod_y, 254, -1, 254) \
+               CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, colormod_z, 254, -1, 254) \
        CSQCMODEL_ENDIF \
        CSQCMODEL_IF(isplayer) \
-               CSQCMODEL_PROPERTY(128, float, ReadByte, WriteByte, anim_state) \
+               CSQCMODEL_PROPERTY(128, int, ReadByte, WriteByte, anim_state) \
                CSQCMODEL_PROPERTY(128, float, ReadApproxPastTime, WriteApproxPastTime, anim_time) \
                CSQCMODEL_IF(!islocalplayer) \
                        CSQCMODEL_PROPERTY(256, float, ReadChar, WriteChar, anim_lower_action) \
                CSQCMODEL_PROPERTY(512, float, ReadApproxPastTime, WriteApproxPastTime, anim_upper_time) \
        CSQCMODEL_ENDIF \
        CSQCMODEL_PROPERTY(1024, float, ReadAngle, WriteAngle, v_angle_x) \
-       CSQCMODEL_PROPERTY_SCALED(4096, float, ReadByte, WriteByte, scale, 16, 0, 255)
+       CSQCMODEL_PROPERTY(2048, int, ReadByte, WriteByte, traileffect) \
+       CSQCMODEL_PROPERTY_SCALED(4096, float, ReadByte, WriteByte, scale, 16, 0, 255) \
+       CSQCMODEL_PROPERTY(8192, int, ReadInt24_t, WriteInt24_t, dphitcontentsmask) \
+       CSQCMODEL_PROPERTY(16384, TAG_VIEWLOC_TYPE, ReadShort, WriteEntity, TAG_VIEWLOC_NAME)
 // TODO get rid of colormod/glowmod here, find good solution for vortex charge glowmod hack; also get rid of some useless properties on non-players that only exist for CopyBody
 
 // add hook function calls here
        CSQCModel_Hook_PostUpdate(isnew, isplayer, islocalplayer);
 #define CSQCMODEL_HOOK_PREDRAW \
        CSQCModel_Hook_PreDraw(isplayer);
-#define CSQCPLAYER_HOOK_POSTCAMERASETUP
+#define CSQCPLAYER_HOOK_POSTCAMERASETUP \
+       CSQCPlayer_SetViewLocation();
 
 // force updates of player entities that often even if unchanged
-const float CSQCPLAYER_FORCE_UPDATES = 0.25;
+#define CSQCPLAYER_FORCE_UPDATES 0.25
 
 // mod must define:
 //vector PL_MIN  = ...;
@@ -186,9 +87,9 @@ const float CSQCPLAYER_FORCE_UPDATES = 0.25;
 //vector PL_CROUCH_VIEW_OFS  = ...;
 
 #ifdef SVQC
-# define CSQCMODEL_AUTOINIT() CSQCModel_LinkEntity()
-# define CSQCMODEL_AUTOUPDATE() CSQCModel_CheckUpdate()
+# define CSQCMODEL_AUTOINIT(e) CSQCModel_LinkEntity(e)
+# define CSQCMODEL_AUTOUPDATE(e) CSQCModel_CheckUpdate(e)
 #endif
 
 #define CSQCMODEL_EF_RESPAWNGHOST EF_SELECTABLE
-#endif
\ No newline at end of file
+#endif