Jump to content
The Dark Mod Forums

Leaderboard

Popular Content

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

  1. I've very rarely seen setter methods which return values (unlike getters which obviously need to return the value they are "getting"). What value should a setter return? The same value it was given as a parameter? That's entirely pointless because the calling code already has that value. It could return the previous value, but such a value isn't necessarily defined (and doesn't appear to be relevant in the case of writing something to a file). Sometimes setters return the object itself, so you can call them in a chain, e.g. myObject.setWidth(60).setHeight(20).setColour(RED); but it's not clear how that would work with writeFloat which isn't an object method to begin with. That's certainly common (and is a convention I use), but not universal. The C++ standard library doesn't use it, for example — to check if a vector is empty you call std::vector<T>::empty(), not isEmpty().
    2 points
  2. My new mission, A Night in Altham, is available. We are already up to version 2! @Dave the Tafferfound an problem that deserves a fix, so here is version 2: https://www.dropbox.com/scl/fi/y4r1dmziuq6clh2im3qz1/altham2.pk4?rlkey=m3cv5v6v70lxbc9xha61nuxoj&dl=1. I will ask @nbohr1more to update the databases. Thanks to JackFarmer (alpha testing and custom ambient music) and the many beta testers (jaxa, Shadow, wesp5, Cambridge Spy, thebigh, datiswous, Mezla, MirceaKitsune, Melchior, Acolytesix, TheUnbeholden, prjames, Bergante). Thanks to @peter_spy for his beautiful Builder Compound assets. This is a large mission, so be ready to take some time. I recommend that you do named saves occasionally (I actually implemented auto-saves for this mission, but it was causing crashes on Linux, so I removed it). This mission has a lot of keys, so it implements a key management mechanism. Keys are removed from the game when no longer needed. This includes when you use a key to open a door, or if you pick a door/lock that also uses a key. Most keys are automatically removed, but there are a couple that aren't (for example, if they open up more than one door). In a certain area, this mission uses the Keyhole Peek feature of TDM. Typically, this is when you lean forward (F key) into a door keyhole and you can see into the next room. But in this case you don't lean into a keyhole. It's a hole of another kind. It's an unconventional use of something that isn't used a lot in TDM; hopefully the mission context will make it clear when to use it. The mission does not use Keyhole Peek for regular doors. Be aware, there is a known problem on Linux, where the peek feature can cause a crash. Peeking is not required for mission completion. This has been tested on TDM 2.11a and the current dev build of 2.12 (dev16854-10518). Scary things warning: Difficulty settings make a difference. Things that are affected by the difficulty level: Enjoy!
    1 point
  3. A Bridge Too Far (version 1.0, 2023-09-22) In this small scale mission, you seek to steal the original copy of a book from the boss of a counterfeit crime outfit, which are located on a bridge. Download link: https://drive.google.com/file/d/1IeGCBdiGY9W3k_r5Ip8tGtJq9lo5f_PF/view Much thanks to the beta-testers for all of their feedback (link to beta thread - @thebigh - @Cambridge Spy - @Zerg Rush - @wesp5 - @Shadow Screenshots:
    1 point
  4. Now that I've finished The Black Parade, I'm definitely open to checking out more NewDark era missions. I want to see what other ideas are possible now that the Dark Engine has been unchained.
    1 point
  5. Another mission I can highly recommend is The Scarlet Cascabel. Probably even the best of the missions I played. Really great.
    1 point
  6. This is an intereting discussion. So, could one of the mods please move this to a separate thread as to not derail the beta testing thread. As a developer, you spend about 80% of your time just reading code. So, optimizing for readability is very important. The more information you can gather just by reading without cluttering up the code (by needless comments) the better. Hungarian notation helps immensely to quickly prase the displayed code in your brain. Yes, your IDE will show the desired information as well, but a mechanical interaction with the code is required to show it (mouse over or similar). Also, often you are tasked to do code review on webpages that don't offer these nice crossreferencing features of your IDE. Some things are objectively bad, 'though, so the respective rules preventing those things should universally be followed. For instance, much legacy code is nested extremely because at some point in time, it must have been a rule that you only have one return-point in your function (probably a c-residual). Such code is exhausting to read ("what was the else-if-condition some 1000 lines ago leading to this else-case again?") and very likely contains tons of code duplication. Today, we have the rule to only use little nesting and short if-else-clauses, to make the code easy to read and debug. If I come accross such a nested legacy function, I refactor the shit out of that function while trying to understand it, just so the next person after me doesn't have to deal with that horrible mess again.
    1 point
  7. Ah, you're right, it can be more language-specific or even project-specific. We often used setters that returned this, so we could use method chaining, but this isn't a general rule.
    1 point
  8. I'm not certain i understand the question, but it may be something similar to what I asked here (number 3): ...but it seems you've already found that post.
    1 point
  9. Fantastic. Can't wait for your future work.
    1 point
  10. The mission doesn't keep going but I kept going and found more stuff. And I kept going and found more stuff. And I kept going and found more stuff... By The Cookbook is The Bakery Job on steroids. Probably the best mission among the very small, simple, humble missions in the TDM catalogue. Congratulations, @Skaruts. Very well done.
    1 point
  11. I like to imagine that Tasteless Bert is at least acquainted with the guy in The Black Mage with the ... unique... taste in cakes.
    1 point
  12. It very much is. I've been goofing around in DR for a decade, on and off, and about two years ago I said to myself "that's it, I'm gonna actually make a mission for once". (And then about a year ago I started making this one.) So yea, my drive to do this hasn't dwindled, it has only gotten stronger. I've always loved making maps for games, and I still very much do. If I told you, I'd have to kill you. I actually wanted to make that book readable, and have some kind of interesting recipes in there, but I just couldn't think of anything... If I ever think of something, I'll do that.
    1 point
  13. Awesome mission. Very detailed. When I read it's small and your first FM, I did not expect a beast with verticality, secrets, and optional objectives. Perhaps it's smaller, but the verticality and level of detail make it look bigger. I had lots of fun exploring it and searching for all the secrets. Thanks!
    1 point
  14. 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. You probably find answer here: https://github.com/fholger/thedarkmodvr/wiki/Gamepad-support 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.
    1 point
  15. GAMEPLAY * Frob controls have been reworked completely. Previously players were annoyed by having to do three presses to extinguish a light. Also, some player didn't even know that bodies could be shouldered and were limited with dragging bodies. Now simply clicking the frob button performs the action player needs most of the time, and pressing-and-holding the same button performs alternative actions like dragging bodies and extinguishing candles (thread). * Several aspects of mantling has been improved: overhead mantling has become faster, mantling over low obstacles is allowed while carrying an item or a body. Also it is possible to switch weapon while being on rope/ladder or mantling. Pressing crouch button on rope/ladder now starts slide-down immediately. * Some aspects of gameplay can be further simplified. Auto-search bodies is for players who don't want to waste time searching for keys and purses on guard bodies. Lockpicking "Auto" difficulty now indeed trivializes lockpicking (thread). * Leaning animation has been improved with lower head tilt (thread). * Player footstep sounds have been rebalanced. Metal and water sounds were especially painful previously. * Further improvements of subtitles: revised location and font to avoid overlapping with other GUI elements, added directional cue, better slot allocation. Each subtitle is now displayed for at least one second even if the sound is very short. * More settings to reduce camera bobbing/rolling/shaking, which is good for players who feel motion sickness from default camera animations. * Now several script addons can coexist and work independently (thread). ENGINE * Optimized generation of light-entity interactions in rendering frontend. Also greatly optimized shadow processing, especially for moving lights. Unfortunately, many existing missions are not compatible with these changes, so you might see light leaking through walls (mainly with stencil shadows). Please report all such cases, we'll apply workaround on case by case basis (thread). * The "old" and "new" rendering backends are finally merged into one. It is as nice to program as the new backend, and as old-fashioned and reliable as the old backend. Single-pass shadow maps enabled by default and now respect noselfshadow. * Materials with polygonoffset now interact with lights. So static decals can have bumpmap and specular lighting. Note however: dynamic decals still don't interact with lights. * Revised parallelSky lights and marked shadowing parallel lights as deprecated (thread). * PNG image format now behaves equally to other supported formats. In particular, it is not required to explicitly specify its extension, and it can be referenced directly in GUI code. * Added functions min/max to material expressions, which can be useful for clamping. * Fixed minor culling bugs on animated entities and enabled entity scissors by default. * Reduced color banding for fog with some dithering at tonemapping stage. * Finally our C++ code can compress and decompress all texture formats we use, meaning that we no longer depend on occasionally buggy/slow vendor implementations. BUGS * Now both OGG and WAV sounds work the same way and stop playing while in main menu. * Fixed "gui::startSelect" as a feature that allows to choose player starting location in GUI briefing. * Fixed warnings in newspaper_bridgeport0X core readable GUI. ASSETS * Added automatic turrets, to be combined with security cameras (Thread). * Added more covered furniture models (6289). * Added wall models from Seeking Lady Leicester (6293). * New and fixed versions of atdm:lamp_electric_square_3_lit_unattached (6315). * Fixed UV map on Stove models (6312). * Fixed some issues with moor AI (6345).
    1 point
×
×
  • Create New...