Jump to content
The Dark Mod Forums

Recommended Posts

  • 3 weeks later...
Posted

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?

Posted (edited)
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

TDM Community Github: https://github.com/thedarkmodcommunity

My fan missions: The Hare in the Snare, Part 1

The Lieutenant Series: In Plain Sight  High Expectations Foreign Affairs

Posted
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.

Posted

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!

Posted

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?

Posted
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.

Posted (edited)

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
Posted

I mean that moving them from one internal models file to another causes it to break.

Example, building with models before creating a folder inside the models folder, and then moving models in there, causes all placed versions of those models to become blue/black squares.

Posted
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.

Posted

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.

  • 4 weeks later...
Posted
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.

Posted (edited)

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
Posted (edited)

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
  • 2 weeks later...
Posted (edited)

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
Posted
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

TDM Community Github: https://github.com/thedarkmodcommunity

My fan missions: The Hare in the Snare, Part 1

The Lieutenant Series: In Plain Sight  High Expectations Foreign Affairs

Posted
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.

Posted
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?

 

 

 

TDM Community Github: https://github.com/thedarkmodcommunity

My fan missions: The Hare in the Snare, Part 1

The Lieutenant Series: In Plain Sight  High Expectations Foreign Affairs

Posted (edited)

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
Posted

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
Posted

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.

 

Posted (edited)
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

TDM Community Github: https://github.com/thedarkmodcommunity

My fan missions: The Hare in the Snare, Part 1

The Lieutenant Series: In Plain Sight  High Expectations Foreign Affairs

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

    • jivo

      I just uploaded a new version of the Visible Player Hands mod. It's been updated for TDM 2.13 and has new animations. Check out the post if you're interested!
      · 0 replies
    • datiswous

      I moved from Manjaro Linux (rolling release) to Linux Mint (LTS). One of the reasons was that I found the updates a bit too often and long. But now on Mint I get updates every day, although they're usually small updates.
      · 3 replies
    • JackFarmer

      "Hidden Hands: Vitalic Fever" - new update available including subtitles & compressed briefing video (thanks to @datiswous) and several fixes.
      · 0 replies
    • Wolfmond

      🇬🇧

      2025-04-20
      I'd like to track my level design progress a bit more often now, so I'm using the feed in my profile here.
      I've been working intensively on Springheel's YouTube course over the past few days. I'm currently up to lesson 8. There is so much information that needs to be processed and practiced. 
      I have started to create my own house. As I don't have the imagination to create a good floor plan, I grabbed a floor plan generator from Watabou and experimented with it. I chose a floor plan that I will modify slightly, but at least I now have an initial idea. 
      I used two guards as a measuring tape: The rooms are two guards high. It turned out that I can simply double the number of boxes in DarkRadiant in grid size 8 that are drawn in the floor plan. 
      I practiced the simplest things on the floor plan first. Drawing walls, cutting walls, inserting doors, cutting out frames, creating VisPortals, furnishing rooms.
      I have had my first success in creating a book. Creating a book was easier than I thought. I have a few ideas with books. The level I'm creating will be more or less a chill level, just for me, where I'll try out a few things. I don't have an idea for my own mission yet. I want to start small first.
      For the cellar, I wanted to have a second entrance, which should be on the outside. I'm fascinated by these basement doors from the USA, I think they're called Bilco basement doors. They are very unusual in Germany, but this type of access is sometimes used for deliveries to restaurants etc., where barrels can be rolled or lifted into the cellar. 
      I used two Hatch Doors, but they got completely disoriented after turning. I have since got them reasonably tamed. It's not perfect, but it's acceptable. 
      In the cellar today I experimented with a trap door that leads to a shaft system. The rooms aren't practically finished yet, but I want to continue working on the floor plan for now. I'll be starting on the upper floor very soon.

      __________________________________________________________________________________
      🇩🇪

      2025-04-20

      Ich möchte nun mal öfters ein bisschen meinen Werdegang beim Leveldesign tracken, dazu nutze ich hier den Feed in meinem Profil.
      Ich habe mich in den vergangenen Tagen intensiv mit dem Youtube-Kurs von Springheel beschäftigt. Aktuell bin ich bis zu Lektion 8 gekommen. Das sind so viele Informationen, die erstmal verarbeitet werden wollen und trainiert werden wollen. 

      Ich habe mich daran gemacht, ein eigenes Haus zu erstellen. Da mir die Fantasie fehlt, einen guten Raumplan zu erstellen, habe ich mir einen Grundrissgenerator von Watabou geschnappt und damit experimentiert. Ich habe mich für einen Grundriss entschieden, den ich noch leicht abwandeln werde, aber zumindest habe ich nun eine erste Idee. 

      Als Maßband habe ich zwei Wächter genommen: Die Räume sind zwei Wächter hoch. Es hat sich herausgestellt, dass ich in DarkRadiant in Gittergröße 8 einfach die doppelte Anzahl an Kästchen übernehmen kann, die im Grundriss eingezeichnet sind. 

      Ich habe bei dem Grundriss erstmal die einfachsten Sachen geübt. Wände ziehen, Wände zerschneiden, Türen einsetzen, Zargen herausschneiden, VisPortals erstellen, Räume einrichten.

      Ich habe erste Erfolge mit einem Buch gehabt. Das Erstellen eines Buchs ging leichter als gedacht. Ich habe ein paar Ideen mit Bücher. Das Level, das ich gerade erstelle, wird mehr oder weniger ein Chill-Level, einfach nur für mich, bei dem ich ein paar Sachen ausprobieren werde. Ich habe noch keine Idee für eine eigene Mission. Ich möchte erst einmal klein anfangen.

      Beim Keller wollte ich gerne einen zweiten Zugang haben, der sich außen befinden soll. Mich faszinieren diese Kellertüren aus den USA, Bilco basement doors heißen die, glaube ich. Diese sind in Deutschland sehr unüblich, diese Art von Zugängen gibt es aber manchmal zur Anlieferung bei Restaurants etc., wo Fässer dann in den Keller gerollt oder gehoben werden können. 
      Ich habe zwei Hatch Doors verwendet, die allerdings nach dem Drehen vollkommen aus dem Ruder liefen. Inzwischen habe ich sie einigermaßen gebändigt bekommen. Es ist nicht perfekt, aber annehmbar. 
      Im Keller habe ich heute mit einer Falltür experimentiert, die zu einem Schachtsystem führt. Die Räume sind noch quasi nicht eingerichtet, aber ich möchte erstmal am Grundriss weiterarbeiten. In Kürze fange ich das Obergeschoss an.



      · 2 replies
    • JackFarmer

      On a lighter note, thanks to my cat-like reflexes, my superior puzzle skills and my perfect memory, I was able to beat the remastered version of "Tomb Raider: The Last Revelation" in a new superhuman record time of 23 h : 35 m, worship me!
      · 5 replies
×
×
  • Create New...