Jump to content
The Dark Mod Forums

stgatilov

Active Developer
  • Posts

    6804
  • Joined

  • Last visited

  • Days Won

    234

Everything posted by stgatilov

  1. Isn't it even worse than honestly switching to 130 and fixing everything that breaks? I don't know exactly what would break, but I recall GLSL has many breaking changes over versions (unlike the C++ OpenGL side).
  2. I'm afraid it also requires downgrading all shaders. Do you really want to try it?
  3. Oh my god, this is true! And what is needed to support 3.0 on latest TDM? Note that your GPU most likely does not know anything about profiles, and if you run current SVN, the context will be created using old-style wglCreateContext without specifying any requirements. Unless TDM unconditionally uses something that appeared in GL 3.1, it should work on your GPU as well as on Intel HD 3000.
  4. As a matter of fact, I did not create differential update packages yet. Will fix them later. If downloading 1.5 GB does not sound like fun for you, I suggest trying tdmsync prototype with codename beta208-01. Did not test it yet, but I think it should work well with much less traffic.
  5. List of beta versions and changelog: beta208-01. svn rev 8634 / 15810. Initial beta version --- see changes above. beta208-02. svn rev 8648 / 15876. * Completely new SSAO implementation. * Allow to return to old console font using con_legacyFont cvar. * Fixed inefficiency in depth prepass (multi-draw). * Put filenames with hyphens into doublequotes in skins. * Many more Dragofer assets integrated. * Revised advanced video settings menu. * Supported user "addon" scripts. beta208-03. svn rev 8660 / 15898. * Removed g_rotationHack entirely: both fixing the models and dmap errors. Dmap still writes warnings. * Now HRTF can (and should) be turned on and off in sound settings menu. Useless sound setting removed from GUI. * Shouldering improvements: unlock view, forbid mid-air, cvar to disable new anim. * Turkish translation update by Outsider One. * All skins text normalized to better style. Most importantly, all paths are now enclosed into doublequotes. * Fixed painting_deadXXX material decls for deadXXX painting skins. * Fixed covered furniture models. * Fixed apebeast missing wearables (5201). * Fixed missing textures for textures/darkmod/decals/vegetation/grass01 and textures/darkmod/volta/volta_arrows_sheet. beta208-04. svn rev 8675 / 15903. * Fixed SSAO issues: Render Scale compatibility, zoomed views, darkening when close to wall. * Fixed rare crash in AAS compilation tool (5212). * tdm_update permission-related improvements: better error messages + warn user if he has admin rights (5213). beta208-05. svn rev 8701 / 15914. * Added new implementation of bloom effect. Can be enabled in advanced graphics settings. * Added a way to control color precision. Setting 64-bit precision reduces color banding and improves bloom on overbright lights. * Fixed issue with random black things in some foggy maps (e.g. Heart of Lone Salvation). Unfortunately, "multidraw" rendering optimization was disabled for it. * Fixed the HOM effect on some maps when player flies out of the world (in the void). * Fixed experimental r_shadowMapSinglePass cvar. * More fixes to X-ray skins feature. * Added shader parallaxCubeReflect for parallax-corrected reflection mapping. * Fixed warning about number of choices in SSAO setting GUI. beta208-06. svn rev 8735 / 15934. * Fixed SSAO issue on AMD graphics. * Bloom parameters tweaked: it no longer depends on screen resolution. * Fixed occasional drops of shadow softness (5063). * Changing gamma/brightness in menu now immediately affects the gamma calibration table. * Fixed decal materials broken by new specular color rules (e.g. in Saint Lucia). * Added workaround for composing spawnargs longer than 128 character in scripts (5236). * Fixes to alpha-blended subviews. * Added fogAlpha material keyword: enables partial fog on translucent surfaces. * Added last material keyword which means stage should render after postprocessing. * Asset fixes: werebeast, manbeast, and a bit of zombie. Plus some models fixed. * Added console command overrideSurfaceMaterial to change material of surface under cursor (see this). * Fixed problem when restarting TDM reverted borderless mode to fullscreen mode. * Do not reload decls which are inside pk4 files on reloadDecls, unless it is forced by user. beta208-07. svn rev 8755 / 15948. * Fixed AI not sitting/sleeping when it can (5265). * Reverted unexpected change in frustum of projection lights. * Particle static collision improvements (water, better blocker override). * Added typical 21:9 resolutions to settings menu. * Various asset fixes. beta208-08. svn rev 8771 / 15957. * Updated GUI overlays for 21:9 resolution. * Fixed elementals sometimes causing events overflow. * Added listEvents command and com_error_crash, com_warning_as_error cvars (part of 5270). * Assets fixes: manbeast/werebeast and lionhead_amulet (5184, 5271).
  6. Looking through the changelog, I must say that massive changes happened since 2.07. Prepare yourself for a lengthy beta Brief overview Internal: 1) Finally, TDM runs on OpenGL 3 core context by default (#5143). This is controlled by r_glCoreContext. 2) ARB shaders are no longer used. The last of them were tracked down and converted to GLSL. 3) Under the hood, we have a new GLSL shader management with includes and defines, plus a new OpenGL loading system on both OSes. 4) The Linux version is now built using widespread CMake system instead of SCons (#5075). Mapping: 1) Now interaction shader uses specular color instead of diffuse color when computing specular lighting term (#5044, controlled by r_testSpecularFix). The specular color was ignored for years, which 1) makes no sense, 2) makes some materials look wrong, and 3) makes it inconvenient to tweak specular. While this change affects dramatically all known FMs, it is hoped that it still fixes more than it breaks. This is the most controversial change, and whether it stays in 2.08 depends a lot on your feedback during early betas. 2) Fixed several bugs in visportals handling in dmap. This affects all existing maps, so please read section of Visportals wiki article. 3) Added diagnostics for common visportal problems (#5129), read section in Visportals wiki article. 4) Fixed bug in stencil shadows computation, which was introduced in 2.07 (#5106). It affects all parallel and projected lights when mapper runs dmap on a CPU with AVX. It is strongly recommended to re-dmap all FMs dmapped with 2.07 if they contain such lights. 5) Added dmap warnings about rotation-hacked models, fixed culling issue (#4970). 6) Improved precision of dmap and its mesh processing algorithms (#5137). 7) Fixed bugs with handling water brushes, especially with complex shapes (#5014). 8| Fixed MD3 and liquid models. Animated water should work properly now. Graphics: 1) Postprocessing and gamma/brightness settings merged together, bloom reimplemented completely (#4705). As the result, gamma/brightness now works on Linux, and no longer affects desktop and main menu. 2) Ambient occlusion feature can be enabled in Graphical settings (#4972). 3) "Borderless window" mode integrates a bit better with OS than "fullscreen" mode (#4724, Windows-only). 4) Fixed several bugs with non-default Render Scale (#5085, #5068). 5) More reliable game modelling with "Uncap FPS" when FPS is low (#4924). It also means worse performance under such circumstances (i.e. when FPS is uncapped and lower than 60). Gameplay: 1) Mantling, swimming, shouldering, ladder/rope improvements (#4509, #3550, #2273, #4107, #3607, #4948, #5069). 2) More AI sitting/sleeping fixes (#3989, #5156, #5164). 3) Now keybindings are saved into separate file DarkmodKeybinds.cfg (#4797). This makes it much less problem to reset darkmod.cfg, since you won't have to reconfigure all bindings after reset. 4) New customizable .script file to allow running custom scripts in every mission (#5179). New mapping features: 1) Static collision detection for rain particles (#4957), see Wiki article. 2) Better rain particles, old rain materials deprecated (#5139). 3) New way to tweak rendering order of translucent surfaces: drawSortOffset spawnarg. 4) Easy-to-use parallel light emanating from the sky (#5121), see explanation on wiki. It can be used for moon or sun, although it has serious performance toll. 5) Added stopPatrol script command for AIs (#5056). 6) Spectrum spawnargs restrict light interaction depending on spectrum values of lights and entities (#4956). 7) X-ray subview changes appearance (skin_xray) of specified entities when seen behind this surface. Assets: 1) New Beastmen characters (Kingsal) 2) New zombie characters (Springheel) 3) New environmental models (Springheel & Epifire) 4) Many more Dragofer models incorporated (Dragofer) And other improvements, additions, fixes, and optimizations.. More details can be seen in What's new wiki article and in the roadmap. Important cvars Old: * r_postprocess_gamma and r_postprocess_brightness: these cvars have replaced the old r_gamma and r_brightness. Also gamma now has default value "1.2". * r_interactionProgram and tdm_ambient_method: this are the current cvars controlling "interaction" and "ambient" programs. These settings were previously available in Advanced video settings, but they are no longer visible in menu. Only change this for some debugging/investigation purposes. * r_uniformTransforms: setting to 0 is known to fix severe graphical issues on Intel HD 3000; please leave this as default, and let developers know if your machine needs this to run TDM properly. New: * r_glCoreProfile: default value 2 forces "Core profile" OpenGL context, while value 0 says to create "Compatibility profile". Should have no visual impact. Only takes effect during engine initialization. Only change this is someone suspects that Core profile breaks something. * r_testSpecularFix: this controls whether specular color or diffuse collor is used to modulate specular light term. Should be used to see what was fixed or broken by the corresponding change. Set to -1 to make game switch back and forth between old and new behavior every second. * r_ssao_*: several cvars with this prefix can be used to tweak SSAO implementation. Although ideally you shouldn't have to touch them. * r_bloom*: several cvars to tweak new bloom effect. Ideally, you should not touch it: just use slider in GUI settings. * r_fboColorBits 64: increased color precision (HDR rendering). Reduces color banding, makes bloom on very bright light sources more prominent. * r_usePersistentMapping, r_useMultiDraw, r_useBaseVertex: use new graphical features for potentially faster rendering. Should not touch these unless it is suspected that one of them causes a problem. * r_useParallelAddModels: an experimental cvar to further parallelize a considerable part of the renderer. Should slightly increase FPS in many cases, but can cause all sort of problems.
  7. TDM 2.08 is ready for beta test In order to update, you have to download tdm_mirrors.txt file. Note that this file will change with every beta release, unlike previous years. Windows, Full Install: 1 - Create a darkmod folder anywhere you like. 2 - Download the TDM Updater. Extract tdm_update.exe from the downloaded ZIP and place it in your darkmod folder. 3 - Download a special tdm_mirrors.txt file and place it in your darkmod folder. 4 - Start tdm_update.exe. Remember to use the --keep-mirrors setting when running tdm_update. (On the main window, click the "Advanced Options" button and check the first box.) Windows, 2.07 to 2.08 Upgrade: 1 - Download a special tdm_mirrors.txt file and place it in your darkmod folder. 2 - Start tdm_update.exe. Remember to use the --keep-mirrors setting when running tdm_update. (On the main window, click the "Advanced Options" button and check the first box.) Linux, Full Install: 1 - Create a darkmod folder anywhere you like. 2 - Download the Linux version of the TDM Updater and extract it to your darkmod folder. 3 - Download a special tdm_mirrors.txt file and place it in your darkmod folder. 4 - Make tdm_update.linux64 executable: "chmod +x tdm_update.linux64" 5 - Run the updater. Remember to use the --keep-mirrors setting. Linux, 2.07 to 2.08 Upgrade: 1 - Download a special tdm_mirrors.txt file and place it in your darkmod folder. 2 - Run the updater. Remember to use the --keep-mirrors setting. Config reset: After update is over, delete your darkmod.cfg file to reset all settings (better backup it beforehand). Notes 1 - This effort is to find out if we broke anything in TDM with our 2.08 changes, if a new 2.08 feature isn't working correctly. We won't be trying to fix bugs that have been around for a long time. The best that could be done now for such old-living bugs is to create an issue in bugtracker (if not yet present). 2 - If you find something wrong and still have 2.07 version in your hands, please test the same thing in 2.07. 3 - Please try to be specific when reporting a problem. What you were doing, where you were when the problem occurred, can you reproduce it, etc. This wiki article provides many suggestions for good bug reports. Thank you for testing !
  8. Wow! Looks cool The latency is huge though. If VR sets processed input with this latency, everyone would get motion sickness very soon So I doubt this could really substitute a dedicated VR hardware. Also, I guess you cannot modify yaw/pitch the same way, since gravity data is one-dimensional, while orientation is three-dimensional. Anyway, with static monitor it makes no sense to rotate head around.
  9. I don't like the word "typically" here Shouldn't there be a validation check for it? Yes, I agree that my comment is not very important regarding the distance check.
  10. Do you happen to use Linux? A good news is that 2.08 will apply gamma/brightness internally, so most likely it will work for everyone. The bad news is that realistically 2.08 will come out in something like 3 months from now. Not something to wait for. Workarounds to try for now: Enable postprocessing in video menu or via cvar g_postprocess 1. After that you might want to reduce bloom to zero to avoid blurry look. Then tweak cvars g_postprocess_sceneGamma and g_postprocess_sceneExposure instead of gamma and brightness. One important thing is that g_postprocess_sceneGamma is inversed. So if you want to raise gamma to 1.5, you have to set g_postprocess_sceneGamma 0.666. Use r_ambiendMinLevel and r_ambientGamma to make things more visible. I'm not sure if these cvars were released in 2.07 though. If you are not certain how to apply these workaround, feel free to ask --- I can write a precise instruction.
  11. What about the fact that AI can approach the final path_corner before path_sit from different directions? It can depend on: Where he came from. Theoretically, all the travel history affects this with rapidly decreasing impact. But the typical case is when there are several nodes targeting the problematic one. Sometimes guard meets some obstacle. For instance, it may be another guard, or something that player has put on the path. Such situations are impossible to fully test against, but they can affect how the guard sits down. All of this perhaps does not affect the distance strong enough to make a difference. But it can easily affect the direction. Is there anything which ensures that guard sits in some specific direction?
  12. Maybe post a screenshot?
  13. Tracked this as issue 5157. It will be fixed properly in future release. Thank you for providing a savefile and for your patience!
  14. Ahem... yes In future... update to TDM 2.08 when it is out. For now, here is the way to resolve the problem on your save: Execute: notarget Execute: setviewpos 3505.6 688.81 116.25 23.8 -2.9 0.0 You see the guy marching into a door? Take him out. Make sure his body does not touch this door. Hide it in darkness, or throw into water, so that nobody finds it. Execute: setviewpos 2842.95 -1065.07 565.25 -22.0 -102.1 0.0 Execute: notarget Continue playing. You should be able to manipulate objects now. I'm afraid it is not some specific action from your side, just some bad luck which led this guard into such situation. If you have this problem again, feel free to write here, and I'll find someone to kill to resolve the problem
  15. I looked why it happens, and it turns out the the following function is buggy: void idEntity::CheckCollision(idEntity* collidedWith) { ... ... // Check everyone on my team. idEntity *bindMaster = GetBindMaster(); idEntity *parent = NULL; while ( bindMaster != NULL ) { parent = bindMaster; bindMaster = parent->GetBindMaster(); } // If we found a parent, am I on the list of all children? if (parent) { idList<idEntity *> children; parent->GetTeamChildren(&children); // gets all children for ( int i = 0 ; i < children.Num() ; i++ ) { idEntity *child = children[i]; if ( child == this ) { grabber->StopDrag(); return; } } } } Interestingly, grabber drops any item because mill_cityguard_1 collides with func_static_1872, which happens to be in the list of children of its parent atdm_door_104x56_2hinge_1. Not sure yet what it means, but it is clear that this code forces player to drop item on completely unrelated collisions. I wonder why doesn't everyone have your problem, and how you got into this situation.
  16. I could not reproduce it locally. Here is the video: except for the case when I hit the table, I can lift and move chair normally. There is a chance that the problem is caused by your savegame file. Could you attach it too? Did you try to start a new game, execute setviewpos 2812.2 -1174.9 565.25 52.7 -29.5 0.0, and check if the issue is present on a fresh game? Another wild guess: could you execute com_forceGenericSIMD 1 in console and check if the issue is gone? Your CPU has different capabilities.
  17. If you use "Uncapped FPS" in Video->Advanced settings, try turning it off. The best thing would be if you upload a video recording of the problem. Otherwise, I'll probably try to reproduce it myself. Could you please report some particular place where you always have the problem (e.g. output of setviewpos command)? By the way, could you please attach you darkmod.cfg file?
  18. This startSound, you must pass name of spawnarg in the entity which you call it on. The name must also start with snd_, because for any such spawnarg the engine preloads sound file on map load. You cannot pass name of sound shader directly. By the way, a good approach to see how a function actually works is to find its usages in the core scripts, e.g.: if ( vine.getKey( "snd_grow" ) != "" ) vine.startSound( "snd_grow", SND_CHANNEL_BODY, false ); The serious downside of startSound is that you cannot play a sound on entity B if you have it in a spawnarg of entity A. Which seems to be your case. I guess it won't a problem if you use startSoundShader on a sound shader which is specified as snd_open or snd_close in some already spawned entity. It should be preloaded anyway, and already available at the moment when you use it. But in general, if you use startSoundShader, then you should do cacheSoundShader before that, preferably during initialization.
  19. @Spooks, do you still want this feature? If yes, then do you think it would be more useful with temporary material change or persistent change (i.e. changed material persists until the end of current game session) ? I'm afraid the implementation would be different in these two cases. Also, I wonder what other mappers think of it. Right now it seems that Spooks is the only one who tweaks the visual look in-game.
  20. The netSync parameter specifies whether the sound should be started for this player only, or for all players in a multiplayer session. I'm afraid it cannot be removed at this moment. Existing scripts often call it by passing false, although true would work too. I cannot understand why startSound returns zero for you. Looking at the code, startSound internally calls startSoundShader and returns the value it gets from it. Moreover, I put breakpoint into startSound and verified that it returns some positive numbers.
  21. As for AI: they can use elevators. Elevator is a special multi-station thing such that AIs know how to move between stations. In fact, elevator is even more complicated than teledoor: AI knows how to call it, and how to wait while being on it. It is quite likely that this elevator system can be adapted here, so that guards could chase through teledoors without problem. If this does not work, then it's better just do nothing. The support for elevators took about 1000-2000 lines of complicated C++ code, I doubt this teledoor feature is valuable enough to spend so much time and effort on it.
  22. I think if you start sound from script, it will loop only is the shader has looping keyword. What happens if you just call startSound? I think you can call it on any entity, not only on the current one. Also, this event returns the duration of the sound.
  23. You mean they are always incompatible or only with postprocessing enabled?
×
×
  • Create New...