And I got a crazy idea.

"is Cs 1.6 expert fgd the right choice?"For J.A.C.K. users, I believe Matias-TM's FGD will be a good pick, but CS 1.6 Expert FGD should do just fine otherwise.
"It really helped me out sometimes."Someone actually USES that?! LOL
FlarePos1 = 0.75*WtS + 0.25*R
FlarePos2 = 0.50*WtS + 0.50*R
FlarePos3 = 0.25*WtS + 0.75*R
"I did not know that the latest SDK was on Github, neither I know how to use another program to code"You're in luck, because this month, I'm planning to make a video about the installation of VS and doing some stuff.
"what is that ugly creature? is that a dog, a cat, an albino fox?"Pretty sure it's you.
"That keyboard typing sound in the background was a bit distracting"Oh yeah, the background noise comes from my younger brother. He was writing some Roblox Lua scripts. I'll definitely try to find a quieter place to record stuff in, either the attic or the basement.
"I'm not sure why you brought Visual Studio 6.0"There are some folks, I'm guessing, who believe that modding old games is best with old tools. With some specific games it's true, but not with HL.
void func_breakable_pain( gentity_t* self, gentity_t* attacker, int damage )
{
if ( self->health - damage <= 0 )
{
// Gib me
GibEntity( self, 0 );
// Remove entity from world
G_FreeEntity( self );
}
}
void func_breakable_use( gentity_t* self, gentity_t* other, gentity_t* activator )
{
// Damage itself when triggered
func_breakable_pain( self, activator, self->health );
}
void SP_func_breakable( gentity_t* self )
{
G_SpawnInt( "health", "50", &self->health );
G_SpawnString( "model", 0, &self->model );
trap_SetBrushModel( self, self->model );
// Link entity into world
trap_LinkEntity( self );
self->takedamage = 1;
self->pain = func_breakable_pain;
self->use = func_breakable_use;
}
I'm not satisfied with that though. To get what satisfies me, it'd take much more work to modify the existing system, than to make a new one from scratch. So the latter is exactly what I'm doing.class FuncBreakable : public BaseQuakeEntity
{
public:
void Spawn() override
{
health = spawnArgs->GetInt( "health", 50 );
takeDamage = DamageTypes::All;
}
void Use( IEntity* activator, IEntity* caller, UseType useType, float value ) override
{
Pain( activator, health );
}
void Pain( IEntity* attacker, int damage ) override
{
if ( health - damage <= 0 )
{
SpawnGibs( GetOrigin(), 20, "models/somegibs.md3" );
MarkForRemoval(); // next tick, this entity is gone
}
}
const int GetEntityFlags() override
{
return EntityFlags::SolidBrushEntity | EntityFlags::Static; // will automatically set up a brush model, movement type and solidity
}
private:
int health{ 0 };
}
This is just there to get you the basic idea. There's a ton of other stuff I've had in mind for this project..prt
files due to the way VHLT generates them. Seedee's tools basically fix that AFAIK. (so do my tools, but I won't mention those any time soon "The renderer is certainly a massive discovery! you should be super proud! I cant wait until the next update!"I'm super duper proud already, as with all my work so far.
gl_texturemode gl_nearest_mipmap_linear
, this should be gone. NULL
, CLIP
, HINT
and SKIP
, and AAATRIGGER
. All those except NULL
are transparent too, so it doesn't clutter the 3D view.changelevel
and pass the next map's name."Oh! and the tools, lockpicks and the such!"Oh wait, don't get it confused with Utopia at Stake. xD
[img:https://i.imgur.com/VHdUlnq.webp]
There we go.90 0.1 0.1
in the properties.