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

Messages - Mr A

#16
id Tech 4 Engine Coding / Re: How to compile Doom 3 source
September 02, 2014, 05:54:35 PM
Quote from: The Happy Friar on August 13, 2014, 06:22:56 AM
The stock D3 code needs MFC so it can compile the tools.  Here's a tutorial on how to do that with the non-pro version of Visual Studio: http://www.moddb.com/company/apgsoftware/tutorials/how-to-compile-doom-3-with-visual-studio-2010

With the latest version of Visual Studio, it's different because MS changed how the newest versions work with the DX SDK, MFC, etc.  I forgot if/what I did.

Ha! I saw that tutorial before, and it confused me =S
I got to step four (4. Install the VC and the DXSDK) and I don't know what VC is.  I got the DXSDK but there's like two install things, and I get an error (I'll try again).

Quote from: deadite4 on August 13, 2014, 07:34:07 AM
Also, are you just making a mod for Doom 3 or compile the GPL code?  If just the SDK for a Doom 3 mod, you can do that with free tools.

Just a Doom 3 gameplay mod.  What extras could I do with the GPL code exactly? Would it be more difficult then an SDK mod?
#17
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 =)
#18
This is really good man, a pleasure to play.  really loved the Sign of Evil tune in the background.  You really nailed the atmosphere man =)

Hmm the only changes I would make would be, using hell skins on imps and hellknights, and making the map harder =D
I look forward to playing your other creations in future, well done!
#19
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.
#20
id Tech 4 Needs Help / Re: All the basics
July 31, 2014, 06:34:34 AM
Deadite4, you are my personal modding hero =)
Thanks mister!

No, that wasn't what I was trying to do Bladeghost.  The thing with increasing maxhealth/armour is that any health/armour item will push health/armour above 100, while I only want special items to increase stats beyond this.
#21
id Tech 4 Scripting / Re: Tutorial: FX System
July 29, 2014, 12:51:43 PM
Thank you so much for this! I've been trying to find out how to make enemies leave pools of blood for ages. I know what I'm doing tonight =D

#22
id Tech 4 Mods / Re: Tutorial requests
July 28, 2014, 05:54:35 PM
Quote from: deadite4 on July 28, 2014, 08:04:42 AM

Be careful with that.  Id tech 4 has an entity limit per map
I've been doing a fair bit of testing and I've only had Doom 3 crash while playing testmap/lotsaimps
I'll keep it in mind though, in case I get some weird crash. 

QuoteI can write up an explanation on FX/Gib system in the next day or so.  At least the specifics on how we utilize it in Hexen.
That would be awesome, thanks in advance =)

Quote from: Zombie on July 28, 2014, 09:02:31 AM
Thanks for all the info, this is good stuff :)
No worries man.  I'm interested in what you're doing =P
#23
The .def you linked me was for the Beserker Strogg. 

"damage_scale head" "2"
"damage_scale legs" ".75"
This means the Beserker will take 2x damage to the head, and only 3/4 damage to it's legs. 

The weapon damage and stuff will be located in the machinegun.def
Open pack001.pk4, then it'll be in like, def/weapons/machinegun.def
In this file there will be a value called "damage" which will tell you the exact damage. 

The figures on the link you provided in your original post look correct though.
#24
id Tech 4 Needs Help / Re: All the basics
July 28, 2014, 08:12:32 AM
You worked on cdoom?
But yeah that's exactly what I'm trying to do, megaarmour just like cdoom, so I get above max armour! If you can tell me how to do that I would be over the moon =D

I know like nothing about editing SDKs, I'm such a noob ahah =')
It's really hard to find any noob friendly stuff since Doom3world went. 

Oh would I also be able to stop gib drops from fading using the SDK?
#25
Looks cool.  I'll really need to get my copy of Q4 back.

