Jump to content
The Dark Mod Forums

Newbie DarkRadiant Questions


demagogue

Recommended Posts

40 minutes ago, Jnon said:

I did read that, but unfortunately it assumes the existence of an Objectives Editor, and for reasons I'm not entirely certain, my installation of DarkRadiant does not have one.

so your 'Map' menu doesn't look like this? Is that the only entry missing?

image.png.e5fcf026e20ab1e3ac00dd073321d42f.png

Link to comment
Share on other sites

I just noticed that 'Edit Package Info' option for the first time just now.  I tried it out, and I think it might be putting stuff in the wrong order in darkmod.txt.

@nbohr1more you told me once that the order of the top 3 lines in darkmod.txt should be:

Title

Description

Version

in that exact order.  Using the utility in DR does this:

Title: Test Maps
Description: Test maps to play around with
Author: Frost_Salamander
Version: 0.1
Required TDM Version: 2.11

i.e. it puts 'Author' before version.  Is this worth raising a bug report about?

Link to comment
Share on other sites

7 minutes ago, Frost_Salamander said:

I just noticed that 'Edit Package Info' option for the first time just now.  I tried it out, and I think it might be putting stuff in the wrong order in darkmod.txt.

@nbohr1more you told me once that the order of the top 3 lines in darkmod.txt should be:

Title

Description

Version

in that exact order.  Using the utility in DR does this:

Title: Test Maps
Description: Test maps to play around with
Author: Frost_Salamander
Version: 0.1
Required TDM Version: 2.11

i.e. it puts 'Author' before version.  Is this worth raising a bug report about?

Yes, we should get this sorted out since it contradicts the wiki:

https://wiki.thedarkmod.com/index.php?title=How_to_pack_your_Mission

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to comment
Share on other sites

3 minutes ago, nbohr1more said:

Yes, we should get this sorted out since it contradicts the wiki:

https://wiki.thedarkmod.com/index.php?title=How_to_pack_your_Mission

okay - I'll raise it.  Thanks.

Link to comment
Share on other sites

Hmm...

https://github.com/stgatilov/darkmod_src/blob/e8d098981b602e354da2ade79ff3d3629c57f4a5/game/Missions/ModInfo.cpp

As I can tell, the parser ignores the "Version" value in darkmod.txt . We only care about the required tdm version string and we are order agnostic:

 
int titlePos = modFileContent.Find("Title:", false);
int descPos = modFileContent.Find("Description:", false);
int authorPos = modFileContent.Find("Author:", false);
int versionPos = modFileContent.Find("Required TDM Version:", false);

int missionTitlesPos = modFileContent.Find("Mission 1 Title:", false); // grayman #3733

 

as long as you don't go crazy add add duplicate Title, Author ( etc ), line prefixes it should just find a match somewhere in the file and populate the vars.

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to comment
Share on other sites

11 minutes ago, nbohr1more said:

Hmm...

https://github.com/stgatilov/darkmod_src/blob/e8d098981b602e354da2ade79ff3d3629c57f4a5/game/Missions/ModInfo.cpp

As I can tell, the parser ignores the "Version" value in darkmod.txt . We only care about the required tdm version string and we are order agnostic:

 
int titlePos = modFileContent.Find("Title:", false);
int descPos = modFileContent.Find("Description:", false);
int authorPos = modFileContent.Find("Author:", false);
int versionPos = modFileContent.Find("Required TDM Version:", false);

int missionTitlesPos = modFileContent.Find("Mission 1 Title:", false); // grayman #3733

 

as long as you don't go crazy add add duplicate Title, Author ( etc ), line prefixes it should just find a match somewhere in the file and populate the vars.

ok - won't raise it then.  The one thing I do remember though is that the order seemed to affect whether the version appeared in the 'new mission available' popup.  Like here: https://drive.proton.me/urls/QN4S59DS8G#XRGDsGiMFJI8

Link to comment
Share on other sites

9 hours ago, Frost_Salamander said:

so your 'Map' menu doesn't look like this? Is that the only entry missing?

image.png.e5fcf026e20ab1e3ac00dd073321d42f.png

My Map menu looks like this. I'm running 3.8.0 on Ubuntu focal, installed from Matthew Mott's orbweaver PPA

DarkRadiantMenu.png

DarkRadiantVersion.png

Link to comment
Share on other sites

5 hours ago, Jnon said:

My Map menu looks like this. I'm running 3.8.0 on Ubuntu focal, installed from Matthew Mott's orbweaver PPA

DarkRadiantMenu.png

DarkRadiantVersion.png

that is strange.  Sounds like one for @greebo or @OrbWeaver

