News:

One Minute Game Review by The Happy Friar: https://ugetube.com/@OneMinteGameReviews
Also on Rumble: https://rumble.com/c/c-1115371

idTech 4 (aka Doom 3 tech) Discord Server! https://discord.gg/9wtCGHa

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Mr A

#1
id Tech 4 Needs Help / Degenerating Health
October 21, 2014, 12:05:23 PM
In Nightmare mode your health degenerates.  How can I implement this?

I noticed there was a "deplete_armor" but no function for health anywhere. 
#2
id Tech 4 Engine Coding / How to compile Doom 3 source
August 12, 2014, 09:49:18 AM
Can any of you guys help me with this? I'm a total noob when it comes to this and it seems a bit complicated from the sources I've found. 

So I'm guessing I need Visual Studio, but I've read some versions don't work and I may have to buy a version to compile it.  I've also read that I'll need the Direct X SDK from June 2010. 

So yeah I'm really clueless.  If anyone could make an idiots guide I would be most grateful =)
#3
id Tech 4 Needs Help / Gib me some help
August 03, 2014, 08:16:27 PM
I'm trying to modify the gibing system in Doom 3, so when a monster gibs, all the chunks stay...
I think I've isolated the relevant code in game\item.cpp

/*
============
idMoveableItem::Gib
============
*/
void idMoveableItem::Gib( const idVec3 &dir, const char *damageDefName ) {
// spawn smoke puff
const char *smokeName = spawnArgs.GetString( "smoke_gib" );
if ( *smokeName != '\0' ) {
const idDeclParticle *smoke = static_cast<const idDeclParticle *>( declManager->FindType( DECL_PARTICLE, smokeName ) );
gameLocal.smokeParticles->EmitSmoke( smoke, gameLocal.time, gameLocal.random.CRandomFloat(), renderEntity.origin, renderEntity.axis );
}
// remove the entity
PostEventMS( &EV_Remove, 0 );
}


I'm guessing the last line of that deals with them fading, with the number being the delay?

But then I found this code in game\actor.cpp
/*
============
idActor::Gib
============
*/
void idActor::Gib( const idVec3 &dir, const char *damageDefName ) {
// no gibbing in multiplayer - by self damage or by moving objects
if ( gameLocal.isMultiplayer ) {
return;
}
// only gib once
if ( gibbed ) {
return;
}
idAFEntity_Gibbable::Gib( dir, damageDefName );
if ( head.GetEntity() ) {
head.GetEntity()->Hide();
}
StopSound( SND_CHANNEL_VOICE, false );
}

And:
/*
=====================
idActor::SpawnGibs
=====================
*/
void idActor::SpawnGibs( const idVec3 &dir, const char *damageDefName ) {
idAFEntity_Gibbable::SpawnGibs( dir, damageDefName );
RemoveAttachments();
}

Also I noticed the "if ( ( health < -20 )" line in the damage section. 

So yeah, would I just have to alter the PostEventMS in idMoveableItem::Gib to stop gibs fading?
Also how could I implement an alternate gibbing with alternate weapons? So for instance; explosive weapons would leave big chunks of flesh, while a plasma weapon would leave fleshless skeletons.
#4
id Tech 4 Needs Help / All the basics
July 15, 2014, 12:59:12 PM
It seems to me like there's no place where all the basic id Tech 4 modding information is at hand.  I think iddevnet.com is currently the most helpful website, and The Dark Mod forums seem the best place for modding tips (though they don't like to talk Doom d= ). 

Personally, aside from noob guides, I'd like some advice on making mods compatible with others, and how this works.  Like I've made a simple mod that makes Doom 3 more classic (weapons and monsters more like in original Doom, corpses and decals stay etc), I'd like to know how I could use this mod with other popular mods (Sikk mod mainly) without causing issues. 

Finally, I tried to make a Combat/Mega Armour.  In the powerups.def  there's the value "type" and it says  "MUST MATCH ONE OF THE DEFINES IN PLAYER.H".  I have no idea what this is hahahaha.

Thanks in advance for any help =)