DLL Features

Emperor Fool said:
Like I had it in my post above, including temporary bonuses in the Actual line?
Yes and No. Meaning like in the screen but with the decimal (only on the "actual" line).

I can live with an option about decimals vs integers :)
 
I wasn't planning to add the Actual Effects for :) and :health:, but they can change based on resource availability. I think that will cover everything that can show up on the first line, so nothing should ever show on the first line and not on the second line. Am I missing any other values?

BTW, Lighthouse, Levee, Dike, etc. consider the plots being worked by the city. Palace adds 8:commerce: which is shown, but it doesn't consider where that :commerce: will go.* It also doesn't take into account the +50% :commerce:/:hammers: from moving the capital under Bureaucracy, but that should be possible.

I haven't added the effects of Harbor or Customs House. Do adding these change the trade route connections to other cities? If not, I can calculate the gained :commerce: from them.

* I might be able to push the :commerce: into the actual commerce, but would it be confusing? Say you have sliders at 20%:gold:, 60%:science:, 20%:culture:. You also have a Bank in the city.

Palace, +1:), +8:commerce:, +2:culture:, +4:espionage:
Actual: +1 :), +8:commerce:, +3.20:gold:, +4.80:science:, +3.60:culture:, +4:espionage:

Or as mystyfly would see it:

Actual: +1.00 :), +8.00:commerce:, +3.20:gold:, +4.80:science:, +3.60:culture:, +4.00:espionage:

Note that :) and :health: are never fractional, and decimal places here look a little goofy.

Edit: That is overwhelming and far too much information. Plus, it changes every time you adjust the sliders. I think I'll leave it as :commerce:. Same for Harbor et al.
 
If you split the yields into categories, the palace information takes care of itself:

Palace
Base: +1:), +8:commerce:, +1:culture:, +4:espionage:
Bonus: None
Actual: +1:), +3.2:gold:, +4.8:science:, +3.6:culture:, +4.0:espionage:

And like for a forge that receives a hammer from an event, in a city that had access to gold and produced 10 :hammers: you'd have:

forge
Base: +25%:hammers:, +:) from (gold, gems, silver)
Bonus: +1:hammers:, +1:) from (gold)
Actual: +3.5:hammers:, +1:) from (gold)


That's why I advocate this system, there would be no confusion, and it's the most concise way to display all the information.
 
I haven't added the effects of Harbor or Customs House. Do adding these change the trade route connections to other cities? If not, I can calculate the gained :commerce: from them.

I believe to have read that trade route connections do depend on the availability of harbors and custom houses. Something about the game looking for the most profitable connection. You do often ingame see the trade route connections change after constructing a harbor. So it's likely too hard to accurately estimate the effect of these buildings on commerce, gold, science, etc.
 
Snaaty wrote about the so-called "Trade Route Economy". He mentionned harbours and markets having a big impact on getting better trade routes.

Under "actual" you could either show: "+50% :commerce:", the modified amount of commerce "7.5 :commerce:", or "7.5 :commerce:+" to indicate that it'd be at least that much but might be more. I don't think the player is able to calculate the actual number unless he sees every city's screen.
 
If you split the yields into categories, the palace information takes care of itself:

Note really. Where do you show the actual :commerce: added due to the +50% boost when running Bureaucracy?

Note that along with :) and :health:, yield values are always integers. Also, when showing fractional values, two decimal places will be used.

And like for a forge that receives a hammer from an event . . .

So the Bonus line includes events, wonders, resources. What about Harbor :commerce:? Oh crap, GL Scientists and ToA Priest . . . I need to add specialists. :( And where do those get shown?
 
Note really. Where do you show the actual :commerce: added due to the +50% boost when running Bureaucracy?
Oh, I didn't catch that. That would be displayed in the bonus line then:

Palace
Base: +1:), +8:commerce:, +1:culture:, +4:espionage:
Bonus: +4:commerce: (Buerocracy)
Actual: +1:), +3.2:gold:, +4.8:science:, +3.6:culture:, +4.0:espionage:

So the Bonus line includes events, wonders, resources. What about Harbor :commerce:?
Yes. Harbor Commerce would be under bonus, as it is applied to a trade route, it's nothing intrinsic the harbor is producing. Like so:

Harbor:
Base: +50% :commerce: from overseas trade, + 1:health: from (crab, fish, clam)
Bonus: +4:commerce: (trade routes), +1:health: (fish)
Actual: +1.2:gold:, +2.2:science:, +1:health:

