Jump to content
The Dark Mod Forums

Dragofer

Development Role
  • Posts

    2631
  • Joined

  • Last visited

  • Days Won

    157

Posts posted by Dragofer

  1. The convention is that the player starts every mission rested and at full health, so I'd say limb damage should be healed too.

    By the way, there seems to be a problem with persistant args. You might need to work around this by giving a persistant inventory item which contains all the properties you want to carry over.

  2. I've recently started looking into the security camera after noticing that core TDM's version of Epifire's camera doesn't work, while there is a useable .pk4 in circulation.

    Ticket 0004731 and this thread show that there are also some issues with the coding, such as skins and the spotlight being hardcoded and therefore not customisable by mappers. There is also room for improvement, such as making the camera follow the player once he's been sighted or detected to make escape less trivial.

    Having recently looked into the source code, C++ seems familiar enough to me now that I may be able to address such points, in addition to fixing the core assets to make it possible to use in FMs without external downloads. I've compiled everything that I have on my radar currently after investigating the camera and reading the forums & bugtracker:

    Early issues, fixes required for adequate function and customisability:
    - restore outdated/missing defs and scriptobjects in SVN
    - hardcoded: spotlight properties and texture
    - hardcoded: sparks particle when the camera is destroyed
    - hardcoded: names of skins
    - colour switches handled inefficiently by the scriptobject
    - add a script event to check the camera's state (done: getSecurityCameraState(), returns 1 to 5)
    - can't be switched off properly and STATE_PAUSE is immediately dropped
    - camera can be destroyed by broadhead arrows. (make immune, or see stretch goal for making lens the vulnerable spot)
    - camera is destroyed too easily by far away fire arrow splash damage (increase health)
    
    Intermediate issues:
    - allow adjustment of visual acuity
    - make the time taken go to full alert depend on the brightness of the lightgem
    - make the camera follow the player once sighted/detected
    
    Stretch issues:
    - make the lens vulnerable to broadheads. Probably requires the camera to be an md5mesh with a bone for the lens.
    - detect AIs hostile to the camera's team

    Maybe someone would like to comment on or add to this list?

    A complicating factor is that a camera with an older model and entityDef is already in use in FMs. Ideally all changes would be backwards compatible, but in the worst case some FMs may need to be repacked. In any case, anything done here would be for 2.10 at the earliest, though testing could be done by downloading a custom build via the tdm_installer.exe.

    • Like 3
  3. I'd try seeing what happens if you manually add industry as a target to path_corner_2, to rule out that it's a problem with the ingame entities.

    And yes kind of, that A to Z Scripting Guide is a new, multi-page series seeking to cover as much as possible about scripting in a single series.

    @Destined the entry says that spawnclass "idEntity" responds to this, so you need to call it on an entity, and then specify the entity that should be added in the brackets. There's also only space for a single entity variable with the name "target" in the brackets.

    You'd call the event on sys if the spawnclass "idThread" responded, instead of "idEntity".

  4. A target is an entity, so if the targeted entity is called industry you'd use

    $path_corner_2.addTarget($industry);   

    If you wanted to turn an entity name into a string you'd use $industry.getName(), but that would no longer point to a specific entity in the map, it'd just be a string of letters.

    Btw, for a string the syntax would be "industry". You might like to reference the new A to Z Scripting Guide on the wiki for this and more.

  5. 1) I think it makes no difference. Assigning scripts to individual entities to great is when you want multiple entities to share the same scripting (i.e. lightholders), but for something which exists only once, like your player upgrade system, it's more convenient to run the code directly.

    2) Reminds me a bit of 0005334, maybe there's a relation? I can't give insight into how GUIs cache images.

    • Like 1
  6. 2 hours ago, stgatilov said:

    Most likely that's because of RGTC normal compression.

    I'm afraid @duzenko removed the code which was used in 2.08 for DXT compression. But you can try "image_useNormalCompression 0" to see if the difference is big enough. Also note that AMD cards compress more slowly than NVIDIA ones.

    Applying "image_useNormalCompression 0" with the console has turbocharged loading, now it only took 2m40s to load the map. The performance seems virtually the same and visually I think its the same too. So that definitely made a huge difference.

    Note that this is on a PC with an Intel integrated graphics. Ill probably use that setting in the future.

  7. I've just done some measurements of the loading time of The Painter's Wife after having cleaned up its assets for v1.2 and noticed that 2.09 appears to load significantly slower than 2.08:

    2.08: 5 minutes, 45 seconds

    2.09b4/b5: 7 minutes, 25 seconds (same for v1.1, v1.2 and an intermediate version)

    This is the v1.2 FM archive that I was loading on an Intel i5-9400F, Intel UHD 630, 8 GB RAM and an SSD: Google Drive

  8. The new grid in the Prefab Chooser preview still seems to be located at 0,0,0, not at the centre of the prefab. This often means that prefabs which are off-center appear to have no grid until one finds it by looking around with the camera.

    church_votive.pfbThis prefab exhibits the behaviour. The grid is located above the starting position of the camera.

    0005455: Prefab Chooser preview: improvements to initial view

  9. I know quite a few mappers who shy away from editing and making their own materials, especially when special effects are involved, relying on more experienced mappers for help. Having an editor would probably open up this field to them, in a similar way to what the Readable Editor did for readables. Unlike the Readable Editor, I don't see much need for a WYSIWYG recreation inside DR, though, in particular with the new connection to TDM and hopefully auto-reloading of changed files in both DR and TDM.

    I'd imagine this would be like a semi-automatic Notepad-like tool that lets you "add" stages and then "edit" them. For example, add "specularmap", "normalmap" and "editor_image" stages, insert a "stone" keyword, then maybe add a "blend" stage, edit it to "blend add" a "map" and insert i.e. a "scroll" keyword with an option to specify the speed.

    This would make it easier and more convenient to make use of features listed on this iddevnet page, though I can see plenty of potential for pitfalls with regards to combinations being generated that won't work ingame. No different from doing it manually, though.

  10. A thought regarding the modelDefs: maybe if the mapper chooses a modelDef in the Model Chooser, it could create a func_animate instead of a func_static? Just tested with animated_tree01 and saw that as a func_static it's just a black box, but as a func_animate it shows up as a static model ingame. The mapper could then look up the .def to see which anims are available, if he wants it to animate.

    Existing entities should keep their classnames, though.

  11. The newly improved handling for prefabs is looking good and working fine so far, and I can finally see fireplace prefabs without a magnifying glass. My feedback would be that the new preview vantage point is a little high, would probably be a bit better if the camera were a little lower. Using the example of kingsized_fourposter_bed.pfb, with the current default on the left and what I'd suggest on the right:

    image.thumb.png.22f0c515f6758dd6e1991318c8b41b44.png

    At some point someone should probably go through all the prefabs and make sure they're oriented correctly towards the (new) preview camera, in the correct folders, meet quality standards, aren't missing assets and so on. Basically house cleaning in the prefabs folder.

    Same goes for the modelDefs. Now that they're exposed in the model chooser, it turns out there are quite a few that probably shouldn't be part of the release build until someone from the team takes a look at them.

  12. 22 minutes ago, Geep said:

    Didn't seem like the player grabbing the movable first made any difference. I tried wrapping the hammer in a forcefield and giving it a nudge with that too, to activate physics. No luck.

    I guess I could use an AI as door stop, that might work... but will introduce other problems.

     

    I know that the wooden plank moveable reliably blocks the door leading out of the player's starting location in Perilous Refuge until he carries it away, you could try to copy-paste that setup into your map and then incrementally transform it to what you need.

    • Like 1
  13. 1 hour ago, AluminumHaste said:

    You should be able to stop players from stopping the animation with clip boxes around those parts.

    Yes, that's been done for all the other parts, but had some internal debate whether the topmost pair of movers should be covered too.

    I'm leaning towards keeping them free because A) the player should be pushed if standing there, B ) the player has to go out of his way to get a moveable up there and stand on it or build a stack of moveables and C) the breakage isn't too severe imo.

  14. Something that didn't make it into beta209-03 (because of some technical problems with SVN) is the new moving version of Epifire's steam engine ("animated" in DR using func_pendulums etc.). Mappers would be welcome to try it out ingame as part of this beta.

    Simply download this supplemental .pk4 and place it in your TDM base directory, then place the prefab in your FM. The requirement is that you're on beta209-03.

    Known issues:

    • console warnings about skin duplications: this is because this .pk4 overwrites some base skins with modified versions
    • console warning about a sound with shaking being saved as .ogg, not .wav: had to deliberately do this because sounds stored in .wav keep playing in the main menu, and visually the result is the same.
    • slight inaccuracies in the movement and sound synch: this is due to limitations of doing the "animation" in DR.
    • stacking 2+ moveable items on top of each other on the topmost mover causes that mover to stop moving. This is a physics engine limitation, and no other movers depend on this one.

    The primary author is bikerdude, with extensive feedback/vetting and playtesting by Dragofer and Amadeus.

    z_steam_engine_b3.pk4

    • Like 3
  15. 56 minutes ago, Araneidae said:

    (what's the command for printing your location, please?)

    The console command is getviewpos, and then you'll need to make a condump of the console (i.e. condump location1.txt) that gets stored in your base install folder.

    Definitely seems strange that shadowmaps give you higher performance than stencil, I believe it's still supposed to be the other way around.

  16. Thanks for putting in all this work!

    On 1/16/2021 at 6:38 PM, greebo said:

    There's nothing implemented for shaders or entities yet, I've been waiting for further feedback. I can make double-clicking the sounds applying the s_shader spawnarg, and I can create an entity from the double-clicked entity class, if that's helpful.

    Could maybe implement the rule that double-clicking does the following if:

    A : nothing is selected > create a speaker or entity at the location of i.e. in the centre of the currently active orthoview and use the previous selection to determine the 3rd coordinate
    B : one or more non-worldspawn entities are selected > change the s_shader or classname
    C : selection also includes worldspawn > change s_shader or classname on everything but the worldspawn
    D : only some worldspawn is selected > create an entity out of the selection (no effect for soundshaders)

    This ruleset could be expanded as appropriate to models and prefabs too, keeping the double-click response somewhat consistent.

    Edit: I believe only speakers can use s_shader, so probably that spawnarg should only be applied to speakers.
    Edit2: the above is false, all (most) entities can make use of s_shader.

     

  17. Very talented work! Though I'd suggest editing the screenshots to be somewhat brighter. My preferred tool is to increase the intensity of intermediate tones in Microsoft Office Picture Manager.

    As for beta testing, it's always highly recommended to perform a beta test, either closed (i.e. via Discord or private messages) or semi-public (in the Betatesting section of this forum), depending on preference. In fact, going forward it's a requirement for missions that should get uploaded to the official servers.

    I could probably take a look at the performance side of things, though I don't think I'll be a full betatester.

    • Like 1
  18. Spoiler

    Next problem: the installer has been working fine on my office laptop so far. However, yesterday I tried for the first time to switch to a dev build, which aborted with an error message like this not long after I had "START"ed the download:

    
    ERROR: Failed to rename file C:/personal/darkmod/tdm_ai_monsters_spiders01.pk4 to C:/personal/darkmod/__repacked__tdm_ai_monsters_spiders01.pk4 (error -1)

    Now whenever I try to install any build, I get this error message and the download aborts back to the download initation screen (where it shows how many MBytes will be downloaded). If I try to restart the download, the installer crashes. Sometimes it complains about tdm_ai_animals01.pk4 instead of tdm_ai_monsters_spiders01.pk4.

    I've tried deleting my tdm_installer.ini and tdm_installer.log, but it made no difference.

    tdm_installer.log I've attached the log.

    Nevermind, a process from DR was still somehow open even though I closed DR hours ago, causing the spiders .pk4 to still be considered as being in use by a program.

×
×
  • Create New...