Forum posts

This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
Posted 8 years ago2016-07-15 05:51:18 UTC
in TWHL World - Community Project Post #330834
If you moved all of it over you would only have to implement the server's interfaces so they call scripts, everything else would be implemented in scripts. It's a fair bit of effort though, and i don't know if it will perform well.
Posted 8 years ago2016-07-14 14:17:22 UTC
in Play CD track multiple times? Post #330829
Both of those entities remove themselves after being triggered. Unless you can count on having Metamod support to clear the FL_KILLME flag and restore its targetname, you can't reuse them.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
Posted 8 years ago2016-07-12 13:51:44 UTC
in TWHL World - Community Project Post #330794
Well, worst case scenario i can just write a program to convert vanilla HL maps to the new format. The existing interfaces aren't that complex, and the lack of more powerful entities means you'll usually have a 1:1 mapping of features. For example, making all monsters hostile by default would require the keyvalue "Is Player Ally" to be set to true. For scientists, Barneys and Op4 grunts that's easy enough to do.

I'd use component based design for reusable code. As the principle goes, prefer composition over inheritance. Schedules and tasks could be components as well. You'd have an interface like this:

class CSchedule
{
public:
CSchedule( const char* const pszName )
	: m_pszName( pszName )	//Could be ALLOC_STRING'd here if dynamic creation is needed (e.g. Angelscript)
{
}

const char* GetName() const { return m_pszName; }
virtual int InterruptMask( CBaseMonster& monster ) const = 0;

virtual int GetSoundMask( CBaseMonster& monster ) const = 0;

virtual size_t GetNumTasks() const = 0;

virtual void StartTask( CBaseMonster& monster ) = 0;

virtual void RunTask( CBaseMonster& monster ) = 0;
private:
const char* m_pszName;
};

Obviously just a quick concept, but it would allow a given schedule to be defined entirely in 1 place. Monster specific schedules can cast their monster type to a specific one, providing identical power to the current version.

By providing the monster for the interrupt and sound masks, the results can be decided based on current conditions. That's potentially very powerful (e.g. stealth mechanics where the monster can't see the player -> don't interrupt).

You'd then only have to put these schedules into an array or hash map to use them. Name lookups or special schedule ID assignments could mimic current GetScheduleOfType behavior. It would also reduce the size of the monster classes themselves, and if specific properties are made components as well (e.g. Alien Slave beams), you could make entire attack modes into components as well. You'd almost have Lego block like monster building potential.

The only issue i see with this is memory usage. The engine doesn't like to share access to its memory allocator so you're stuck with the default heap. That's a few dozen megabytes you can't make use of. Add to that the 34 or so megabytes that are wasted for both the client and server secure library code (which is obsolete), assuming it's compiled into the libraries, and you've easily lost ~100 MB worth of space you could be using for this. Then again, considering some modern game engines use component based design, it might be just fine.
Posted 17 years ago2007-01-28 12:05:45 UTC
in Competition 23 Post #210907
Water also works upside down, since the flat plane limitation doesn't say wether it's normal or upside down.
This post was made on a thread that has been deleted.
Posted 17 years ago2006-12-27 14:32:56 UTC
in Open GL and other video modes Post #207701
It only uses hintbrushes, clip, null (hl1 version of nodraw), etc.
Posted 17 years ago2006-12-27 09:32:00 UTC
in Ambient_Generic loop error? Post #207683
Never add more than 1 cue to a file, it'll screw things up.
Also, try to keep ambient_generic questions in 1 thread.
Posted 17 years ago2006-12-26 09:32:26 UTC
in Ambient_Generic not starting Post #207562
You're wrong, it can play any sound in the the sound/ folder.
Posted 17 years ago2006-12-26 04:57:20 UTC
in Problems with HL2 Post #207554
Are you sure you let HL2 fully update?
Posted 17 years ago2006-12-24 14:16:32 UTC
in little help with buttons and lighting? Post #207406
Which can be done with a single multimanager.
Posted 17 years ago2006-12-24 11:21:15 UTC
in general Questions Post #207401
E. Use a func_rot_button.
Posted 17 years ago2006-12-24 09:33:06 UTC
in Trouble with brushes Post #207393
You're probably trying to create brushes with the selection tool. Make sure you've selected the brush tool.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
Posted 17 years ago2006-12-20 14:11:47 UTC
in Half life 1 Single platyer maps Post #207056
They used Ripent for that, but you can't do much with that.
Posted 17 years ago2006-12-19 10:36:03 UTC
in Sprites Failing to Appear Post #206919
I have this error as well when using sprites for glows. I only managed to do this effect by using env_lightglow.
Posted 17 years ago2006-12-17 08:52:25 UTC
in Animations and names Post #206649
Just download a half-life model viewer and look at the animations yourself, it's way easier.
Posted 17 years ago2006-12-16 14:59:31 UTC
in Missing Triggers! Post #206490
Did you set up Hammer properly? And brush-based entities usually only appear when tieing brushes to an entity.
Posted 17 years ago2006-12-15 09:08:40 UTC
in Problems with HL:S human grunt skin Post #206210
I believe it has to be:
skin(integer) : "Skin" : "1" : "White" =
[
	1  : "White" 
	2 : Black"
]
I'm not sure if this will work in Source, but since it's HL: S it'll probably work.
Note: it may not be possible to choose the skin of a grunt, in half-life it uses the weapon settings for skins.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
Posted 17 years ago2006-12-06 12:00:56 UTC
in Team Fortress Command Points Post #205218
http://tf.valve-erc.com/ has all the info you need on how to do this.
Posted 17 years ago2006-12-03 09:01:54 UTC
in ravendoor to be used witH? Post #204897
I suppose it's prop_dynamic, since it has animations.