Link to comment
Share on other sites

For the record, based on @grodenglaive's assistance, I was successfully able to add the property obj#_enabling_objs with a value of # AND # AND # etc. to atdm:target_addobjectives and it worked in my test map. The escape objective now does not trigger merely by entering the area before objectives are completed.

It went a lot smoother than I thought, actually.. I was given to believe it was going to be difficult to enable based on the A to Z tutorial and other comments, but it seems relatively easy to implement so far.

Link to comment
Share on other sites

On 5/4/2023 at 2:52 PM, Frost_Salamander said:

The one thing I do remember though is that the order seemed to affect whether the version appeared in the 'new mission available' popup. 

As far as I can see from looking at the source code (and in agreement with @nbohr1more that FM "Version" is not parsed), the New Missions popup is just showing lines* associated with FM darkmod.txt "Title:" fields. So I guess what's happening is that you edit your darkmod.txt like this:

Title: In Plain Sight  <enough spaces here to wordwrap to next line when displayed> Version 1.3

Then, in the main mission list, because of all the spaces, the "Version 1.3" won't appear due to clipping. Assuming that's what you want.

*It also starts with #str_02143,  "New Mission(s) Available" in English, and if there's more than 3 new missions, stops listing them and just says so.

Edited by Geep
typo
Link to comment
Share on other sites

40 minutes ago, Geep said:

As far as I can see from looking at the source code (and in agreement with @nbohr1more that FM "Version" is not parsed), the New Missions popup is just showing lines* associated with FM darkmod.txt "Title:" fields. So I guess what's happening is that you edit your darkmod.txt like this:

Title: In Plain Sight  <enough spaces here to wordwrap to next line when displayed> Version 1.3

Then, in the main mission list, because of all the spaces, the "Version 1.3" won't appear due to clipping. Assuming that's what you want.

*It also starts with #str_02143,  "New Mission(s) Available" in English, and if there's more than 3 new missions, stops listing them and just says so.

Are you saying I forgot the EOL character?  That doesn't appear to be the case:

image.png.91afb438fd5d3b19b288a5926a998ec4.png

 

Edited by Frost_Salamander
update image with actual file from .pk4
Link to comment
Share on other sites

OK, I stared at the code some more. It doesn't care about EOL. It just divides the text into blocks based on where the known keyword strings are. (It's a bit complicated. It uses a sorted associative set of starting locations (plus end-of-text), and manipulates an iterator over that set is such a way that the block order is not important. That's in ModInfo.cpp's LoadMetaData() function.)

So in the example above, a block begins at the start of "Title:..." and stops right before the beginning of "Author". Because "Version:" is not a parsed keyword, it's just more content for the title block.

  • Like 1
Link to comment
Share on other sites

On 5/5/2023 at 6:01 AM, Jnon said:

My Map menu looks like this. I'm running 3.8.0 on Ubuntu focal, installed from Matthew Mott's orbweaver PPA

