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 - argoon

#1
Player Icons/model sprite to the rescue!!!

Because I don't like multiplayer, I deleted many of the MP code, because of that I also deleted the player icon code, yes I know it was dumb, but I didn't knew better at the time...

So I remembered those icons and went to see on the original fhdoom source code how they were done, I saw they use the model sprite! so I decided to use the code to create sprites easely ingame. :)

Here is the main code that creates the sprites.  Will show the full code if asked or like me just see how the player icons were made.

idSprite::idSprite(c_string matName, const vec3 &origin, const mat3 &axis, f32 width, f32 hight) {
FreeSprite();

ZeroStruct(spriteEnt);

spriteEnt.origin = origin;
spriteEnt.axis = axis;
spriteEnt.shaderParms[SHADERPARM_RED] = 1.0f;
spriteEnt.shaderParms[SHADERPARM_GREEN] = 1.0f;
spriteEnt.shaderParms[SHADERPARM_BLUE] = 1.0f;
spriteEnt.shaderParms[SHADERPARM_ALPHA] = 1.0f;
spriteEnt.shaderParms[SHADERPARM_SPRITE_WIDTH] = width;
spriteEnt.shaderParms[SHADERPARM_SPRITE_HEIGHT] = hight;
spriteEnt.hModel = renderModelManager->FindModel("_sprite");
spriteEnt.callback = NULL;
spriteEnt.numJoints = 0;
spriteEnt.joints = NULL;
spriteEnt.customSkin = 0;
spriteEnt.noShadow = true;
spriteEnt.noSelfShadow = true;
spriteEnt.customShader = declManager->FindMaterial(matName);
spriteEnt.referenceShader = 0;
spriteEnt.bounds = spriteEnt.hModel->Bounds(&spriteEnt);

spriteHandle = gameRenderWorld->AddEntityDef(&spriteEnt);
}
#2
Happy you think is useful.  :)
#3
If this community doesn't share knowledge it will never grow that's for sure.

So here is what I found on how to create a simple colored quad at run time. For now is not what I really wanted, what I want is to create a quad at run time that I can apply a material, but is a start.

So again if someone knows how to create a 3D quad that can have a material at run time and doesn't mind sharing said knowledge, please do so, I will appreciate it immensely. Thanks.

Simple colored quad (shows double sided)


idWinding w;
idVec3 vert[4];
int size = 20;
vert[0] = idVec3(0, 0, 0); // this is the world origin
vert[1] = idVec3(0, size, 0);
vert[2] = idVec3(0, size, size);
vert[3] = idVec3(0, 0, size);
w.AddPoint(vert[0]);
w.AddPoint(vert[1]);
w.AddPoint(vert[2]);
w.AddPoint(vert[3]);
gameRenderWorld->DebugPolygon(colorRed, w);




#4
Hello guys, for a very long time now, i've been trying to create a simple quad programatically in the engine, but I just don't know how that is done! I've browsed the source code for answers, but the geometry code I see is just to complicated for my feeble mind. I see stuff about windings and vertices but nothing direct.   

I tried looking at the gameRenderWorld debug code but again it looks way low level for me. Would someone be so kind to explain with code how to create a simple static quad in the 3D world in idtech4?

I know how to import a quad/model but what I really want is to create a quad dynamically by c++/opengl code.

Any help appreciated cheers.

#5
Quote from: revelator on December 12, 2019, 02:57:03 AM
...

and get rid of the video ram detection code it no longer works correctly and also suffers from the same limit,
you can only get videoram on modern gfx cards by using card specific codepaths like this ->

