Jump to content
The Dark Mod Forums

Leaderboard

Popular Content

Showing content with the highest reputation on 02/14/24 in all areas

  1. BFG has no Dmap source code... checking RBDoom3BFG. RBDoom3BFG uses the same as vanilla
    2 points
  2. Of course, identifying struct via HN is useless. At work, we use HN when there are reasons for caution: u for unsigned to prevent unintentional implicit unsigned promotion (and overflow) Yes, I know, the compiler will issue a warning, but in some legacy projects, there are tons of warnings, so devs are going to miss that one new one. We are slowly working toward warning-free builds, but as long as we are not there yet, the u-prefix helps a lot. p for pointers to make the reader / dev aware that that variable could be NULL. m_ for members, obviously useful. Similarily, g_ and s_ for globals and statics respectively, although it is obviously discouraged to use those. Various prefixes for the different coordinate systems we use. I for interface, just for convenience b for boolean, this is basically just for convenience so you can directly see that this is the most basic type. This one, one could defintely argue against, but I personally like it.
    2 points
  3. 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
    2 points
  4. I agree that "New XY View" isn't a great description, since the 2D view is not necessarily oriented in the XY plane. Other candidates would be "New 2D view" or "New ortho view".
    2 points
  5. I updated the mission to version 2. No major changes, but quite a few bug fixes, adjustments and stuff. https://www.mediafire.com/file/bg9crjsa020z9wg/sk_cooks.pk4/file @nbohr1more I presume you're the one I should notify to update the mission database?
    2 points
  6. I don't think I'll be making any more changes, I'm working on the next mission
    1 point
  7. That's a great game. Highly recommended.
    1 point
  8. FlatOut 100% off on GOG https://www.gog.com/en/game/flatout https://www.gog.com/giveaway/claim
    1 point
  9. Indeed: there are already accuracy issues as soon as you use floats (especially single precision), and a hard-coded snap-to-integer behaviour seems to be reducing accuracy still further. That's actually a rare example of "App Hungarian notation" where the prefixes convey meaningful application-specific information, rather than just duplicating basic types like integer or float. It has been suggested that this was what HN was originally supposed to be, but everybody used it just to show primitive types which resulted in the whole convention becoming disliked. Exactly, and it breaks down completely once you start using more complex types than primitive numbers. Knowing that something is a pointer is useless without knowing what it points to, knowing that something is an "obj" or a "struct" is similarly unhelpful, and once you start trying to expand the convention so that the prefixes can convey information about the actual object type, you will end up with complex multi-character encoded prefixes that nobody else will be able to understand.
    1 point
  10. The mission database has been updated. Thank you!
    1 point
  11. Thanks! I'm glad you enjoyed it. There were definitely a lot of effects in that mission that worked better in my head than I was able to achieve in the engine. But every mission I make is more technically accomplished than the previous, so yay for progress.
    1 point
  12. @grodenglaive I think random head turning might be plausible for specific characters, if they're supposed to be paranoid for some reason. But you should let the player know in advance that they're always looking over their shoulders. I don't know if Elsevier has any reasons to be paranoid, but it could be plausible in his case. It could even be one of the reasons why Astrid had a hard time seeing him insert the safe code. The doors thing, at least some interior doors were auto-closing too. I was specifically thinking of the dinning room doors when I wrote that. I think there were more auto-closing interior doors, though. Personally, my potato doesn't have any real issues with performance in this mission. Only on the outside the frame rates drop below 60 sometimes, but never enough to make any noticeable difference to the gameplay. That said, I wonder if you could use double visportals on the outside doors. That might help, as the inner portal should close more often, without needing to close the doors. I use double portals sometimes because of that. But it needs testing to know for sure whether it helps or not. (It also requires adjusting info_locationSeparators, as they can only touch one portal). Also, the big visportal in the water that separates the front yard from the spider area seems to be always open. I wonder if having two visportals in a V shape (from the top view) instead of that one, would help closing it. Or some similar configuration that doesn't interfere with the view from the watchtower.
    1 point
  13. Dead Island: Riptide Definitive Edition 100% off on Steam https://slickdeals.net/f/17292832-dead-island-riptide-definitive-edition-pc-digital-download-free https://store.steampowered.com/app/383180/Dead_Island_Riptide_Definitive_Edition/
    1 point
  14. You made new saves under the latest build right?
    1 point
  15. I was wondering if it's possible to make a program that generates a subs file from a folder with a bunch of srt files. I know this is too much to ask for, but I just mention the idea.. The lines are usely: srt "sound/sub-path-to-sound-folder/sound-file-name.ogg" "subtitles/sound-file-name.srt" Edit: I think I already figured it out using Python code. Just putting it here quickly so I can reproduce it later. import os, sys path = "C:/Progs/tdm/fms/mandrasola/sound/sfx/mandrasola/" path_sounds = "sound/sfx/mandrasola/" path_subs = "subtitles/" listfiles = os.listdir(path) for x in listfiles: print("srt " + '"' + path_sounds + x + '"' + ' "' + path_subs + x.removesuffix('.ogg') + ".srt" + '"') Generates: srt "sound/sfx/mandrasola/mandrasola_guard1.ogg" "subtitles/mandrasola_guard1.srt" srt "sound/sfx/mandrasola/mandrasola_guard2.ogg" "subtitles/mandrasola_guard2.srt" srt "sound/sfx/mandrasola/mandrasola_lovell1.ogg" "subtitles/mandrasola_lovell1.srt" srt "sound/sfx/mandrasola/mandrasola_lovell2.ogg" "subtitles/mandrasola_lovell2.srt" srt "sound/sfx/mandrasola/mandrasola_lovell3.ogg" "subtitles/mandrasola_lovell3.srt" srt "sound/sfx/mandrasola/mandrasola_lovell4.ogg" "subtitles/mandrasola_lovell4.srt" srt "sound/sfx/mandrasola/mandrasola_lovell5.ogg" "subtitles/mandrasola_lovell5.srt" srt "sound/sfx/mandrasola/mandrasola_lovell6.ogg" "subtitles/mandrasola_lovell6.srt" srt "sound/sfx/mandrasola/mandrasola_ludmilla1.ogg" "subtitles/mandrasola_ludmilla1.srt" srt "sound/sfx/mandrasola/mandrasola_ludmilla2.ogg" "subtitles/mandrasola_ludmilla2.srt" srt "sound/sfx/mandrasola/mandrasola_ludmilla3.ogg" "subtitles/mandrasola_ludmilla3.srt" srt "sound/sfx/mandrasola/mandrasola_ludmilla4.ogg" "subtitles/mandrasola_ludmilla4.srt" srt "sound/sfx/mandrasola/mandrasola_ludmilla5.ogg" "subtitles/mandrasola_ludmilla5.srt" srt "sound/sfx/mandrasola/mandrasola_ludmilla6.ogg" "subtitles/mandrasola_ludmilla6.srt" srt "sound/sfx/mandrasola/mandrasola_ludmilla_iwarnyou.ogg" "subtitles/mandrasola_ludmilla_iwarnyou.srt" Man this would have saved me so much time yesterday..
    1 point
  16. Greetings. i want to report a possible bug in reynald's laboratory location. It's a bug where you can go through wall
    1 point
  17. Dhewm3: static void WriteFloat( idFile *f, float v ) { if ( idMath::Fabs(v - idMath::Rint(v)) < 0.001 ) { f->WriteFloatString( "%i ", (int)idMath::Rint(v) ); } else { f->WriteFloatString( "%f ", v ); } } Hmm... The original GPL Doom 3 code: static void WriteFloat( idFile *f, float v ) { if ( idMath::Fabs(v - idMath::Rint(v)) < 0.001 ) { f->WriteFloatString( "%i ", (int)idMath::Rint(v) ); } else { f->WriteFloatString( "%f ", v ); } }
    1 point
  18. I committed a fix in svn rev 10636. Let's hope it does not break something else in player movement.
    1 point
×
×
  • Create New...