Maybe try renaming the config file (so it's recreated to default values)? I had some weird issues that were solved by recreating that file.

 

Did you know there's a Flatpack version now? You could try that.

https://flathub.org/apps/net.darkradiant.DarkRadiant

Edited by datiswous
Link to comment
Share on other sites

On 5/4/2023 at 8:39 PM, nbohr1more said:

As I can tell, the parser ignores the "Version" value in darkmod.txt .

16 hours ago, Geep said:

Because "Version:" is not a parsed keyword, it's just more content for the title block.

Why is it not a parsed keyword? I guess because tdm has it's own versioning? But still I think it's useful if "Version" is always displayed, for consistency.

Link to comment
Share on other sites

20 minutes ago, datiswous said:

Why is it not a parsed keyword? I guess because tdm has it's own versioning? But still I think it's useful if "Version" is always displayed, for consistency.

Version is displayed in the mission info page (missions list -> click on any mission and look at the page displayed on the left).

But as you say TDM uses its own internal versioning which only an integer (e.g. version 1, 2, 3, etc.).  If you look at the missions list on the TDM website you can see them. For example, for In Plain Sight it says it's version 5, but the darkmod.txt for that FM is version 1.5).  So it's debatable what value that field brings.  I guess it is useful, but people need to be aware that the mission DB doesn't care about it.

I'm not sure what happens if you have say version 1, and then version 2 appears in the mission database.  Do you get a popup that says a new version is available? What would be useful here is if it said what the new version was, but it would be weird if that version wasn't the same as the mission DB version like in the version 5 vs. version 1.5 example above.

Maybe the mappers should just stick to the integer versioning in their darkmod.txt as a convention.

Edited by Frost_Salamander
Link to comment
Share on other sites

I think one type of versioning should be used. So maybe the "version" should be parsed, but instead use internal version in that place. The current versioning creates a lot of confusion.

13 minutes ago, Frost_Salamander said:

I'm not sure what happens if you have say version 1, and then version 2 appears in the mission database.

I think you just see it listed again in the mission dowloader as an update, but you don't get a notification.

Often the updated version still has the same old version specified in the darkmod.txt file. Which adds confusion. Players don't know if they've installed the update or not.

Edited by datiswous
Link to comment
Share on other sites

6 minutes ago, datiswous said:

I think one type of versioning should be used. So maybe the "version" should be parsed, but instead use internal version in that place. The current versioning creates a lot of confusion.

I think you just see it listed again in the mission dowloader as an update, but you don't get a notification.

Often the updated version still has the same old version specified in the darkmod.txt file. Which adds confusion. Players don't know if they've installed the update or not.

Yeah I agree, one type of versioning would be best.  I guess the problem is the dev team needs to control this, not the FM author because it's not always the author that does the releases (for example patching older FMs to work with newer versions of TDM).

I'm not sure what the best solution is to be honest.  I like the 'version' field because it's useful for beta testing and you can make it clear what version the testers are playing.  But once it's released that field becomes useless. 

I'm sure it's been debated extensively already though.  I think for my next FM I will just try and stick to integer version with the hope they will match!  It just feels weird because it's not semantic versioning which I'm used to (but that's not a good excuse).

 

  • Like 1
Link to comment
Share on other sites

Currently, to see the Downloadable Version number from the TDM menus, well, it's kinda buried. You have to go to the Downloadable Missions list, select an entry, and in the popup left screen, under details, select More....  That shows you info in the internal local "mods" array. Including the Release Date.

When you select from Available Missions instead, the info in the left screen comes pretty much from darkmod.txt

Proposal - make that display code smarter: if the selection is one that was earlier downloaded (e.g., is in mods[] ), instead of displaying "Version: ..." from darkmod.txt, instead show "Downloaded Version ## Released on <date>"

Link to comment
Share on other sites

To elaborate on that idea further, this would make "Version:" into a keyword, indicating the start of the block that could be ignored during display, and replaced by download info. That info would have to be locally persisted. I think the file "missions.tdminfo" already does this, but content would have to change somewhat (e.g., to include release date of locally downloaded FMs).

Pre-release FMs could use whatever versioning scheme desired in darkmod.txt, e.g., "Version: 0.2", "Version: A", "Version: Dec 4", and rely on suppression of that when the official releases/updates occur.

As with other keyword blocks, "Version:" could be in any order with respect to other blocks.

If you didn't want this new display-override feature, use a non-keyword, e.g., "Vers #3". Just like "Version:" is treated currently.

[An alternative implementation of this idea would just auto-edit the "Version:" block of darkmod.txt during upload to the distribution site. So all the change happens on the backend. Might be issues with site mirrors.]

Link to comment
Share on other sites

While I'm currently taking a break from TDM mapping and not requiring this yet, it's an option I was thinking of using and would like to know whether it's possible. I was wondering if there's a way to have an AI which another AI that's an enemy to it would be too scared to attack, meaning the weaker AI flees even if armed but only from specific enemies: Can AI have a "scary" value that prevents weaker characters from picking a battle?

A simple example: Let's say you have a city watch guard, a thief, and a skeleton... all set as enemies to each other. If the guard and thief see each other, they will start fighting. If however they see the skeleton, they will be so scared they flee as if unarmed instead of attempting any fights at that time.

Link to comment
Share on other sites

Personally I really don't know if that is available or not but that does sound too a specific guard behavior, so perhaps is not defined? 

If is possible to have that? Yes, if is not available already, unfortunately there's no other way but code it into the guard AI, in c++ or script yourself, if you know how to code....

Btw the civilian AI does have "fear" and runs away from danger, is that AI type really entirely separate from the guard AI, or the guard behavior is just "dormant" on the civilian AI and vice versa?

If all AI's are done through the same AI system then perhaps is just a matter of turning some stuff on or off.

If they are totally separate AI's, they are still so similar in parts that perhaps so you could adapt/transfer the civilian fear behavior into the guard AI for specific types of danger.  But all of this requires coding.

Sorry for not being more helpful than this, I really don't know much about TDM or even Doom 3 AI stuff.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

19 hours ago, MirceaKitsune said:

Can AI have a "scary" value that prevents weaker characters from picking a battle?

Maybe that can be faked somehow. Create an AI that looks like a guard, but is really a civilian, and swap that character in to replace a real guard when the skeleton appears?

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

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...