Oh and someone on here was asking about the flesh/metal stuff in Q4, you could probably help them out =)
#26
id Tech 4 Mods / Re: Best Doom3 Mod?
July 28, 2014, 07:58:33 AM
Best is a little subjective. 

I really like Shambler's Castle, a Quake1 style mod. That's a lot of fun, and really makes you wish they made more than one map.
http://www.moddb.com/mods/shamblers-castle

I've also started Fragging Free last night.  It's pretty impressive, loads of new monsters, weapons and abilities (like a railgun and playing as demons).  The maps so far are a little lame, but it's worth a play just for novelty.
http://www.moddb.com/mods/fragging-free

Does anyone know any decent straight up map packs? I'm still waiting for Phobos.
http://www.moddb.com/mods/phobos
#27
id Tech 4 Mods / Re: Tutorial requests
July 28, 2014, 07:52:01 AM
Okay adding weapons requires you to have a number of things.  I don't know how to create 3D objects or anmations, but id Tech 4 uses .dds, .md5 files for that sort of thing.  You'll also need a skin(.tga) and then numerous code files (.def, .script, .skin, .mtr) including editing player.def, and potentially if you're adding new sounds, some .wav and .sndshd files. 

You may even want to create your own ammo for it =P

Yeah this one is a little complex.  I can probably explain the some coding though (y)
Right! Well I recommend you use a pre-existing .def file as a starting point for your new weapon.  Try and use one that is similar to the type of weapon you wish to create.  There's all sorts of crazy stuff you can do with the projectiles, and a lot of the effects and values ("clipSize", "thrust", "damage", "health") are pretty self explanitory.  (Also note a "clipSize" of "0" means you don't have to reload.)

Now once you've made a weapon, to add it to the game, you need to add it to the player.def

Start by adding the animation files e.g.
anim newgun_raise models/md5/characters/npcs/playermoves/raisewep.md5anim
anim newgun_idle models/md5/characters/npcs/playermoves/shotgun_idle_down.md5anim, models/md5/characters/npcs/playermoves/shotgun_idle.md5anim, models/md5/characters/npcs/playermoves/shotgun_idle_up.md5anim
anim newgun_aim models/md5/characters/npcs/playermoves/shotgun_aim_down.md5anim, models/md5/characters/npcs/playermoves/shotgun_aim.md5anim, models/md5/characters/npcs/playermoves/shotgun_aim_up.md5anim
anim newgun_fire1 models/md5/characters/npcs/playermoves/shotgun_fire_down.md5anim, models/md5/characters/npcs/playermoves/shotgun_fire1.md5anim, models/md5/characters/npcs/playermoves/shotgun_fire_up.md5anim
anim newgun_reload models/md5/characters/npcs/playermoves/dbreload.md5anim
anim newgun_lower models/md5/characters/npcs/playermoves/lowerwep.md5anim

This should be added near the other weapon animation files just before the player_base section. 

As you can see, it's pretty easy to use existing animations for a new weapon. 

Then you need to add the new weapon to the weapon slots:
"def_weapon13" "weapon_shotgun_double"
"weapon13_best" "1"
"weapon13_cycle" "1"
"weapon13_toggle" "0"
"weapon13_allowempty" "1"



That's pretty much all I know.  It really helps to look at other weapon mods and see what other's have done and how good their weapons are.  I use Notepad ++ to open the same files from the mod and the game's base folder, and then use the compare feature to compare them =)

Hopefully I helped you out a little. I don't really know much about this.   
#28
id Tech 4 Mods / Re: Tutorial requests
July 28, 2014, 07:25:36 AM
Ah Zombie, you're a man/woman/demon after my own heart =)

Can someone explain how the gibs and FX stuff works please.  I've been making monsters drop physical objects when they're fragged, and replaced monster's "def_dropgibitem"s with "def_dropdeathitem"s.  This means the gibs stay as they're counted as normal objects and not gib objects, but they're dropped regardless if the monster is gibbed or not. 