Oh crap, GL Scientists and ToA Priest . . . I need to add specialists. :( And where do those get shown?
Depends, if the specialists are intrinsic to the building, they would be base, if they are produced as an event, civic, whatever, they would be displayed under bonus. This means for the GL, and Artamis the specialist would be under base.

As an example the ToA:

Base: +1 [priest icon], +100% :commerce: from trade, +2:gp:
Bonus: +1:hammers:, +1 :gold:, + 3:gp: [priest icon]; +4:commerce: (trade routes)
Actual: +1:hammers:, +1.2:gold:, +2.4:science:, +5:gp:


Like I said this way all the information is easily catagorized and understood, leaving no confusion. I suppose you could make a note as to when the effects expire, like next to the earned priest and commerce in bonus there could be some text that says "Expires with Scientific Method".

To recap, the most concise way to present the information I can come up with is:
Base: Intrinsic properties of and earnings of Building
Bonus: Added effects
Actual: Total net effect in the city

If you implement this, figuring out the way the information is displayed should take care of itself. Also this would make you able to soft code the display so that the same code could be used for every building, rather then needing to hardcode in specific building displays.
 
Oh, I didn't catch that. That would be displayed in the bonus line then:

Palace
Base: +1:), +8:commerce:, +1:culture:, +4:espionage:
Bonus: +4:commerce: (Buerocracy)
Actual: +1:), +3.2:gold:, +4.8:science:, +3.6:culture:, +4.0:espionage:

First, I won't be labeling anything--only adding numbers and icons. Second, I will probably not split out the :commerce: based on the sliders yet. This feature was supposed to be a fun diversion, but it's now delaying release of BULL so I want to get it to v1.0 ASAP.

Harbor:
Base: +50% :commerce: from overseas trade, + 1:health: from (crab, fish, clam)

I also won't move things in the lower list up to the Base row in case that's what you're suggesting. Items that are already shown on a separate line will remain there (the :commerce: boost and :health: from seafood here).

Bonus: +4:commerce: (trade routes), +1:health: (fish)

And I still am not sold entirely on listing the trade route :commerce: as a bonus. I understand your point that the boost depends on having trade routes and their values, but that's no different from the Library's +25%:science: depending on having :science: to boost.

Base: +1 [priest icon], +100% :commerce: from trade, +2:gp:
Bonus: +1:hammers:, +1 :gold:, + 3:gp: [priest icon]; +4:commerce: (trade routes)

Why do the +1:hammers:, +1:gold:, and +3:gp: for the Priest show up on the Bonus line given that the Priest is intrinsic to the building? For now, I'll be putting those into the Actual line as I said above.

Also this would make you able to soft code the display so that the same code could be used for every building, rather then needing to hardcode in specific building displays.

No, each XML field needs to be handled specifically. There's no way to genericize it the way it's done. Each building effect is added to a particular field (yield, commerce, etc). Then all those summed effects are displayed once.
 
I have added a new hover showing the breakdown of :food: sources and how it gets used, and I have added the breakdown of Great People Point sources (specialists and buildings) as well.


Both hovers also display the buildings that will increase :food: or :gp:, and I've added this feature to the Maintenance hover.

Finally, the Actual Effects for buildings now includes Trade Route Yield Modifiers, but not Number of Trade Routes because that's something the player cannot figure out themselves. I was tempted to use the average value of the other trade routes but decided against it for now.
 
The hover text for Happiness and Health on the City Screen now show the buildings you can build that will affect those values. Those effects are also included in the "Actual:" line of the Building hover.
 
Where is the BULL download thread (and more importantly source files)?

I wanted to direct glider to it so it can be incorporated in the next version of RevDCM, and was also going to look into compiling a BetterAI + BULL dll.
 
I have no done a proper release for BULL yet, but you are free to grab the latest source from the BULL SVN. I'm totally revamping the makefile right now in hopes that I can get the debug build to work--so far no dice. :(
 
If you haven't changed the Object File linking operations, you should be able to use Refar's makefile in his debug Tutorial. If you have changed the dll that much, wouldn't you loose save game compatibility?
 
I used Refar's tutorial in the beginning, and it never worked for creating a debug build. I've since reworked the makefile to be more modular, and part of that was looking up all the compiler and linker options that had been specified. I'm running a new build now with my fingers crossed. :)

It's not a matter of the source code. I have done nothing in BULL to alter the saved game format.
 
Got it to work finally. The debug linker options was telling it to ignore the wrong default library. Lovely!
 
Nice additions! :yup: How many source files are you editing to add these new features? I have a purely aesthetical question: Can you do rounded corners on those hover-babies?
 
Most of the changes (almost all the hover work) are in 2 classes: CvGameTextMgr and CvDLLWidgetData. For the more recent features I've had to add some new functions to CvCity. To allow BULL to integrate with BUG I've added some stuff to CvGame and friends. Finally there are a few changes to support files such as CvEnums.h and CvInfos.h/cpp.

As for the hovers, the hover facility is produced by the EXE so we can't do anything to change them.
 
Finally there are a few changes to support files such as CvEnums.h and CvInfos.h/cpp.

How are you maintaining Save Game compatibility with BtS if you're changing the CvEnums and CvInfos header files?
 
The changes to CvEnums are to add new WidgetTypes which have nothing to do with saved games. These allow me to create hovers for interface elements that didn't have them before, such as the food details and some fields on the Finance Advisor.

The changes in CvInfos are actually for the Global Warming mod which I merged into my own version of BULL. That won't be part of the release for compatibility reasons.
 
So how close are you to a final release with this? I'm quite interested to see what you've accomplished.
 
Top Bottom