Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by MirceaKitsune

  1. Still planning to finish this soon, working on my own FM and didn't find the time to return to it. Got into the area I was having trouble with, now time to find the objective in there. In the meantime a joke that had to be made, for those who reached this zone and know what I'm talking about...
  2. Speaking of reflection bugs and flickering: In the FM I'm working on (not public yet) I placed the puddle decal on some floors. I noticed that from certain positions and angles the puddle turns white, other decals seem to be working fine so it's likely specific to reflections. Should be possible to replicate using the button to create a decal on the selected face, moving the resulting patch 1 grid unit above the brush surface, then texturing it with "textures/darkmod/decals/dirt/puddle". Between the screenshots below, all I did was look a little to the right to trigger the new appearance, which can be seen becoming whiter and losing its reflection. There's also a difference of 20 FPS between the two, likely meaning the puddle shut reflections off... just now realized how great the performance impact of having puddles can be
  3. Interesting. I'm on amdgpu on Linux / Manjaro but don't believe I ever saw such flickering. Closest I can say I've seen, excluding the quicksave flashing which I understand was fixed, is when turning the view around too quickly and a lot of portals loaded the whole place turned white or was invisible for a few frames. No black boxes like in that video though.
  4. That is correct, func_static typically shouldn't be used for the purpose. I'm looking at func_mover but can't quite tell what I'd need to script myself or will work automatically: If I have it targeting multiple positions specified by another func_* (target0, target1, target2, etc) can each button call it to go to that specific target like the Wiki indicates, accounting for both position and rotation? multistate doesn't seem to support different rotations so might not be what I'm looking for in this case.
  5. Thanks! Sounds good, will look at it when I try the base concept. I take it multi-floor elevators also used a script or Stim / Response all along then? Didn't think about it before. Another gimmick I wanted to attempt... this is something I always wanted to try out in TDM, now that I'm working on a small FM with just a few ambient songs I figured it would be a good time. I like how in similar games the music changes when a guard is attacking you which also helps you know you're being attacked: How would I do this? If scripting is needed as will surely be the case, how do I check the highest alert level of an AI then stop whichever song is playing and play a fixed one instead, afterward when the AI calms down go back to the ambience defined in that zone? I noticed that in my first FM (and somehow still the only one I finished and posted to this day) I'd use $atdm_location_settings_1.setKey("snd_myarea","nosound") to clear or change the music in a place. I could do this whenever a guard changes alert level I guess, but I think the ambient music is only applied when the player enters or exits an area so I'd also need a way to refresh it. What are your thoughts?
  6. I know this is unrelated so I hope it's okay I ask here... but what is that ground texture? Would fit perfectly in the FM I'm currently working on but upon looking I couldn't find it anywhere, looked both in the bricks and cobblestones directories.
  7. Figured out questions #1 and #2, got it working just as desired I have to use two light sources which is better anyway as I get control over each one, this way I made the visible light half intensity which also prevents raising your lightgem excessively if a guard sees you while carrying it, whereas the spectrum component is less saturated so it doesn't completely colorize the symbols. Haven't tried #3 yet so please let me know if there's any chance to make text in readables work. This is the def and material setup I had to use for the lantern: Just add the custom lamp to your map and that's all! lights/tdm_lanternlight_spectrum { spectrum 1 lightFalloffImage makeintensity( textures/lights/brightround ) { map textures/lights/tdm_lanternlight forceHighQuality colored zeroClamp red ((.1 * sintable [(time * ( 1 + Parm3 ) ) ]) +.9) * Parm0 green ((.1 * sintable [(time * ( 1 + Parm3 ) ) ]) +.9) * Parm1 blue ((.1 * sintable [(time * ( 1 + Parm3 ) ) ]) +.9) * Parm2 } } light_lantern_oil_omni_spectrum_0 { "inherit" "light_lantern_oil_omni" "light_radius" "192 192 192" "_color" "0.125 0 0.5" "texture" "lights/tdm_lanternlight" } light_lantern_oil_omni_spectrum_1 { "inherit" "light_lantern_oil_omni" "light_radius" "192 192 192" "_color" "0.75 0.5 1" "texture" "lights/tdm_lanternlight_spectrum" } atdm:moveable_lantern_oil_hand_colorme_lit_spectrum { "inherit" "atdm:moveable_lantern_oil_hand_colorme_lit" "_color" "0.25 0 1" "def_attach" "light_lantern_oil_omni_spectrum_0" "def_attach_1" "light_lantern_oil_omni_spectrum_1" }
  8. Wonderful, thank you! I had success in getting the base setup to work with one of the symbol textures, couldn't ask for better functionality I use the following material setup adapted from that example, might simplify it further if specular doesn't need to be defined separately like that: lights/biground1_spectrum { spectrum 1 description "Round point light." { forceHighQuality map lights/biground1.tga colored zeroClamp } } textures/darkmod/decals/symbols/magic_symbol_circle01_spectrum { qer_editorimage textures/darkmod/decals/symbols/magic_symbol_circle01_ed translucent noshadows twosided nonsolid spectrum 1 sort 5 bumpmap heightmap (textures/darkmod/decals/symbols/magic_symbol_circle01, 2) diffusemap textures/darkmod/decals/symbols/magic_symbol_circle01 { blend specularmap map textures/darkmod/decals/symbols/magic_symbol_circle01 red .25 green .25 blue .2 } // TDM Ambient Method Related { if (global5 == 1) blend add map textures/darkmod/decals/webs/web4 scale 1, 1 red global2 green global3 blue global4 } } There are three secondary problems I'll need to address now, let me know the solutions you propose. When given "texture lights/biground1_spectrum", the light will illuminate the hidden symbol as desired, but no longer shine on anything else. I presume there's no way to tell it you want "spectrum 1" but also for it to shine on everything else like a normal light? If not I'll just have to give my lantern two light sources. How to make the lantern entity work with this? I'd prefer the player being able to press the use key while holding it to turn the light on and off. I'm using atdm:moveable_lantern_oil_hand_colorme_lit: Apparently the lantern ent doesn't inherit a light type itself but attaches one similarly to the torch... I'm seeing "def_attach light_lantern_oil_omni" so I can probably just inherit and override that. Anything special I must do to ensure the still light toggles when the lantern is used? Especially if I'll have to attach the UV light separately to get both UV and standard lighting, will operating the lantern toggle both the normal light and my additional "def_attach_0 light_lantern_oil_omni_spectrum"? This works fine with a decal texture, but I was wondering if there's an easy way to make it work with an in-world GUI for text written as a spawnarg? That's when you make your patch func_static, texture it with "textures/darkmod/decals/signs/decal_gui", give it the spawnarg "gui guis/readables/sign_text_decals/sign_text_camberic.gui", then use "gui_parm1 my_text" to make it say something. Is it as simple as creating a "textures/darkmod/decals/signs/decal_gui_spectrum" with the "spectrum 1" keyword in the material and it just works? I believe GUI text wasn't rendered like a conventional material per say, as the fonts themselves don't inherit the properties of that material nor receive light to my knowledge.
  9. I first tried it over a week ago. I only had the first problem with the cooldown based crash until yesterday, when suddenly it also started crashing all the time without me changing or updating anything. Downgraded to 2.10 in the installer for a test: Exact behavior as 2.11 beta 1 which I'm now on. No, never: I'm using "testmap mymap" from the console again now, always compiles and runs well. Aha: Interestingly enough no issue this way! I used the console to launch TDM with automation, as well as launching TDM normally then setting "com_automation 1" in the console: Using the "(Re)Start game" button in DarkRadiant, TDM always compiles and goes to my map successfully. So it must be something when Radiant launches the engine executable. Attached qconsole.log below. Generated for the timed crash... funny enough the new "connection lost unexpectedly" crash just fixed itself likely after the manual test for #4, I can use the feature again if I don't restart too often. Doesn't seem to make a difference, at least for the timed crash which is the one I can still reproduce now. Just saw the log repeats that 5 times near the end right before proceeding to shut down. So the engine might be failing to listen to the proper port when it's launched by DR I imagine. qconsole.log Was able to reproduce the timed crash another way: Successfully launch TDM from DR once then quickly close it... now open TDM normally (still works fine), open the console and set "com_automation 1". The moment I set that cvar TDM will crash or shut down on me. And once more, if I just wait over 1 minute and try again it works this time. Wonder if the OS might be messing with the port or something, I get this even with the firewall disabled so not sure how... also whether I close TDM from the Quit button or Alt + F4 makes no difference.
  10. Oh, now I see it... sorry about that! Switched and can confirm everything seems to be working well.
  11. I'm presently working on a new FM which I actually created with this concept in mind. Making a visually fit UV lantern with atdm:moveable_lantern_oil_hand_colorme_lit was super simple. I then set both the lamp and func_static patch to "spectrum 1" but unfortunately nothing happens. I'd like to ask if anyone could please offer an up to date example on how an entity / material lit by a spectrum light must be defined exactly. I understand it should technically be possible already, just that material definition is a little complicated until an optimization were to be added. How exactly would this material need to look like?
  12. There was a thought still stuck in my mind that I wanted to put up. I noticed DOF as a post-processing feature isn't desired and probably won't happen, I'll likely attempt it as a new fog light shader at some point. But an interesting concept popped to mind which I felt would be interesting at least for the sake of discussion. People complain of how expensive anti-aliasing is, something I can fully confirm as even 2x or 4x reduce more than 10 / 30 FPS at best. I suggested implementing shader based AA like FXAA for this very reason but that's another story. As its name suggests, MSAA uses multiple samples so each pixel is rendered several times with different interpretations. I believe MSAA is a fixed OpenGL feature in the graphics driver and likely can't be modified directly. My thought was: If we're trying to get rid of sharp edges and may use multiple samples to do so, a custom AntiAliasing system could do it using positional / angular variation per sample. Think of it as physically based sampling, which as a consequence can also be used to achieve a DOF like effect by naturally emulating the f-stops of a real camera. This was inspired by how the Eevee rendering engine in Blender seems to function: You give it a fixed number of samples. Each sample is used to randomize various things in the frame, including pixel directions to emulate DOF. Even the soft shadow samples are controlled by it... this might be an interesting way to get soft shadowing, which could be achieved by having each sample interpret the light source as being at a slightly different position. Unfortunately this would likely be slower than MSAA: It requires rendering the camera multiple times per frame from a slightly different position / rotation to mix up the average result... this must be excruciatingly slow, even at a low value like 4 samples which wouldn't be enough for good looking results. As such it's likely an experiment that won't be considered worth attempting; I'm mainly curious at a concept level how such a thing could work and look like... the technique must have been done before in realtime engines, there's likely even a term for it though I couldn't find it.
  13. Thanks. No way without a custom script then and having to use your own timer function? If that's needed I might go for this option then. What about making a func_static go to different rotations, can that be done without a map script?
  14. Strange: I'm not seeing a new beta in the installer, just the dev versions where the latest is still dev16650-10157. Tried the Refresh Info button and same thing.
  15. Usually I want that so performance isn't wasted rendering hidden faces, but it can cause issues like that unfortunately. I think my issue is a module piece poking out when it shouldn't, will see which it is and how to position it properly.
  16. Just to be 100% certain, I temporarily disabled my firewall in the OS settings then launched DR and tried again: Exact same issue for both types of crashes so they aren't related to that. As I said I even tried with fresh settings for DR and temporarily removing Darkmod.cfg, it's baffling what must be happening and where the cause is stored.
  17. The ability to launch and control TDM from DarkRadiant via the Game Connection interface is very helpful. But at least on Linux (Manjaro / KDE Plasma in my case) it continues to be bugged by crashes and only work intermittently, and last night it suddenly stopped working for good. Hoping we can debug what must be happening before the next release. DR is 3.7.0 (Git commit d9145c3015d945014daeb829f22d8cdb94a2aa8f) while TDM is dev16650-10157. DR successfully contacts the engine each time and attempts to start it up, I can even see the mouse cursor temporarily disappear and the process briefly present in the system monitor. The issue is when the darkmod executable is launched by Radiant, it often crashes immediately after. This might thus be a problem in the TDM engine more than in DR. I'm dealing with two types of crashes so far: Until now it was a cooldown effect, I can't start TDM from DR more often than once every 3 or so minutes. If start it up too frequently I see a brief flash of the screen but the main menu doesn't get to open, about 10 seconds later DR gives me the error "Timeout when connecting to just started TheDarkMod process". I have no idea where the information on how frequently I'm starting it is even stored: I can shut down both DR and TDM to ensure neither have open processes running, yet even if I start DR up again and launch TDM from the Game Connection menu too soon it remembers and throws this error. Since yesterday on top of that, the process now permanently fails with another error. In its case I even see the main menu for a split second before TDM instantly closes. DR throws the error "Game restart failed: Connection lost unexpectedly". I even tried with fresh settings for both DR and TDM as well as restarting the machine, but despite not updating anything not even any new OS package updates nor changing firewall settings, this suddenly appeared and continues to occur.
  18. I'm not, that's a standard torch with no extra spawnargs. For a moment I thought there was something wrong with the setup in my map, just noticed what's happening: There are still issues with lighting not being recorded properly in screenshots, even when using shadow maps instead of stencil shadows where it was previously known to occur.
  19. My mind's been on a plan for yet another FM which I haven't yet started, I'm still thinking of what I'd need for it. As a relevant reminder, please let me know if there's any developer knowledge or known workarounds on the gravity bug as low gravity is a feature I'd want to use. For now regarding the immediate questions: I'd like to know if there is a way to make a model transition to a given rotation based on the switch that triggers it, useful for things like complex indicators or puzzles. Like let's say you have four buttons and an arrow: You want the arrow to point up when you press the center button, -45* when pressing the left button, +45* when pressing the right button, or down (180*) when you use the down button. How can each button make it go to its intended rotation? Many FM's have elevators that go to different floors so this exists for movement, haven't yet checked how it's done but I wonder if it's the same way for rotation. A similar question for lights; Normally a light will instantly turn on and off when triggered. What if I want a light that instead changes its color to a new value based on the button pressed? Smooth transition would be nice though instant works too. I can use multiple lights and turn one on with the other off, but if possible it would be ideal to fade the color on one light entity.
  20. Got volume lights, AI patrols, snow and more working. Half of the map still hasn't been put in place, doing a few readables then hoping to get to that after a few more changes.
  21. Improved on the central area today, still lots to do everywhere else, quite happy with this though.
  22. Oooh! It's just meant to be an old style small town. I had to make the architecture slightly weird to get visportals lining up in a good way between buildings, each must stretch all the way to the ceiling which can make things bizarre on different height platforms. Plus this is the first time I worked with the exterior / interior modules which I learned in the process.
  23. Not meant to be. Used the mountain sunset skybox as it felt fitting for its environment... also as I hoped to use the cubemap light for extra detail, unfortunately in latest dev those seem to work differently and their default defs are broken.
  24. Very early WIP... less than half of the base map done so far, design subject to change but mostly stabilized by now. My first experience with the building modules: While I find the origins and seemingly unnecessary backfaces on some a little overhand, they're amazing and it's hard to think how we went without them for so long.
  25. Both func_animate and atdm:ambient_head_base seem to work when given a proper model (eg: head_01) as in you can have them play or loop one of the head animations. For voices you can put any voice line (like tdm_ai_jack_flee) on a speaker entity and have a random one played when that speaker is triggered (wonder if subtitles will work this way). Only issue is having the head lipsync to the audio being played... I see no way the speaker can communicate that to the entity, whereas if I add an s_shader directly to the head entity it doesn't appear to have all the features of a speaker and work either.
  • Create New...