void idVertexCache::Show( void )
{
GLint  mem[4];

if ( GLEW_NVX_gpu_memory_info && ( glConfig.vendor == glvNVIDIA ) )
{
common->Printf( "\nNvidia specific memory info:\n" );
common->Printf( "\n" );
glGetIntegerv( GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX , mem );
common->Printf( "dedicated video memory %i MB\n", mem[0] >> 10 );
glGetIntegerv( GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX , mem );
common->Printf( "total available memory %i MB\n", mem[0] >> 10 );
glGetIntegerv( GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX , mem );
common->Printf( "currently unused GPU memory %i MB\n", mem[0] >> 10 );
glGetIntegerv( GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX , mem );
common->Printf( "count of total evictions seen by system %i MB\n", mem[0] >> 10 );
glGetIntegerv( GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX , mem );
common->Printf( "total video memory evicted %i MB\n", mem[0] >> 10 );
}
else if ( GLEW_ATI_meminfo && ( glConfig.vendor == glvAMD ) )
{
common->Printf( "\nATI/AMD specific memory info:\n" );
common->Printf( "\n" );
glGetIntegerv( GL_VBO_FREE_MEMORY_ATI, mem );
common->Printf( "VBO: total memory free in the pool %i MB\n", mem[0] >> 10 );
common->Printf( "VBO: largest available free block in the pool %i MB\n", mem[1] >> 10 );
common->Printf( "VBO: total auxiliary memory free %i MB\n", mem[2] >> 10 );
common->Printf( "VBO: largest auxiliary free block %i MB\n", mem[3] >> 10 );
glGetIntegerv( GL_TEXTURE_FREE_MEMORY_ATI, mem );
common->Printf( "Texture: total memory free in the pool %i MB\n", mem[0] >> 10 );
common->Printf( "Texture: largest available free block in the pool %i MB\n", mem[1] >> 10 );
common->Printf( "Texture: total auxiliary memory free %i MB\n", mem[2] >> 10 );
common->Printf( "Texture: largest auxiliary free block %i MB\n", mem[3] >> 10 );
glGetIntegerv( GL_RENDERBUFFER_FREE_MEMORY_ATI, mem );
common->Printf( "RenderBuffer: total memory free in the pool %i MB\n", mem[0] >> 10 );
common->Printf( "RenderBuffer: largest available free block in the pool %i MB\n", mem[1] >> 10 );
common->Printf( "RenderBuffer: total auxiliary memory free %i MB\n", mem[2] >> 10 );
common->Printf( "RenderBuffer: largest auxiliary free block %i MB\n", mem[3] >> 10 );
}
else
{
common->Printf( "MemInfo not availabled for your video card or driver!\n" );
}
}


and sadly this only works on nvidia and AMD.

Hello guys not time no see.

I know this thread is a tad old but wanted to give my small contribution to it.

I'm using fhdoom engine (not latest version unfortunately, made to many changes to merge) and the version I'm using, also didn't detected well GPU vram the value was always zero.

Fortunately, was able to tweak the original code to detect vram but like Revelator said, it only detects max 4GB, my GPU has 8GB for example, so that's not good. Trying to solve that, googled some stuff and was able to find some info online (never saw this thread at the time btw), on how to detect vram for AMD and Nvidia GPU's. Now that I see this thread and because the version I found looks different from what is showed, I decided to post my version here has well.
Btw not saying this is a better way, or is even stable code, I'm still learning coding and C++, this could be slower or buggy, better coders may review this and comment but in my case it worked. And so, for those that could be trying to solve the same problem, next to Revelator info (thanks for it btw) perhaps is helpful information. 
But this is important to say, it worked ON MY AMD GPU, i also didn't tested the Nvidia path at all (have no nvidia GPUs to test). So use this code at your own count and risk. Don't blame me if it breaks on your side! :P

Now for those that still want to try this...the code for me, in fhdoom worked, at the end of the function GLW_InitDriver on win_glimp.cpp, when the win32.hGLRC and wgl are already initialized.

StringsAreEqual() is a custom MACRO just for my own reading   #define StringsAreEqual(x, y) (idStr::Icmp(x, y) == 0)

the same with the types s32 and u32, signed int32 and unsigned int32 respectively.

The gl vendor strings code was inside R_InitOpenGL on the RenderSystem_Init.cpp file, add to transfer it inside GLW_InitDriver for the code to run, this was because code inside GLW_InitDriver is called before the vendor strings were set, inside R_InitOpenGL and so that info was available only later.


// START print GPU info
#if 1
common->Printf("... Getting GPU ID and RAM:\n");
common->Printf("\n");
// get our config strings
glConfig.vendor_string = (const char *)glGetString(GL_VENDOR);
glConfig.renderer_string = (const char *)glGetString(GL_RENDERER);
glConfig.version_string = (const char *)glGetString(GL_VERSION);

