Jump to content
The Dark Mod Forums

Newbie DarkRadiant Questions


demagogue

Recommended Posts

  • 3 weeks later...

Greetings TDMers.

Question about brushes such as NODRAW, LADDER, and similar brushes.

When should those be converted to func_static or left as worldspawn?

Is there any harm in leaving small brushes like this as worldspawn?

Link to comment
Share on other sites

3 hours ago, cvlw said:

Greetings TDMers.

Question about brushes such as NODRAW, LADDER, and similar brushes.

When should those be converted to func_static or left as worldspawn?

Is there any harm in leaving small brushes like this as worldspawn?

I would only leave it as worldspawn if you need it to act like worldspawn.  For example, if you have a nodrawsolid_wood brush covering a wonky wooden model and you want AI to be able to walk over it smoothly or it is to perform some sealing function.  Other than that, just make a func_static so it gets filtered out in DR when you want to only look at sealing brushwork.

So no harm in leaving it as worldspawn, but on the other hand you might get some benefit to making it a func_static.

Edited by Frost_Salamander
  • Like 1
Link to comment
Share on other sites

4 hours ago, Frost_Salamander said:

only leave it as worldspawn if you need it to act like worldspawn

Hey thanks for the advice.  I will pay attention to non-world-spawny things and make sure they are func_static.

Link to comment
Share on other sites

Hi, I'm messing around with patches to see what can be done with them, and I have a couple of questions. None are critical issues, as a matter of fact, I doubt I'd notice them or cared if I were playing someone else's map, but as I'm learning, knowing what can't be done is sometimes as important as what can be done. Here's the thing: is it possible to bevel a surface not parallel to one of the orthogonal axes, in other words, a slanted bevel? To be more specific: I'm having problems with snapping it to the grid; it doesn't want to. I mean, I have done the bevel, and it looks nice from a distance, but the slanted surface refuses to snap to the grid, which causes a visible, although small, seam (or at least I assume that's the reason.) And projecting the texture is also a bit of pain. Let's see if I can attach a picture...

Spoiler

slantedbevel.jpg.7e421a1f6a0037e6acf246f83f6f73f6.jpg

OK... [a few/lots of minutes later] messing around with it one side now looks much better (almost imperceptible seam, tbh,) but the other side still looks off. I still can't snap to the grid the four corners (interestingly, it's the main brush, the frustum, the one that refuses, not the bevel, which is perfectly snapped). I can snap three of the four corners, but there is always one that shifts on its own will, even when using the smallest grid.  See the next two pictures, where I have the main brush and the patch selected; the dots overlap except that one. And if I snap that one, another will shift (clockwise? I think.) I mean, that's like... what, 1/3 of 1/8 of a Doom Unit? 1mm?

Spoiler

snapping.jpg.2f5816e40bbf31d3d46d2f60d661ccea.jpg

closeupsnap.jpg.8c03109e18bbb94e5e62c576462b42ac.jpg

Not game-breaking, really, and nothing that can't be hidden with some trim or just in shadows, but I wonder if there's a technique for this or what I did wrong.

[Hmmm, after some thinking, I wonder if my issue was creating the original cube on grid X and then cutting the triangular corner for the bevel on a different grid size so the corners were weirdly placed... I'd have to test that out]

And speaking of seams, is it possible to make a smooth texture transition from the surface of a cylinder (or ring or whatever) to its cap? See the third picture, which is the rounded base of a column.

Spoiler

basecolumn.jpg.46534083ab635609f4a1e4b2486b03a2.jpg

If it's not (or it takes a lot of effort or editing), then it's no big deal, as there are more important things to worry about. But if there's a quick & easy way (natural projection hasn't worked for me in this instance), it would be good to know.

Thanks!

Link to comment
Share on other sites

7 hours ago, Uncertain Title said:

I have been building my map using some models I've created. I noticed that moving the models around in the folders caused the models in-game to break. Are there any precautions I must take for when I want to upload the map for beta-testing/finalizing the upload?

What do you mean by moving them around? You move them from the models folder into another folder? Models must be placed in the models folder. Otherwise, DM/DR cannot find them anymore causing the problems you mentioned in your post.

Link to comment
Share on other sites

It seems the unsnapped vertices were a bit of a red herring. The cause was simpler: the textures just don't align. When copying a shader from a receding/slanting surface to another one, the texture is tilted/rotated (like the side of an inclined wall made of bricks: it will "point" downwards) and this, I assume, happens to the patch too. If you "unrotate" it so the side of the bricks stays parallel to the ground, there's a seam as the textures are misaligned.

