Jump to content
The Dark Mod Forums

VanishedOne

Member
  • Posts

    1235
  • Joined

  • Days Won

    24

Posts posted by VanishedOne

  1. Ah, I see: I was looking at http://forums.thedarkmod.com/topic/17258-breakable-glass/page-3?do=findComment&comment=374528 and of course it talks about marker entities in the context of func_fractures, where the glass may end up just gone. But yes, if you have a broken model then it can carry the visual stim.

     

    I was wondering about what happens if you 'kill' a func_securitycamera since I remembered it was apparently supposed to become a physics object on breakage, but from a comparison of https://github.com/TTimo/doom3.gpl/blob/master/neo/game/SecurityCamera.cpp#L516 with TDM's source code it looks as though that behaviour has been removed.

  2. I have a few questions about file locations... I'm trying to add a frob highlight to a stone texture that doesn't have one, and I found this entry on the wiki. I think I will be able to figure it out, but I have no idea where the material file I need to edit is located. What makes it worse for me is that I left all the standard files for the game in their respective .pk4 archives so going through the regular file structure wasn't possible.

    In this case, I think it should be possible to make a file /materials/your-custom-name.mtr, and put your modified def in it, then it'll override the same-named material in the .pk4s. (Better than overriding an entire core file, which would require copying all the contents over.)

    • Like 1
  3. How do I repeat it? That post does not go into details and it's been what - 10 years now?

    We have seen ARB2 shader bugs disappear after porting to GLSL (as close to original as possible).

    You'd use it in a material that's using a TGA as its diffusemap, and see whether you get a green tinge. I tried it at some point and the green was pretty obvious. I don't seem to have a record of which TGA texture I tried though.

  4. The engine does support that. You can set health on each entity and then what model it has when it breaks. So you could have an indoor electric light that when struck with an arrow makes a glass breaking noise and then switches to a broken glass model.

     

    The stopping factor here is that most authors dont turn this on or use this feature much.

    According to my notes on shaderparms, there should be support for recognising a 'broken' state within light shaders as well (via a parm7 condition), though I haven't tested it. So instead of making breakage equivalent to switching off you could make the light flicker or dim or something.

     

    Trouble is, for anyone not planning a comprehensive overhaul of the light entities, I'm not sure how breakable lights would be identifiable to players.

     

    Also, if you want shattering glass (other than by trying a particle effect), that's a more complex set-up involving a separate func_fracture entity. Existing models aren't set up for that.

     

    Edit: speaking of func_fractures reminds me, do AI visually notice broken items yet? Mentioned in http://forums.thedarkmod.com/topic/17258-breakable-glass/page-3?do=findComment&comment=375028 but not explicit in http://bugs.thedarkmod.com/view.php?id=4177 -- and that's just regarding fractures, not other kinds of breakable entity.

     

    Edit2: according to http://forums.thedarkmod.com/topic/17258-breakable-glass/page-3?do=findComment&comment=374528 support for AI reactions exists, but I'm not sure what classes, if any yet, create the marker. Probably none, since the only markers I can find defined are for missing items and blood stains.

  5. My two pennyworth:

     

    - The lightning bolt may get interpreted as a purely gometrical zigzag, some kind of bend variant. That may be why the bolts in these images tend to have at least one visible end:

     

    https://www.heraldry-wiki.com/heraldrywiki/index.php/Category:Lightning_bolts

    https://commons.wikimedia.org/wiki/Category:Lightning_in_heraldry

     

    - Since the blueprint isn't clearly of anything, it might be taken for, say, an architectural blueprint. After all, the tools aren't part of the escutcheon so they only appear when the full achievement is displayed, and hammers and protractors are plausibly architectural anyway... Or go with a clock blueprint and it might seem a 'mere' clockmakers' guild rather than a club for scientists inventing marvels...

  6. There was a thread about that already, I tested the alpha fading and it just doesn't work.

    I'm not sure whether it completely works as advertised (even a simple set-up seems frustrating to work out), but it's there; the problem is that for light-interactive materials all you can use is an alpha ramp, because of the engine limitation on partial transparency for light-interactive surfaces. Here's a test map (set Object Details to Normal or the distances may be scaled badly for the map):

     

     

     

    alphaFadeTest
    {
    	sort almostNearest
    	noShadows
    	deform sprite
    	nonsolid
    	qer_editorimage	textures/darkmod/sfx/candleglow.tga
    	{
    		if (parm3 <= 1)
    		//blend 		blend
    		blend add
    		map 		textures/darkmod/sfx/candleglow.tga
    		clamp
    		//alpha parm3
    		rgb parm3
    	}
    }
    
    
    
    alphaRampTest
    {
    	noShadows
    	twosided
    	qer_editorimage	textures/darkmod/decals/vegetation/cattail_atlas
    	{
    		if (parm3 <= 1)
    		blend 		diffusemap
    		map 		textures/darkmod/decals/vegetation/cattail_atlas
            alphatest (1 - parm3)
    	}
    }
    
    Version 2
    // entity 0
    {
    "classname" "worldspawn"
    "editor_drLastCameraPos" "284.419 -30.0399 -16.4785"
    "editor_drLastCameraAngle" "-10.2 203.4 0"
    // primitive 0
    {
    brushDef3
    {
    ( 0 0 1 -128 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 1 0 -256 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 1 0 0 -768 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 -1 0 -256 ) ( ( 0.03125 0 254 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( -1 0 0 -320 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 0 -1 64 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    }
    }
    // primitive 1
    {
    brushDef3
    {
    ( 0 0 1 -64 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 1 0 -320 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 1 0 0 -768 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 0 -1 -64 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( -1 0 0 -320 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 -1 0 256 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    }
    }
    // primitive 2
    {
    brushDef3
    {
    ( 0 0 1 -64 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 1 0 -256 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 1 0 0 -832 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 0 -1 -64 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 -1 0 -256 ) ( ( 0.03125 0 254 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( -1 0 0 768 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    }
    }
    // primitive 3
    {
    brushDef3
    {
    ( 0 1 0 -256 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 1 0 0 -768 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 0 -1 -128 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 -1 0 -256 ) ( ( 0.03125 0 254 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( -1 0 0 -320 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 0 1 64 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    }
    }
    // primitive 4
    {
    brushDef3
    {
    ( 0 0 1 -64 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 1 0 0 -768 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 0 -1 -64 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 -1 0 -320 ) ( ( 0.03125 0 254 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( -1 0 0 -320 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 1 0 256 ) ( ( 0.03125 0 254 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    }
    }
    // primitive 5
    {
    brushDef3
    {
    ( 0 0 1 -64 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 1 0 -256 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 0 -1 -64 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 0 -1 0 -256 ) ( ( 0.03125 0 254 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( -1 0 0 -384 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    ( 1 0 0 320 ) ( ( 0.03125 0 0 ) ( 0 0.03125 0 ) ) "textures/darkmod/carpet/rugs/mat_shaggy" 0 0 0
    }
    }
    }
    // entity 1
    {
    "classname" "info_player_start"
    "name" "info_player_start_1"
    "origin" "-192 0 -64"
    "angle" "-0.000000"
    }
    // entity 2
    {
    "classname" "atdm:ambient_world"
    "name" "ambient_world"
    "origin" "256 0 0"
    "light_center" "0 0 0"
    "light_radius" "1536 768 576"
    "_color" "0.4 0.4 0.4"
    }
    // entity 3
    {
    "classname" "atdm:playertools_spyglass"
    "name" "atdm_playertools_spyglass_1"
    "origin" "-192 192 -64"
    "rotation" "1 0 0 0 1 0 0 0 1"
    "inv_map_start" "1"
    }
    // entity 4
    {
    "classname" "func_static"
    "name" "func_static_1"
    "model" "func_static_1"
    "origin" "512 -192 0"
    "dist_check_period" "0.01"
    "hide_distance" "512"
    "lod_1_distance" "256"
    "lod_fadeout_range" "600"
    // primitive 0
    {
    patchDef3
    {
    "alphaFadeTest"
    ( 3 3 1 1 0 0 0 )
    (
    ( ( 512 -128 -64 0 0 ) ( 512 -128 0 0 -0.5 ) ( 512 -128 64 0 -1 ) )
    ( ( 512 -192 -64 0.5 0 ) ( 512 -192 0 0.5 -0.5 ) ( 512 -192 64 0.5 -1 ) )
    ( ( 512 -256 -64 1 0 ) ( 512 -256 0 1 -0.5 ) ( 512 -256 64 1 -1 ) )
    )
    }
    }
    }
    // entity 5
    {
    "classname" "func_static"
    "name" "func_static_2"
    "dist_check_period" "0.01"
    "hide_distance" "512"
    "lod_1_distance" "256"
    "model" "func_static_2"
    "origin" "512 192 0"
    "lod_fadeout_range" "300"
    // primitive 0
    {
    patchDef3
    {
    "alphaRampTest"
    ( 3 3 1 1 0 0 0 )
    (
    ( ( 512 256 -64 0 0 ) ( 512 256 0 0 -0.5 ) ( 512 256 64 0 -1 ) )
    ( ( 512 192 -64 0.5 0 ) ( 512 192 0 0.5 -0.5 ) ( 512 192 64 0.5 -1 ) )
    ( ( 512 128 -64 1 0 ) ( 512 128 0 1 -0.5 ) ( 512 128 64 1 -1 ) )
    )
    }
    }
    }
    // entity 6
    {
    "classname" "atdm:playertools_lantern"
    "name" "atdm_playertools_lantern_1"
    "origin" "0 -64 -64"
    "rotation" "1 0 0 0 1 0 0 0 1"
    "inv_map_start" "1"
    }
    
    

     

     

    • Like 2
  7. I'm pretty sure func_fractures trigger their targets when broken: I used that before to change the light image breakable windows were casting onto a floor. So I think you could have the func_fracture target an entity with a trigger Response that sets the chest contents frobable and then removes the atdm:target_set_frobable.

  8. I must've missed that development period where the door_control was added. As I find it pretty interesting, I'll maybe have a look at it in a few weeks. The issue is tracked here: #2316.

    Besides what the tracker mentions, if I remember rightly it ignores peering of double doors. I also encountered a trigger_on_open or trigger_when_opened failure in one mission that I speculate might have been related to my using door control at the time. But if all that can be checked, it'll be a great feature.

    • Like 1
  9. materialname
    {
    // this part goes
        {
            if ( parm11 > 0 )
            blend       gl_dst_color, gl_one
            map         _white
            rgb         0.40 * parm11
        }
        {
            if ( parm11 > 0 )
            blend       add
            map         models/md5/environments/rope_d
            rgb         0.15 * parm11
        }
    // replaced with
        frobColor 0.15
    }
    

    The "0.40/_white" stage could be user- or mapper- configurable.

    With e.g. Judith having already raised suggestions about how to revise the look of the frob highlight (and the old frob.vfp having demo'd an alternative), I'm a little concerned about designing a syntax around the current set-up and its assumptions, like the assumption of a blend gl_dst_color, gl_one stage with _white and a blend add stage with the diffusemap. (tdm_pagan_orb_glow uses the standard 0.15 but applies it to _white. wbottle01 uses no multiplier at all in its first frob highlight stage - it just uses parm11 alone - and uses gl_one_minus_dst_color, gl_one with the diffusemap. In its second stage it uses 0.03 but with textures/darkmod/sfx/grey_mid.) The only thing you can really do with a single parameter is change the brightness multiplier, so we'd better be sure that's sufficient.

  10. Has anyone heard about use of idExplodingBarrel in TDM? There is still C++ code behind it and I would like to know if it is used at all.

    Recreating Thief's exploding barrels has been on my list of things to try for a while; I just haven't got around to it. I can't remember offhand whether idExplodingBarrel appeared to be doing anything that e.g. a modified mine couldn't.

     

    To my mind, since we're dealing with a toolkit for making missions, whether something has been used yet is less of a guide to its potential usefulness than whether there's another straightforward way to accomplish the same thing. id made various spawnclasses like idTarget_LightFadeIn for basic tasks a TDM mapper would probably accomplish with a script or S/R. But they also made interesting stuff that's presently dormant (idTarget_SetInfluence, for example).

     

    Looking at how explosives are used in Thief (exiting the cathedral in T1; breaking open a bricked-up doorway in Rowena's Curse; an FM I forget the name of that invites you to blow a metal door open), I think it's interesting but my remarks here are applicable, which is why I haven't yet looked into it closely,

    • Like 1
  11. Anyway, anybody knows how to have a glowing material with both opaque and lit areas in the texture? Cant really remember of an example to look for...

    If you want a fully opaque material with regions that glow in the dark, just apply those regions in a blend add stage.

     

    If you want an alphatested material with glowing bits in the 'holes', I think you can use ignoreAlphaTest in your blend add stage.

  12. My previous comment: http://forums.thedarkmod.com/topic/18990-custom-frob-idea/?do=findComment&comment=412240

    Which links to: http://forums.thedarkmod.com/topic/11359-textures-that-need-love/page-2?do=findComment&comment=253435

     

    If a new highlight couldn't be tweaked per material, cases like the dark bottles should be checked for visibility.

     

    Can you give an example of how the new syntax would look? A 'top-level material keyword that would apply as frob color' sounds as though it takes a colour as a parameter. On the other hand STiFU wanted a globally player-configurable frob highlight.

  13. I thought I'd ask about this here before filing a tracker issue in case it's a map bug of some kind.

     

    post-35144-0-92023000-1551058158_thumb.jpg

     

    This is the room I'm working on. I'm on a dark balcony, but occasionally, when I move alongside the railings, my lightgem goes bright. I've found that this happens especially if I stand opposite the big bookcase, lean left over the railings and look around with the mouse (as shown).

     

    By selectively turning off lights, I've found one that seems to be the cause, or at any rate can be the cause on its own. Oddly, I'm outside the light volume. I'm not even that close to it.

     

    I've attached the room in case anyone wants to examine it (you'll see only one light is left on). It requires Judith's Builder compound asset pack.

     

    The light volume's unusual rotation doesn't seem to be the cause, and making it shadowcasting didn't help.

    lightbug2.map.txt

  14. Ladder surfaces don't even have to be static: see the stepladder prefabs.

     

    Banners will always show their yellow ladder hull when placed in DR, so mappers will notice that right away – you can't turn it off with filters.

    Actually you can make a custom filter that hides textures/common/ladder(.*) -- I just tested and it works. You're right that there's no such built-in filter though.

×
×
  • Create New...