diff --git a/platform/base_textures.pk3dir/textures/editor/env_laser.mat b/platform/base_textures.pk3dir/textures/editor/env_laser.mat new file mode 100644 index 00000000..85ff33ea --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/env_laser.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/env_laser.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/env_laser.tga b/platform/base_textures.pk3dir/textures/editor/env_laser.tga new file mode 100644 index 00000000..8c1faad6 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/env_laser.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/env_message.mat b/platform/base_textures.pk3dir/textures/editor/env_message.mat new file mode 100644 index 00000000..7ed2e85c --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/env_message.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/env_message.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/env_message.tga b/platform/base_textures.pk3dir/textures/editor/env_message.tga new file mode 100644 index 00000000..d0c64dc3 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/env_message.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/env_spark.mat b/platform/base_textures.pk3dir/textures/editor/env_spark.mat new file mode 100644 index 00000000..27e0e52e --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/env_spark.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/env_spark.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/env_spark.tga b/platform/base_textures.pk3dir/textures/editor/env_spark.tga new file mode 100644 index 00000000..d476fb75 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/env_spark.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/env_sprite.mat b/platform/base_textures.pk3dir/textures/editor/env_sprite.mat new file mode 100644 index 00000000..b489614d --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/env_sprite.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/env_sprite.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/env_sprite.tga b/platform/base_textures.pk3dir/textures/editor/env_sprite.tga new file mode 100644 index 00000000..7ffaa52e Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/env_sprite.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/env_sun.mat b/platform/base_textures.pk3dir/textures/editor/env_sun.mat new file mode 100644 index 00000000..e0453c13 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/env_sun.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/env_sun.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/env_sun.tga b/platform/base_textures.pk3dir/textures/editor/env_sun.tga new file mode 100644 index 00000000..e5d99ac6 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/env_sun.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/infodecal.mat b/platform/base_textures.pk3dir/textures/editor/infodecal.mat new file mode 100644 index 00000000..86013f67 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/infodecal.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/infodecal.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/infodecal.tga b/platform/base_textures.pk3dir/textures/editor/infodecal.tga new file mode 100644 index 00000000..f1c85abc Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/infodecal.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/monstermaker.mat b/platform/base_textures.pk3dir/textures/editor/monstermaker.mat new file mode 100644 index 00000000..4641b0e9 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/monstermaker.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/monstermaker.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/monstermaker.tga b/platform/base_textures.pk3dir/textures/editor/monstermaker.tga new file mode 100644 index 00000000..7168a270 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/monstermaker.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/multi_manager.tga b/platform/base_textures.pk3dir/textures/editor/multi_manager.tga index 33c1e6cf..f7aa6599 100644 Binary files a/platform/base_textures.pk3dir/textures/editor/multi_manager.tga and b/platform/base_textures.pk3dir/textures/editor/multi_manager.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/multisource.tga b/platform/base_textures.pk3dir/textures/editor/multisource.tga index 43a9e9db..f33fc060 100644 Binary files a/platform/base_textures.pk3dir/textures/editor/multisource.tga and b/platform/base_textures.pk3dir/textures/editor/multisource.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/path_corner.mat b/platform/base_textures.pk3dir/textures/editor/path_corner.mat new file mode 100644 index 00000000..a35b7667 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/path_corner.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/path_corner.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/path_corner.tga b/platform/base_textures.pk3dir/textures/editor/path_corner.tga new file mode 100644 index 00000000..f93e4628 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/path_corner.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/path_track.tga b/platform/base_textures.pk3dir/textures/editor/path_track.tga index 666d51d4..b5be7823 100644 Binary files a/platform/base_textures.pk3dir/textures/editor/path_track.tga and b/platform/base_textures.pk3dir/textures/editor/path_track.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/target_cdaudio.mat b/platform/base_textures.pk3dir/textures/editor/target_cdaudio.mat new file mode 100644 index 00000000..adf31307 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/target_cdaudio.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/target_cdaudio.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/target_cdaudio.tga b/platform/base_textures.pk3dir/textures/editor/target_cdaudio.tga new file mode 100644 index 00000000..62b72f37 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/target_cdaudio.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/trigger_relay.tga b/platform/base_textures.pk3dir/textures/editor/trigger_relay.tga index 6b89255f..93bf6187 100644 Binary files a/platform/base_textures.pk3dir/textures/editor/trigger_relay.tga and b/platform/base_textures.pk3dir/textures/editor/trigger_relay.tga differ diff --git a/src/gs-entbase/client/infodecal.qc b/src/gs-entbase/client/infodecal.qc index b08947e1..15823ebf 100644 --- a/src/gs-entbase/client/infodecal.qc +++ b/src/gs-entbase/client/infodecal.qc @@ -22,12 +22,21 @@ public: virtual void SpawnKey(string, string); virtual float predraw(void); virtual bool CanSpawn(bool); + virtual void Respawn(void); private: decal m_decChild; string m_strTexture; }; +void +infodecal::infodecal(void) +{ + drawmask = MASK_ENGINE; + m_decChild = __NULL__; + m_strTexture = __NULL__; +} + float infodecal::predraw(void) { @@ -36,6 +45,7 @@ infodecal::predraw(void) m_decChild.Place(origin, m_strTexture); Destroy(); } + return (PREDRAW_NEXT); } @@ -62,12 +72,10 @@ infodecal::SpawnKey(string strField, string strKey) } void -infodecal::infodecal(void) +infodecal::Respawn(void) { + /* if it has a targetname, it can't be made client-side only */ if (targetname) { Destroy(); - return; } - - drawmask = MASK_ENGINE; } diff --git a/src/gs-entbase/server/env_message.qc b/src/gs-entbase/server/env_message.qc index 988e319c..9c58487a 100644 --- a/src/gs-entbase/server/env_message.qc +++ b/src/gs-entbase/server/env_message.qc @@ -115,6 +115,8 @@ env_message::SpawnKey(string strKey, string strValue) void env_message::Respawn(void) { + InitPointTrigger(); + Trigger = Play; } diff --git a/src/gs-entbase/server/info_node_air.qc b/src/gs-entbase/server/info_node_air.qc index 56d6f638..26c10ba0 100644 --- a/src/gs-entbase/server/info_node_air.qc +++ b/src/gs-entbase/server/info_node_air.qc @@ -43,6 +43,8 @@ info_node_air::info_node_air(void) void info_node_air::Respawn(void) { + InitPointTrigger(); + SetSize([0,0,0], [0,0,0]); SetSolid(SOLID_NOT); SetMovetype(MOVETYPE_NONE); diff --git a/src/gs-entbase/server/info_null.qc b/src/gs-entbase/server/info_null.qc index f7b7c34b..92ff1c16 100644 --- a/src/gs-entbase/server/info_null.qc +++ b/src/gs-entbase/server/info_null.qc @@ -71,6 +71,7 @@ info_null::WarnDeveloper(void) void info_null::Respawn(void) { + InitPointTrigger(); ScheduleThink(WarnDeveloper, 0.0f); } #endif diff --git a/src/gs-entbase/server/infodecal.qc b/src/gs-entbase/server/infodecal.qc index f952730b..e5fb14df 100644 --- a/src/gs-entbase/server/infodecal.qc +++ b/src/gs-entbase/server/infodecal.qc @@ -42,11 +42,11 @@ infodecal:NSPointTrigger public: void infodecal(void); + virtual void SpawnKey(string,string); + virtual void Spawned(void); + virtual void Respawn(void); virtual void Save(float); virtual void Restore(string,string); - virtual void SpawnKey(string,string); - virtual void Respawn(void); - virtual void Spawned(void); virtual void Trigger(entity, triggermode_t); private: @@ -61,6 +61,55 @@ infodecal::infodecal(void) m_strTexture = __NULL__; } +void +infodecal::SpawnKey(string strKey, string strValue) +{ + switch (strKey) { + case "material": + m_strTexture = strValue; + break; + case "texture": + m_strTexture = strtolower(strValue); + break; + default: + super::SpawnKey(strKey, strValue); + } +} + +void +infodecal::Spawned(void) +{ + float bsp_version = serverkeyfloat("*bspversion"); + + super::Spawned(); + + switch (bsp_version) { + case BSPVER_HL: + case BSPVER_RBSP: + case BSPVER_Q3: + case BSPVER_RTCW: + break; + default: + Destroy(); + return; + } +} + +void +infodecal::Respawn(void) +{ + InitPointTrigger(); + + if (HasTargetname() == false) { + /* we'll let the client-side handle this infodecal */ + Destroy(); + } else { + /* this will be invisible by default. needs to be triggered. */ + Trigger(this, TRIG_OFF); + m_decChild = __NULL__; + } +} + void infodecal::Save(float handle) { @@ -84,57 +133,6 @@ infodecal::Restore(string strKey, string strValue) } } -void -infodecal::SpawnKey(string strKey, string strValue) -{ - switch (strKey) { - case "material": - m_strTexture = strValue; - break; - case "texture": - m_strTexture = strtolower(strValue); - break; - default: - super::SpawnKey(strKey, strValue); - } -} - -void -infodecal::Spawned(void) -{ - float bsp_version = serverkeyfloat("*bspversion"); - - switch (bsp_version) { - case BSPVER_HL: - case BSPVER_RBSP: - case BSPVER_Q3: - case BSPVER_RTCW: - break; - default: - Destroy(); - return; - } -} - -void -infodecal::Respawn(void) -{ - InitPointTrigger(); - - /* this will be invisible by default */ - if (!targetname) { -#if 0 - /* spawn automatically, remove self */ - Trigger(this, TRIG_ON); -#else - Destroy(); -#endif - } else { - Trigger(this, TRIG_OFF); - m_decChild = __NULL__; - } -} - void infodecal::Trigger(entity act, triggermode_t state) { diff --git a/src/gs-entbase/server/logic_auto.qc b/src/gs-entbase/server/logic_auto.qc index 07d1db42..642d1ec3 100644 --- a/src/gs-entbase/server/logic_auto.qc +++ b/src/gs-entbase/server/logic_auto.qc @@ -198,6 +198,7 @@ logic_auto::Spawned(void) void logic_auto::Respawn(void) { + InitPointTrigger(); ScheduleThink(Processing, 0.2f); } diff --git a/src/gs-entbase/server/point_camera.qc b/src/gs-entbase/server/point_camera.qc index 8f3efb70..3dc324ea 100644 --- a/src/gs-entbase/server/point_camera.qc +++ b/src/gs-entbase/server/point_camera.qc @@ -142,6 +142,8 @@ point_camera::SpawnKey(string strKey, string strValue) void point_camera::Respawn(void) { + InitPointTrigger(); + SetModelindex(0); SetSolid(SOLID_NOT); SetSize([-16,-16,-16], [16,16,16]); diff --git a/src/gs-entbase/server/point_trigger.qc b/src/gs-entbase/server/point_trigger.qc index 1964e389..950de135 100644 --- a/src/gs-entbase/server/point_trigger.qc +++ b/src/gs-entbase/server/point_trigger.qc @@ -177,6 +177,9 @@ void point_trigger::Respawn(void) { vector vecMins, vecMaxs; + + InitPointTrigger(); + SetMovetype(MOVETYPE_NONE); SetSolid(SOLID_TRIGGER); SetOrigin(GetSpawnOrigin()); diff --git a/src/gs-entbase/server/prop_door_rotating.qc b/src/gs-entbase/server/prop_door_rotating.qc index b7145569..1d23ea8a 100644 --- a/src/gs-entbase/server/prop_door_rotating.qc +++ b/src/gs-entbase/server/prop_door_rotating.qc @@ -103,6 +103,8 @@ prop_door_rotating::SpawnKey(string strKey, string strValue) void prop_door_rotating::Respawn(void) { + InitPointTrigger(); + SetModel(GetSpawnModel()); SetSolid(SOLID_BSP); SetMovetype(MOVETYPE_PUSH); diff --git a/src/gs-entbase/server/random_speaker.qc b/src/gs-entbase/server/random_speaker.qc index 97cbbf3c..f9f956b9 100644 --- a/src/gs-entbase/server/random_speaker.qc +++ b/src/gs-entbase/server/random_speaker.qc @@ -126,6 +126,7 @@ random_speaker::SpawnKey(string strKey, string strValue) void random_speaker::Respawn(void) { + InitPointTrigger(); Disable(); } diff --git a/src/gs-entbase/server/random_trigger.qc b/src/gs-entbase/server/random_trigger.qc index 1e7a576e..40482533 100644 --- a/src/gs-entbase/server/random_trigger.qc +++ b/src/gs-entbase/server/random_trigger.qc @@ -114,6 +114,8 @@ random_trigger::SpawnKey(string strKey, string strValue) void random_trigger::Respawn(void) { + InitPointTrigger(); + if (m_iStartState == 1) Trigger(this, TRIG_ON); } diff --git a/src/gs-entbase/server/target_cdaudio.qc b/src/gs-entbase/server/target_cdaudio.qc index 38cc97bd..eaaa3a2f 100644 --- a/src/gs-entbase/server/target_cdaudio.qc +++ b/src/gs-entbase/server/target_cdaudio.qc @@ -96,6 +96,8 @@ target_cdaudio::SpawnKey(string strKey, string strValue) void target_cdaudio::Respawn(void) { + InitPointTrigger(); + geomtype = GEOMTYPE_SPHERE; mins = [-m_flRadius, -m_flRadius, -m_flRadius]; maxs = [m_flRadius, m_flRadius, m_flRadius]; diff --git a/src/shared/NSEntity.qc b/src/shared/NSEntity.qc index b85c2325..ed2e4f10 100644 --- a/src/shared/NSEntity.qc +++ b/src/shared/NSEntity.qc @@ -564,7 +564,7 @@ void NSEntity::SetNextThink( float fl ) { if ( flTime >= 0 ) nextthink = flTime; else - EntError( "%s sets bogus nextthink value %f\n", classname, flTime ); + EntError( "%s sets bogus nextthink value %f", classname, flTime ); } void NSEntity::ScheduleThink( void ( void ) func, float fl ) {