Jump to content
The Dark Mod Forums

stgatilov

Active Developer
  • Posts

    7244
  • Joined

  • Last visited

  • Days Won

    280

Everything posted by stgatilov

  1. That's probably because TDM was/is built natively for Elbrus, while the commerical games are translated from x86 code on-the-fly. We did some work for that to happen together with @r.a.sattarov a few years ago.
  2. Work for me in Linux VM.
  3. I looked at it, and it is enabled. And it seems that this is default... However, I don't think it actually can handle larger than 2 GB addresses
  4. Did anyone try 32-bit executables BTW?... Especially the Linux one.
  5. beta211-08 is available. This is also considered "release candidate", so 32-bit executables are available. You can download them using this link: simply unpack these two files into TDM directory and run one of them to play. As long as you don't run huge missions, please test 32-bit executables a bit, especially on Linux.
  6. I don't think naming is a good idea, but this idea of location hints are good. I think they can reduce the confusion from several people speaking simultaneously. Perhaps keep brainstorming in this direction The problem with different positioning of text is that if you move, the text would suddenly jump to a different place, and it does not help reading. On the other hand, having smoothly changing position of subtitle in realtime might be hard due to GUI system interaction... although we can probably write just positions into gui::XXX variables and make "rect" of windows depend on it. Another possibility is to show some marker on top of person who is speaking. But I think this is OK only as last resort accessibility feature.
  7. @AluminumHaste, why are there two files runners\ornate_red_black03_HD.dds and runners\ornate_red_black03_HD_d.dds? Can I remove ornate_red_black03_HD.dds?
  8. For a particular reason yes, it probably can be added, but "for some reason"?... What exactly is the typical problem? Syntax errors of .srt of .subs files not reported? The engine has debug command com_showSoundDecoders, which displays all currently playing sounds on screen. It should be easy to add a small tag here showing which sounds have subtitles and which not.
  9. Languages... maybe it's time to finally get into this mess. I'm afraid there that would be a long story, and subtitles won't even be the first issue. Regarding ID of the speaker. Let's suppose we pass the entity of the speaker into the subtitles code. How exactly should it be used? It would make no sense to automatically add names like "tdm_guard_generic07: I've got him cornered!"
  10. I thought about naming sounds by who said them but did not got any particular scheme. One problem here is that subtitles are supported inside the sound engine, where sounds no longer have any source: you just have a sound and probably location, but not something like who said it. I made sure that a subtitle for a sound does not move between slots. Other than that, there are 3 slots for simultaneous subtitles, and I guess some prioritization. But if there are many guards talking at once, it would be chaos. As for colors: it should be possible to generate color automatically but it won't help anything. It should be possible to specify colors inside subtitle files, similar to the way verbosity is now specified. To be honest, I'm not sure it's a good idea to give names, since player usually does not know who speaks. But that's of course mapper's preference: sometimes player surely knows who is talking in a cutscene, so why not.
  11. @Daft Mugi, I am sorry to cause the confusion. I thought I made it clear when you came with the first pack of 5 patches, that such generic changes currently get into release only as an exception, but apparently it was not clear. You are right: I should have been more strict and rejected all the generic changes since at least the New Year. Making exceptions on subjective basis makes things look unfair and can offend people. The current idea is to make the next beta release a "release candidate", and if nothing bad happens, then make it the final release. We are already beta-testing it for 2 months. Looking at the previous beta 2.10, it started 10 days later than this year. Also, it lasted so long exactly because something bad happened in February: some people reported driver-dependent graphical issues. Considering 12 months between subsequent releases, we spend 1/6 of astronomic time in beta phase. And it is tough for developers, because they have to stop normal development during this time. For instance, I'd really want to go on and nuke the old/new backend division due to how much pain it has caused thus far, but I have to wait until 2.11 is out. Or I want to implement a better AI visibility check but it also has to wait. Now imagine that some people want to reduce time interval between releases, for instance to half a year (I recall we have summer release a few years ago). It means 1/3 of our time we'll have to restrain from changes! You should understand that in case of TDM, official releases are rare because how hard it is to test the game. If you want people to see your changes fast, now there are development builds for that. If you want to make something into official release, be ready that your changes will wait for months before that. Here is what happens to your changes now: Everything that is in the latest beta stays there. 6241, 6231 --- will get into 2.11. 6242 --- will not get into release. 5892 --- cvar will get into release, but the following conditions will not. P.S. I must say that I personally would be greatly disappointed if you leave TDM because of this.
  12. Like... who was that person who pushed the latest major mantling changes during beta?... UPDATE: Maybe things got mixed in my mind
  13. To be honest, that can be said about 99% of changes to the game Yes, that's exactly what is happening I'm trying to filter all these changes depending on how scary they look to me. Out of what Daft Mugi has listed that is not in beta211-07 yet, I think only the fix for damage from fall + mantle is going to make it. The rest of the changes... I'd better not hurry. The general rule is that we do development before beta starts, not after. And especially not in the second half of beta.
  14. Well, if I look into the code at https://github.com/stgatilov/darkmod_src/blob/trunk/renderer/Model.cpp#L1101 I see that vertices which are almost equal by positions, texcoords and normals, are merged together. And the constants which control that are r_slopVertex = 0.01, r_slopTexCoord = 0.001, r_slopNormal = 0.02. On the other hand, it is probably OK. It does not break convex or concave edges. And only on mixed-convexity edges of edges with tangential points smoothing can be enforced near tangential points. But only in cases where it is almost zero anyway.
  15. I think it will be "used" in very little sense, but it will be skipped and you won't see it. As far as I see, mainmenu_briefing_video.gui already includes subtitles code: //stgatilov #2454: display subtitles #define SUBTITLES_NAMEPREFIX BriefingVideo #include "guis/tdm_subtitles_common.gui" So just adding subtitles for your audio file would be enough. I guess sound from video file is also supported, just need to find the syntax on wiki.
  16. Bumped into an interesting piece of wisdom called Hyrum's Law:
    With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.

    1. Show previous comments  2 more
    2. stgatilov

      stgatilov

      Love and hate are close friends 😉
      Also: there are libraries that everyone complains about and libraries that nobody uses 😁

    3. STiFU

      STiFU

      I'd be curious to hear some actual examples where the MSVC implementation of STL diverges from what the standard dictates and developers actually rely on that divergence. I honstely can't imaging there are any instances. The only thing I could think of is that some programmers might rely on implementation where the standard indicates "undefined behaviour", but that would be a major error on the programmers part.

    4. stgatilov

      stgatilov

      One example from recent practice: I had to advise my colleague to not use std::hash<int>, because while it makes some useful things on MSVC, it is a plain identity function for integers on GCC. That's because standard does not control the quality of hash functions at all, so GCC decides to put the hash finalizer into the hash table. I think he just used boost hash function in the end: it has same implementation on all platforms.

      Another case is C++11 random. We all know that C rand sucks for many reasons, and different algorithm on different platforms is one of the reasons. For testing purposes, it is often desirable to have exactly the same PRNG on all platforms. For that reason C++11 generators are fully defined by the standard: std::mt19937 works exactly the same way on Windows and Linux. But the distributions are not fixed. So if you use std::mt19937 + std::uniform_int_distribution, then you'll get different results on MSVC and GCC. Reinvent that wheel yourself 😉

      Another example might be std::deque. Ideologically, people expect it to be a linked list of chunks. But it seems (I did not test this myself, I prefer reinventing such wheels) that MSVC implementation has very small size of chunks, so it boils down to be a worse version of std::list.

      In all of the cases, all implementations fully comply with the standard requirements. But as a programmer, you might expect or implicitly rely on some properties in terms of performance/reproducibility and thus depends on implementation details, which are not cross-platform.

  17. I think it's not worth polluting the code with fixing such non-issues. The reason you got it in the first place is that you updated to some very old version, which had Saint Lucia of different name, then updated back. Another way is to update to TDM 2.00: then fms/newjob will be empty. Also, you can create a directory "mydir" and create inside "tdm_myfile.pk4". Then run installer: it will delete the file, but won't ever delete directories. If you think you own TDM directory, then you can indeed delete it and nothing breaks. If you think TDM owns TDM directory, then just don't touch it: everything works fine! So what's your problem here?
  18. As far as I remember, the engine drops smoothing information from LWO file and applies automatic determination of smooth groups depending on some hardcoded angle. So I'm not sure these smoothing settings will help in TDM or Doom 3.
  19. It is in the Main Menu settings, on Controls\General page or something like that. There is toggle creep value.
  20. So... are you going recommit the normal maps as DXT1 ?... If it looks OK in-game, then it's not a problem, I suppose.
  21. beta211-07 is available.
  22. I think something like "Sheathe Toggle": Enabled/Disabled is the best, as long as the key is renamed from Put Away Weapons to Sheathe Weapon. More details explanation can be given in tooltip.
  23. We try to not use too many words in main menu, but from recently there are tooltips. It is possible to write some more explanations in the tooltip. I really don't like a setting which switches between A and B/C. The B/C is a bit confusing regarding whether it is a single value or some kind of subchoice or whatever.
  24. Now imagine that guard has turned his back to you, so you want to quickly take your weapon again and hit him. The risk of mistake on urgent weapon removal is on one side, and the urgent need to use the weapon is on the other side. As for Sheathe / Equip, it's just too long for a possible value. Now imagine some other languages, where the words are in general longer than in English...
  25. I'll probably change "Sheathe / Equip" to just "Toggle". Other than that, I have moved the thread to a more popular subforum to get more attention.
×
×
  • Create New...