Here's an example of my code for zsec shotgun guy drops:
"def_dropDeathItem1"
"moveable_item_rup_leg_pork"
"dropDeathItem1Joint" "Waist"
"dropDeathItem1Offset" "0 14 0"

"def_dropDeathItem2" "moveable_item_rup_leg_pork"
"dropDeathItem2Joint" "Waist"
"dropDeathItem2Offset" "6 0 19"

"def_dropDeathItem3" "moveable_item_lup_leg_pork"
"dropDeathItem3Joint" "Waist"
"dropDeathItem3Offset" "21 0 0"

"def_dropDeathItem4" "moveable_item_rup_arm_pork"
"dropDeathItem4Joint" "Waist"
"dropDeathItem4Offset" "11 0 20"

"def_dropDeathItem5" "moveable_item_left_waist_pork"
"dropDeathItem5Joint" "Waist"
"dropDeathItem5Offset" "0 12 0"

"def_dropDeathItem6" "moveable_item_lup_leg_pork"
"dropDeathItem6Joint" "Waist"
"dropDeathItem6Offset" "20 15 0"

"def_dropDeathItem7" "env_gibs_ruparmstub"
"dropDeathItem7Joint" "Waist"
"dropDeathItem7Offset" "20 0 20"

"def_dropDeathItem8" "moveable_item_pelvis_pork"
"dropDeathItem8Joint" "Waist"
"dropDeathItem8Offset" "0 20 8"

"def_dropDeathItem9" "env_gibs_rtuplegstump"
"dropDeathItem9Joint" "Waist"
"dropDeathItem9Offset" "0 4 0"

"def_dropDeathItem10" "moveable_item_left_waist_pork"
"dropDeathItem10Joint" "Waist"
"dropDeathItem10Offset" "10 25 0"

"def_dropDeathItem11" "moveable_item_lup_leg_pork"
"dropDeathItem11Joint" "Waist"
"dropDeathItem11Offset" "0 13 0"

"def_dropDeathItem12" "moveable_item_rup_leg_pork"
"dropDeathItem12Joint" "Waist"
"dropDeathItem12Offset" "15 0 7"

"def_dropDeathItem13" "env_gibs_spine"
"dropDeathItem13Joint" "Waist"
"dropDeathItem13Offset" "15 33 0"

//this last one is the monsters weapon
"def_dropDeathItem99" "moveable_item_shotgun"
"dropDeathItem99Joint" "shotgun"


It's a very crude method, but it's also lovely and messy.
Here's some pics just to demonstrate:
https://www.dropbox.com/sh/n09gtm59ei52una/AAD4yWuT-XOO5KZAM2-hJ6P6a

I don't really know much about how blood decals are generated, but I know a way to prevent all decals from fading.  I'm currently trying to figure out how to make a monster 'drop' a blood decal when it dies, but so far have had no luck.
I've got guts and meat all over the place, but no blood pooling around corpses  =/

I can probably help a little with adding a new weapon too, let me make a new post though, this one is getting a little busy.
#29
id Tech 4 Needs Help / Re: All the basics
July 27, 2014, 12:03:53 PM
I just want to know how it works, and where it is located, for modifying the powerups.  Like when I'm trying to make a 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 to use some sort of special function to add armour beyond the "maxarmor" value, like with the soul sphere.
#30
I'll have to get my copy of Q4 back off a friend to get you all the values. The weapons did do more damage to flesh than metal parts of monsters, I remember that distinctly from playing, and from editing .def files.

I don't think it was patched out. 

I'm not sure about the exact damage modifications for hitting different body parts, but Doom 3 tends to use 1.25x damage scale for headshots for most monsters.  I remember the projectile damage for shooting using a scope was separate from the default value (20 scoped, 12 normal for the MG?), rather than applying a damage scale. 

If you have Q4 installed, you can find all the values yourself by going to Quake 4/base/pack001.pk4