S3rgeus
Emperor
This has been an interesting process. I'm trying to get a new feature into the game that uses its own custom art. Ideally I'd like it to show up immediately when it's been placed by a function (like fallout does) but firstly I'd like to get the art definition working at all (even after save/load).
Now, I've made some progress. I'm using Indiestone Nexus Buddy to modify the gr2 textures (based off the marsh), but it doesn't seem to have the right configuration for features, just for improvements. I've attached a screenshot of the feature as it's rendered now.
As you can see, it's rendered as a square, which I think is because features have a "stamp" image which looks a whole lot like a transparency mask, but Nexus Buddy doesn't have a corresponding "stamp" field for the material. I believe I tried using the spec field, but that didn't seem to do anything. In fact, only the diff field seems to make any difference at all. Applying the stamp to the diff texture directly as a mask and then saving that as a dds, importing it into the gr2 with Nexus Buddy didn't seem to have any effect, which I thought was very odd. So transparency must be managed in an entirely different way within the gr2. The existing material also shows up (the one from the original marsh) in the selection drop down list, but not in the material menu to be editable, which makes me think Nexus Buddy doesn't understand its structure. The existing material is called "Material #25" for whatever reason.
To get an idea of what I was going for, I based the feature off of the existing marsh feature, basically what I want is a colorized version that's a sickly yellow-ish and black color. I know custom features have been something CiV has been lacking for a long while, so this may be unsolvable, but hopefully someone has some ideas for how to make it work. (I'll look more into the DLL end of this sometime to see if it can be tricked into treating another feature like fallout to get in-game updating.)
I've also attached all of the xml, fxsxml, gr2, and dds files relevant to this feature, in case anyone else has some good ideas and would like to test them.
As an aside, is there source code for Nexus Buddy available anywhere? This seems like something that should be very fixable with the right tweaks to create a new Nexus Buddy material profile.
EDIT: Oh, I should mention I was using "LandmarkShader" as the material in Nexus Buddy, "LandmarkShader_Stencil" also looks like it might be interesting but I haven't had time to try it out.
Now, I've made some progress. I'm using Indiestone Nexus Buddy to modify the gr2 textures (based off the marsh), but it doesn't seem to have the right configuration for features, just for improvements. I've attached a screenshot of the feature as it's rendered now.
As you can see, it's rendered as a square, which I think is because features have a "stamp" image which looks a whole lot like a transparency mask, but Nexus Buddy doesn't have a corresponding "stamp" field for the material. I believe I tried using the spec field, but that didn't seem to do anything. In fact, only the diff field seems to make any difference at all. Applying the stamp to the diff texture directly as a mask and then saving that as a dds, importing it into the gr2 with Nexus Buddy didn't seem to have any effect, which I thought was very odd. So transparency must be managed in an entirely different way within the gr2. The existing material also shows up (the one from the original marsh) in the selection drop down list, but not in the material menu to be editable, which makes me think Nexus Buddy doesn't understand its structure. The existing material is called "Material #25" for whatever reason.
To get an idea of what I was going for, I based the feature off of the existing marsh feature, basically what I want is a colorized version that's a sickly yellow-ish and black color. I know custom features have been something CiV has been lacking for a long while, so this may be unsolvable, but hopefully someone has some ideas for how to make it work. (I'll look more into the DLL end of this sometime to see if it can be tricked into treating another feature like fallout to get in-game updating.)
I've also attached all of the xml, fxsxml, gr2, and dds files relevant to this feature, in case anyone else has some good ideas and would like to test them.
As an aside, is there source code for Nexus Buddy available anywhere? This seems like something that should be very fixable with the right tweaks to create a new Nexus Buddy material profile.
EDIT: Oh, I should mention I was using "LandmarkShader" as the material in Nexus Buddy, "LandmarkShader_Stencil" also looks like it might be interesting but I haven't had time to try it out.