diff --git a/Source/Menu-FN/w_scrollbar.cpp b/Source/Menu-FN/w_scrollbar.cpp index 562059aa..77995b94 100644 --- a/Source/Menu-FN/w_scrollbar.cpp +++ b/Source/Menu-FN/w_scrollbar.cpp @@ -117,7 +117,7 @@ void CScrollbar::Input(float type, float x, float y, float devid) if (m_dn_hold) { SetScroll(m_scroll + 1); } - + barheight = m_theight * (m_theight / (m_max * 15)); barstep = (m_scroll * 15) * (m_theight / (m_max * 15)); diff --git a/Source/Shared/pmove.c b/Source/Shared/pmove.c index 9b2e0192..53321366 100644 --- a/Source/Shared/pmove.c +++ b/Source/Shared/pmove.c @@ -85,11 +85,11 @@ void PMove_Categorize(void) contents = PMove_Contents(self.origin + self.mins + [0,0,1]); - if (contents == CONTENTBIT_WATER) { + if (contents & CONTENTBIT_WATER) { contents = CONTENT_WATER; - } else if (contents == CONTENTBIT_SLIME) { + } else if (contents & CONTENTBIT_SLIME) { contents = CONTENT_SLIME; - } else if (contents == CONTENTBIT_LAVA) { + } else if (contents & CONTENTBIT_LAVA) { contents = CONTENT_LAVA; } diff --git a/Source/gs-entbase/server.src b/Source/gs-entbase/server.src index 31704590..aaa17f26 100644 --- a/Source/gs-entbase/server.src +++ b/Source/gs-entbase/server.src @@ -47,6 +47,7 @@ ../gs-entbase/server/env_global.cpp ../gs-entbase/server/item_food.cpp ../gs-entbase/server/item_suit.cpp +../gs-entbase/server/path_corner.cpp ../gs-entbase/server/multi_manager.cpp ../gs-entbase/server/monster_furniture.cpp ../gs-entbase/server/monster_generic.cpp diff --git a/Source/gs-entbase/server/func_button.cpp b/Source/gs-entbase/server/func_button.cpp index 36b56be5..840a8158 100644 --- a/Source/gs-entbase/server/func_button.cpp +++ b/Source/gs-entbase/server/func_button.cpp @@ -359,6 +359,7 @@ void func_button::Respawn(void) } m_iState = STATE_LOWERED; + angles = [0,0,0]; } void func_button::func_button(void) @@ -389,5 +390,4 @@ void func_button::func_button(void) } func_button::Respawn(); - angles = [0,0,0]; } diff --git a/Source/gs-entbase/server/func_train.cpp b/Source/gs-entbase/server/func_train.cpp index 8738686d..10c72a4f 100644 --- a/Source/gs-entbase/server/func_train.cpp +++ b/Source/gs-entbase/server/func_train.cpp @@ -6,21 +6,6 @@ * ****/ -class path_corner:CBaseTrigger -{ - float m_flSpeed; - float m_flWait; - - void() path_corner; -}; - -void path_corner::path_corner(void) -{ - CBaseTrigger::CBaseTrigger(); - m_flSpeed = 100; - m_flWait = 1.0f; -} - class func_train:CBaseTrigger { float m_flSpeed; @@ -36,6 +21,7 @@ void func_train::Find(void) entity f = find(world, CBaseTrigger::m_strTargetName, m_strTarget); if (!f) { + print("^1func_train^7: End-Target not found! Removing.\n"); remove(this); return; } @@ -53,16 +39,21 @@ void func_train::Find(void) void func_train::MoveEnd(void) { - entity f = find(world, CBaseTrigger::m_strTargetName, m_strTarget); - CBaseTrigger p = (CBaseTrigger)f; - m_strTarget = p.m_strTargetName; + CBaseTrigger f = (CBaseTrigger)find(world, CBaseTrigger::m_strTargetName, m_strTarget); + m_strTarget = f.m_strTargetName; velocity = [0,0,0]; } void func_train::Trigger(void) { + entity f = find(world, CBaseTrigger::m_strTargetName, m_strTarget); + + if (!f) { + print("^1func_train^7: Trigger-Target not found! Removing.\n"); + return; + } vector vecWorldPos; vecWorldPos[0] = absmin[0] + ( 0.5 * ( absmax[0] - absmin[0] ) ); @@ -75,7 +66,10 @@ void func_train::Trigger(void) think = MoveEnd; nextthink = (time + flTravelTime); - velocity = (vecDifference * (1 / flTravelTime)); + + print(sprintf("TRAIN %s SPEED: %v\n", this.classname, (vecDifference * (1 / flTravelTime)))); + + //velocity = (vecDifference * (1 / flTravelTime)); } void func_train::func_train(void) @@ -97,7 +91,6 @@ void func_train::func_train(void) //blocked = Blocked; setmodel(this, m_oldModel); - setsize(this, mins, maxs); setorigin(this, m_oldOrigin); // start trains on the second frame, to make sure their targets have had diff --git a/Source/gs-entbase/server/monster_furniture.cpp b/Source/gs-entbase/server/monster_furniture.cpp index ece898cc..84c04133 100644 --- a/Source/gs-entbase/server/monster_furniture.cpp +++ b/Source/gs-entbase/server/monster_furniture.cpp @@ -37,3 +37,5 @@ void monster_furniture :: monster_furniture ( void ) //self.modelflags = MF_ROTATE; #endif } + +CLASSEXPORT(ts_model, monster_furniture) diff --git a/Source/gs-entbase/server/path_corner.cpp b/Source/gs-entbase/server/path_corner.cpp new file mode 100644 index 00000000..5f69c2cb --- /dev/null +++ b/Source/gs-entbase/server/path_corner.cpp @@ -0,0 +1,22 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class path_corner:CBaseTrigger +{ + float m_flSpeed; + float m_flWait; + + void() path_corner; +}; + +void path_corner::path_corner(void) +{ + CBaseTrigger::CBaseTrigger(); + m_flSpeed = 100; + m_flWait = 1.0f; +}