diff --git a/platform/base_textures.pk3dir/textures/editor/env_explosion.mat b/platform/base_textures.pk3dir/textures/editor/env_explosion.mat new file mode 100644 index 00000000..c6114fde --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/env_explosion.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/env_explosion.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/env_explosion.tga b/platform/base_textures.pk3dir/textures/editor/env_explosion.tga new file mode 100644 index 00000000..91a994f1 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/env_explosion.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/env_global.mat b/platform/base_textures.pk3dir/textures/editor/env_global.mat new file mode 100644 index 00000000..e384a0b9 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/env_global.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/env_global.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/env_global.tga b/platform/base_textures.pk3dir/textures/editor/env_global.tga new file mode 100644 index 00000000..06c98ea9 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/env_global.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/env_shake.mat b/platform/base_textures.pk3dir/textures/editor/env_shake.mat new file mode 100644 index 00000000..238e65e3 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/env_shake.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/env_shake.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/env_shake.tga b/platform/base_textures.pk3dir/textures/editor/env_shake.tga new file mode 100644 index 00000000..595dca72 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/env_shake.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/game_counter.mat b/platform/base_textures.pk3dir/textures/editor/game_counter.mat new file mode 100644 index 00000000..dcd1271c --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/game_counter.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/game_counter.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/game_counter.tga b/platform/base_textures.pk3dir/textures/editor/game_counter.tga new file mode 100644 index 00000000..e493494d Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/game_counter.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/info_landmark.tga b/platform/base_textures.pk3dir/textures/editor/info_landmark.tga index c823f62a..adbca047 100644 Binary files a/platform/base_textures.pk3dir/textures/editor/info_landmark.tga and b/platform/base_textures.pk3dir/textures/editor/info_landmark.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/info_node.tga b/platform/base_textures.pk3dir/textures/editor/info_node.tga index c42bf3a8..8c5fbfad 100644 Binary files a/platform/base_textures.pk3dir/textures/editor/info_node.tga and b/platform/base_textures.pk3dir/textures/editor/info_node.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/info_notnull.mat b/platform/base_textures.pk3dir/textures/editor/info_notnull.mat new file mode 100644 index 00000000..c16aaa12 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/info_notnull.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/info_notnull.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/info_notnull.tga b/platform/base_textures.pk3dir/textures/editor/info_notnull.tga new file mode 100644 index 00000000..114d3bb1 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/info_notnull.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/info_null.mat b/platform/base_textures.pk3dir/textures/editor/info_null.mat new file mode 100644 index 00000000..f7fbaed3 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/info_null.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/info_null.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/info_null.tga b/platform/base_textures.pk3dir/textures/editor/info_null.tga new file mode 100644 index 00000000..50ec35a1 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/info_null.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/info_player_coop.tga b/platform/base_textures.pk3dir/textures/editor/info_player_coop.tga new file mode 100644 index 00000000..944cd430 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/info_player_coop.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/info_player_deathmatch.mat b/platform/base_textures.pk3dir/textures/editor/info_player_deathmatch.mat new file mode 100644 index 00000000..e5a9640e --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/info_player_deathmatch.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/info_player_deathmatch.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/info_player_deathmatch.tga b/platform/base_textures.pk3dir/textures/editor/info_player_deathmatch.tga new file mode 100644 index 00000000..129b66dd Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/info_player_deathmatch.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/info_player_spectator.mat b/platform/base_textures.pk3dir/textures/editor/info_player_spectator.mat new file mode 100644 index 00000000..69bb9afd --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/info_player_spectator.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/info_player_spectator.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/info_player_spectator.tga b/platform/base_textures.pk3dir/textures/editor/info_player_spectator.tga new file mode 100644 index 00000000..e3b0fec3 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/info_player_spectator.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/info_player_start.mat b/platform/base_textures.pk3dir/textures/editor/info_player_start.mat new file mode 100644 index 00000000..ab92bb13 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/info_player_start.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/info_player_start.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/info_player_start.tga b/platform/base_textures.pk3dir/textures/editor/info_player_start.tga new file mode 100644 index 00000000..a7e222e3 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/info_player_start.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/info_player_teamspawn.tga b/platform/base_textures.pk3dir/textures/editor/info_player_teamspawn.tga new file mode 100644 index 00000000..32a19d7f Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/info_player_teamspawn.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/info_target.mat b/platform/base_textures.pk3dir/textures/editor/info_target.mat new file mode 100644 index 00000000..0ce3c222 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/info_target.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/info_target.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/info_target.tga b/platform/base_textures.pk3dir/textures/editor/info_target.tga new file mode 100644 index 00000000..ec918947 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/info_target.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/light_environment.mat b/platform/base_textures.pk3dir/textures/editor/light_environment.mat new file mode 100644 index 00000000..d6e56aae --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/light_environment.mat @@ -0,0 +1,9 @@ +{ + diffusemap textures/editor/light.tga + + { + map $diffuse + rgbGen vertex + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/light_spot.mat b/platform/base_textures.pk3dir/textures/editor/light_spot.mat new file mode 100644 index 00000000..d6e56aae --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/light_spot.mat @@ -0,0 +1,9 @@ +{ + diffusemap textures/editor/light.tga + + { + map $diffuse + rgbGen vertex + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/multi_manager.mat b/platform/base_textures.pk3dir/textures/editor/multi_manager.mat new file mode 100644 index 00000000..a58caf3f --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/multi_manager.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/multi_manager.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/multi_manager.tga b/platform/base_textures.pk3dir/textures/editor/multi_manager.tga new file mode 100644 index 00000000..33c1e6cf Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/multi_manager.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/multisource.mat b/platform/base_textures.pk3dir/textures/editor/multisource.mat new file mode 100644 index 00000000..ad245474 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/multisource.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/multisource.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/multisource.tga b/platform/base_textures.pk3dir/textures/editor/multisource.tga new file mode 100644 index 00000000..43a9e9db Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/multisource.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/point_message.mat b/platform/base_textures.pk3dir/textures/editor/point_message.mat new file mode 100644 index 00000000..091844c4 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/point_message.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/point_message.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/point_message.tga b/platform/base_textures.pk3dir/textures/editor/point_message.tga new file mode 100644 index 00000000..fe90a573 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/point_message.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/trigger_auto.mat b/platform/base_textures.pk3dir/textures/editor/trigger_auto.mat new file mode 100644 index 00000000..34dd0686 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/trigger_auto.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/trigger_auto.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/trigger_auto.tga b/platform/base_textures.pk3dir/textures/editor/trigger_auto.tga new file mode 100644 index 00000000..e02c0e82 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/trigger_auto.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/trigger_changetarget.mat b/platform/base_textures.pk3dir/textures/editor/trigger_changetarget.mat new file mode 100644 index 00000000..7319347e --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/trigger_changetarget.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/trigger_changetarget.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/trigger_changetarget.tga b/platform/base_textures.pk3dir/textures/editor/trigger_changetarget.tga new file mode 100644 index 00000000..6c66eaa8 Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/trigger_changetarget.tga differ diff --git a/platform/base_textures.pk3dir/textures/editor/trigger_relay.mat b/platform/base_textures.pk3dir/textures/editor/trigger_relay.mat new file mode 100644 index 00000000..88f19100 --- /dev/null +++ b/platform/base_textures.pk3dir/textures/editor/trigger_relay.mat @@ -0,0 +1,8 @@ +{ + diffusemap textures/editor/trigger_relay.tga + + { + map $diffuse + alphaFunc GE128 + } +} diff --git a/platform/base_textures.pk3dir/textures/editor/trigger_relay.tga b/platform/base_textures.pk3dir/textures/editor/trigger_relay.tga new file mode 100644 index 00000000..6b89255f Binary files /dev/null and b/platform/base_textures.pk3dir/textures/editor/trigger_relay.tga differ diff --git a/src/gs-entbase/server/func_plat.qc b/src/gs-entbase/server/func_plat.qc index 4dc0bded..2e6a96b7 100644 --- a/src/gs-entbase/server/func_plat.qc +++ b/src/gs-entbase/server/func_plat.qc @@ -186,7 +186,7 @@ func_plat::MoverFinishesMoving(void) { /* cancel out any moving sfx */ if (m_strSndMove) { - StopSound(CHAN_VOICE, 0, true); + StopSound(CHAN_VOICE, true); } if (m_strSndStop) { diff --git a/src/gs-entbase/server/func_tracktrain.qc b/src/gs-entbase/server/func_tracktrain.qc index 569c4236..23be9160 100644 --- a/src/gs-entbase/server/func_tracktrain.qc +++ b/src/gs-entbase/server/func_tracktrain.qc @@ -451,7 +451,7 @@ func_tracktrain::Restore(string strKey, string strValue) m_iInputLevel = ReadInt(strValue); break; case "m_timerAngled": - m_timerAngled = ReadEntity(strValue); + m_timerAngled = (NSTimer)ReadEntity(strValue); break; case "m_flTrainLength": m_flTrainLength = ReadFloat(strValue); diff --git a/src/gs-entbase/server/monstermaker.qc b/src/gs-entbase/server/monstermaker.qc index a14746d9..d4280a16 100644 --- a/src/gs-entbase/server/monstermaker.qc +++ b/src/gs-entbase/server/monstermaker.qc @@ -149,6 +149,8 @@ monstermaker::SpawnKey(string strKey, string strValue) void monstermaker::Respawn(void) { + InitPointTrigger(); + if (HasSpawnFlags(MMF_STARTON)) { TurnOn(); } else { diff --git a/src/gs-entbase/server/multi_manager.qc b/src/gs-entbase/server/multi_manager.qc index 6506e2db..4c3fc1b2 100644 --- a/src/gs-entbase/server/multi_manager.qc +++ b/src/gs-entbase/server/multi_manager.qc @@ -286,6 +286,8 @@ multi_manager::Spawned(void) void multi_manager::Respawn(void) { + InitPointTrigger(); + m_iValue = FALSE; /* Mark them inactive */ diff --git a/src/gs-entbase/server/multisource.qc b/src/gs-entbase/server/multisource.qc index d71c815a..26228ba6 100644 --- a/src/gs-entbase/server/multisource.qc +++ b/src/gs-entbase/server/multisource.qc @@ -50,6 +50,8 @@ multisource::multisource(void) void multisource::Respawn(void) { + InitPointTrigger(); + m_iValue = FALSE; } diff --git a/src/gs-entbase/server/path_corner.qc b/src/gs-entbase/server/path_corner.qc index 089bd904..29bc9165 100644 --- a/src/gs-entbase/server/path_corner.qc +++ b/src/gs-entbase/server/path_corner.qc @@ -209,6 +209,8 @@ path_corner::SpawnKey(string strKey, string strValue) void path_corner::Respawn(void) { + InitPointTrigger(); + #ifdef DEVELOPER if (autocvar_dev_cornerspeed != 0) { m_flSpeed = autocvar_dev_cornerspeed; diff --git a/src/gs-entbase/server/path_track.qc b/src/gs-entbase/server/path_track.qc index dcf28fa9..dcd15819 100644 --- a/src/gs-entbase/server/path_track.qc +++ b/src/gs-entbase/server/path_track.qc @@ -96,10 +96,10 @@ path_track::DebugDraw(void) vector pos = GetOrigin(); pos[2] += 32; R_BeginPolygon("textures/editor/path_track", 0, 0); - R_PolygonVertex(pos + v_right * 24 - v_up * 24, [1,1], [1,1,1], 1.0f); - R_PolygonVertex(pos - v_right * 24 - v_up * 24, [0,1], [1,1,1], 1.0f); - R_PolygonVertex(pos - v_right * 24 + v_up * 24, [0,0], [1,1,1], 1.0f); - R_PolygonVertex(pos + v_right * 24 + v_up * 24, [1,0], [1,1,1], 1.0f); + R_PolygonVertex(pos + v_right * 16 - v_up * 16, [1,1], [1,1,1], 1.0f); + R_PolygonVertex(pos - v_right * 16 - v_up * 16, [0,1], [1,1,1], 1.0f); + R_PolygonVertex(pos - v_right * 16 + v_up * 16, [0,0], [1,1,1], 1.0f); + R_PolygonVertex(pos + v_right * 16 + v_up * 16, [1,0], [1,1,1], 1.0f); R_EndPolygon(); R_BeginPolygon("", 0, 0); diff --git a/src/gs-entbase/server/scripted_sentence.qc b/src/gs-entbase/server/scripted_sentence.qc index 4fce40e4..abd6db97 100644 --- a/src/gs-entbase/server/scripted_sentence.qc +++ b/src/gs-entbase/server/scripted_sentence.qc @@ -26,9 +26,10 @@ world. It'll enable mouth flapping and all sorts of other cool effects. - "entity" : Name of the entity that'll speak the sentence. - "sentence" : Name of sentence from titles.txt. - "pitch" : Desired sound pitch. May be overridden in the titles.txt entry. -- "delay" : Delay before it'll be triggered? UNUSED RIGHT NOW. +- "delay" : Delay before it'll be triggered. - "wait" : Delay before it can be triggered again? UNUSED RIGHT NOW. - "listener" : The name of the entity we'll look at when speaking. Can be "player". +- "refire" : Additional time in seconds before the entity can be triggered again. # INPUTS - "BeginSentence" : Starts the sentence. @@ -54,6 +55,7 @@ public: virtual void Trigger(entity, triggermode_t); virtual void Input(entity, string, string); + nonvirtual void AllowRefire(void); nonvirtual void SentenceEnded(void); private: @@ -67,6 +69,7 @@ private: string m_strListener; string m_strOnBeginSentence; string m_strOnEndSentence; + float m_flRefire; }; void @@ -82,6 +85,7 @@ scripted_sentence::scripted_sentence(void) m_strOnBeginSentence = __NULL__; m_strOnEndSentence = __NULL__; m_iSentenceID = 0i; + m_flRefire = 0.0f; } void @@ -111,6 +115,7 @@ scripted_sentence::Save(float handle) SaveString(handle, "m_strOnBeginSentence", m_strOnBeginSentence); SaveString(handle, "m_strOnEndSentence", m_strOnEndSentence); SaveInt(handle, "m_iSentenceID", m_iSentenceID); + SaveFloat(handle, "m_flRefire", m_flRefire); } void @@ -147,6 +152,9 @@ scripted_sentence::Restore(string strKey, string strValue) case "m_iSentenceID": m_iSentenceID = ReadInt(strValue); break; + case "m_flRefire": + m_flRefire = ReadFloat(strValue); + break; default: super::Restore(strKey, strValue); } @@ -174,6 +182,12 @@ scripted_sentence::SpawnKey(string keyName, string setValue) case "listener": m_strListener = ReadString(setValue); break; + case "delay": + m_flDelay = ReadFloat(setValue); + break; + case "refire": + m_flRefire = ReadFloat(setValue); + break; case "OnBeginSentence": m_strOnBeginSentence = ReadString(setValue); break; @@ -197,10 +211,24 @@ scripted_sentence::Input(entity entityActivator, string inputName, string dataFi } } +void +scripted_sentence::AllowRefire(void) +{ + m_iValue = 0; +} + + void scripted_sentence::SentenceEnded(void) { + StopSound(CHAN_VOICE, true); UseOutput(this, m_strOnEndSentence); + + if (m_flRefire > 0.0f) { + ScheduleThink(AllowRefire, m_flRefire); + } else { + AllowRefire(); + } } void @@ -209,6 +237,10 @@ scripted_sentence::Trigger(entity act, triggermode_t unused) entity spe; spe = find(world, ::targetname, m_strSpeaker); + if (m_iValue == 1) { + return; + } + if (!spe) { /* time to look for a classname instead */ float closest = 9999999; @@ -239,13 +271,14 @@ scripted_sentence::Trigger(entity act, triggermode_t unused) WriteInt(MSG_MULTICAST, m_iSentenceID); msg_entity = npc; multicast(npc.origin, MULTICAST_PVS); - npc.m_flNextSentence = time + m_flDuration; + npc.m_flNextSentence = time + m_flDuration + m_flRefire; UseTargets(act, TRIG_TOGGLE, m_flDelay); /* I/O */ /* Uncertain: Are we triggering the output on behalf of someone maybe? */ UseOutput(this, m_strOnBeginSentence); ScheduleThink(SentenceEnded, m_flDuration); + m_iValue = 1; if (m_strListener) { if (m_strListener == "player") { diff --git a/src/gs-entbase/server/scripted_sequence.qc b/src/gs-entbase/server/scripted_sequence.qc index 1285e2e8..8d3de313 100644 --- a/src/gs-entbase/server/scripted_sequence.qc +++ b/src/gs-entbase/server/scripted_sequence.qc @@ -136,10 +136,10 @@ scripted_sequence::DebugDraw(void) pos[2] += 32; R_BeginPolygon("textures/editor/scripted_sequence", 0, 0); - R_PolygonVertex(pos + v_right * 24 - v_up * 24, [1,1], [1,1,1], 1.0f); - R_PolygonVertex(pos - v_right * 24 - v_up * 24, [0,1], [1,1,1], 1.0f); - R_PolygonVertex(pos - v_right * 24 + v_up * 24, [0,0], [1,1,1], 1.0f); - R_PolygonVertex(pos + v_right * 24 + v_up * 24, [1,0], [1,1,1], 1.0f); + R_PolygonVertex(pos + v_right * 16 - v_up * 16, [1,1], [1,1,1], 1.0f); + R_PolygonVertex(pos - v_right * 16 - v_up * 16, [0,1], [1,1,1], 1.0f); + R_PolygonVertex(pos - v_right * 16 + v_up * 16, [0,0], [1,1,1], 1.0f); + R_PolygonVertex(pos + v_right * 16 + v_up * 16, [1,0], [1,1,1], 1.0f); R_EndPolygon(); R_BeginPolygon("", 0, 0); diff --git a/src/gs-entbase/shared/ambient_generic.qc b/src/gs-entbase/shared/ambient_generic.qc index a7c2a9c3..d01886fa 100644 --- a/src/gs-entbase/shared/ambient_generic.qc +++ b/src/gs-entbase/shared/ambient_generic.qc @@ -78,6 +78,7 @@ public: virtual void UseNormal(entity,triggermode_t); virtual void UseLoop(entity, triggermode_t); virtual void Input(entity, string, string); + virtual void DebugDraw(void); #else virtual void ReceiveEntity(float,float); virtual float predraw(void); @@ -270,6 +271,17 @@ ambient_generic::Respawn(void) } } +void +ambient_generic::DebugDraw(void) +{ + R_BeginPolygon("textures/editor/ambient_generic", 0, 0); + R_PolygonVertex(GetOrigin() + v_right * 16 - v_up * 16, [1,1], [1,1,1], 1.0f); + R_PolygonVertex(GetOrigin() - v_right * 16 - v_up * 16, [0,1], [1,1,1], 1.0f); + R_PolygonVertex(GetOrigin() - v_right * 16 + v_up * 16, [0,0], [1,1,1], 1.0f); + R_PolygonVertex(GetOrigin() + v_right * 16 + v_up * 16, [1,0], [1,1,1], 1.0f); + R_EndPolygon(); +} + void ambient_generic::UseNormal(entity act, triggermode_t state) { diff --git a/src/server/entityDef.qc b/src/server/entityDef.qc index 56d5204d..cbc09cd4 100644 --- a/src/server/entityDef.qc +++ b/src/server/entityDef.qc @@ -451,11 +451,14 @@ EntityDef_PrepareEntity(entity target, int id) } targetEnt.m_strModelEventCB = g_entDefTable[id].eventList; /* pass over the event listing */ + + /* now we rename the classname for better visibility, + but also because some classes need to know. */ + targetEnt.classname = g_entDefTable[id].entClass; + targetEnt.Spawned(); targetEnt.Respawn(); - /* now we rename the classname for better visibility */ - targetEnt.classname = g_entDefTable[id].entClass; g_lastSpawnData = ""; return targetEnt; } diff --git a/src/shared/NSPointTrigger.h b/src/shared/NSPointTrigger.h index 6b16e1a9..ce02d28b 100644 --- a/src/shared/NSPointTrigger.h +++ b/src/shared/NSPointTrigger.h @@ -25,11 +25,13 @@ class NSPointTrigger:NSEntity public: void NSPointTrigger(void); + /* overrides */ + virtual void Respawn(void); + virtual void DebugDraw(void); + /** Sets up a point entity trigger with no size. */ nonvirtual void InitPointTrigger(void); - virtual void DebugDraw(void); - #ifdef SERVER private: string m_strDebugTexture; diff --git a/src/shared/NSPointTrigger.qc b/src/shared/NSPointTrigger.qc index 9c99bf14..cef5717d 100644 --- a/src/shared/NSPointTrigger.qc +++ b/src/shared/NSPointTrigger.qc @@ -22,11 +22,17 @@ NSPointTrigger::NSPointTrigger(void) #endif } +void +NSPointTrigger::Respawn(void) +{ + InitPointTrigger(); +} + void NSPointTrigger::InitPointTrigger(void) { SetSize(VEC_HULL_MIN, VEC_HULL_MAX); - SetSolid(SOLID_TRIGGER); + SetSolid(SOLID_NOT); #ifdef SERVER m_bEnabled = (m_bStartDisabled) ? false : true; diff --git a/src/shared/NSTrigger.qc b/src/shared/NSTrigger.qc index b13efd18..04597818 100644 --- a/src/shared/NSTrigger.qc +++ b/src/shared/NSTrigger.qc @@ -84,7 +84,7 @@ NSTrigger::CanBeTriggeredBy(entity testEnt) void NSTrigger::Trigger(entity act, triggermode_t state) { - EntWarning("Triggered by %S with no consequence", act.classname); + EntWarning("%S triggered by %S with no consequence", targetname, act.classname); } void diff --git a/src/vgui/ui_3dview.qc b/src/vgui/ui_3dview.qc index d21ac37c..db3b6dac 100644 --- a/src/vgui/ui_3dview.qc +++ b/src/vgui/ui_3dview.qc @@ -114,6 +114,7 @@ VGUI3DView::Draw(void) setproperty(VF_AFOV, 90); setproperty(VF_ORIGIN, m_vec3DPos); setproperty(VF_ANGLES, m_vec3DAngles); + setproperty(VF_DRAWWORLD, false); tmpVGUI3DView1(); renderscene(); }