New improvement art! You don't need to replace civ5artdefines_landmarks.xml

I messed A LONG time ago with trying to add the pyramids as an improvement or even just adding a wonder. The big difference between Civ4 TIs/Wonders/Buildings and Civ5 is that the Civ5 ones appear to have a skeleton.

You are probably getting the unfinished wonder graphic because you are using the original fxsxml which calls for both gr2s and is handled by the wonder generator. So if you create a new fxsxml using only the inished wonder gr2 you'll get the finished wonder.

It's just one fxsxml and one gr2 that somehow encode both unfinished and finished. There are several texture (dds) files that, for some wonders, have clear finished/unfinished versions. But it isn't as simple as removing dds files. I'm pretty sure it is the decisiontree.ddtxml file that tells the engine how to get the right graphics from a common set. In fact, some of the ddtxml files make this pretty explicit in the comments. However, I can't make heads or tails of the ddtxml file structure, so my changes have all been random and unsuccessful.

There are some other downstream special effects files, for example the flame for the Great Lighthouse. Interestingly, the "lighted" state for the wonder is state=1. For improvements however, state=1 is the incomplete and 2 is the complete version. So I was successful in getting this to light when completed by changing the special effects to state=2.

On another note you can add TIs but does this mean you can add new wonder graphics too? do they look to be handled the same?
The graphic resources are all together and seem to have a lot in common (hence my partial success in using wonder art as a TI), but I have no idea what "invokes" the wonder graphics. I don't see it anywhere in DebugDatabase. It's probably off limits to us in the ddl.

Finally, your opening posts makes it sound like you found a bug in the database handling. Is that the case?
I'm not sure what you are referencing here. It is strange that unit xml can be relplaced but not landmark xml, and that landmark DB can be altered by sql but not unit DB. Not sure if that is a "bug" exactly but certainly annoying.

I can confirm the growth function on improvements still works. I have created forts that grow into citadels after X number of turns

That's nice to know. (I'm sure we're going to see all of this stuff working and used in the first expansion, whenever that happens.)
 
I remember him saying something like that too. It would be nice if he elaborated here.