It became obvious when using a tiling surface. I have managed to align the slanted surfaces at eye level, but the farther up or down you go, and the more sides you add to the object, the more misaligned they get. With a flat texture like plaster and some trimming, it could be hidden quite well I think. In case this is useful to someone, or for any future noob, here are a few pictures:

Spoiler

SvQGKdy.jpeg

And this is what I meant above by inclined (and tapered) wall. The first is realistic but causes problems the more sides you add (the back would be even more rotated) The second is obviously not aligned and can't be aligned.

xYpYx9H.jpeg

Edited by xlm
Link to comment
Share on other sites

On 2/23/2024 at 5:38 AM, JackFarmer said:

What do you mean by moving them around? You move them from the models folder into another folder? Models must be placed in the models folder. Otherwise, DM/DR cannot find them anymore causing the problems you mentioned in your post.

I mean moving models around inside the models folder.

If I try to restructure my models folder via internal folders, but have already placed models, it causes the placed models to break.

Thankfully it looks like I was careful enough to save models into the map folder and not somewhere else.

Link to comment
Share on other sites

Yes, if you change the internal path of a model you will need to update the map because the map only stores the model path as a string, it doesn't directly embed the model file.

A .map file is just text so you could do this with search and replace in a text editor if you wanted.

Link to comment
Share on other sites

  • 4 weeks later...
9 hours ago, datiswous said:

Could someone tell me again how to search for entities by name? I always forget.

press J to bring up the Entity List Window (or you can find it in the Window tab). There's no search box until you start typing.

Link to comment
Share on other sites

Yeah the problem is that the entity list makes DR freeze for a couple of minutes with some extremelly large maps. During the freeze it takes over the mouse, so you can't use it in other applications. With the keyboard I can still do everything outside DR.

Also I cannot copypaste text in the searchbox in the entity list. That gives an error.

Edited by datiswous
Link to comment
Share on other sites

I guess what I can do is open the map in a text editor and search for the entity by name, that gives me the entity number. Then I can go to menu Map -> Brush and there typ in the entity nr.

I find it strange that even in DR version 3.8, there seems to be no direct way to search for entities by name. I mean, this should be on top of the list 10 versions ago I would think

Edited by datiswous
Link to comment
Share on other sites

  • 2 weeks later...

I have an elevator with a button: When the button is pressed it tells the lift move to an atdm:mover_multistate_position entity, which it does by targeting the elevator while having the spawnarg "position atdm_mover_multistate_position_1" to tell it where to go. This works well but I need it to do something special: When an objective is completed, the button needs to make the elevator go to a different position when pressed from that point on.

I don't know how to do this: If I target the trigger_relay that runs when the objective is completed to the button, that will only make the button press itself. I can't use an atdm:target_changetarget either since it's not the button's target I need to change but its position spawnarg. I don't want to make a script for something this simple so I'm hoping there's a special entity I can use to get the job done.

One solution would be two buttons: Completing the objective makes the first one invisible and unfrobable while making the second one visible and frobable. But I'm not aware of a way to make buttons visible / invisible either. At worst I'll use an atdm:teleport to swap the buttons, that's an ugly solution so making sure there's no better option first.

Edited by MirceaKitsune
Link to comment
Share on other sites

26 minutes ago, MirceaKitsune said:

I have an elevator with a button: When the button is pressed it tells the lift move to an atdm:mover_multistate_position entity, which it does by targeting the elevator while having the spawnarg "position atdm_mover_multistate_position_1" to tell it where to go. This works well but I need it to do something special: When an objective is completed, the button needs to make the elevator go to a different position when pressed from that point on.

I don't know how to do this: If I target the trigger_relay that runs when the objective is completed to the button, that will only make the button press itself. I can't use an atdm:target_changetarget either since it's not the button's target I need to change but its position spawnarg. I don't want to make a script for something this simple so I'm hoping there's a special entity I can use to get the job done.

One solution would be two buttons: Completing the objective makes the first one invisible and unfrobable while making the second one visible and frobable. But I'm not aware of a way to make buttons visible / invisible either. At worst I'll use an atdm:teleport to swap the buttons, that's an ugly solution so making sure there's no better option first.

I wouldn't have thought it was a big deal to just use a script using atdm:target_callscriptfunction. You can change the spawnarg (using setKey()) with the script or you can make entities visible/invisible by calling Show() / Hide() on the entity.

You could try this thing: https://wiki.thedarkmod.com/index.php?title=Atdm:target_postscriptevent to call Show/Hide.  I tried it the other day because I didn't know about func_remove and it didn't work (see the note I left on that wiki page), but you could give it a try and see if it works.

  • Thanks 1