glConfig.vendorisAMD = false;
glConfig.vendorisNVIDIA = FALSE;
if (StringsAreEqual(glConfig.vendor_string, "AMD") ||
StringsAreEqual(glConfig.vendor_string, "ATI Technologies Inc.") ||
StringsAreEqual(glConfig.vendor_string, "Advanced Micro Devices Inc."))
{
glConfig.vendorisAMD = true;
}
else if (StringsAreEqual(glConfig.vendor_string, "NVIDIA") ||
StringsAreEqual(glConfig.vendor_string, "NVidia Corporation."))
{
glConfig.vendorisNVIDIA = TRUE;
}

if (glConfig.vendorisAMD)
{
u32 total_mem_mb = 0;
u32 gpuid = wglGetContextGPUIDAMD(win32.hGLRC);
wglGetGPUInfoAMD(gpuid,
WGL_GPU_RAM_AMD,
GL_UNSIGNED_INT,
sizeof(u32),
&total_mem_mb);

common->Printf("^3%s\n ^1VRAM ^3= ^2%dMB\n", glConfig.renderer_string, total_mem_mb);
}
else if (glConfig.vendorisNVIDIA)
{
#define GL_GPU_MEM_INFO_TOTAL_AVAILABLE_MEM_NVX 0x9048
#define GL_GPU_MEM_INFO_CURRENT_AVAILABLE_MEM_NVX 0x9049
s32 total_mem_kb = 0;
glGetIntegerv(GL_GPU_MEM_INFO_TOTAL_AVAILABLE_MEM_NVX,
&total_mem_kb);

s32 cur_avail_mem_kb = 0;
glGetIntegerv(GL_GPU_MEM_INFO_CURRENT_AVAILABLE_MEM_NVX,
&cur_avail_mem_kb);

common->Printf("%s Available VRAM = %d\n", glConfig.renderer_string, cur_avail_mem_kb / 1024);
common->Printf("%s Total VRAM = %d\n", glConfig.renderer_string, cur_avail_mem_kb / 1024);
}
else { common->Printf("^3Warning:^0Unable to find GPU ID and RAM!.......\n"); }
common->Printf("\n");
common->Printf("...End GPU ID and RAM\n");
#endif
// END print GPU info

  }


Hope is useful code, please review, if it has problems let me know.
#6
id Tech 4 Discussion / Re: Why so few uses of Id Tech 4?
November 15, 2017, 12:33:05 PM
Quote from: motorsep on November 15, 2017, 10:59:12 AM
So why don't you GFY and stop advising people on using idTech 4 for commercial production?!

Quote from: Argoon... i also agree that idtech 4 has it stands is not really the best choice for comercial games...

You are not only a guy with a really poisonous personality you also have reading disabilities...
#7
id Tech 4 Discussion / Re: Why so few uses of Id Tech 4?
November 15, 2017, 08:29:27 AM
Quote from: Snehk on November 14, 2017, 05:29:00 PM

I don't care what anyone is using for development, projects, design, rocket science or even quantum physics in their spare time. It's their right to be stuck in the past, use ancient or modern technology or anything they want. People are still using Quake and Doom deriative engines!


Exactly, that is something guys like Motorsep don't understand.

Quote from: LDAsh on November 15, 2017, 12:58:04 AM
I don't think anyone is slagging whatever people do as a hobby for fun, people can even use Torque or GameGuru if they want.  The implication is concerning "serious" development and the OP was talking about commercial use.  There's no need to be defensive about what at this point are facts, not opinions.

Motorsep has called on people including me for still using this engine, going has far has to say that he is here to remind us everyday that we are wasting our time.

Yes the op was talking about comercial usage and i among others explained why the engine saw few comercial realeases, and i also agree that idtech 4 has it stands is not really the best choice for comercial games but i don't care if anyone wants to make a comercial game with it, i will certainly not call those people stupid or stuck in the past.

Quote from: LDAsh on November 15, 2017, 12:58:04 AM
TDM is certainly an impressive achievement in many ways but the fact remains that the engine still can't handle wide-open detailed worlds (even by 2004 standards) and modern polycounts, and this isn't going to change.  Much of the content is on-par with mobile gaming by now, I would say.  This is mainly due to lack of "real" LOD, so I don't mean swapping models off the hard drive but actually having the stages in the vertex buffer.  Every time some new trick is implemented like fake-PBR or some post-processing shiny or soft shadows, the performance hit and possible affect on minimum system requirements is usually intolerably bad and not worth it compared to what engines like UE4 can already do with the same hardware and much higher framerates, with a LOT more content getting chewed and digested.  This is simply fact.

