Jump to content
The Dark Mod Forums

MirceaKitsune

Member
  • Posts

    1928
  • Joined

  • Last visited

  • Days Won

    22

Posts posted by MirceaKitsune

  1. I'm afraid the light leaks persist even in dev16854-10518 with a change I understand should fix them on old maps. Just replaying Chronicles of Skulduggery 3: Sacricide and found an area where they're even worse and a light in another room shines straight through the wall.

    cos3_sacricide(2023-11-3004-21-47)(-1275.98-370_9883.25).thumb.jpg.034e3e11251d858f7cc7e486fff98ee0.jpgcos3_sacricide(2023-11-3004-21-52)(-1275.98-370_9883.25).thumb.jpg.b698a33199bcd33a2f08fe2b11a4962a.jpg

    A view from the back of the light shining through: Even from this angle you can see it light up the room through the door.

    cos3_sacricide(2023-11-3004-22-11)(-1108.57-380_8383.74).thumb.jpg.ba80de00802ec0e3e0e59f272d14a792.jpg

    • Like 1
  2. My own suggestion which I was thinking of earlier after this was brought up again: When a new mission is started, under the 3 difficulty options (Easy, Medium, Hard), why not offer a separate setting for save restriction independent of difficulty level? It could be a separate checkbox with which the map's difficulty setting decides how severe save restrictions should be. While initially I may have welcomed this as a map choice for the standard difficulty setting, I now believe restricting saves should be a separate user-controlled choice, which would oppositely also make it usable on all old FM's.

    I think there's one potential issue with this plan, correct me if I'm wrong: Some FM's implemented checkpoints where the map itself decides when to auto-save, and that can only be specified by maps themselves. If the two features can be separated, does anyone else think we can limit no-saving to a separate field picked in the mission briefing menu?

  3. If someone urgently needs this feature, there's likely a convoluted script you can indeed write to achieve it. I say convoluted since the way I know the scripting API to work in this regard, you'd need to loop through all AI each frame and temporarily make them friendly or lower their alert level, which feels very hacky to me. Thus I think this gradual mode would be best builtin to make it a readily available feature. Especially as it should be easy to implement as a mere offset to alert level increase, and changing it shouldn't break anything since all existing maps use -1 / 0 / +1 for team relations as they're currently integers.

  4. 1 hour ago, chakkman said:

    I know an awesome way to restrict saves, which works in every mission: Just save when and where you want to.

    This. Same thing I say when it comes to content moderation on social media, something something about giving people tools to mute what they don't like seeing themselves instead of a corporation doing it for everyone :P Some difficulty settings should of course be set by the map, but I've also come to feel limiting saves might be a bit too much to have out of the player's control.

    I think there is a better idea: A mode the player can toggle, which can disable saving and loading on demand. Something so if you give yourself the challenge of a no save run, you don't forget and press the quicksave / quickload buttons like you're used to all the time. Of course you can just remember or not reload your save or unbind the keys, but a temporary setting like that could be a simple solution that's still fully a player choice.

    • Like 1
  5. I don't consider this an urgent or highly important feature, but found the concept useful enough to ask and may definitely use it on my maps. I actually don't know if it might already be implemented: No FM I'm aware of does this and it's not mentioned on the AI Relations (Editing) page either, however the AI Relations (Scripting) page mentions a gradual sys::OffsetRelation function but doesn't specify if it's also a gradual change in the AI's behavior.

    When setting team relations you normally have just 3 options: -1 (enemy) 0 (neutral) 1 (friendly). There is one limitation in this system: They seem to be integers and not floats, meaning you can't also express an amount by which the teams should be allies or enemies. Having this ability could have interesting use cases: You may want teams that still oppose the player but don't care that much and will only attack if you get right in their face or stick around for too long. As such you should be able to use values between 0 and +1 or -1 to indicate an interest level in the relationship, as well as values above +1 or below -1 to boost the AI's friendliness or hatred toward another team beyond its normal levels.

    Consider for instance a FM where thugs protect a territory they own: They don't like the player wandering into their turf, but seeing you is more of an annoyance than an emergency... they aren't as motivated to catch you as a citywatch guard who knows the player is a wanted thief and will immediately jump to apprehend you. In this scenario the relationship between thugs and the player could be changed to -0.25: Now you can walk between thugs for a few seconds and they will ignore you at first, but if they see you for too long you're eventually getting attacked.

    A super simple implementation would be to merely multiply the AI's alert increase rate from a target with its abs(relationship) toward it: If you set it to -0.5 for instance, AI on that team will take twice longer to be alerted by you until eventually attacking, same for allies who will be slower to notice a friend in trouble... meanwhile if you set it to -2 AI on that team will go alert twice faster than normal. I presume this solution can be done by changing one line somewhere in the alert code, and should have the accurate behavioral effect intended without reducing visual / audio acuity... no existing FM or default behavior should be affected either since I can't think who would be using those values if this feature doesn't already exist.

  6. I remember I got it working last time but had one issue left: The UV light doesn't cast shadows. That's because being on its own spectrum, it doesn't interact with anything on the normal spectrum any more... this means it will illuminate only the special materials I want it to, but at the cost of only those materials existing to the light thus being able to cast or receive shadows too. Let me know if there's any known solution or potential fix for this so the UV light doesn't reveal objects through walls.

  7. 58 minutes ago, stgatilov said:

    I guess this is some kind of issue with blocked portals.
    I think I need to create a test map.

    Is the light moving all the time?
    Does anything change if you move door/visportal a bit? Maybe visportal is exactly on the surface of door bounding box?

    Static lights only, lights should be cutting through the portals by far, however one is rotated by 45* on the wall which could perhaps be related. Here's a DarkRadiant screenshot for now, showing the setup best as it can be seen... I selected both the interior and exterior light entities that might be involved.

    Screenshot_20231118_165829.thumb.jpg.062fcc569040564e22d27f5a750ef32f.jpg

  8. I'm seeing the weirdest thing on my map, not public yet but I have the case for testing: Not only does the light leak, and it does so even as I've textured the walls with shadowcaulk... a light actually leaks only while the door is closed, once I open it the undesired light goes away.

    It's the glow on the left side of the door and little triangle it casts on the floor in front of it. I think it might be the light at the right shining through though, not sure if it's the light in the newly opened room. The interesting thing is opening the door makes it go away, also using shadowcaulk over mere caulk doesn't seem to matter which is quite odd.

    path(2023-11-1806-53-34)(831.74847.26332.25).thumb.jpg.90993891c77dc36c1c34b33d49afca32.jpgpath(2023-11-1806-53-37)(831.74847.26332.25).thumb.jpg.826dbbdb82a85769fd1105fb2b09198d.jpg

  9. Replaying CoS1: Pearls and Swine on latest dev. If I kill one of the guards with an arrow and he falls in a particular position as he dies, TDM crashes. Reproducing is tricky but I managed to catch the crash message in the qconsole.log at least:

    Spoiler
    log file 'qconsole.log' opened on Sat Nov 18 03:32:41 2023
    
    execing DarkmodKeybinds.cfg
    execing DarkmodPadbinds.cfg
    Gamepad modifier button assigned to 11
    execing autoexec.cfg
    I18N: SetLanguage: 'english'.
    I18N: Found no character remapping for english.
    I18N: 1334 strings read from strings/english.lang
    I18N: 'strings/fm/english.lang' not found.
    ----- Initializing OpenAL -----
    Setup OpenAL device and context
    OpenAL: found device 'ALSA Default' [ACTIVE]
    OpenAL: found device 'HDA ATI HDMI, HDMI 0 (CARD=HDMI,DEV=3)'
    OpenAL: found device 'HDA ATI HDMI, HDMI 1 (CARD=HDMI,DEV=7)'
    OpenAL: found device 'HDA ATI HDMI, HDMI 2 (CARD=HDMI,DEV=8)'
    OpenAL: found device 'HDA ATI HDMI, HDMI 3 (CARD=HDMI,DEV=9)'
    OpenAL: found device 'HDA ATI HDMI, HDMI 4 (CARD=HDMI,DEV=10)'
    OpenAL: found device 'HDA ATI HDMI, LC24RG50 (CARD=HDMI,DEV=11)'
    OpenAL: found device 'HD-Audio Generic, ALC1220 Analog (CARD=Generic,DEV=0)'
    OpenAL: found device 'HD-Audio Generic, ALC1220 Digital (CARD=Generic,DEV=1)'
    OpenAL: device 'ALSA Default' opened successfully
    OpenAL: HRTF is available
    OpenAL vendor: OpenAL Community
    OpenAL renderer: OpenAL Soft
    OpenAL version: 1.1 ALSOFT 1.21.1
    OpenAL: found EFX extension
    OpenAL: HRTF is enabled (reason: 1 = ALC_HRTF_ENABLED_SOFT)
    OpenAL: found 256 hardware voices
    ----- Initializing OpenGL -----
    Initializing OpenGL display
    Borderless fullscreen - using current video mode for monitor 0: 1920 x 1080
    ...initializing QGL
    
    ------- Input Initialization -------
    ------------------------------------
    OpenGL vendor: AMD
    OpenGL renderer: AMD Radeon RX 570 Series (polaris10, LLVM 16.0.6, DRM 3.54, 6.6.1-1-MANJARO)
    OpenGL version: 4.6 (Core Profile) Mesa 23.1.9-manjaro1.1 core
    Checking required OpenGL features...
    v - using GL_VERSION_3_3
    v - using GL_EXT_texture_compression_s3tc
    Checking optional OpenGL extensions...
    v - using GL_EXT_texture_filter_anisotropic
        maxTextureAnisotropy: 16.000000
    v - using GL_ARB_stencil_texturing
    v - using GL_EXT_depth_bounds_test
    v - using GL_ARB_buffer_storage
    v - using GL_ARB_texture_storage
    v - using GL_ARB_multi_draw_indirect
    v - using GL_ARB_vertex_attrib_binding
    X - GL_ARB_compatibility not found
    v - using GL_KHR_debug
    Max active texture units in fragment shader: 32
    Max combined texture units: 192
    Max anti-aliasing samples: 8
    Max geometry output vertices: 256
    Max geometry output components: 4095
    Max vertex attribs: 16
    ---------- R_ReloadGLSLPrograms_f -----------
    Linking GLSL program cubeMap ...
    Linking GLSL program bumpyEnvironment ...
    Linking GLSL program environment ...
    Linking GLSL program fog ...
    Linking GLSL program oldStage ...
    Linking GLSL program blend ...
    Linking GLSL program soft_particle ...
    Linking GLSL program gaussian_blur ...
    Linking GLSL program testImageCube ...
    ---------------------------------
    Font fonts/english/stone in size 12 not found, using size 24 instead.
    --------- Initializing Game ----------
    The Dark Mod 2.12/64, linux-x86_64, code revision 10488
    Build date: Nov  5 2023
    Initializing event system
    ...873 event definitions
    Initializing class hierarchy
    ...172 classes, 1732032 bytes for event callbacks
    Initializing scripts
    ---------- Compile stats ----------
    
    Memory usage:
         Strings: 59, 9464 bytes
      Statements: 23533, 941320 bytes
       Functions: 1369, 179012 bytes
       Variables: 109648 bytes
        Mem used: 2182368 bytes
     Static data: 408 bytes
       Allocated: 1168444 bytes
     Thread size: 7928 bytes
    
    Maximum object size: 816
    Largest object type name: speaker_zone_ambient
    ...6 aas types
    game initialized.
    --------------------------------------
    Parsing material files
    Found 0 new missions and 0 packages.
    Found 182 mods in the FM folder.
    Parsed 199 mission declarations.
    No 'tdm_mapsequence.txt' file found for the current mod: pearlsnswine
    -------- Initializing Session --------
    session initialized
    --------------------------------------
    Font fonts/english/mason_glow in size 12 not found, using size 48 instead.
    Font fonts/english/mason_glow in size 24 not found, using size 48 instead.
    Font fonts/english/mason in size 12 not found, using size 48 instead.
    Font fonts/english/mason in size 24 not found, using size 48 instead.
    WARNING:file /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui, line 203: wrong number of arguments for script command set: 4 instead of [2..2], maybe missing semicolon?
    Font fonts/english/stone in size 12 not found, using size 24 instead.
    WARNING:unknown destination 'BriefingAnimation::visible' of set command at /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui:109
    WARNING:resetTime target window 'BriefingAnimation' not found at /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui:110
    WARNING:unknown destination 'BriefingAnimation::visible' of set command at /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui:134
    WARNING:unknown destination 'BriefingAnimation::notime' of set command at /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui:135
    --- Common Initialization Complete ---
    ------------- Warnings ---------------
    during The Dark Mod initialization...
    WARNING:file /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui, line 203: wrong number of arguments for script command set: 4 instead of [2..2], maybe missing semicolon?
    WARNING:resetTime target window 'BriefingAnimation' not found at /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui:110
    WARNING:unknown destination 'BriefingAnimation::notime' of set command at /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui:135
    WARNING:unknown destination 'BriefingAnimation::visible' of set command at /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui:109
    WARNING:unknown destination 'BriefingAnimation::visible' of set command at /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui:134
    5 warnings
    pid: 266442
    Async thread started
    Couldn't exec autocommands.cfg - file does not exist.
    Linking GLSL program simple_texture_new ...
    Linking GLSL program tonemap ...
    Found 0 new missions and 0 packages.
    Found 182 mods in the FM folder.
    reloading guis/msg.gui.
    WARNING:file /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui, line 203: wrong number of arguments for script command set: 4 instead of [2..2], maybe missing semicolon?
    WARNING:unknown destination 'BriefingAnimation::visible' of set command at /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui:109
    WARNING:resetTime target window 'BriefingAnimation' not found at /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui:110
    WARNING:unknown destination 'BriefingAnimation::visible' of set command at /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui:134
    WARNING:unknown destination 'BriefingAnimation::notime' of set command at /fms/pearlsnswine/pearlsnswine.pk4/guis/mainmenu_briefing.gui:135
    reloading guis/mainmenu.gui.
    --------- Map Initialization ---------
    Map: pearls8
    ------- Game Map Init SaveGame -------
    ---------- Compile stats ----------
    
    Memory usage:
         Strings: 60, 9560 bytes
      Statements: 23579, 943160 bytes
       Functions: 1375, 179636 bytes
       Variables: 110216 bytes
        Mem used: 2188600 bytes
     Static data: 408 bytes
       Allocated: 1172268 bytes
     Thread size: 7928 bytes
    
    collision data:
       444 models
     41433 vertices (1294 KB)
     68699 edges (3220 KB)
     27648 polygons (2040 KB)
      3711 brushes (524 KB)
     16530 nodes (774 KB)
     56564 polygon refs (883 KB)
     17320 brush refs (270 KB)
     18666 internal edges
       692 sharp edges
         0 contained polygons removed
         0 polygons merged
      9009 KB total memory used
    104 msec to load collision data.
    map bounds are (5288.0, 4762.0, 3585.6)
       13 KB passage memory used to build PVS
        2 msec to calculate PVS
      105 areas
      238 portals
       10 areas visible on average
        1 KB PVS data
    [Load AAS]
    missing maps/pearls8.aas48
    [Load AAS]
    missing maps/pearls8.aas96
    [Load AAS]
    loading maps/pearls8.aas32
    done.
    [Load AAS]
    missing maps/pearls8.aas100
    [Load AAS]
    loading maps/pearls8.aas_rat
    done.
    [Load AAS]
    missing maps/pearls8.aas_elemental
    WARNING:Couldn't load sound 'sfx_going_past_curtain.wav' using default
      [map entity: speaker_4]
      [decl: sfx_going_past_curtain in <implicit file>]
      [sound: sfx_going_past_curtain.wav]
    WARNING:ConvertLWOToModelSurfaces: model 'models/darkmod/furniture/covered/singlebed_set01_covered.lwo' has 56/2874 nontriangular polygons. Make sure you triplet it down
    WARNING:Failed to fixup '$gui::title' in window 'Contents', replaced with zero
    WARNING:Failed to fixup '' in window 'Contents', replaced with zero
    No running thread for RestoreScriptObject(), creating new one.
    --------------------------------------
    ----- idRenderModelManagerLocal::EndLevelLoad -----
        0 models purged from previous level,  1479 models kept.
    ---------------------------------------------------
    ----- idImageManager::EndLevelLoad -----
    WARNING:Couldn't load image: default
      [map entity: func_static_782]
      [model: models/darkmod/architecture/modules/interior_set01_corner.lwo]
      [decl: default in <implicit file>]
      [image: default]
    WARNING:Couldn't load image: textures_common_shadow
      [map entity: func_static_3082]
      [model: models/darkmod/furniture/covered/singlebed_set01_covered.lwo]
      [decl: textures_common_shadow in <implicit file>]
      [image: textures_common_shadow]
        0 purged from previous
      227 kept from previous
     2048 new loaded
    all images loaded in   6.9 seconds
    ----------------------------------------
    Linking GLSL program cubeMap ...
    Linking GLSL program bumpyEnvironment ...
    Linking GLSL program environment ...
    Linking GLSL program fog ...
    Linking GLSL program oldStage ...
    Linking GLSL program blend ...
    Linking GLSL program soft_particle ...
    Linking GLSL program gaussian_blur ...
    Linking GLSL program testImageCube ...
    Linking GLSL program depth ...
    Linking GLSL program interaction_ambient ...
    Linking GLSL program interaction_stencil ...
    Linking GLSL program interaction_shadowmap ...
    Linking GLSL program stencil_shadow ...
    Linking GLSL program shadow_map ...
    Linking GLSL program simple_texture_new ...
    Linking GLSL program soft_particle_new ...
    Linking GLSL program environment_new ...
    Linking GLSL program blend_light_new ...
    Linking GLSL program fog_light_new ...
    Linking GLSL program frob_silhouette ...
    Linking GLSL program frob_highlight ...
    Linking GLSL program frob_extrude ...
    Linking GLSL program frob_apply ...
    Linking GLSL program tonemap ...
    Linking GLSL program HeatHazeWithMaskAndDepth ...
    Linking GLSL program heatHazeWithDepth ...
    Linking GLSL program heatHazeWithMaskAndDepth ...
    Linking GLSL program heatHaze ...
    Linking GLSL program heatHazeWithMaskAndBlur ...
    ----------------------------------------
    ----- idSoundCache::EndLevelLoad -----
    273463k referenced
     3632k purged
    ----------------------------------------
    Loading EAX effect 'gallery' (#1)
    Loading EAX effect 'ladybath' (#2)
    WARNING:alEffectf(AL_EAXREVERB_ECHO_TIME, 0.060) failed: 0xa003
    Loading EAX effect 'topfloor' (#3)
    Loading EAX effect 'bottomfloor' (#4)
    Loading EAX effect 'garden' (#5)
    Loading EAX effect 'streetswest' (#6)
    Loading EAX effect 'streetseast' (#7)
    Loading EAX effect 'streetsnorth' (#8)
    Loading EAX effect 'tunnel1' (#9)
    WARNING:alEffectf(AL_EAXREVERB_ECHO_TIME, 0.060) failed: 0xa003
    Loading EAX effect 'tunnel2' (#10)
    WARNING:alEffectf(AL_EAXREVERB_ECHO_TIME, 0.060) failed: 0xa003
    Loading EAX effect 'sewers1' (#11)
    Loading EAX effect 'sewers2' (#12)
    Loading EAX effect 'sewers3' (#13)
    Loading EAX effect 'cellar' (#14)
    WARNING:alEffectf(AL_EAXREVERB_ECHO_TIME, 0.060) failed: 0xa003
    Loading EAX effect 'annabelleapt' (#15)
    Loading EAX effect 'inn' (#16)
    Loading EAX effect 'piersapt' (#17)
    Loading EAX effect 'paulapt' (#18)
    Loading EAX effect 'cornwells' (#19)
    Loading EAX effect 'willapt' (#20)
    Loading EAX effect 'oliverapt' (#21)
    Loading EAX effect 'corridor' (#22)
    Loading EAX effect 'attic' (#23)
    Loading EAX effect 'pub' (#24)
    sound: found efxs/pearls8.efx
    -----------------------------------
     11978 msec to load pearls8
    Interaction table generated: size = 0/512
    Initial counts:  5599 entities  243 lightDefs  4872 entityDefs
    ------------- Warnings ---------------
    during pearls8...
    WARNING:alEffectf(AL_EAXREVERB_ECHO_TIME, 0.060) failed: 0xa003
    WARNING:ConvertLWOToModelSurfaces: model 'models/darkmod/furniture/covered/singlebed_set01_covered.lwo' has 56/2874 nontriangular polygons. Make sure you triplet it down
    WARNING:Couldn't load image: default
    WARNING:Couldn't load image: textures_common_shadow
    WARNING:Couldn't load sound 'sfx_going_past_curtain.wav' using default
    WARNING:Failed to fixup '$gui::title' in window 'Contents', replaced with zero
    WARNING:Failed to fixup '' in window 'Contents', replaced with zero
    7 warnings
    Interaction table generated: size = 0/512
    Initial counts:  5599 entities  243 lightDefs  4872 entityDefs
    Linking GLSL program ssao_depth ...
    Linking GLSL program ssao ...
    Linking GLSL program ssao_blur ...
    Linking GLSL program bloom_downsample_brightpass ...
    Linking GLSL program bloom_downsample ...
    Linking GLSL program bloom_apply ...
    Switching to EFX 'bottomfloor' (#4)
    Linking GLSL program bloom_upsample ...
    Restarting ambient sound snd_mansionN'(mansion_piano02a_z) with volume -10
    --------- Game Map Shutdown ----------
    ModelGenerator memory: 113 LOD entries with 0 users using 1808 bytes.
    WARNING:idClipModel::FreeTraceModel: tried to free uncached trace model (index=0)
    --------- Game Map Shutdown done -----
    reloading guis/msg.gui.
    reloading guis/map/pearls8.gui.
    reloading guis/tdm_inv.gui.
    reloading guis/tdm_loot.gui.
    reloading guis/playertools/compass.gui.
    reloading guis/tdm_subtitles.gui.
    reloading guis/tdm_lockpick.gui.
    reloading guis/tdm_hud.gui.
    reloading guis/cursor.gui.
    reloading guis/readables/scrolls/scroll_calig_carolingia_world.gui.
    reloading guis/readables/scrolls/scroll_calig_carolingia_world.gui.
    reloading guis/readables/books/book_calig_mac_humaine_world.gui.
    reloading guis/readables/scrolls/scroll_hand_ellianerelle_world.gui.
    reloading guis/readables/oldparchment_world.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/scrolls/scroll_calig_carolingia_world.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/scrolls/scroll_hand_ellianerelle_world.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/books/book_calig_summertime_world.gui.
    reloading guis/readables/parchment_everett_hand_world.gui.
    reloading guis/readables/books/book_hand_ellianerelle_smaller_world.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/books/book_calig_carolingia_world.gui.
    reloading guis/readables/scrolls/scroll_calig_carolingia_world.gui.
    reloading guis/readables/page_test_world.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/page_test_world.gui.
    reloading guis/readables/page_test_world.gui.
    reloading guis/readables/page_test_world.gui.
    reloading guis/readables/sheets/newspaper_bridgeport03_world.gui.
    reloading guis/readables/sheets/newspaper_bridgeport02_world.gui.
    reloading guis/readables/sheets/newspaper_bridgeport02_world.gui.
    reloading guis/readables/sheets/newspaper_bridgeport02_world.gui.
    reloading guis/readables/scrolls/scroll_calig_mac_humaine_world.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/scrolls/scroll_hand_ellianerelle_world.gui.
    reloading guis/readables/books/book_hand_jd_hand_world.gui.
    reloading guis/readables/sheets/newspaper_bridgeport03_world.gui.
    reloading guis/readables/scrolls/scroll_calig_mac_humaine_world.gui.
    reloading guis/readables/books/book_hand_ellianerelle_smaller_world.gui.
    reloading guis/readables/oldparchment_notitle_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_nancy_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_nancy_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_nancy_world.gui.
    reloading guis/readables/sheets/sheet_paper_gothic_bamberg_world.gui.
    reloading guis/readables/books/book_calig_mac_humaine_world.gui.
    reloading guis/readables/parchment_ellianerelle_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_nancy_world.gui.
    reloading guis/map_of.gui.
    reloading guis/manor1.gui.
    reloading guis/manor2.gui.
    reloading guis/readables/books/book_calig_mac_humaine_world.gui.
    reloading guis/readables/parchment_everett_hand_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_jd_hand_world.gui.
    reloading guis/readables/books/book_hand_jd_hand_world.gui.
    reloading guis/readables/books/book_calig_summertime_world.gui.
    reloading guis/readables/books/book_calig_summertime_world.gui.
    reloading guis/readables/books/book_hand_popsies_world.gui.
    reloading guis/readables/scrolls/scroll_hand_ellianerelle_world.gui.
    reloading guis/readables/books/book_hand_ellianerelle_world.gui.
    reloading guis/readables/books/book_hand_jd_hand_world.gui.
    reloading guis/readables/books/book_gothic_gothica2_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_nancy_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_nancy_world.gui.
    reloading guis/playertools/spyglass.gui.
    --------- Map Initialization ---------
    Map: pearls8
    idRenderWorldLocal::InitFromMap: retaining existing map
    ------- Game Map Init SaveGame -------
    ---------- Compile stats ----------
    
    Memory usage:
         Strings: 60, 9560 bytes
      Statements: 23579, 943160 bytes
       Functions: 1375, 179636 bytes
       Variables: 110216 bytes
        Mem used: 2188600 bytes
     Static data: 408 bytes
       Allocated: 1172268 bytes
     Thread size: 7928 bytes
    
    map bounds are (5288.0, 4762.0, 3585.6)
       13 KB passage memory used to build PVS
        2 msec to calculate PVS
      105 areas
      238 portals
       10 areas visible on average
        1 KB PVS data
    [Load AAS]
    missing maps/pearls8.aas48
    [Load AAS]
    missing maps/pearls8.aas96
    Keeping maps/pearls8.aas32
    [Load AAS]
    missing maps/pearls8.aas100
    Keeping maps/pearls8.aas_rat
    [Load AAS]
    missing maps/pearls8.aas_elemental
    No running thread for RestoreScriptObject(), creating new one.
    --------------------------------------
    -----------------------------------
       276 msec to load pearls8
    Interaction table generated: size = 0/512
    Initial counts:  5599 entities  243 lightDefs  4876 entityDefs
    Restarting ambient sound snd_mansionN'(mansion_piano02a_z) with volume -10
    --------- Game Map Shutdown ----------
    ModelGenerator memory: 113 LOD entries with 0 users using 1808 bytes.
    WARNING:idClipModel::FreeTraceModel: tried to free uncached trace model (index=0)
    --------- Game Map Shutdown done -----
    reloading guis/msg.gui.
    reloading guis/map/pearls8.gui.
    reloading guis/tdm_inv.gui.
    reloading guis/tdm_loot.gui.
    reloading guis/playertools/compass.gui.
    reloading guis/tdm_subtitles.gui.
    reloading guis/tdm_lockpick.gui.
    reloading guis/tdm_hud.gui.
    reloading guis/cursor.gui.
    reloading guis/readables/scrolls/scroll_calig_carolingia_world.gui.
    reloading guis/readables/scrolls/scroll_calig_carolingia_world.gui.
    reloading guis/readables/books/book_calig_mac_humaine_world.gui.
    reloading guis/readables/scrolls/scroll_hand_ellianerelle_world.gui.
    reloading guis/readables/oldparchment_world.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/scrolls/scroll_calig_carolingia_world.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/scrolls/scroll_hand_ellianerelle_world.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/books/book_calig_summertime_world.gui.
    reloading guis/readables/parchment_everett_hand_world.gui.
    reloading guis/readables/books/book_hand_ellianerelle_smaller_world.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/books/book_calig_carolingia_world.gui.
    reloading guis/readables/scrolls/scroll_calig_carolingia_world.gui.
    reloading guis/readables/page_test_world.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/page_test_world.gui.
    reloading guis/readables/page_test_world.gui.
    reloading guis/readables/page_test_world.gui.
    reloading guis/readables/sheets/newspaper_bridgeport03_world.gui.
    reloading guis/readables/sheets/newspaper_bridgeport02_world.gui.
    reloading guis/readables/sheets/newspaper_bridgeport02_world.gui.
    reloading guis/readables/sheets/newspaper_bridgeport02_world.gui.
    reloading guis/readables/scrolls/scroll_calig_mac_humaine_world.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/sign_text_decals/sign_text_bamberg.gui.
    reloading guis/readables/scrolls/scroll_hand_ellianerelle_world.gui.
    reloading guis/readables/books/book_hand_jd_hand_world.gui.
    reloading guis/readables/sheets/newspaper_bridgeport03_world.gui.
    reloading guis/readables/scrolls/scroll_calig_mac_humaine_world.gui.
    reloading guis/readables/books/book_hand_ellianerelle_smaller_world.gui.
    reloading guis/readables/oldparchment_notitle_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_nancy_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_nancy_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_nancy_world.gui.
    reloading guis/readables/sheets/sheet_paper_gothic_bamberg_world.gui.
    reloading guis/readables/books/book_calig_mac_humaine_world.gui.
    reloading guis/readables/parchment_ellianerelle_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_nancy_world.gui.
    reloading guis/map_of.gui.
    reloading guis/manor1.gui.
    reloading guis/manor2.gui.
    reloading guis/readables/books/book_calig_mac_humaine_world.gui.
    reloading guis/readables/parchment_everett_hand_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_jd_hand_world.gui.
    reloading guis/readables/books/book_hand_jd_hand_world.gui.
    reloading guis/readables/books/book_calig_summertime_world.gui.
    reloading guis/readables/books/book_calig_summertime_world.gui.
    reloading guis/readables/books/book_hand_popsies_world.gui.
    reloading guis/readables/scrolls/scroll_hand_ellianerelle_world.gui.
    reloading guis/readables/books/book_hand_ellianerelle_world.gui.
    reloading guis/readables/books/book_hand_jd_hand_world.gui.
    reloading guis/readables/books/book_gothic_gothica2_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_nancy_world.gui.
    reloading guis/readables/sheets/sheet_paper_hand_nancy_world.gui.
    reloading guis/playertools/spyglass.gui.
    --------- Map Initialization ---------
    Map: pearls8
    idRenderWorldLocal::InitFromMap: retaining existing map
    ------- Game Map Init SaveGame -------
    ---------- Compile stats ----------
    
    Memory usage:
         Strings: 60, 9560 bytes
      Statements: 23579, 943160 bytes
       Functions: 1375, 179636 bytes
       Variables: 110216 bytes
        Mem used: 2188600 bytes
     Static data: 408 bytes
       Allocated: 1172268 bytes
     Thread size: 7928 bytes
    
    map bounds are (5288.0, 4762.0, 3585.6)
       13 KB passage memory used to build PVS
        2 msec to calculate PVS
      105 areas
      238 portals
       10 areas visible on average
        1 KB PVS data
    [Load AAS]
    missing maps/pearls8.aas48
    [Load AAS]
    missing maps/pearls8.aas96
    Keeping maps/pearls8.aas32
    [Load AAS]
    missing maps/pearls8.aas100
    Keeping maps/pearls8.aas_rat
    [Load AAS]
    missing maps/pearls8.aas_elemental
    No running thread for RestoreScriptObject(), creating new one.
    --------------------------------------
    -----------------------------------
       280 msec to load pearls8
    Interaction table generated: size = 0/512
    Initial counts:  5599 entities  243 lightDefs  4876 entityDefs
    Restarting ambient sound snd_mansionN'(mansion_piano02a_z) with volume -10
    ----- idRenderModelManagerLocal::EndLevelLoad -----
        0 models purged from previous level,  1480 models kept.
    ---------------------------------------------------
    Regenerated world, staticAllocCount = 0.
    Getting threadname failed, reason: No such file or directory (2)
    --------- Game Map Shutdown ----------
    ModelGenerator memory: 113 LOD entries with 0 users using 1808 bytes.
    WARNING:idClipModel::FreeTraceModel: tried to free uncached trace model (index=0)
    --------- Game Map Shutdown done -----
    Shutting down sound hardware
    idRenderSystem::Shutdown()
    ...shutting down QGL
    I18NLocal: Shutdown.
    ------------ Game Shutdown -----------
    ModelGenerator memory: No LOD entries.
    Shutdown event system
    --------------------------------------

     

  10. 1 hour ago, AluminumHaste said:

    Open console, type noclip, fly to empty area, type noclip again. Losing progress isn't necessary with access to dev commands

    Usually I reload the save since I quick-save often: If I use cheats in a run not destined for it I feel like I broke my run by cheating. Then again I often noclip to go somewhere then reload, technically I didn't use the command during the continuation of my run but did to gain new knowledge, so it depends how you look at it :P

  11. 1 hour ago, Amadeus said:

    Fair enough. I will say that as a player, I do get annoyed when I climb on something and then clip onto a small thing (like a fork). But that is just me :)

    Yes I hope that can be improved in the physics engine in time, though if it hasn't until now I presume more can't be done. The biggest issue is you can still get stuck very easily and have to reload a save since the player can no longer move after you touch certain corners or slopes.

  12. 5 hours ago, Amadeus said:

    Yeah, you should select those cutlerly models and food models and turn change their classnmame into func_statics so they don't fly around when the ai is alerted. EDIT: Better yet, you can give those forks and knives, etc., "noclipmodel" "1" that way players don't clip on them if they climb onto the table

    You can't frob and pick them up either then right? I'd rather leave them as is since I prefer as many moveables as possible to make the world feel interactive, I'd actually like if it more FM's allowed moving any small stuff around. Though I can fully confirm everything starts flying across if you alert AI in the area... then again seeing them climb on tables as food flies all over the place only makes for more fun even if unintended :D

  13. Does it make sense to have the plate as a mirror, if asking that doesn't go beyond the scope of this issue? It's so small that it could easily use the default reflection cubemap like some windows do. Namely considering that mirrors cause a second render to be produced and thus use up a lot of FPS.

  14. 4 hours ago, datiswous said:

    You have not read what I posted (to you) before? I guess not.

    bind "KP_SLASH" "con_noprint 0;wait;wait;wait;getviewpos;wait;wait;wait;screenshot;con_noprint 1"

     

    Sorry about that, I missed it indeed: I just noticed the command and my only thought was to use it from a console. At least I discovered a little bug by doing that :D Perhaps the key bind could be added by default, I'm not aware of F11 being used for anything else so it would make sense to just default that.

    4 hours ago, datiswous said:

    Shouldn't these (I cannot find them in DR) have a mirror effect applied, like models/darkmod/kitchen/tea_tray_silver2.ase ? I guess this is some brush with texture bc_teatray applied? Although this texture has the mirror effect applied.

    That further explains it as I've had mirrors glitch on me like that. Typically horizontal mirrors or ones placed on brushes, I haven't tested thoroughly enough to know for sure especially recently. I remember trying to make a shiny floor using realtime mirrors, it would only work when seen from some angles then disappear or turn white like that once you looked from another direction or too parallel to the surface.

  15. 5 minutes ago, Daft Mugi said:

    Yeah, it's not a perfect solution. I added "screenshot_viewpos" to TDM, but I'm no graphics programmer so my solution is subpar. If it is typed in the console, it doesn't work properly. It really must be bound to a key to work properly, and then it is acceptable and great. I use the following:

    bind "F12" "screenshot"
    bind "F11" "screenshot_viewpos"
    bind "F10" "screenshot_viewpos 1.3"

    The "1.3" above is the "r_ambientGamma" value.

    Oh, I understand now: I just opened the console typed screenshot_viewpos manually and pressed enter, didn't think of binding it to a key. It doesn't always work so just reporting so it's known, it is a good idea to have this command to share issues or map spoilers easily once it will work in every circumstance.

  16. Wasn't sure if I should still post this since the mystery was somewhat solved, but just to confirm this case can be found in the wild with FM's other than mine: Yesterday I played Chronicles of Skulduggery 0: To Catch a Thief. There's a door up on a terrace (I can reinstall it and go there to get a viewpos if anyone's interested) which upon picking and opening will cause the light on the back of the wall indoor to slightly shine on the floor outside through the entire wall.

    Exact same camera position / angle in both images so you can just overlap the two screenshots to see the difference, though if you look at the bottom left ground it's pretty clear what happens once the door is opened. It's still a bit weird: The wall module model should still be casting a shadow, even if the wall brush uses caulk and not shadow caulk. Whatever the case a few FM's out there seem to have this problem, even if it's not an issue the engine or building modules can resolve I wonder if mappers can be better put on notice about it since like me most are likely not aware this is a thing or what causes it.

    cos0_thief(2023-11-1305-23-37)(2794.57-1017.37-514.75).thumb.jpg.e0c08b3a33fa7a94443858c563d027a2.jpgcos0_thief(2023-11-1305-23-41)(2794.57-1017.37-514.75).thumb.jpg.d212417f469033fa32b2236f486cb769.jpg

    Looked at the first post again and the video attached to it: Definitely seems like the same thing. Most importantly it wasn't doing this in earlier versions which I didn't realize... I'm seeing the clarification by Stgatilov as well which I initially missed, I definitely prefer the performance optimization but now I do wonder if something can also be done about this eventually.

    • Like 2
  17. 42 minutes ago, Daft Mugi said:

    @stgatilov Found these oddly rendered plates: rev 10484 vs 10495.

    training_missionr10484(14.83-2700.36220.25).thumb.jpg.1ceccfc891c638cc431520d3e9823d21.jpgtraining_missionr10495(16.47-2701.27220.25).thumb.jpg.1aa398397ce79e229d5f3af353759bed.jpg

     

    I noticed the plate has that issue in every FM... strangely enough I didn't think to report it and my brain just accepted it as being a normal occurrence, especially since I think this one has been the case since TDM existed. Basically if you look at it from certain angles, that plate becomes fully bright. No idea if it's the reflection or something else.

    May be related to another little anomaly I noticed: When a frobable item is located in front of a mirror and you look at it to make it bright, the reflected version is twice brighter. Here's a screenshot where me looking at the lock box is highlighting it and that's making it abnormally shiny in the reflection:

    cos0_thief(2023-11-1305-34-03)(1170.79331.21-488.26).thumb.jpg.602099b29272ce8bdc9418fbdb81690e.jpg

    • Like 1
  18. I beta tested A Night in Altham again and found a few engine related issues. First off the new "screenshot_viewpos" command doesn't actually show the viewpos, it makes the console appear in the screenshot but the view position doesn't make it in in the frame. Here is an image taken with this command:

    altham_beta3(2023-11-1403-20-09)(6771.75-612_8444.29).thumb.jpg.f23ca9be059befbee3a41426d909ce5d.jpg

    It doesn't seem like a clean solution to make the whole console appear anyway: I wonder if it's possible to make just the viewpos appear at the top of the render in a special display with this command.

    Also this FM was a good occasion to test peeking. Thankfully it no longer crashes the engine on Linux or what the old problem was. Problem is that everything's black instead: You see nothing while peaking, just parts of the keyhole overlay and that's it. Thus peaking remains broken, whether this issue is also Linux only or not.

  19. 7 minutes ago, datiswous said:
      Reveal hidden contents

    The is a mission objective where you have to find someones petrat. But I think you have to find a letter or something and then the misson objective is added. I think it's somewhere in the streets.

     

    Thanks: Did that and more yesterday. Found most of the loot and roughly half the secrets, a few of them with the hints here; The thing that seems to get us in those FM's is knowing which windows are openable and which are just decorations, there are so many you can go through in areas I didn't imagine the player could climb to till I traced back the steps and saw how it's done.

  20. 29 minutes ago, boissiere said:

    I'd like to chip in and say I think basing the script name on the archive/file name is not a good idea. Filenames are extrinsic to the mod and something you have no direct control over. Someone may unwittingly change the filename and wonder why the mod stops working.

    You'd be better off having a fixed script name for all mods which is, I think, what dragofer says is being considered.

    I know, it's just the only easy way I can think of. Fixed script names is what we have now, tdm_custom_scripts.script or tdm_user_addons.script: Every mod will use them up and thus take them away from other mods. We need something that's dynamic and unlimited.

    A better alternative is a prefix to indicate you want auto-running of that script: Anything called "scripts/include_*.script" would be a good one, just use an unique name and call yours "include_mod_something.script" which will work if no one else names theirs "mod_something".

    Even better: Have a keyword at the beginning of the script! Like how scripts in Linux start with #!/bin/bash so file managers know how to preview them: Similarly we could add something like #autoexec at the beginning of ours, though this approach requires the engine looping through all script files to detect this keyword.

    We could imagine making tdm_user_addons.script unique per pk4. But I haven't even mentioned this one as it goes against how the file system works: You can't have multiple files with the same name and different contents, the latest archive in alphabetical order must always override a file loaded by an earlier archive.

    What gets close to that is a special text file in each pk4 like a package.txt which references the inclusion script as a flag. FM's kind of do that with darkmod.txt: When each pk4 is iterated by the engine at startup, it could read a script name mentioned there and execute the file referenced. But this seems more complicated than necessary unless this configuration is used for more stuff, maybe to list loaded mods in the main menu with their title / description / author / version the same way missions are?

    • Like 1
  21. I'd like to ask a (hopefully) easier favor from the DR devs on this, considering it's such an issue and making me struggle to keep mapping normally. I know the root issue seems to rely on WxWidgets and may not be solvable on our end, but at least one part of it I consistently run into should be.

    Like I said I can initially avoid the problem by exporting the "GDK_BACKEND=x11" variable in my shortcut, this makes it go away for the 2D and 3D viewports and only persist in the model viewers which I can care less about. There's just one exception: The moment I press X to use the clipper tool and cut a brush, the 2D view starts experiencing the issue and becomes impossible to drag normally. Because of this I need to avoid using the clipper as much as possible, and whenever I have to in order to get a triangle brush I must restart Radiant immediately after.

    Would it be possible to figure out what the clipper does that's so unique to triggers this? Does using it reset the 2D views and somehow gets them reloaded by Wayland? If yes could this be avoided so in the meantime it doesn't break that workaround? If at least this can be solved and the GDK_BACKEND workaround keeps otherwise working, it will be a lot easier to wait for the proper full fix. Sorry for the annoyance with this... just want to make some good FM's and using DR this way is running on a handicap that makes the already complex process of mapping even slower.

  22. 1 hour ago, Dragofer said:

    The messup with Hazard Pay happened because the FM provided a copy of tdm_user_addons.script (accidentally left behind after testing), conflicting with other addons.

    Yeah, that's what I was thinking of. When FM independent mods are also circulating this is bound to happen with the current system unfortunately, realized it soon after I started delving into modding. In the mods I posted so far I include the notice that you must edit tdm_custom_scripts.script yourself and watch out for it overriding or being overridden by other mods even then.

    1 hour ago, Dragofer said:

    In any case, we've recently started looking into a way of supporting unlimited addons in parallel by auto-including and auto-calling script files and functions whose names follow a specific naming convention (tdm_user_addon*).

    Thank you lots for this, can't wait! The best solution to me always seemed like the one I suggested: Auto-execute the script with the name of the archive, so if it's "mod_something.pk4" then "scripts/mod_something.script" is automatically ran only from that archive. Only problem is if you put things like version number in the archive's name this would require renaming the script with each update, I wonder if a slightly different way is possible like pattern matching based on any part of the name, but anything among those lines will be a godsend.

×
×
  • Create New...