Speak my name and I appear! (Or I'll eventually notice it on an ego search.)

The previously posted links explain it pretty well; you'd get the crashes whenever the game tried to update the status of a large number of hexes at once. Typically, this'd happen most often when you took a caravel a good distance along an enemy's shore through a single move command; the game would need to update the improvement graphics of dozens of hexes at once (since the last time you explored that area might have been before the improvements were in place), and something in the Reload Landmark System setting would crash as a result. Note that this'd also happen during the AI's turn when HE did a similar action, so you couldn't avoid it just by careful management of your own units.

Basically, it was a flag that to this day appears to do nothing beneficial, while causing these sorts of problems.
 
Well, that part isn't true anymore.

Okay, true, now that you've figured this bit out we actually have a use for it. Point is, it still doesn't do what we thought it should do, based on how the OTHER reload flag works.

Now, I haven't tried your fix yet. The problem with Reload Landmark was that it'd cause crashes even if you changed absolutely nothing. You could literally have an empty mod, a single gamedata XML file that made no changes, and it'd still cause crashes. And as I mentioned before, it'd happen during AI turns as well as your own; in the late game, once everyone had a lot of units moving around the world, you'd have crashes almost every turn, and occasionally you'd get stuck to where you literally could never reach the next turn because at least one AI would trigger the crash.

So the question then becomes, have you been experiencing unusual crash activity with your method (to where the reason it might have been crashing was that it was expecting some sort of extra input and wasn't getting it)? Because honestly, if it's still crashing like it was back when the rest of us tried this, I'd rather go without custom landmark artwork until the devs fix it (if they ever do). If, however, they've fixed the crashing, then I have to wonder why they never said anything about it.
 
So the question then becomes, have you been experiencing unusual crash activity with your method (to where the reason it might have been crashing was that it was expecting some sort of extra input and wasn't getting it)?

No. However, all of my test games for the last few weeks have been short while debugging Lua. Not enough chance for high movement caravels to get out. So no evidence either way. If it is still an issue, I will certainly see it in the next month. (I suppose an autorun test mod could resolve this too ... I haven't learned how to do an autorun yet.)

Because honestly, if it's still crashing like it was back when the rest of us tried this, I'd rather go without custom landmark artwork until the devs fix it (if they ever do).

It's possible based on your description that I won't see it anyway, or at least not as much, do to other changes. I don't like having one caravel explore the whole world, so (amongst other changes) I'm cutting sea unit movement. Also, just in terms of unit number, my mod will look more like Civ5 early game throughout the length of a game. In any case, my mod really requires this. It may have to wait for a fix.

If, however, they've fixed the crashing, then I have to wonder why they never said anything about it.

I don't know, but I do believe there have been very many bug fixes that were never reported in patch changes. I noticed a general speedup overall, which suggests that a lot of behind-the-scenes hangups have been fixed over the last year.
 
It's possible based on your description that I won't see it anyway, or at least not as much, do to other changes. I don't like having one caravel explore the whole world, so (amongst other changes) I'm cutting sea unit movement.

Well, that helps your mod, of course, but it effectively prevents the rest of us from making use of what you've found. I suppose I can try turning that flag on in my own mod for my next test game, which'd make it really easy to see whether the crashes still occur.

I should also note that Caravels aren't the ONLY way to experience this effect, they were just the most obvious. I experienced similar issues when rebasing air units to border cities, once they had the Recon ability, and also when using scout units inside an ally's territory (where you can use his roads/railroad). The common thread was needing to update a large number of hexes' status (and graphics) in a short period of time.
 
I suppose I can try turning that flag on in my own mod for my next test game, which'd make it really easy to see whether the crashes still occur.

Would be very kind of you. But the burden is on me if I really need this feature.

(I could "mod" it into an otherwise unmodded Civ5 game. I just don't know if I have the patience or time to play one of these into the late era.)
 
There was a similar error in the base vanilla game upon release where moving a unit 15 tiles at once would immediately CTD.
 
I just don't know if I have the patience or time to play one of these into the late era

You could use the mod "Ingame Editor" with your mod :

start in the late era to give the AI enough settlers and units, use Ingame Editor to give you some fast moving units and let them travel around.
 
Or just load a late game from these forums somewhere. I'm just pressed for time over the next week (then why are you posting here? you ask).
 
Yes. Resource art is basically embedded with improvement art. I know the engine calls these differently (so, for example, the engine won't ask for a resource to go away). But the art is definitely gotten from the landmarks DB. Eventually I'll recolor gold/iron to make copper, if no one gets around to it before me.
 
Yes. Resource art is basically embedded with improvement art. I know the engine calls these differently (so, for example, the engine won't ask for a resource to go away). But the art is definitely gotten from the landmarks DB. Eventually I'll recolor gold/iron to make copper, if no one gets around to it before me.

No, sorry, I should have been clearer. I meant the strategic resource icon at the top of the screen, rather than the resource graphics as they appear on the map.
 
No, sorry, I should have been clearer. I meant the strategic resource icon at the top of the screen, rather than the resource graphics as they appear on the map.

No can do at this point. The font database is called differently and does not seem to reload at any point.
 
Once I get my blender back up and running I'll post the windmill. Looking at the nif there is a big green diamond that the animation might get rid of. For the first pass I'll try to get a static model out. Then we'll go for the animations. I'm assuming you want the medieval one and not the modern one, right?
 
Once I get my blender back up and running I'll post the windmill. Looking at the nif there is a big green diamond that the animation might get rid of. For the first pass I'll try to get a static model out. Then we'll go for the animations. I'm assuming you want the medieval one and not the modern one, right?

Great! Yes, medieval is the one I need.

If it helps, here is the fxsxml for the great lighthouse (as tile improvement). The important thing here is that state=2 in the "TimedTrigger" line makes the fire animation come on when it is complete. As it is here it's calling the base animation (ftsxml) file, but I know it worked when I renamed and added the ftsxml file separately.

Code:
<Asset>
  <Mesh file="Great_Lighthouse.gr2" source="Max" />
  <Texture file="HBGreat_Lighthouse_DIFF.dds" source="Max" />
  <Texture file="HBGreat_Lighthouse_SREF.dds" source="Max" />
  <Texture file="Dirt_Rubble_SREF.dds" source="Max" />
  <Texture file="Generic_Grey_8.dds" source="Max" />
  <Texture file="Marble_ore_DIFF.dds" source="Max" />
  <Texture file="Unit_Environment_Dull.dds" source="Max" />
  <Texture file="Unit_Environment_Sharp.dds" source="Max" />
  <Texture file="Unit_Irradiance.dds" source="Max" />
  <BoneUsage>
    <Bone name="FX_FireLight" />
  </BoneUsage>
  <TimedTrigger file="FX_Triggers_Great_Lighthouse.ftsxml" source="Tool" model="Great_Lighthouse" state="2" />
  <DecisionTree file="Wonder_DecisionTree.ddtxml" source="Tool" />
</Asset>

By the way, it's not accident that I'm messing around with Great Wonders as tile improvements. I actually need to do exactly that. I have the animation working properly, above. However, I'm still stuck with incomplete graphics for each wonder. It's quite obviously "blinking" (apparently trying to update) as a worker finishes it, but then it stays with the incomplete graphic. If you understand graphics at all, can you give me a tip how to solve this?
 
By the way, it's not accident that I'm messing around with Great Wonders as tile improvements. I actually need to do exactly that. I have the animation working properly, above. However, I'm still stuck with incomplete graphics for each wonder. It's quite obviously "blinking" (apparently trying to update) as a worker finishes it, but then it stays with the incomplete graphic. If you understand graphics at all, can you give me a tip how to solve this?

:hmm:There has to be someway the construction graphics are triggered for both wonders and TIs. I'm not sure how but I guesswe have to do a comparison of their xml. It sounds like a bone gets "undisplayed" (hidden) once its built. Maybe its in a trigger ????
 
:hmm:There has to be someway the construction graphics are triggered for both wonders and TIs. I'm not sure how but I guesswe have to do a comparison of their xml. It sounds like a bone gets "undisplayed" (hidden) once its built. Maybe its in a trigger ????

I really think it is in Wonder_DecisionTree.ddtxml, but I can't make heads or tails of these "decision tree" files. I think this is what communicates construction states to the bones. But altering these in total ignorance has not worked for me yet.

It may be easier in the end to take apart the graphics and put it back together as two separate "under construction" and "finished" asset sets. The landmarks DB has examples of both all-together assets and separate assets.
 
Top Bottom