RimWorld XML Auto-DocumentationVersion: 1.0(https://www.dropbox.com/s/9meloqdrsfnsy02/DropboxDownloadButton.png?raw=1)
Download from Dropbox (https://www.dropbox.com/s/4iwkblmljz777b8/CoreXML%201.0.html?dl=0)
Note: Due to IRL constraints, this is the last update I'll provide. But since it's 1.0, I expect there won't be anymore major releases.
AboutIn case you're not sure what it is, this is an HTML help file for modders. It contains a listing of all Core (ie. vanilla) uses of RimWorld's XML code. It's great for learning what tags are parents or children of what. It's not necessarily exhaustive since the game engine may support options that aren't actually used by the base game. I'm purposefully confining this to XML only. I don't get into DLL modding, but anyone else is more than welcome to do that if they see fit.
As an additional feature, I track the grandparent/grandchild relationship for some of the common XML tags. They're listed as SOME_TAG<SOME_CHILD>, which should be clear enough on its own but I'm always open to suggestions/requests. I've also begun tracking tags with a
CompProperties_ attribute separately, as they're handled separately. The tags currently given special attention are:
- li
- defName
- all tags with a CompProperties_ attribute
Feel free to request others to be tracked separately as you see the need.
Enjoy!
Auto-Doc ToolFor anyone who cares, I wrote the tool in a Windows-only language called AutoIt (https://www.autoitscript.com/). It should be compatible with Wine or ReactOS for any non-Windows users. It's kinda inefficient, but it's what I was familiar with at the time and it gets the job done.
Link: https://www.dropbox.com/s/9aywpn55k5m728n/XML%20Auto-Doc.au3?dl=0
Old StuffArchive:Beta 19: https://www.dropbox.com/s/qumdcbalw7fuwkm/CoreXML%20B19.html?dl=0
Beta 18: https://www.dropbox.com/s/nrwtwtzh706oouw/CoreXML%20A18.html?dl=0
Alpha 17: https://www.dropbox.com/s/dgh9pzv3o1jy98p/CoreXML%20A17.html?dl=0
Alpha 16: https://www.dropbox.com/s/a68vmnbpj8tr3vm/CoreXML%20A16.html?dl=0
Alpha 15: https://www.dropbox.com/s/5su98l69qn7j19e/CoreXML%20A15.html?dl=0
Alpha 14: https://www.dropbox.com/s/l9y2orqyszrrcrv/CoreXML%20A14.html?dl=0
Alpha 13: https://www.dropbox.com/s/jeysicdh1tjutf6/CoreXML%20A13.html?dl=0
New Modding FeaturesSee the new A17 modding features here:
https://ludeon.com/forums/index.php?topic=32735.0
Patch ModdingZhentar has made guide covering the new Patch process. Read about it here:
https://gist.github.com/Zhentar/4a1b71cea45b9337f70b30a21d868782
xpath troubleshootingSkullywag is running an xpath clinic at this thread:
https://ludeon.com/forums/index.php?topic=33186.0
Modder's Guide to Abstracts (obsolete, but link kept for historical purposes):
https://ludeon.com/forums/index.php?topic=19499.0
Thx 8)
Very useful, thanks ;D
Pardon me for being a noob on these forums but what is this for?
It's for modding purpose. It's a list of all the tags and the parameter that they can take
[BUMP]
Just because this should already been stickied :p
I'll sticky it. It always feels a little pretentious to sticky my own thread, but if someone else wants it stickied that's different, right? ;)
I just realized this morning that the reference I had online was for A14a. It's now updated to A14d. As a bonus, defName is now linked to its parent just like li.
Your my hero <3
The documentations are incredibly helpful. Thanks for posting it, Milon! ;D
Welcome! And this is for A14E build 1249 now. I put that in my sig but forgot to update this page. ^_^
I know i don't have to bump up the post anymore but again thank you ;)
Can i ask you which tool you use to generate/compile this please ?
Just a script I wrote myself. I did it in AutoIt (www.autoitscript.com) if you care. And I can post it if you or anyone else is interested.
Sorry if this is not where I should ask this, but what is 'HediffComp_VerbGiver'.
I just need to know because I need to set a Comp for my new Hediff :)
Hey, just saw your post.
See an example of it in ...\Mods\Core\Defs\HediffDefs\Hediffs_Local_AddedParts.xml
It goes in a <HediffDef> block (which modifies Health and related effecets) and is responsible for giving Verbs (attack options) to pawns. In vanilla, this applies to the BionicArm, PowerClaw, and ScytherBlade.
Thank you Kavern and Bucket, I'll try to build my new folder tonight with the information you provided. I will let you know how it goes.
Updated to 15b :)
Quote from: milon on August 31, 2016, 07:26:40 AM
Updated to 15b :)
YaY!
(https://i.imgflip.com/iqus9.jpg)
Thx buddy
Minor nitpick: your 15b version still says 'for RimWorld 0.14.1249' at the top.
LOL, whoops! :)
Thanks for pointing that out. I'll fix it for 15c (https://ludeon.com/blog/2016/08/alpha15c-in-testing-on-unstable-branch/).
Also, how is the formatting, accessibility, etc?
And FYI, Dropbox will soon (October 3, 2016) disable their HTML rendering for shared files. Which means you'll have to download the file rather than just view it online. So keep an eye on this thread / my signature to be aware of updates!.
Thanks for hosting and updating :)
Updated to A15c!
Thanks for creating and maintaining this. It really helps to have reference material.
No problem. :)
I'd like to add my thanks too for you creating and hosting this milon, I really appreciate it. As a beginning modder, XML was very confusing at first - the only way to know what was possible was to scan through every core def and to look at other people's mods. Now all I need is your auto-document and ctrl+f to see what's possible. I don't think even the best tutorial could teach me as much as exploring your XML document has. I really can't stress enough that this is a HUGE resource for beginning XML modders. Thanks again for your work!
By the way, the formatting and accessibility seem perfectly fine to me. However I've never even used a HTML document before (is that the right term?) so you should probably take my opinion with a grain of salt ;D
why did I not find this earlier >:(
Anyway, thanks!
You're both very welcome!
I've been MIA lately due to IRL craziness (ongoing, hopefully done soon), but I'll still maintain this and I'll pop in now and then as time permits. Thanks for the feedback!
We should make a community effort to add descriptions to any XML def/tag/operator somewhere. Kind of a huge project but would really simplify making mods.
For example, if you could just look at a reference recipeDef which tells you EVERYTHING you can add or change about it, which defs are required and which are optional etc.
I started something like this some times ago...
But was alone working on it and the A15 happened so fast ...
https://github.com/RimWorldMod/RimworldModdingFiles/blob/master/Defs/RecipeDefs/Recipes_Empty.xml
I choose Github because code can be commented and it has a wiki feature in it but I will participate to project like that on any platform or with any tools ;)
On a similar theme I also have started spreadsheets with extracted values from XML files : https://ludeon.com/forums/index.php?topic=25433.0
I didn't even know this existed. I'll spend some free time trying to make XMLs for it this week.
Quote from: Dingo on September 27, 2016, 12:24:59 AM
I didn't even know this existed. I'll spend some free time trying to make XMLs for it this week.
lol, I found yours and then saw the sticky one :)
Anyway, good work and thank you!
So the HeDiffDef has no children? Is that right?
I'm not sure about the precise english terms so I may be wrong, but doesn't all the ones listed under HediffDef<defName> are Hediffdef's children ?
Everything under HediffDef<defName> is a child or property of a <defName> which is itself a child of <HediffDef>. I track <defName> and <li> *with* their parents because they are the most common tags and show up EVERYWHERE. It would be a nightmare to read otherwise. (I'm not convinced this is the best way to represent it. I'm open to suggestions for improvement!)
Updated to latest test build.
Updated to the official Alpha 16 (0.16.1393 rev540)
I like this, but I am a real noob when it comes to xml. I did read on what Xml is and a tutorial on the basics, but I don't understand like workerclass ? what is it and can I make my own. perlin frequency?, stuff like that, so I also would need notes with the examples to explain in detail. I know.. I know, it's a lot of work, but I am sure you have thought about this for people who want to get into modding RimWorld, but have no prior knowledge of Xml or .dll files (how to use them, code them for RimWorld) I know that these <> in Unity is how you get a component of a gameobject like getcomponent<rigidbody>. Sorry for being a total noob. I hope I am/not the only one who needs verbal help with code examples.
No worries - everyone is a noob at least once. ;)
First, the difference (for RimWorld only) between XML and DLL: XML is used only to define content, such as what a Simple Meal is: graphic, value, flammability, nutrition, etc. You can find virtually every object/mood/template/etc defined in the XML somewhere. DLL is for coding RimWorld's systems and functions, such as temperature mechanics, how lighting works, how to generate a batch of raiders, how to draw a pawn's inventory on-screen, etc.
DLL isn't something I have touched, and I don't plan to. But there's guides floating around if you dig for them. All DLL stuff is coded in C#, by the way.
XML in general is basically the idea of HTML formatting, but with no predefined tags. You can use any tag you like as long as the structure is valid. Applied to RimWorld, it has to follow certain guidelines that RimWorld expects. For example, you can't create a new kind of animal and neglect to define a graphic for it - that would cause an error.
The best way to learn the XML is to look at RimWorld's own Core files (see your mods folder) to see examples. It's not feasible for me to break down and learn each tag in order to write a guide. This document is auto-created by a script I wrote that just grabs every known Core usage of each XML tag. It even lists source files so you can go look up how they work in the XML file. I'm sure myself and others will contribute XML modding knowledge to the wiki once RimWorld is stable, but right now the XML changes from one release to another - this is the reason mods break & have to be updated each release.
Hope that helps! Let me know if you have other questions.
Bonus for reading this far:
I also wrote a little script to join all Core XML files into 1 file for learning (to CTRL+F for examples of a given tag). This is a learning tool and is NOT meant to replace anything in your Core folder. But use it if that sounds helpful!
https://www.dropbox.com/s/twt386qtukeppzn/CoreXML%20A16.xml?dl=0
Quote from: milon on January 07, 2017, 12:50:19 PM
No worries - everyone is a noob at least once. ;)
First, the difference (for RimWorld only) between XML and DLL: XML is used only to define content, such as what a Simple Meal is: graphic, value, flammability, nutrition, etc. You can find virtually every object/mood/template/etc defined in the XML somewhere. DLL is for coding RimWorld's systems and functions, such as temperature mechanics, how lighting works, how to generate a batch of raiders, how to draw a pawn's inventory on-screen, etc.
DLL isn't something I have touched, and I don't plan to. But there's guides floating around if you dig for them. All DLL stuff is coded in C#, by the way.
XML in general is basically the idea of HTML formatting, but with no predefined tags. You can use any tag you like as long as the structure is valid. Applied to RimWorld, it has to follow certain guidelines that RimWorld expects. For example, you can't create a new kind of animal and neglect to define a graphic for it - that would cause an error.
The best way to learn the XML is to look at RimWorld's own Core files (see your mods folder) to see examples. It's not feasible for me to break down and learn each tag in order to write a guide. This document is auto-created by a script I wrote that just grabs every known Core usage of each XML tag. It even lists source files so you can go look up how they work in the XML file. I'm sure myself and others will contribute XML modding knowledge to the wiki once RimWorld is stable, but right now the XML changes from one release to another - this is the reason mods break & have to be updated each release.
Hope that helps! Let me know if you have other questions.
Bonus for reading this far:
I also wrote a little script to join all Core XML files into 1 file for learning (to CTRL+F for examples of a given tag). This is a learning tool and is NOT meant to replace anything in your Core folder. But use it if that sounds helpful!
https://www.dropbox.com/s/twt386qtukeppzn/CoreXML%20A16.xml?dl=0
Thank you! I really appreciate this. For any docs that I have found for .dll, normally doesn't relate to RimWorld, but more for building libraries, like MCCORLIB for the Microsoft Core Library, and I do have a C++ book (The Dummies Series), but this would be fore making a general library. I would need the exact minimum I need to make a RimWorld .dll, like which files I really need to include.
When it comes to the Xml, I have looked at some base-game files and can't find exactly which tags I need so I don't receive the error "Can't find typeDef" (or some idea of that error), What file would I need to mod in order to "fix/resolve" that error. Thanks Again so much for your help.
Glad to help. I'll try to take this a little further:
On DLL modding: DLL stands for Dynamic Link Library. As such, a dll file is a bunch of compiled code, much like an .exe file. The difference between an exe and a dll is that an exe is meant to be run directly while a dll isn't. The dll contains a bunch of functions and acts as a "helper" to whatever exe calls the dll. A dll can be coded in any language. In RimWorld, they must be coded in C# and certain standards must be followed (remember, the same code has to work on Windows, Mac, and Linux). This means other languages like C++ won't help you much, beyond deepening your language of programming in general. If you want to create new systems/functions/features, then C# coding is the only way to go.
For XML stuff, directory structure is important. You can't define a sound effect in a file that sits in the research folder. The concept of ParentName (see OP) is important too. You have to define your Thing from scratch for it to be recognized in RimWorld.
The way I got started is the same way I suggest you get started: copy a chunk of the Core mod into a new mod folder. Change one thing, like the description text, and start a new game using your mod. Did it work? If not, try to figure it out. Look at other mods and see what's different about yours. If you can't figure it out, post in Mods/Help. In no time you'll be modding up a storm. :)
For those other XML tags that you don't understand yet, refer to the auto-doc. It lists all the ways Core uses each tag & attribute, so you can see a mostly complete list of options. If you still can't figure it out, don't delete it (it's probably important) - just keep them the way Core uses them.
Hi milon, i am a noob too like jjcm04. Thanks for your usefull comment.
Is it difficult to create a mod to add one event? If i want to make the mod i need to learn how to use XML or DLL? thx
It depends on what you want to do with the event. I personally haven't looked into events very much, so it's hard for me to say. In general, if you're using existing mechanics and creating new content, you can do XML-only. But if you want new mechanics or new behaviors, then you need to code that in C# and compile it into a DLL (way beyond me).
If I wanted to create an event, I'd look in the help file for the word event and see what XML tags I find. Then I'd look at the Core examples to see how it works. I might also download a basic event-adding mod or two and see how they work. Then I'd try to figure out how I could make a slightly different event and package it as a mod. Test, tweak, and repeat until it works (or until I've given up :P ).
Good luck!
PS - Feel free to start a new thread under Mods/Help with specific questions. You'll get better help there than I can offer you. ;)
The XML Autodoc doesn't have documentation for CompProperties, only that they use it. Shouldn't we add compProperties documentation as well? Or has this already been done?
Sorry for the belated reply - I haven't had time to dig into the XML to see what you're referring to. If you're asking for specific documentation of what it does, that would defeat the purpose of it being an Auto Doc. If you're asking for more detailed analysis/use of compProperties, could you elaborate a bit on what you're looking for?
Quote from: milon on March 03, 2017, 05:23:45 AM
Sorry for the belated reply - I haven't had time to dig into the XML to see what you're referring to. If you're asking for specific documentation of what it does, that would defeat the purpose of it being an Auto Doc. If you're asking for more detailed analysis/use of compProperties, could you elaborate a bit on what you're looking for?
Basically, in the same way you did ThingDef, maybe create a similar Autodoc for BuildingProperties and CompProperties, maybe StuffProperties (Include field names, where it is found)? Someone on discord was talking about how these classes were often used in defs without any proper documentation in the autodoc so I thought I would pass it over.
Ah, okay. Thanks for passing that along. I haven't been on Discord yet, and probably won't get into that, tbh. I'm willing to add more parsing/tracking, but I need a little clarity yet. (Sorry if I'm being thick-skulled here; I'm just still not getting it.)
Here's what I understand: According to the A16 XML, there's only 3 different attributes that show up in Core as
Class="???Properties_..." and they are ALWAYS applied to a <comps><li ... > tag. They are:
- CompProperties_...
- HediffCompProperties_...
- StorytellerCompProperties_...
(Note: There is no BuildingProperties or StuffProperties in the A16 XML. If you're referring to something that isn't public knowledge, please PM me rather than posting it publicly.) The point of this isn't manual documentation, but I don't think that's what you're after. These attributes are all grouped under
comps<li> and they shouldn't be that hard to find. Their names give really good clues as to what they do. So what exactly are you asking me to track? Again, I'm willing to make it happen, I'm just not sure what I'm being asked for.
Quote from: milon on March 17, 2017, 03:02:45 PM
Ah, okay. Thanks for passing that along. I haven't been on Discord yet, and probably won't get into that, tbh. I'm willing to add more parsing/tracking, but I need a little clarity yet. (Sorry if I'm being thick-skulled here; I'm just still not getting it.)
Here's what I understand: According to the A16 XML, there's only 3 different attributes that show up in Core as Class="???Properties_..." and they are ALWAYS applied to a <comps><li ... > tag. They are:
- CompProperties_...
- HediffCompProperties_...
- StorytellerCompProperties_...
(Note: There is no BuildingProperties or StuffProperties in the A16 XML. If you're referring to something that isn't public knowledge, please PM me rather than posting it publicly.) The point of this isn't manual documentation, but I don't think that's what you're after. These attributes are all grouped under comps<li> and they shouldn't be that hard to find. Their names give really good clues as to what they do. So what exactly are you asking me to track? Again, I'm willing to make it happen, I'm just not sure what I'm being asked for.
Part 1 was: To possibly make another section for each CompProperties class so for example:
Class="CompProperties_Art"Fields:
- nameMaker (text: foo, bar)
- descriptionMaker (text: foo, bar)
- minQualityForArtistic (text: foo, bar)
- mustBeFullGrave (text: foo, bar)
- canBeEnjoyedAsArt (text: foo, bar)
- compClass (text: foo, bar)
Examples:
(same as normal)
Part 2: I actually checked the newest version, this is already implemented under <building> and <stuffProps>. No further action needed :)
Okay, I think I get what you're saying now. And that would probably be very useful to have. I'll think on it this week and do a little tweaking. I should have an update by the end of this week. Please bug me about it if it looks like I've forgotten (I do get sidetracked at times).
Okay, I made a test build of the above. It now parses separately any "special" tag (currently just <li> and <defName>) with an attribute containing 'Properties_' . That seems to catch all of the various CompProperties without grabbing anything else.
Here's the test build (not updated on the main page): https://www.dropbox.com/s/q896td291evktld/CoreXML%20A16%20Test.html?dl=0
Let me know if that's what you're looking for, and if it's useful. I don't want to get lost in the feature-creep end of things either. ;)
Oh, and how's the overall formatting & usability? Anyone have ideas how to improve the layout? Having two pseudo-columns via Float in a >1MB HTML file isn't exactly ideal, but it's the best I can think of to allow independent vertical scrolling.
Quote from: milon on March 22, 2017, 01:39:27 PM
Okay, I made a test build of the above. It now parses separately any "special" tag (currently just <li> and <defName>) with an attribute containing 'Properties_' . That seems to catch all of the various CompProperties without grabbing anything else.
Here's the test build (not updated on the main page): https://www.dropbox.com/s/q896td291evktld/CoreXML%20A16%20Test.html?dl=0
Let me know if that's what you're looking for, and if it's useful. I don't want to get lost in the feature-creep end of things either. ;)
Oh, and how's the overall formatting & usability? Anyone have ideas how to improve the layout? Having two pseudo-columns via Float in a >1MB HTML file isn't exactly ideal, but it's the best I can think of to allow independent vertical scrolling.
Perfect. Thanks, this is great.
Also, usability is fine, considering this
is auto-documentation.
Alpha 17 auto doc is released. I'm tracking all CompProperties attributes separately, and it seems to come out well. Enjoy!
Hey Milon you made us waiting long this time ;D
THANK YOU very much for this, as usual.
You rocks, buddy !
Wow, you jumped on this fast! Glad to be of help, and sorry I kept you waiting a couple hours, LOL! ;D
FYI, I haven't learned the new field-replacement technique for A17, but there either is or will be documentation coming out about that. Some of the other modders were putting that together during A17 testing.
Finally, there's a new A17 mod announcement sticky thread:
https://ludeon.com/forums/index.php?topic=32817.0
Updated to A17b
Omg i love you dude!
Updated to A18. I haven't *touched* A18 yet, beyond downloading and running the Auto-Doc on it. I'm still "on vacation" because IRL is insane in milon-land. Please PM me if there's any weirdness or anything else I should be alerted to.
Enjoy!
Quote from: milon on November 20, 2017, 07:09:22 PM
Updated to A18. I haven't *touched* A18 yet, beyond downloading and running the Auto-Doc on it. I'm still "on vacation" because IRL is insane in milon-land. Please PM me if there's any weirdness or anything else I should be alerted to.
Enjoy!
I know it seems kinda nickpicky but it isnt A18 its B18 now.
Quote from: milon on November 20, 2017, 07:09:22 PM
Enjoy!
As always, many thanks man. You know I nearly started to think about how to do one myself this time? ;-)
And good luck with the IRL. It is what matters in the end
Cheers
Quote from: milon on November 20, 2017, 07:09:22 PM
Updated to A18.
Nice. Thanks! These are essential.
Also want to say good luck w/ IRL. kaptain is right about it.
Quote from: Dfid on November 20, 2017, 07:31:20 PM
I know it seems kinda nickpicky but it isnt A18 its B18 now.
Good catch, thanks. I'm about to leave town for US Thanksgiving, so I'll correct it after that if I don't forget. ;)
How does this work? if i download the html page, its not translating the code. aka not much auto about it :D
It's automatically made with a script, hence for the auto.
This is "just" a list of all XML tags used by the game
Quote from: kaptain_kavern on December 23, 2017, 09:15:02 AM
It's automatically made with a script, hence for the auto.
This is "just" a list of all XML tags used by the game
Ahh, thought it was like a F1 ref. in compilers..
Hi quick question, because there is not in documentation:
What are values for <eType> ?
---Edit---
Nevermind it! But the XML Auto-Documentation A18 need a revision to add this:
List of <eType>:
Undefined, Pawn, Item, Chunk, Apparel, Equipment, Filth, Fire, Corpse, Puddle, DropPod, Medicine, Plant, Floor, Roof, Mote, Blueprint, Projectile, ItemSkyFalling, Ethereal, Rock, SteamGeyser, BuildingComplex, BuildingInert, Frame, Wall, Door, Bed, Building_Table, Building_PowerPlantGeothermal, Building_PowerConduit, Building_Battery, Building_ResearchBench, Building_Turret, Building_Chair, Building_Cryptosleepcasket, Building_TempController
Hi, this is a fantastic tool that I have only just started using, should probably have started with it earlier, and I had a thought...
I assume that this code is directed to the RimWorld Core folder and parses the information from the XML files.
Would it not be possible to target it to the RimWorld Mods folder and have it parse mods in addition to the Core folder?
I don't know how much work would be involved in that or how useful it would actually be, but I figured there was no harm in suggesting it.
Thank you for this fantastic tool.
@pliniojrm, I'm back from my hiatus now. I'll look into that, thanks for the suggestion.
@ilikegoodfood, yes it's an automated tool that I made. It shouldn't be hard to point it at Core or even a specific mod, but that would only yield info about any mods I have installed. And I typically run less than half a dozen mods. I could release the tool, but it's Windows-only and I don't want to have to support it too, lol.
However, anyone who PM's me can get a copy of it for their own (unsupported) purposes. ;)
Quote from: pliniojrm on February 26, 2018, 06:28:54 AM
Hi quick question, because there is not in documentation:
What are values for <eType> ?
---Edit---
Nevermind it! But the XML Auto-Documentation A18 need a revision to add this:
List of <eType>:
Undefined, Pawn, Item, Chunk, Apparel, Equipment, Filth, Fire, Corpse, Puddle, DropPod, Medicine, Plant, Floor, Roof, Mote, Blueprint, Projectile, ItemSkyFalling, Ethereal, Rock, SteamGeyser, BuildingComplex, BuildingInert, Frame, Wall, Door, Bed, Building_Table, Building_PowerPlantGeothermal, Building_PowerConduit, Building_Battery, Building_ResearchBench, Building_Turret, Building_Chair, Building_Cryptosleepcasket, Building_TempController
I'm finally working on this again. IRL has been incredibly hectic lately, and still kind of is. ;) Anyway, what version of RimWorld are you running? There's no <eType> currently in it, there hasn't been for a long time.
Oh, look! An update! :D
Public beta 1.0 is uploaded!
Find it in the first post (https://ludeon.com/forums/index.php?topic=21440.0).
Updated to public Beta 19
This was insanely helpful! You have no idea. After searching for hours for an example of what I was trying to do, I finally decided to actually look up the XSD files. You are a life saver!
Awesome! I'm glad to hear it! :D
Is this still accurate for 1.0?
PM is better for me than a regular post. I'm pretty much never around here anymore, mostly due to IRL stuff.
Anyway, I think Beta 19 was quite similar to 1.0, but maybe not 100%. And I actually migrated from Windows to Linux several months ago, and totally forgot about this. It's definitely a Windows-only tool, but when I have some time I'll use Wine or ReactOS to create an XML doc for 1.0. I doubt I'll be supporting it beyond that, but the tool itself is still available for anyone who is interested. (It's just an XML parser script for RimWorld.)
EDIT - I updated the OP to include a link to the tool itself, and the script language necessary to run it.
EDIT 2 - Updated again. Version 1.0 is out. Sorry for the delay!
For anyone interested, I have recreated this project from scratch using nodejs, with many modifications.
In some ways it's better, in some worse. I have uploaded a version with the xml from the core 1.0 game: https://balbona.me/rimworld-data-extractor/core/ and another one using the Hardcore SK modpack: https://balbona.me/rimworld-data-extractor/hsk/
Ultimately, I would like to use it to generate auto-updating wikis of materials for construction, smithing, etc. But I don't understand enough about how the whole mod system works.
Check the github repo (https://github.com/NiciusB/rimworld-data-extractor) for the code, contributions welcome!
RimWorld AutoDocs for 1.1.2551 rev106
I've run the tool the OP provided for documentation on v1.1. It's on MEGA because it's 3041KB and the maximum attachment size here is 1000KB.
https://mega.nz/#!9vw3mCZT!KZnzu5MsuNSouOv3LMK4DnJ7-zbrMnR05JjD7YLVSQg
Edit: Sorry, wrong link. Fixed now.
Thanks. Downloaded it just in case I want to look at it later.
Any chance there will be an updated version for 1.2?
I've run the tool that the OP provided for v1.2 and also reformatted the file. I have listed the changes that I personally made in an HTML comment at the top of the file.
https://mega.nz/file/ZnoUzBzJ#pVGb6_bc1uqDzvF8ejAUOmt40vh0r4hGH56MbftHpS0
@PnutButtrCrepes, I ran the tool with the edits you made and it spit out a .txt file. Is it supposed to create a HTML? Or did I miss something?
I've re-written this tool in C#, updated to 1.3.3159 and included both DLC.
I also made some tweaks and improvements, as well as an updated look.
You can also download the generator and run it to include modded defs.
You can find it here. (https://ludeon.com/forums/index.php?topic=55764.0)
Direct link to latest version (https://htmlpreview.github.io/?https://github.com/Epicguru/Rimworld-Auto-Documentation/blob/master/Latest.html)
anyone have one for 1.4? with biotech dlc?
Quote from: cloirecroms on October 28, 2022, 08:14:52 AManyone have one for 1.4? with biotech dlc?
bump, this would be godly, thank you
Quote from: Epicguru on October 25, 2021, 10:55:30 PMI've re-written this tool in C#, updated to 1.3.3159 and included both DLC.
I also made some tweaks and improvements, as well as an updated look.
You can also download the generator and run it to include modded defs.
You can find it here. (https://ludeon.com/forums/index.php?topic=55764.0)
Direct link to latest version (https://htmlpreview.github.io/?https://github.com/Epicguru/Rimworld-Auto-Documentation/blob/master/Latest.html)
Can you please run this again so the biotech stuff is in there? I'm trying to find info on genes and I can't figure it out. Thank you in advance if you can :D.