orlanth
Storm God. Yarr!
- Joined
- Nov 17, 2001
- Messages
- 1,805
Ok, good to know. I guess I haven't figured out the right way to update Master branch DLL on github separately from the 2071 branch. My local folder using github's windows application to sync contains the 2071 branch & I can't find a way to have two local folders for branches of the same repo, so I edited the master branch directly via the web which I guess isn't ideal since that results in one commit per file edit.
Professioninfos also has tags:
<bNativesInvalid>1</bNativesInvalid>
<bEuropeInvalid>1</bEuropeInvalid>
Profs can also be enabled by civicinfos as you know, and specific units can have <ProfessionsNotAllowed/>, but if you're looking to make a civ-specific check I think the civilizationinfos and professioninfos tags should be it.
About the Shrine and Trading Post, they currently add +3 of every yield (you can see all the building stats now in the 2071 Pedia, though the yield icons are wonky).
Ok. In the 2071 branch currently, the map screen's yield bar never goes away so you can't access anything from the usual interface. On ending turns, it again asserts for price setting; then gives the following assert which I think we first saw with the initial "skeleton" versionIt loads to the main map without further asserts, but then shows the bar of yields along the bottom like in the cityscreen (perhaps since it got hung up trying to set prices for these?)
M:C does the same thing. I haven't found the cause yet, but once the game is started it works just fine. It's a minor graphical glitch, which will not cause any problems later on.
(I'm thinking this may be related to having few/no Terrain yields in the base version, if you agree I'll plan on adding those next).Assert Failed
File: CvPlayerAI.cpp
Line: 6163
Expression: pBestYieldCity != NULL
That's handled by <Professions> in civilizationinfos AFAIK (I think all profs are enabled by default, so the civ lacks access to only those with <bvalid>0 .I want to make it ignore uninvented professions, which isn't that hard to do. It should be done at the top and using a cache to make it really fast and neither are tricky.
However skipping as many professions as possible would be the best option and then I started wondering. Natives never use a bunch of "Eurpoean" professions and vice versa. If we tell the cache that those never used professions aren't invented, then we would save some time. In fact I think we could save quite a lot of time. It would also be easier to code if we have a function canUseProfession() for each player and it tells if it can be used, but not why it can't be used right now.
The problem with this approach is that it should work in ProfessionInfos and CivilizationInfos (possibly UnitInfos as well if it can't be avoided). Where does it say which civ can use which profession?
Professioninfos also has tags:
<bNativesInvalid>1</bNativesInvalid>
<bEuropeInvalid>1</bEuropeInvalid>
Profs can also be enabled by civicinfos as you know, and specific units can have <ProfessionsNotAllowed/>, but if you're looking to make a civ-specific check I think the civilizationinfos and professioninfos tags should be it.
About the Shrine and Trading Post, they currently add +3 of every yield (you can see all the building stats now in the 2071 Pedia, though the yield icons are wonky).


They are actually not too hard to make for xml files once you get the hang of it. What I do is paste the desired XML block into Textpad, then use regexp find/replace to replace leading tabs with a filehandle print statement with the appropriate number of leading tabs; you can then adjust the individual xml tags to prepopulate with variables however you want
.
I used your scripts to generate updated DLL, now there are no remaining asserts on loading (except for the one about Duralloy being Armor but not Light or Heavy Armor; and I'm guessing those groups may no longer be needed anyway once the combat system is revised). On starting a game, there are still price setting asserts though.
and is now available free online. (I think I had best focus on learning Lower Order Perl for the time being..)