Jump to content
The Dark Mod Forums

stgatilov

Active Developer
  • Posts

    6774
  • Joined

  • Last visited

  • Days Won

    233

Posts posted by stgatilov

  1. 22 hours ago, datiswous said:

    Could someone try to do the entity spawning via console? I can't get it working anymore. If I do the command, I get no error, but I don't get the item.

    Work find for me on latest SVN.
    I don't remember anything that could break it.

  2. 15 hours ago, Geep said:

    I know we disagree on what an "effect" is. To me, it's a non-human sound. So an arrow hit, or a raven call. Primarily to benefit low-hearing players.

    I don't see any purpose in distinguishing human and non-human sound.

    If I am non-native speaker, I want to see subtitles with words only, because that's what I have trouble understanding.
    The only reason to see non-word subtitles is that I don't hear sounds for some reason (sound turned off, no speakers, hearing impaired). It does not matter who makes this sound.

  3. 1 hour ago, snatcher said:

    I don't understand this bit, but then I know nothing about how sounds/audio are processed internally.

    Based on the audio alone (listening) I would say the engine knows how far I am from a sound source (or the other way around) and sets the volume accordingly. The engine also knows if I am behind a closed door or not. I don't know, it would seem all is there already.

    Now the subtitles use volume modifier, it's called "gain".
    This gain is passed to OpenAL along with .ogg file data to play.

    In order to determine how loud that would play, it is necessary to read the .ogg data, compute some kind of amplitude, then add gain to it. The amplitude should be computed with some pretty long time window, so it's better be accumulated continuously.

  4. On 1/22/2024 at 11:07 PM, snatcher said:

    I am overwhelmed by the amount of non-story subs that can be on screen after beta212-04. I am not sure yet what the next step is.

    People who don't like them can disable them and leave only Story subtitles On.

    I think we should move all the "(sign)" and "(clear throat)" to Effect level and add one more level to the menu. I definitely don't need to see them on my screen.

    Finally, some volume cutoff is needed I think.
    The problem with implementing it right now is that the engine does not determine effective volume.
    If you look at alpha of location ring (which is volume based), it is very different in the New Job conversation (about girls behind inn). I hope to fix this in some future...

  5. On 1/22/2024 at 10:42 PM, Geep said:

    Any change I make to the metadata in fonts/english/stone/fontimage_12.dat (whether in the core or as an FM "/fonts/" override) is ignored. Whereas changes to the corresponding 24 pt .dat (whether in core or override) do show up in the nominally 12 pt subtitles (with either gui textscale of 0.24 or 0.25).

    I think engine selects texture size depending on font size.
    Try to lower scale 2x, maybe then it will pick up the _12 version.

  6. It is much easier to assume that we have single license for assets and all the contributors agree to distribute under it when they donate their stuff to the project.
    Otherwise you have to track metainformation for thousands of files, and surely there will be some errors made during tracking.

    If I don't care about the "TDM-libre" story, why should I bother?

     

  7. 5 hours ago, Fiver said:

    That is something we may want to address, but I'll start a new topic for that.

    Maybe start with finding who are these "we" people who want to change the license to assets?...

    As a programmer, I definitely do not want to maintain any additional packages. And I do not want to get entangled into any kind of licensing questions.

    Quote

    According to the Debian Free Software Guidelines (https://www.debian.org/legal/licenses/):
    * Both GPL and "modified BSD License" are accepted into the Debian "main" repository
    * "Non-Commercial License" (it sounds likely CC-BY-NC-SA falls into this category) is accepted into the Debian "non-free" repository

    Just that I understand:

    1. A license that forbids commercial usage is considered not free (CC-NC).
    2. A license that allows commercial usage but efficiently forbids making money from it is considered free (GPL and AGPL).

    Yes, this is a great distinction 🤬
    Now someone should come and say "but hey, you can sell your support for GPL product!" 😆

    UPDATE: Well, I think there is also an approach when company provides reduced version under GPL and expanded version under commercial license (like Qt). As long as reduced version is reduced enough, it seems to work fine.

  8. 4 minutes ago, peter_spy said:

    Thanks for such detailed info!

    I'm not sure if adding that warp shader is worth the hassle then, the current state seems like a feature, not a bug :) Personally I'm pretty happy with what I can do with a cubemap, and IMO that should be the way to go in most cases.

    A colleague of mine believes the true mirrored rendering is a deprecated feature today.
    Given all the problems (try to put a model which is both partly in front of and partly behind the mirror) and the fact that reflection probes are unversal, perhaps he is right.

    • Like 2
  9. 6 hours ago, peter_spy said:

    Since you're working on this, have you tried restoring the original functionality, i.e. ability to set up a resolution for these? That might help with performance.

    Yes, I considered this idea.
    But it won't help much, I believe.

    Quote

    Last but not least, have you tried making mirrors work on convex or concave surfaces, not just straight flat polygons? That would open up possibilities for very nice material effects (if used with moderation :D).

    If several mirrors are allowed, you can split your surface into individual planar polygons and hope for the best. But if you have 10+ polygons, then I suppose the best won't happen 😆

    Quote

    Also, when I was working with mirrors, I noticed that they disable normalmaps in the material. See how a cubemap version has those damaged surface details on the mirror surface, while real-time mirror bypasses all that.

    Internally, the material has "mirrorRenderMap" keyword which triggers rendering of subview. This subview is than copied into a texture. In the main view, the surfaces with mirror material should be rendered as any other surfaces, it can just use this dynamically generated surface.

    I'm not sure what exactly you want. If you want the mirrored view to be distorted by normal map, then yes: this is definitely not supported. The reflected texture is generated as if reflected by a perfect plane. Maybe we can add some kind of warp shader that deforms the image mathematically according to the normalmap, but this would be a new feature.

     

    • Thanks 1
  10. 4 hours ago, Fiver said:

    Where can one see how each component is licensed?

    Nowhere. I don't think it exists.

    I believe the engine source code and shaders are assumed to be under GPL (except for third-party libraries, which have their license but are essentially distributed in TDM under GPL terms). All the rest is assumed to be CC-by-nc-sa.

  11. First some people come saying the license of TDM is too free and blocks using TDM in commercial projects.
    Then other people come and say the license is not free enough 🤔 (seriously, I wonder why).

    Anyway, the license will not change.

    • Like 1
  12. On 1/17/2024 at 12:04 AM, datiswous said:

    This doesn't work. But reloadXData does work. This doesn't make sense to me though,

    Tested with srt and inline.

     I tested editing inline subtitle in tdm_stlucia.subs.
    That's a core file and I test on SVN, so all core assets are unpacked.
    It works. I edited it before triggering the sound, and then triggering it showed me the new subtitle text.

    I also checked in the code.
    Whenever some .subs file is detected as modified, all the subtitles are reloaded completely.

    What setup do you have specifically?

  13. Can't understand why GPU behavior depends on monitor.

    Maybe test all the configurations in Windowed mode with exactly the same resolution?
    Perhaps with Borderless/Fullscreen you get different resolution and it affects how much VRAM you have.

    In fact, WDDM also reserves some VRAM for itself in order to render Windows desktop. It means that there is different amount of VRAM left for TDM (which usually does not matter unless you are very low).
    Maybe try to set Windows display resolution the same and check if two monitors behave the same?

    Also I agree that image_downsize is worth a try: it should reduce VRAM demands of TDM. Same for lowering "Render Scale" in the graphics menu and disabling antialiasing.
    You can also try some software which tracks amount of VRAM used, maybe you get some insights from it.

  14. I don't think there is any purpose.

    Windows and Linux have entirely different window/OS integration.
    They are separate subdirectories with completely different code 😁

    So there is no wonder that such things are different between Windows and Linux.
    I think @duzenko spent some time improving the behavior of Windows build.
    On the other hand, @cabalistic switched Linux build to GLFW.

    I am afraid of touching this myself because 1) I'm not a Linux user and don't know much about the myriad of desktops and APIs to integrate with them, and 2) I don't want to install Linux natively and this cursor stuff is a bit special inside VM.
    Maybe it is a simple flag which can be set to GLFW, I don't know.

    • Like 1
  15. On 1/19/2024 at 12:47 AM, Fiver said:

    bindPadButton LONG_PRESS PAD_B "_mantle" is listed and does what it says.
    bindPadButton LONG_PRESS PAD_A appears to do "jump-mantle". Standing in front of a box and doing jump will differ from doing "jump-mantle".
    Why is "jump-mantle" not listed in the file? (And how come it works without being listed in the file?)

    Because internally these two actions are called _jump and _mantle, and you are looking at .cfg file where internal names are used. If someone makes a submenu for configuring controllers, I guess it can be named as jump/mantle there.

    Quote

    bindPadButton MODIFIER PAD_L2 appears to bind a modifier functionality to the "button name" PAD_L2. If a user wants to find out the "button name" of other buttons on their gamepad (e.g. buttons which are not currently listed in the file), what would be a good way to do that?

    You probably find answer here: https://github.com/fholger/thedarkmodvr/wiki/Gamepad-support

    Quote

    Will TDM be able to recognize unusual "button names" (i.e. be able to capture any "button name" or will button names have to be implemented in the code before it works)?

    No idea what you mean exactly, so I suppose it will not.


    In general, experimental controller support was initially done by @cabalistic and there was no user-friendly configuration. Nothing changed since then.

    • Like 1
    • Thanks 1
  16. On 1/18/2024 at 3:45 AM, Geep said:

    There's nothing about .subs or .srt files that says to me: these are decl files. So reloadDecls and reloadXData are equally arbitrary. On the other hand, "reloadSubtitles", yeah, that I would understand.

    How do you determine what is decl file and what is not? 😁

    Actually, xdata is decl files too.
    You can equally argue that materials and sound shaders are not decl files and deserve a separate reload command. I guess ID guys did not want dozen of separate commands for different kind of decls.

  17. On 1/18/2024 at 11:02 AM, madtaffer said:

    In Elixir, wall is not lit, in dark, but when player approaches, it gets lit.

    elixir-e.jpg

    The "light_1" has hide_distance 100, so disabling it when player is farther than 100 units away is desired behavior.

    I think before 2.10 the issue was not happening because back then "hide_distance" did not work if you did not specify "dist_check_period" also. In 2.10 requirement for explicit "dist_check_period" was lifted, and this LOD started working. It is indeed bad, if it is not desired behavior, then why such low hide_distance was set?

  18. 16 minutes ago, snatcher said:

    Players can clip through ceilings in some situations I hope this gets resolved.
    If there is one case there can be another one or many more.

    Yes, this issue definitely won't be forgotten.

  19. 7 hours ago, wesp5 said:

    Would it be possible to remove the extra pixels in the fonts if somebody could point out to me where these are? When looking at dds from the fonts01 archive I only see white on transparent in Paint.NET and I can't make out anything...

    You need to parse .dat files of the fonts to see the rectangles used by different characters.
    Then you can take .dds file of the font and somehow overlay rectangles over the image.

    I'm not even sure which kind of program is suitable for it.

×
×
  • Create New...