A Commodore64 emulator written in Java that requires 8GB RAM and quad-core CPU at minimum before it will even show the splash screen, bogged down by layers upon layers of abstraction, does not impress anyone.  And yes, they do exist.

TDM is indeed a great achievement and that is in part the way that community is very mature and focused and because idtech 4 was fortunately open enough for their needs.

Yes idtech 4 has no real "wide-open detailed worlds" and that is a petty but in now way does it make the engine useless, if it can't do that, don't make a game with it that needs that capability, play with the engine strengths not weaknesses and if your game really needs that (and you don't have the ability to change the engine internals) then go to other engine, i'm not saying that to attack you in any way, i would do the same if my current idea needed wide open spaces fortunately it does not.

No one is claiming idtech 4 can do everything what UE4 can, no one is claiming idtech 4 is easier to use than UE4, for the contrary, i'm just saying idtech 4 is not a useless engine, it has it's place and it's charm, i specially like the cleanness, sharpness of its render, contrary to UE4 and Unity, but that is me, is just a preference.

Quote from: MotorsepI am confident that you won't be able to make anything but Doom 3 mod that plays and feels exactly like Doom3 (or worse)

And this is why this guy should not be taken seriously, there's many examples of idtech 4 games and mods that feel very different to Doom 3.

Quote from: MotorsepEven recent attempt to integrate Vulkan into BFG engine stopped when the author dug deeper and discovered there half of the engine needs to be refactored.

Of course Sherlock ANY engine will need heavy refactoring for Vulkan, is a total different way to code renders and shader's, this new API needs engines to be made from the ground up with it in mind, any engine slapping a Vulkan render onto their old architecture will never rip it real benefits, this came from the mouth of Croteam engine developer Alan Ladavac and the Khronos Group it self. Btw, i would love to read the post, where the idSoftware employee working on this Vulkan render, claimed he stooped because he didn't knew needed to change the engine to much for it, i pretty much doubt that a professional engine developer/ coder would be so ignorant about the engine he worked before (unless is a totally new employee that only worked with idtech 5 and 6).   
#8
id Tech 4 Discussion / Re: Why so few uses of Id Tech 4?
November 14, 2017, 03:40:05 PM
Quote from: The Happy Friar on November 13, 2017, 10:42:05 PM
motorsep's right, doom 3 tech isn't very flexible.  it does what id designed it to do very, very well.  TDM plays on it's strengths very well.  TDM has also been in development for about 14 years.  With previous id game GPL releases there were several games based on the GPL engine released within ~5 years of release. 

As for a specific reason D3 tech hasn't been popular is, to me at least, a very simple reason: only the engine is GPL, no weapon, AI, shaders, etc. available.   For Quad Cowboy the hardest part was writing all those basics.  Wolf3D, Doom, Q1, Q2, Q3A, RTCW, etc. all have everything you need to make a game except assets where as Doom 3 is lacking, basically, the whole gameplay part of the game: someone could make a clone of one of those games in months with just asset work.  Doom 3 requires more code to get to the point where you can have some gameplay going.

In arguments like this the irony is lost by almost everyone: epic/valve fans for decades claimed id was nothing but an engine tech company that made games to show off tech.  The reality became that valve & epic are engine tech companies & id is still a game company but nobody's hollering it off the roof tops like when id made mega-hit game after game decades ago.  :)
Save

Motorsep is not "right" is has real arguments, and i agree with some of them, but his way of presenting them and the way he pretty much calls anyone using idtech 4 has a dumb person, even ones making mods or just fan's of id engines, removes from him any reason whatsoever.

Yes the vanilla idtech 4 is to old, that is why i'm using fhdoom, yes the original tools are old, not artist friendly and not very stable, but you have better alternatives for some of them and they do their job well. Yes the engine lacks many modern features like open spaces and stuff, but for corridor shooters is just fine. What i see here is a guy that instead of going to other engines if idtech 4 is not right for him or instead of trying to work with what he has, like some of the others that already finished mods and games in idtech 4, he complains and worse he actively tries to make other people stop using the engine (to the detriment of his own BFG modification), and that is Motorsep, if you condone this kind of behavior i don't. I don't mind people complaining about idtech 4, i also complain about it, what i don't agree are those that complain and instead of helping improving the engine/tool/documentation instead go out of their way to kill it. 

Second the TDM mod has indeed been worked for 14 years or so but these new engine features are not something that took 14 years to make, it was a resent addition to the engine because they add new coders and they also add other idtech 4 modifications and i stress MODIFICATIONS from hum they got some of their tech and you don't see them complaining and lamenting they are stuck with a "garbage engine".

Yes only the engine is GPL the game assets are not, but even if they were i'm pretty sure that would not matter, many would still complain the engine lacks many of the capabilities of modern engines, and so would not use it, hell even Cryengine 5 a modern engine with state of the art tech is full of "motorseps" on their forum, grass is always green on the other side.

And motorsep i've used Unity 4 for many of my exploits and even played with UE4 and Cryengine a little but in the end i prefer using this garbage engine, but that's me.     
#9
id Tech 4 Discussion / Re: Why so few uses of Id Tech 4?
November 13, 2017, 06:24:22 PM
Quote from: motorsep on November 13, 2017, 01:42:18 PM
"argoon" stands for "I like pointless arguments" - I don't see any track record of you making games. I've worked with idTech 1, idTech 4 and UE4 and I can tell you that id tech 4 is not malleable and is not versatile, it' was made to run Doom 3 and that's it. If you want to make something else you have to essentially rewrite it. Even recent attempt to integrate Vulkan into BFG engine stopped when the author dug deeper and discovered there half of the engine needs to be refactored.

The reason idTech 4 isn't used is simple - it's not flexible, it's limited and it's old. Once can make 3 games using UE4 before you make one game using idTech 4. Even Splash Damage ditched it at the end.

Tell me mister "I've made one game now my opinion matters more than yours", if the engine is not versatile why are people working on different versions of it, including rewriting it into a completely different programming language, some guy even made a fantastic VR version with it, etc? The TDM team has even announced they implemented multi-core support, OpenGL 3.2, soft stencil shadows and many more features, in their spare time, you on other end have nothing to show on your awesome UE4 game.

No I've never made a game nor mod and that is because i really never add that intention and had other things to do, for me this is a hobby period, but that in no way invalidates my point, at lest i don't waist my time complaining and hating on a engine forum i don't like, contrary to you.
#10
id Tech 4 Discussion / Re: Why so few uses of Id Tech 4?
November 13, 2017, 01:12:49 PM
You guys do love to complain, specially motorsep that loves this kind of threads, any opportunity to shit on idtech 4 and glorify UE4 and Unity is a most for him.

Why so few uses of idTech 4 by comercial AAA studios? Id contrary to Epic is not focused in the engine business so they didn't tried to sell the engine that strongly, even tho id sold licenses to their engines, they didn't worked on the tools to make them very easy for other developers, they expected them to get used to the tools or make their own or not bother at all and many didn't so idtech 4 saw few uses from outside teams.
Id tech 4 also came about when the engine market was imploding, everyone and their mother add now access, almost for free, for engines that were prohibitively expensive before. Engine tools also improved to the point that now, engines like idtech 4 that don't hold your hand, are not very noob friendly and don't make a single developer a power house are deamed has inferior, etc.

Taking that out, Idtech 4 is a very versatile engine and very maliable, to do big changes it does require developers with experience in c++ and OpenGL, but if you don't try to get to much outside of what the engine already provides, you can do pretty awesome stuff with it, motorsep only likes to mention comercial games, but there's some really cool mods made with idtech4, some with very unique stuff on them.

And Man Frictional games has made a awesome game (penumbra) with a engine (HPL 1) much more restrictive and inferior to even vanilla idtech 4 even the tools were inferior to those of idtech 4, the problem is not the engine is the ones using it. 
#11
id Tech 4 Models and Animations / Re: Create new af decl
November 09, 2017, 10:14:20 AM
I don't know if his a bug or why it crash's, but about doing af any other way, what you can do is, instead of clicking "New" af file, just open a existent generic af file, like the one below and change it to reflect your new af, in that way you don't need to ever click "New".


/*
File generated by the Articulated Figure Editor
Do not edit this file but launch the game and type 'editAFs' on the console.
*/

articulatedFigure default {

settings {
model ""
skin ""
friction 0.0099999998, 0.0099999998, 0.8000000119, 0.5
suspendSpeed 20, 30, 40, 60
noMoveTime 1
noMoveTranslation 10
noMoveRotation 10
maxMoveTime -1
totalMass -1
contents corpse
clipMask solid, corpse
selfCollision 1
}

body "body" {
joint "origin"
mod orientation
model box( ( -10, -10, -10 ), ( 10, 10, 10 ) )
origin ( 0, 0, 0 )
density 0.200000003
friction 0.0099999998, 0.0099999998, 0.8000000119
contents corpse
clipMask solid, corpse
selfCollision 1
containedJoints "*origin"
}

}
#12
id Tech 4 Mods / Re: Doom 3 BFG Edition sounds
November 05, 2017, 02:29:57 PM
Quote from: deneverfaszu on July 07, 2017, 11:19:31 AM
Hi

I'm trying to replace sounds in the BFG edition using RBDoom but nothing seems to works.
The files I trying to replace are voice files. (eg: sound\xian\creepy\vocal_fx\voc_comeonhurry_03.wav, vo\alpha_labs\sarge_radio1.wav)
I'm already using the two parameters (+set fs_resourceLoadPriority 0 +set fs_game @HUN) but the original files are played everywhere.

Please, help me.

I don't work with the BFG engine but in principle, it work's the same has vanilla idtech 4, so lets see, If the original sound files are playing, that means the engine is not finding your replacement files and so defaulting to the original ones, this can be a clue. Are you sure the engine is finding your mod folder? The @ on the name could be causing trouble? See if there's some obvious error on the console. Have you modified the original files path or files names in any way? If yes have you modified the sound shaders for those sounds so the engine knows where the new files are? If you don't know idtech 4 has the ability to play sounds with no sound shaders defined but Doom 3 afaik uses sound shaders for pretty much everything.

Hope this helps.

Quote from: y2keeth on November 03, 2017, 09:42:49 AM
what format are your wav's in, bfg is really picky about that. 22,050k 16 bit mono wav's work.

I don't know about BFG but past idtech 4 can play 11025, 22050 or 44100 Hz  wav's or ogg's just fine, i'm even playing 227kbps 32 bits 44100 Hz ogg's on fhDoom engine here no problem.   
#13
After many hours of trying to prevent a sound from playing over itself, when pressing a key continuously and inside the player think loop, after going trough the engine code i found some ways to solve this.

One:


const idSoundShader *sound = declManager->FindSound( "sound_name" );
// this above is not really necessary you can do the following instead if you want.
//...StartSound( declManager->FindSound( "sound_name" ), SND_CHANNEL_BODY );

// get the sound emitter (speaker) binded to the ingame entity, btw i tried to get a emitter directly from the master entity but it didn't found any and crashed the engine, why i don't know,
// is strange because afaik all entities can be "speakers"...
idSoundEmitter *emit = gameLocal.FindEntity( "some_speaker" )->GetSoundEmitter( );
if (!( emit->CurrentlyPlaying( ) )) // if sound is not playing
{
        // play it
emit->StartSound( sound, SND_CHANNEL_BODY);
}


Two:


const idSoundShader *sound = declManager->FindSound( "sound_name" );
idSoundEmitter *emit = gameLocal.FindEntity( "some_speaker" )->GetSoundEmitter( );
emit->StartSound( sound, SND_CHANNEL_BODY, 0, SSF_PLAY_ONCE ); // SSF_PLAY_ONCE prevents the sound from playing again if it is already playing



Three:  If you don't create a emiter object like above and call the sound directly from a entity it also works. :)


const idSoundShader *sound = declManager->FindSound( "sound_name" );
Entity->StartSoundShader( sound, SND_CHANNEL_BODY, SSF_PLAY_ONCE, false, NULL );
#14
Quote from: motorsep on October 06, 2017, 12:52:22 PM
Quote from: argoon on October 06, 2017, 09:58:05 AM
That is one of the idtech 4 games with the most complex gui's I've seen, how the hell was he able to do that with so few GUI tutorials? He sure is a good coder no doubt about it, btw i would kill to know how he made the drag&drop functionality for his gui's, is one of the things that i would love to have.

why don't you get in touch with the dev and ask ?

I already did waiting on a reply.
#15
That is one of the idtech 4 games with the most complex gui's I've seen, how the hell was he able to do that with so few GUI tutorials? He sure is a good coder no doubt about it, btw i would kill to know how he made the drag&drop functionality for his gui's, is one of the things that i would love to have.