Jump to content
The Dark Mod Forums


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by HMart

  1. HMart


    Does TDM support Parallel-Split Shadow Mapping ? Afaik for outdoor lighting is the best option for acceptable performance, if shadows is the problem that is...
  2. No sorry still need to install VS2017, right now only have 2015 and 2019. edit: Ok instaled vs2017 and i'm building the project. edit 2: libs compiled fine, penumbra not, first it asked me to update the solution? Then it stoped with error: fatal error C1083: Cannot open include file: 'hpl.h': No such file or directory It seems i'm missing some includes
  3. First quake 4 gui scripting has some important diferences from Dhewm 3 gui scripting, the later is based on original Doom 3 system, so don't be surprised if Quake 4 gui tutorials don't work. For example, in quake 4 you can call onNamedEvents directly in the gui using comand "namedEvent", wheres on doom 3 gui's you can't, only through c++ (but is not hard to change the gui source code for that to happen I did it, will post the c++ code if someone wants), but that is not the only diference, for example in quake 4 you can access individual values from a vector, using the same way you do in doom script, using suffix _x _y _z , you cannot do that in original Doom 3 gui scripting, at lest I tried it and it caused a gui error. Another thing only exclusive to Quake 4 gui scripting, is that you can transition floats, wheres Doom 3 you can only to that to vectors. About your gui code, afaik the command OnActivate is a global command, meaning it should be put exclusively inside the main desktop window, like the OnNamedEvent's, not any other window children, if you want a child window to start a commd use, OnEnter (when the user presses enter key), OnAction (when the user clicks the action key, mouse 1 normaly) or OnMouseEnter when the player mouses over the child window, I may be forgetting something but afaik that's the gist of it. ps: You can also use onTime events, to start a map automatically that is how Doom 3 main menu does it. for example: onTime 12000 // after 12 seconds { set "cmd" "startgame test.map"; }
  4. lol nice, personally I don't know what I would use that for, I only used DOS for a very small time and just to play Prince of Persia, I've pretty much grow up with windows but i'm sure is useful for those wanting to run that old dos tool or old dos game that they loved.
  5. In windows to know more about your PC you can do this, go to the search bar in the windows bar, normally in the lower left corner, next to the windows icon, type dxdiag, a blue icon with a yellow X should showup, double click on it, chose no if a small window shows up, then you can see basic info about your CPU in the system tab and basic info on your GPU in the visualization tab. You can also install this to know more deeply about your GPU and or this to know more deeply about your CPU. Darkmod.cfg is a file that is on the games folder, is where the game saves all the engine/game definitions for later use, that file can be read/edited with a simple text editor, but I don't recommend editing it, if you don't know what your are doing. Because is just a small text file you can attach it to the forum, it saves no important info about you or something so don't worry. r_ambientGamma is a TDM console command, to know more about this go here.
  6. That's unfortunate, i'm sure that if you were a developer from Epic or something they would be all over you like flies. Anyway thanks for making the sacrifice, i'm sure you are not happy about it but imo is for the better that warning was not helping.
  7. Based on the conversation i'm sure that will never happen but the idea of moving dmap to DR sounded really awesome.
  8. Hey revelator i'm really sorry for not being much help with this, just to inform that I get a malware warning on your new files "Warning! Malware detected. Download at your own risk." I'm sure is just a false positive but this can scare away potencial users and that would be a petty, so if I was you I would write something about it in the readme section, if only just to try give some reassurance to people.
  9. Is that really true? I've not used it in some time but I did used it before and it worked every single time in all games I tried it, could be a recent bug, personally stopped using it because I don't like how it blurs the scene a little and also affects the text in the GUI's of some games, makes them overly smooth. It also doesn't work in Dx12 and Vulkan games, but those are a minority. Btw I personally don't like FXAA either, why, because it also blurs the scene a little to my tastes, if I can't use MSAA or even SSAA I don't use AA at all, I prefer fluid motion, crisp images and don't mind aliasing, IMO isn't that bad at 1080p.
  10. You can also write a autoexec.cfg file, if it doesn't exist already that is and if TDM team didn't changed how config files are managed, don't have TDM at hand to see, then you can put all your preferred cvars in there. Btw no need to put there all the cvars, only the ones you want to change, if it works, it will safely override the ones in darkmod.cfg.
  11. The performance improvements are very impressive, you guys are doing a fantastic job but I most say that personally, I like the 2.03 version look the most, less shiny more brighter. Could it be the SSAO doing that, or the team changed how the ambient lighting works?
  12. Sorry I should have mentioned that i'm not using it on TDM. So I really don't know.
  13. Unfortunately idtech 4 GUI editor (made by the Quake 4 team Raven btw) is very bare bones, has a tendency to crash and corrupt GUI's, specially if it has complex scripting and you are not careful and save constantly, it also doesn't support any in editor scripting abilities and animations that still has to be done manually in a text editor. For those that care here are the cvars I use to make it work +set developer 1 +set r_fullscreen 0 +set r_multiSamples 0 +set r_mode 5 +disconnect +editguis There's also a material editor if you don't already know, but imo is far from being a very user friendly tool and for the most part personaly prefere to write them by hand.
  14. Hum the last time I tried to mod the game it only guarantied full support for collada 1.4.0, I used Modo 601 (the same I still use for idtech4 .lwo), it exports collada 1.4.1, it worked but not 100% the model exported/imported fine, but all the extra stuff, like lights and light options, like color, size and stuff, didn't worked correctly. Or perhaps Modo exports a invalid collada format? (I find that unlikely) Or HPL1 engine uses a particular format of collada that only the Maya plugging, Frictional games used, could export. I remember looking at original Penumbra collada 1.4.0 models in a text editor and the collada 1.4.1 exported from Modo 601 and saw obvious big diferences. Never tested blender because didn't used it at the time. To me is important that collada export/import work correctly, because afaik to use HPL1, 99.9% of the level work is done inside the 3D tool (Maya in their case), their "editor" is just a pre-viewer of sorts.
  15. Awesome work revelator, don't forget to post that in the Frictional Games forum if you have not already, thanks for making this, I really hope that having the ability to use a more modern collada version and so more modern tools, will help this engine get more use, IMO was one of the main stoppers. Unfortunately can't test right now, will do so during the weekend and give you some feedback. cheers.
  16. 1 - go to modify -> rotate and scale, is already at 45ยบ increments. 2 - Are you talking about DR here? if yes changing keybindings in edit -> mouse bindings, doesn't help?
  17. stgatilov, unless you guys modified the input system has well, in normal idtech 4 there's also the ability to print (list) key bindings on the console, so obviously they can be made into a simple string. If this code gets updated has keybindings get changed ingame, I don't know but I assume it does. Here is the relevant code from KeyInput.cpp void Key_ListBinds_f( const idCmdArgs &args ) { int i; for ( i = 0; i < MAX_KEYS; i++ ) { if ( keys[i].binding.Length() ) { common->Printf( "%s \"%s\"\n", idKeyInput::KeyNumToString( i, false ), keys[i].binding.c_str() ); } } }
  18. First personally i'm not a fan of those situations where games override player commands, but that is me. About the question itself, afaik there's no way in script to simulate a button press, don't know what you are trying to do but couldn't you just push the player forward with a invisible brush? It will not "walk" but glide but at lest would move forward.
  19. No problem revelator, its nice to hear from you. Never worked with angelscript but from the code I've seen, it seems to follow C syntax, similar to Doom Script, that makes it very attractive to me. Not that I can help but what problems are you having with it?
  20. Holly shit that bump in performance is impressive! Good job!
  21. I've used vertex colors in some models before (not on TDM version of idtech 4) and never saw this behavior, idSoftware also used them for the Mars terrain peaces and afaik they look fine, but perhaps I just didn't looked carefully or this bug only happens on .ase models? All my models are in .lwo format. If this ends being a original idtech 4 bug then not even idsoftware artists were aware of it, but Doom 3 was rater dark so that could hide some bugs.
  22. The model topology in the flat parts imo is really not optimal, so perhaps is smoothing groups causing problems? If it was me I would cut (separate in blender I think) the model manually at the "hard edges", to see if that solves the problem, this if the exporter doesn't decide to "glue" the model again at export time, afaik exporters should do this cut automatically at export, when using smoothing groups or "hard edges" but perhaps is failing in this case? If that solves the problem then I would rework the topology. Btw what model is that for? Or is a secret?
  23. To solve that I would do a trace "tracePoint( vector start, vector end, float contents_mask, entity passEntity )" pseudo code vector start = playerOrigin; start_z += 10; // make the trace start some units above the floor vector end = enemySpawnPosition; end_z += 10; tracePoint (start, end, MASK_SOLID | CONTENTS_RENDERMODEL, self); // "self" is of course the player entity, you don't want to detect the player. if the trace detects a entity: // 10 units high or above entity ent = sys.getTraceEntity(); if( ent ) do nothing else, there's enough open space in front of you, spawn the enemy; Of course this doesn't take into account all corner cases, this can end very complicated, with more than one trace needed to really solve every case; Just see this to see how tracing can be very powerful but also complicated: http://blendogames.com/news/post/2013-01-02-qc-dev-001-ghost-cursor/ Edit: your idea of setting teleport's by hand is not bad at all and the script would be less complicated, but of course less dynamic.
  24. Hum in that case can't you just use the available AI script code? Unless the TDM team changed totally the Doom 3 AI code, the original AI had this script functions, see if they are available (and work...). .faceEnemy(); .faceEntity(); .canSee(); .TurnTo(); .TurnToPos(); .TurnToEntity(); .LookAt(); // For the heads .LookAtEnemy(); // for the heads And others. Here is the code for the Doom 3 sentry robot, where some of those are used, here just as a guide, I don't claim any of this works on TDM but no harm in trying I guess. /* ===================== char_sentry::state_Combat ===================== */ void char_sentry::state_Combat() { float attack_flags; eachFrame { faceEnemy(); lookAtEnemy( 1 ); if ( AI_ENEMY_DEAD || !getEnemy() ) { startSound( "snd_target_lost", SND_CHANNEL_VOICE, false ); AI_ENEMY_DEAD = false; clearEnemy(); setState( "state_Idle" ); } attack_flags = check_attacks(); if ( attack_flags ) { do_attack( attack_flags ); continue; } if ( canReachEnemy() ) { combat_chase(); } else if ( !find_attack_position() ) { ignore( getEnemy() ); checkForEnemy( false ); } waitFrame(); } } (edit): To make a entity spawn in front if the player, try something like this, change has needed to work on TDM: float someDistanceValue = 128.0; // Doom units tweek has needed vector playerOrigin = self.getOrigin(); // player needs to exist in the world already vector playerAngles = self.getAngles(); vector playerForwardVec = sys.angToForward(playerAngles); vector enemySpawnPosition = playerOrigin + (playerForwardVec * someDistanceValue); entity enemy = sys.spawn( "classname" ); enemy.setOrigin( enemySpawnPosition ); Not sure if the spawn code itself is correct at all.
  • Create New...