Link to comment
Share on other sites

16 hours ago, Frost_Salamander said:

I wouldn't have thought it was a big deal to just use a script using atdm:target_callscriptfunction. You can change the spawnarg (using setKey()) with the script or you can make entities visible/invisible by calling Show() / Hide() on the entity.

You could try this thing: https://wiki.thedarkmod.com/index.php?title=Atdm:target_postscriptevent to call Show/Hide.  I tried it the other day because I didn't know about func_remove and it didn't work (see the note I left on that wiki page), but you could give it a try and see if it works.

I'll try that: I remember now there's an entity used to call script functions on other entities... show / hide are universal events at the core of the base entity, if that doesn't work something must be very broken.

Another option I thought of: What if I teleport the atdm:mover_multistate_position entity instead? However I doubt that will work since to my knowledge, dmap compiles elevator positions to some extent so changing them in realtime will likely not work or break stuff, but just in case let me know if that might be safe.

Link to comment
Share on other sites

28 minutes ago, MirceaKitsune said:

Another option I thought of: What if I teleport the atdm:mover_multistate_position entity instead? However I doubt that will work since to my knowledge, dmap compiles elevator positions to some extent so changing them in realtime will likely not work or break stuff, but just in case let me know if that might be safe.

I'm not aware of DMAP caring about atdm:mover_multistate_positions. If it does that would be good to know about though, where did you see that?

If you're not sure just try it maybe?  I thought DMAP only cared about stuff created with worldspawn, materials changing, pathfinding and maybe location entities?

 

 

 

Link to comment
Share on other sites

Call me foolish, but how exactly do I connect a path_corner, path_wait and other AI path nodes to a particular AI ?

I can't seem to figure out how to assign a particular path node to a particular AI. For example, I have a commoner, want him to walk a few steps to the nearest "wait" node, then do his waiting there for a few seconds, then move onto another path_corner, etc.

I understand you can likely use a particular path node for several characters with a similar or identical route, but I just want to be sure the AI character actually reacts to a path node.

Is the Ctrl + K method sufficient ?

Edited by Petike the Taffer
Link to comment
Share on other sites

You don't connect the path_ nodes to an AI - you connect the AI to the path_ nodes. So Ctrl+k points the AI to its starting node. That node should point to one or more other nodes, and so on. So basically: 1) define a path or paths by connecting several path_ nodes. 2) tell the AI to start along this path by targeting one of the nodes.

That's the basics. It can get more complicated with scripting and/or triggers, etc.

  • Like 1
Link to comment
Share on other sites

I wonder whether you can resize and reshape a speaker from a spherical shape into a rectangular shape that could fit in a room.

I couldn't find a clear tutorial on resizing the speaker and altering its shape from the default sphere/orb shape. Odd.

Maybe it's just a dumb pipe dream by me, but I'd find a rectangular sort of configuration for a speaker much better to work with.

 

Link to comment
Share on other sites

25 minutes ago, Petike the Taffer said:

I wonder whether you can resize and reshape a speaker from a spherical shape into a rectangular shape that could fit in a room.

I couldn't find a clear tutorial on resizing the speaker and altering its shape from the default sphere/orb shape. Odd.

Maybe it's just a dumb pipe dream by me, but I'd find a rectangular sort of configuration for a speaker much better to work with.

 

If you can do this, I don't know how.  But it's something I want as well and was actually going to raise it as a feature request.  I think speakers are spherical so they model real sound which radiates from a source outwards.

I find this doesn't work so well with some scenarios though:

  • water.  For example you want to hear the sound of waves lapping a shoreline or a running water sound for a stream, river or canal.  If the shoreline or stream is on the longer side, you have to have a speaker with a huge radius to cover it and the sounds extends too far along perpendicular to the body of water.  Or alternatively multiple speakers but then you have to manage overlap and it becomes a pain.
  • wind.  Same idea but vertical - if you have a long edge or balcony then you need a large radius speaker to cover it and it might extend too low so you hear wind noises on the ground.

@Petike the Taffer If all you want is for a sound to fill a room, just use the location system ambients instead.  But you can only have one sound I think, so you couldn't have say your ambient music and also a weather sound at the same time without using a speaker for one of them.

Edited by Frost_Salamander
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recent Status Updates

    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
    • nbohr1more

      Looks like the "Reverse April Fools" releases were too well hidden. Darkfate still hasn't acknowledge all the new releases. Did you play any of the new April Fools missions?
      · 5 replies
×
×
  • Create New...