Jump to content
The Dark Mod Forums

Recommended Posts

Posted

I've got a dedicated DarkRadiant map that I've been using to create modular components.  I've settled on a workflow of putting each module on its own layer (both for organization and for positioning relative to the origin).  Exporting all these out to .ase files is a bit of a chore, so I had the idea to write a python batch export script.  I'd like to select everything layer by layer and export it to a common directory, each file with the same name as the layer it came from.

The only piece I'm missing is that I didn't see anything here about accessing layer information, and I was curious if there was any functionality that wasn't documented.  I know a lot of people don't usually work with layers so I also considered using groups or func_statics, but the problem is you'd have to break them back down to brushes in order edit them, and in doing so you lose any name information you had set on the entity. 

My goal is to be able to iterate on my modules easily, batch-export them, and then reloadModels to see the changes.  Any thoughts?  I'm not opposed to coding up a new layer interface in DR (GlobalLayerManager?) if needed, as long as someone can point me in the right direction and work with me on what functions to build into it.

Posted

Well, I decided to just jump in and do it.  I took a good look through all the commands and didn't find anything, so I created and registered a LayerInterface class modeled off the existing SelectionGroupInterface class.  I've added one method for proof-of-concept and now I can get the layer ID of any named layer from python.

It shouldn't be any trouble for me to round this out, it's mostly just boilerplate code. 

Posted

Sorry for not replying earlier, but it seems you already took the initiative to implement a layer manager ScriptInterface. 👍 Scripting in DR is heavily under-used, that's probably the reason nobody noticed the lack of that functionality.

Do you have a patch or pull request for me? I'm happy to integrate or expand the interface you created.

Posted
10 hours ago, greebo said:

Do you have a patch or pull request for me? I'm happy to integrate or expand the interface you created.

I've got all the functions from the LayerManager class exposed to python, the last thing I want to do is make a test script that covers every function.  Once I'm happy with it I'll make a PR on github.  Thanks!

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

    • JackFarmer

      "The Year of the Rat." 
      😄

      Al Stewart must be proud of you!
      Happy testing!
      @MirceaKitsune
      · 1 reply
    • datiswous

      I posted about it before, but I think the default tdm logo video looks outdated. For a (i.m.o.) better looking version, you can download the pk4 attached to this post and plonk it in your tdm root folder. Every mission that starts with the tdm logo then starts with the better looking one. Try for example mission COS1 Pearls and Swine.
      tdm_logo_video.pk4
      · 2 replies
    • JackFarmer

      Kill the bots! (see the "Who is online" bar)
      · 3 replies
    • STiFU

      I finished DOOM - The Dark Ages the other day. It is a decent shooter, but not as great as its predecessors, especially because of the soundtrack.
      · 5 replies
    • JackFarmer

      What do you know about a 40 degree day?
      @demagogue
      · 4 replies
×
×
  • Create New...