Jump to content
The Dark Mod Forums

stgatilov

Active Developer
  • Posts

    7258
  • Joined

  • Last visited

  • Days Won

    280

Everything posted by stgatilov

  1. I'd like to remind that the core question is: what should we do now? Stencil shadows don't support a lot of things, but they are pixel-perfect in exchange. Indeed, stencil shadows won't be removed while shadow maps look like crap here and there (and are not even self-sufficient).
  2. As everyone know, right now we have both stencil shadows and shadow maps in the engine, and the player is mostly free to choose whichever he likes more. Due to the reasons I provide below, stencil shadows will most likely be dropped in some future, but that future is definitely not here yet. Unlike shadow maps, stencil shadows do not support: Alpha-tested shadow occluders. Shadows on translucent surfaces. Volumetric lights with account for shadows. Soft shadows with contact hardening. Point 4 can be ignored, point 3 has an automatic workaround by forcing lights with volumetrics to shadow maps. Points 1 and 2 result in major difference in behavior between the two modes. For the reference, we have one more technical difference: Front faces cast shadows in shadow maps mode, but don't cast them in stencil shadows mode. I recall how initially volumetric lights had their shadows disabled in stencil shadows mode, and mappers were not happy because that's a big difference in behavior. One issue was that every mission has to be beta-tested in both modes. That's why right now I mostly follow the same strategy: Alpha-testing is disabled when rendering shadow maps (since 2.12), unless you enable r_shadowMapAlphaTested. Shadows are disabled on translucent objects (since today's 2.13 dev build), unless you enable r_shadowMapOnTranslucent. I wonder if this is still what majority of the mappers think is best?
  3. dev16996-10665 is available! This includes everything that we could not help but commit to trunk during beta, and some of the stuff which we wanted to commit back then but did not
  4. That's because these counters are updated by calling special wrappers around draw calls. I think the new backend does not call it everywhere --- maybe I changed something here. So I'm afraid the performance counters are as reliable as we care about them when doing changed to the renderer... which is not great at this moment.
  5. For easier inspection of various culling algorithms, I created a new debug cvar. It fixes the camera position that renderer frontend uses for culling, but allows player to fly around and see the same objects from different view point. Don't expect perfectly valid/sane picture, but I think it reliably shows which objects are sent to OpenGL for rendering. Here is the demonstration (bottom-left is clipped away in this video, but I hope it is clear anyway): It will be available in the next dev build. Maybe someone will find it useful for analyzing overdraw? P.S. Aside from that, "r_showtris 2" + "r_useScissor 0" should be useful for overdraw analysis too. It is questionable though whether you should disable r_useScissor in this case...
  6. Changelog of 2.13 development: beta213-05 (rev 17312-10946) * Removed back menuLastGameFrame feature because of random texture popup (post). * Console font minor tweak to avoid artifact under P. * Minor fix for Catalan language. beta213-04 (rev 17306-10940) * Fixed bug with compass + X-ray glasses combination. * Fixed two buttons displayed in menu objectives during game (post). * Added new smoking animation. * Added menuLastGameFrame image to show game footage in in-game main menu (6608). * Changed install/uninstall mission to select/deselect in main menu. * Fixed editor images for HD carpets (6607). * More fixes for Catalan language. beta213-03 (rev 17294-10935) * Fixed crash in WS3 due to script name collision in invisibility potion. * Added praying animation. * Fixed heat-haze shaders with nontrivial Render Scale. * Restored back tonemapping in the menus. * Allow settings hotkeys for gasmine, slowfall, invisibility, made strings translatable. * Fixed double-cursor in game console on 1920x1080 (post). * Applied noise reduction to new vocals for drunk "jack" AI. * Added support for Catalan language. * Fixed UV maps on stove models (6312). beta213-02 (rev 17281-10932) * Fixed HOM-like artifacts in AT1 Lucy and trash frames on TDM start on Linux (post, post). * Disabled tonemap compression curve and reverted settings to 2.12 defaults (post). * Added menu options to disable volumetric lights and parallax mapping. * Fixed varioius issues with largesquare01 materials (6579). * Fixed several issues in the new parallax materials (6604). * Deleted plain_redgreen_design_HD material which references non-existent textures (6601). * Some main menu buttons during game start replaced with generic "Next" (post). * Climbing sounds now depend on material (4991). * Added shaded_lamp_with_grill model (6589). * New fabric_ornate and fabric_fleur materials. beta213-01 (rev 17262-10927) * Improving the fonts continued (thread). * Fixed unwanted mine deployment when player eats the last bit of food in hands (6598). * Removed old hack to fix for scripted savegame crash (4967). * Added a model ext_timber01_window01_empty.lwo (6600). * Fixed missing skin for atdm:ai_revenant_spirit (6595). dev17251-10920 * Added slowfall potion. * Added invisibility potion. * New tonemap settings are now default (post). * Added Texture Quality settings in the main menu. * Added pipes_industrial_modular models. * Minor adjustments to colored versions of gen3 environment maps. * Default value of inv_count is back at 1 to fix issues with inventory counts. * Fixed rare crash on loading collision models (post). * Refactored heatHaze shaders. dev17234-10914 * Added many new high-res materials, half of them with parallax mapping. * Implemented optional HDR compression in tonemapping + other improvements (post). * Implemented interactionSeparator syntax in materials (post). * Added new entityDef: atdm:radio. * Added colored versions of gen3 environment cubemaps for metallic materials. * Added new environment cubemaps: sparkles, studio, blurry. * Added coat_commoner_hanging and coat_inventor_hanging models. * Added mantle_clock_ticking sound. * Improved lightgem calculations while leaning (post). * Fixed regression with double-sided materials (5862). * New sorting of inventory grid items (6592). * Reduced font size of mission list, which allows to see more missions and longer names (post). * Added scrollbar to "notes" of a mission in the main menu. * Optimization: don't render interaction groups with black diffuse & specular. * Improved "scepter" material (thread). * Fixed normal map of ornament_relief_mold_eaglelshield (6585). * More tweaks to starry2 materials. * Made material noshadows: moon_full_shaded, shooting_star, moon_glow. * Added "inv_count" "1" spawnarg to atdm:playertool. * Gas mine now costs 125 instead of 75. * Added min/max builtin functions to game scripts. * Added script events about gravity, health, in-air movement. * Added script events setUserBy, setFrobActionScript. dev17171-10894 * Added entityDef archery_target01 with hit detection, it is now used in Training Mission. * Fixed missing steam_pipe02_straight in Training Mission. * Hiding mouse cursor during briefing in official missions (6576). * Cleaned up the code for extracting interaction groups in material. * Parallax mapping: supported "translate", self-shadows are disabled properly (6571). * Fixed meshes generator_big, generator_small, generator2, warehouse_front_doorframe (6581). * Fixed material on model stove_open02 (6580). * Fixed decals on ext_timber01_window01 (5782). * Improved largesquare01 materials with bumpmap and specular (6579). * Added skybox materials clouds3 and clouds_4_small + prefabs. dev17152-10890 * Major update of Training Mission, including vine arrows (4352). * Added TDM version + engine revision in lower-left corner of main menu. * Experimental implementation of parallax mapping (6571). * Fixed frob interaction with candle holder that's initially extinguished (6577). * Better icons for scrollbar thumb in menu, fixed author search (6339 6570 6449). * Fixed hiding mouse cursor during video briefing/debriefing (6576). * Fixed map immobilization not applied if opening map with inv use key. * Forbid adding missions to download when download is in progress (6368). * Skip disabled bump stages in environment mapping (6572). * Disabled texture compression for light images: falloff and IBL cubemaps. * Minor change in shadow map acne / blur radius computation (6571). * Added banner01_edgar and banner01_viktor banners, along with long versions. * Fixed UV map for longbanner_ragged model (6573). * Added missing jack/drunk_idle13.ogg sample (6507). * Fixed handle_curved02_latch prefab, deleted pull_handle (6286). * Replaced normal map of cobblestone_blue_black with high-res version (6574). * More detailed editor images of some materials (6575). * Added small_dresser_openable prefab. * Added banner_sword + tdm_bannerlong_sword materials. * Increased size of secret message overlay GUI. dev17121-10869 * Massive improvements in mission select & download menus, added search (6339 6570 6449). * Improvements and fixes for "builder priest" animated mesh. * Improvements of idle01 animation. * Improved newspaper01 model (6568). * Added gas mine to "map start pack" prefabs (6559). * Fixed text alignment in save/load menus. * Minor CI/build fixes. dev17104-10844 * Enabled the new system for tracking light value by default (6546). * New light value tracking integration covers ropes and doors + optimized shadow rays (6546). * Added atdm:playertools_gasmine (6559). * Workaround for compiler bug which broke particle collisions with texture layout (post). * Fixed r_showTris: color, values 2 and 3 (6560). * Minor improvements to drunk vocals (6507). * More tweaks to sculpted/girard_relief_pho. dev17095-10833 * Major improvements in drunk AIs: setting "drunk" spawnarg is enough now; new sounds, animation improvements, greetings, etc. (6507). Fixed drunk women AI (5047). * Incorporated stone font updates by Geep (thread). * New footstep sounds for ice and broken glass (6551). * Fixed light culling bug on elongated models with non-identity rotation (6557). * Added new system for tracking light value of entities (6546). It is disabled yet. * Technical change in loading of particle collisions (6546). * Now AI follower settings can be set as spawnargs, added prefab (6552). * Added proper dmap error message if map file contains an entity before worldspawn. * Fixed water_medium_running sound (5384). * Fixed window/metal_irregularpanes_moonlit material. * Fixed wood/boards/rough_boards_scratched (4157). * Fixed wall/ship_wheel model (6549). * Fixed gaps in awning_cloth_01_large model (6550). * Added weather particles with static collisions enabled (6545). * Added a pack of new factory_machines models (6537). * Added fabric/cloth_baize materials (red and purple). * Added window/diamond_pattern01_moonlit_bright material (6133). * Added AO and specular maps to sculpted/girard_relief material. * Added musicbox sound, added prefabs for it and for victrola. * Added wood/panels/mary_panel model. * DarkRadiant now knows about parallelSky param (6496). dev17056-10800 * Supported "efx_preset" spawnarg on location entities (6273, thread). * Fixed rendering of volumetric light and particles in X-ray views (6538). * Fixed rendering of particles in mirrors (6538). * Improved volume estimation for subtitles, very quiet subtitles are hidden (6491). * Fixed bug in idClip::Translation of non-centered models. * Third-party integration greatly reworked for better integration with conan (6253). * Stone/subtitle font improvements by Geep. * Fixed sleeping sounds for drunk AIs (6539), and other sounds for them too (6507). * Fixed missing shadow on endtable_001 model (6288). * Added girard_relief material. Known issues: * Shadows of Northdale Act 1 does not start (6509). (mission has been updated) dev17044-10746 * Supported mission overrides for cvars which are tied to gameplay state (5453). * Fixed crash on start with 32-bit Windows build. * Rebuilt all third-party libraries with conan 2 system (6253). * Reverted improvements of capped FPS to fix video/audio desync (5575). dev17042-10732 * Restored ability to create cvars dynamically, fixing bow in missions (5600). * Fixed issue where .cfg files were saved every frame (5600). * Added sys.getcvarf script event for getting float value of cvar (6530). * Extracted most of constants from weapon scripts into cvars (6530). dev17035-10724 * Support passing information between game and briefing/debriefing GUI via persistent info. Also changed start map & location selection, added on_mission_complete script callback (6509 thread). * New bumpmapped environment mapping is now default (6354). * New behavior of zero sound spawnarg is now default (6346). * Added sound for "charge post" model (6527). * Major refactoring of cvars system to simplify future changes (5600). Known issues: * Bow does not shoot in some missions: thread (only in this dev build) dev17026-10712 * Nested subviews (mirrors, remotes, sky, etc.) now work properly (6434). * Added GUI debriefing state on mission success (6509 thread). * Sound argument override with zero now works properly under cvar (6346 thread). * Environment mapping is same on bumpy and non-bumpy surfaces under cvar (6354 thread). * Default console font size reduced to 5, added lower bound depending on resolution. * Added high-quality versions of panel_carved_rectangles (6515). * Added proper normal map for stainglass_saint_03 (6521). * Fixed DestroyDelay warning when closing objectives. * Fixed the only remaining non-threadsafe cvar (5600). * Minor optimization of depth shader. * Added cm_allocator debug cvar (6505). * Fixed r_lockView when compass is enabled. dev17008-10685 * Enabled shadow features specific to maps implementation (poll). * Auto-detect number of parallel threads to use in jobs system (6503). * Improved parallel images loading, parallelized sounds loading, optimized EAS (6503). * Major improvements in mission loading progress bar (6503). * Core missions are now stored uncompressed in assets SVN (6498). * Deleted a lot of old rendering code under useNewRenderPasses + some cleanup (6271). dev16996-10665 * Environment mapping supports texcoord transforms on bumpmap (6500). * Fully disabled shadows on translucent objects (6490). * Fixed dmap making almost axis-aligned visportals buggy (6480). * com_maxFps no longer quantizes by milliseconds on Windows 8+. * Now Uncapped FPS and Vsync are ON by default. * Supported Vsync control on Linux. * Added set of prototype materials (thread). * Fixes to Stone font to remove stray pixels (post). * Loot candlestick no longer toggle the candle when taken. * Optimized volumetric lights and shadows in the new Training Mission (4352). * Fixed frob_light_holder_toggle_light on entities with both skin_lit and skin_unlit. * Now combination lock supports non-door entities by activating them. * Added low-poly version of hedge model (6481). * Added tiling version of distant_cityscape_01 texture (6487). * Added missing editor image for geometric02_red_end_HD (6492). * Added building_facades/city_district decal material. * Fixed rendering with "r_useScissor 0" (6349). * Added r_lockView debug rendering cvar (thread). * Fixed regression in polygon trace model (5887). * Added a set of lampion light entityDefs.
  7. Remember that installer works with old versions too. You install 2.11 and installer will overwrite your newer training mission with the one from 2.11. Switch back to 2.12 and training mission will be deleted. Also, there is no proper concept as "mission version". There are various things like version, some of them don't exist for core missions. It is easy to say "just check condition here, then condition here, then here". Such hacking will cause confusion, and the support for these conditions will have to stay with us forever, despite everyone forgetting about it in a few years.
  8. Some parts are managed by tdm_installer, some parts are managed by in-game downloader. You mix the two, and you get endless stream of issues and confusion. As simple as that.
  9. This is surely because of volumetric shadows. I get 200 FPS without them and 100-120 FPS with them (that's not fullscreen). Point lights in this room also have volumetrics enabled, not just the projected lights --- I believe they should not. But even if it gets fixed, performance will still be lower when volumetric shadows are involved. Since @Fiver has extremely low-end machine, it would probably make sense to tweak r_volumetric* cvars. Maybe "r_volumetricLowres 2", maybe "r_shadowMapSize 512". Maybe simply disable them.
  10. It casts shadows, and it is a proper point light. Not sure what else can go wrong with a light.
  11. This one has nothing to do with the change. It happens in 2.11 too. I have no idea what is wrong here, and why one patch casts shadow while the other similar one does not. There is even auxilliary surface with "shadow" material inside the stairs, which should also cast shadow but it does not.
  12. You can try msbuild command to build from command line. Perhaps it won't ask you for updated MSVC license. It should be like: msbuild DarkRadiant.sln /p:Configuration=Release
  13. beta212-07 is available. This one is considered release candidate, meaning that most likely it will be turned into official release soon. For this reason, here are the deprecated 32-bit binaries. It would be great if someone briefly checks the 32-bit Linux executable (cannot do it myself).
  14. It seems that you redmapped the mission. It means some visportals could be broken... and consequently some locations could be broken... Was it required? Did you change any brushes or patches?
  15. Maybe you can provide a savefile?
  16. It turns out we have many people who enjoy discussing code My complaint about that code is that all floating point numbers are snapped to integers with same tolerance. The .proc file contains a lot of different data: models, shadow models, BSP tree, visportals. They contain in different combinations: positions, texcoords, normals, distances. Snapping or comparing all of these quantities with same tolerance is a really bad idea. Some data is more sensitive to changes than other. They even have different measurement units, i.e. you position is measures in something like meter-units, while texcoords are usually measured in something like tex-units, and they are as incomparable as meters and seconds. Some data should not be snapped at all because that could break its internal invariants. If you snap coordinates of normal vector, it is no longer normalized, and the receiver has all the fun of dealing with extremely rare cases which normally should not happen. As for Hungarian notation... I do some mesh processing with halfedge data structures. When you have 10 local variables being halfedge handles, 5 local variables being face handles, and 5 local variables being vertex handles, it becomes much easier to understand what's going on if they start with "he" / "f" / "v" respectively. But this is very situational of course. Just starting pointers with 'p' and array-like stuff with 'a' is usually unnecessary, unless you have 3-4 levels (triple pointer or triple arrays), although in that case the code is smelly regardless or how you name variables
  17. When I actually meant pseudographics, I did not mean some specific line/dots/crosses. I simply meant the cases when people add spaces until the text gets the exact alignment they want. You can't search for such cases, because the only offending character is space, which is present everywhere. The only way to proceed to just change spacing and listen for feedback afterwards. And it sounds like an OK solution for me in general, but definitely not a good idea for 2.12.
  18. Since briefing is completely redefined by you, you need to add subtitles GUI for them to show up. See stock mainmenu_briefing.gui.
  19. Just add spaces until it looks as you want, that's it
  20. The previous reporter who had non-working glasses said game crashes on drop. The same happens for me. As you might guess, most of the code expects the entity of the inventory item to be alive. Anyway, I don't think it is possibled to drop inventory item if it has no entity, because logically it should just put this entity back into the world. If it's dead, it can kill the inv. item, but I don't think it can resurrect the entity.
  21. I don't see anything here that could kill an entity. By the way, I also remembered that this mission does not allow to customize FOV. I accidentally had 95 degrees and noticed that my view is glitching when I grab some item. It turned out that my FOV is hardlocked to 90 degrees, but when I grab some items it temporarily returns to player setting.
  22. The "peculiar lenses" don't work for me. Neither the ones I bought, nor the second ones I found in some tower. Every CInventoryItem (C++ object) stores pointer to entity in m_Item. In my case, this pointer is dead, i.e. it points to an entity which was removed some time ago. I guess for the glasses to work, it should point to the "atdm:xray_glasses" entity. The reason why it works for some people is either because the glasses don't die for them, or because they die but not completely and no other entity created afterwards takes its entity number. So the main question is: who kills the glasses entity and why? UPDATE: Just to add some more detail. I think I'm playing clean latest version with latest TDM beta. I got lost pretty quickly, so I completed all the objectives and explored most of the map first. Then I returned to the starting area and went to buy a sword. There I noticed the glasses, bought them and tried to use them instantly: they did not work. Then I explored some more and found second glasses in the tower + a piece of advice to use them. Now I have two items, but they don't work anyway.
  23. beta212-06 is released.
  24. This case in Poets and Peasants is something new: In this case we have on same line: light brush wall fully closed room closed door with visportal in a brush wall player Since only backfaces cast shadows, only the door and the first brush wall can cast shadows. The brush wall does not cast shadows because the entirety of its area is unreachable by light. So the door should. It turns out that all doors that are connected to visportal should automatically get this "forceShadowBehindOpaque" flag. When the door is closed, it closes the visportal and thus becomes part of the wall, just like a brush would be in its place.
  25. Some GUIs use some kind of pseudographics. Reducing the spacing also breaks such readables.
×
×
  • Create New...