1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Civ4 BTS v3.19 Patch

Discussion in 'Civ4 - General Discussions' started by Speaker, Jun 10, 2009.

  1. VoiceOfUnreason

    VoiceOfUnreason Deity

    Joined:
    Dec 5, 2005
    Messages:
    3,663
    As in "are any of the changes in assets/xml/mumble?" Yes, I know that there are some (Barrage promotion for Armor, at least one new setting in GlobalDefines.xml, some text changes....)
     
  2. r_rolo1

    r_rolo1 King of myself

    Joined:
    May 19, 2006
    Messages:
    13,818
    Location:
    Lisbon, Portugal
    You can see a list of the changed files in here . Special thanks to ruff_hi ;)

    The XML files that were changed are
    Code:
    Beyond the Sword\Assets\XML\Text\CIV4GameText_BTS_Fixed.xml          
    Beyond the Sword\Assets\XML\Text\CIV4GameTextChanged_BTS.xml         
    Beyond the Sword\Assets\XML\Units\CIV4PromotionInfos.xml             
    Beyond the Sword\Assets\XML\Units\CIV4UnitInfos.xml                  
    Beyond the Sword\Assets\XML\GlobalDefines.xml 
     
  3. Woody1

    Woody1 Prince

    Joined:
    Feb 19, 2002
    Messages:
    468
    Location:
    Texas
    Yeah, I think I would have preferred that too. I like the passive aspects of espionage (seeing research, city visibility), but don't the the MM involved with the sabotage missions, especially since there's no way to completely defend against it.
     
  4. Speaker

    Speaker Deity

    Joined:
    Nov 4, 2002
    Messages:
    2,097
    Location:
    Section 1
    You do have the option to modify the name you are sending a buddy list request to. Simply remove the "tk-tk2" before you hit submit. In addition, you cannot double click on their name in the lobby to send them a message, as the chat program gets confused by the "tk-tk2," so you must double click to message them through your buddy list. Yes, it is not optimal, and I wish they did not add that addendum, but I guess it was a necessary evil to fix this:

     
  5. Dom Pedro II

    Dom Pedro II Modder For Life

    Joined:
    Apr 3, 2002
    Messages:
    6,811
    Location:
    Exit 16, New Jersey
    EDIT: My overall impressions is that there's a lot of new functionality for modifying game sounds, some new functionality for messing with the interface, but nothing particularly earth-shattering beyond that. The top item on my wishlist was more of the trade screen exposed, followed by some of the interface stuff from Colonization such as the spin boxes, drag-and-drop ability, and the ability to allow popups appear with the city screen up. I'm sad we didn't get that, but there's still enough here that the hearts of many a modder should be warmed.

    Here's a more comprehensive list of the stuff that's been moved to the DLL:

    CvCity

    getBuildingArtInfo
    getBuildingVisibilityPriority

    These two give you greater control over how cities look. Haven't really thought of any great applications for them... will probably be mod-specific.

    getMusicScriptId
    getSoundscapeScriptId

    These affect city sounds. I'd like to tweak these myself because I want there to be a distinction between the sounds of coastal and inland cities. When you open a coastal city screen, you might hear seagulls, a boat horn, etc.

    getBuildQueue

    Not sure why you'd want to mess with this, but there it is.

    CvPlayer

    getIntroMusicScriptId
    getMusicScriptId

    With these two, I think you could actually now have different music play under different circumstances. It already does it based on peace/war and era, but you could make it so that it'll play different music based on the other player's state religion, civic, or anything else you can think of. Maybe not extremely useful in the standard game, but could be interesting for specialized mods.

    getGlobeLayerColors
    getTradeLayerColors
    getUnitLayerColors
    getResourceLayerColors
    getReligionLayerColors
    getCultureLayerColors

    Controls the colors for different things on the maps.. Not sure why you'd want to mess with this, but there it is anyway.

    getUnitArtInfo

    This'll provide a fairly easy and straightforward way to have units look different based on religion or civics among other things.

    CvPlot

    getSoundScriptId

    Controls the tile's sound. Takes the improvement sound first, if there's none, goes to feature, if no feature, it goes to terrain. Could be modified to have culture-specific sounds I guess.

    get3DAudioScriptFootstepIndex

    You can use this to set conditions for what kind of footstep noises should play.

    getAqueductSourceWeight

    Tweaking this would make the aqueduct appear in more rational or more insane positions I think

    shouldDisplayBridge

    Pretty self-explanatory. The only reason why I might think one would want to mess with this is if you wanted to make bridges something that had to be specifically built and thus open to targetting by pillaging, bombing or sabotage. I'm seriously considering it ;)

    checkLateEra

    This is obviously some kind of graphical display thing. It might be used to control the appearance of improvements?

    CvUnit

    getSelectionSoundScript

    Want your Roman unit to shout in Latin when you click on him in the ancient era and in Italian when you click on him in the modern era? This is where you'd code that.

    getLayerAnimationPaths

    The greatest unexploited feature in BtS... the Layer Animation Paths. No Unit Maker that I know of has ever actually made units to take advantage of this fantastic feature. Previously, changing the layer animation paths was strictly reserved for promotions, but with this function exposed you can have it based on virtually any criteria you want.

    isCombatVisible

    Basically controls quick combat. Could use it to have certain types of units skip battle scenes even if the Quick Combat option isn't turned on

    CvDLLInterfaceIFaceBase

    setInterfaceMode
    getInterfaceMode
    getShowInterface
    getMouseOverPlot

    There some potential for some good interface changes with these... Being able to get the plot the mouse is currently over can be quite handy. I've already got some ideas about what I might do with this.

    CvGameInterface

    This file and the CvGameTextMgr have most changes made to them, and has potentially the most interesting new functionality.

    getGlobeLayers
    startFlyoutMenu
    applyFlyoutMenu

    Not sure, but I think the flyout menu concerns the bottom part of the screen... so the list of stuff you can build, draft buttons, hurry buttons, selecting units, etc.

    getNewHighlightPlot
    getPlotHighlightColor

    More map stuff

    getWidgetShow
    There's two of these. One determines if a model should be shown in the civilopedia for a particular resource (prevents Hit Singles, Movies, etc. from showing on terrain). And the second determines if a water improvement is to be shown in water.

    nextActivePlayer
    Moves the next player in line to be the new active player.

    getNextSoundtrack
    getSoundtrackSpace
    isSoundtrackOverride

    More sound control

    initSelection

    Picks which unit to select first such as at the start of a new turn

    shouldDisplayFlag

    Controls when your player flag should appear at the bottom of the screen.

    shouldDisplayUnitModel

    Controls when your selected unit's model should appear at the bottom of the screen

    shouldShowResearchButtons

    Controls when your research options should appear at the top (like when you've finished research a tech)

    shouldCenterMinimap

    Controls when the map should be centered.

    handleCityScreenPlotPicked
    handleCityScreenPlotDoublePicked
    handleCityScreenPlotRightPicked
    handleMiddleMouse

    This deals with mouse clicks on plots when the city screen is up. For me, this is very handy since I plan to make changes to how players manage their cities. Just how useful these functions will be I haven't determined yet.

    handleDiplomacySetAIComment

    Concerns diplomacy... not sure why you'd mess with this

    CvGameTextMgr

    getFontSymbols
    assignFontIds

    This is the meat and potatoes of the gamefont changes. If you want to add new stuff that will have a little icon associated with it that you want to appear in text, this is where you're going to mod it in. This does not pertain to adding new religions, corporations, yields, commerces, or general buttons like :strength:, :move:, or :gp:. That you've always been able to do. These functions would only need to be modified if you wanted totally new stuff like civilization languages, or political ideologies, or something along those lines.

    getPlotHelp
    getRebasePlotHelp
    getNukePlotHelp

    This provides a bit more flexibility for modders in determining what text they want to appear on the left-hand side of the screen when a player mouses over a plot. THis could be very useful if you want to provide more info to players when they're using interface modes (such as when you select an air mission and you see the air range and the target cursor appear). So if you wanted to, you could program it to tell you the odds of being intercepted on that particular tile if you wanted.

    getInterfaceCenterText

    This controls the text that appears in the middle of the screen when a player wins.

    getTurnTimerText

    Looks like this controls the game turn info? Thought that was done in python...

    There's also a bunch of functions controlling text when in Advanced Start mode or World Builder, but I decided not to list them all/
     
  6. Speaker

    Speaker Deity

    Joined:
    Nov 4, 2002
    Messages:
    2,097
    Location:
    Section 1
    Can someone tell me if CvGameCoreDLL.dll from the BTS/Assets folder was changed with the patch?
     
  7. Yakk

    Yakk Cheftan

    Joined:
    Mar 6, 2006
    Messages:
    1,288
    Yes it was changed.
     
  8. JTMacc99

    JTMacc99 That's a paddlin'

    Joined:
    Jan 10, 2008
    Messages:
    892
    Bastards!

    Is this referring to the thing people do where they chop/whip walls as a protective civ with stone and somehow end up with 380 extra gold?

    Also, just so I understand correctly, with this patch I will no longer need to have the disc in the PC to play?

    Now I'll just sit around an wait for somebody else to figure out if BUG will still work.
     
  9. r_rolo1

    r_rolo1 King of myself

    Joined:
    May 19, 2006
    Messages:
    13,818
    Location:
    Lisbon, Portugal
    BUG seems to work ok ;)

    That part of the overflow... yes, it is about what you said, but it seems that the 3.19 code is not doing what it was intended to do .... :(
     
  10. nbcman

    nbcman King

    Joined:
    May 10, 2007
    Messages:
    896
    1. Yes-but it also appears that the overflow beyond the hammers required for the unit are LOST and are not converted to gold.

    2. Correct.

    3. EmperorFool has said that he has played BUG V 3.6 with 3.19 patch for over a hundred turns without seeing any problems.
     
  11. JTMacc99

    JTMacc99 That's a paddlin'

    Joined:
    Jan 10, 2008
    Messages:
    892
    Thanks guys! When I posted my questions, I hadn't yet noticed that there were 10 pages of comments (I read page 1) and could have answered all those questions myself. Sorry about that.

    On the other hand, I stand by my bastards comment about the AI making super medics. That's the last thing I need is for them to recover from my brutal siege attacks before I can finish them off. I wonder if they'll ending up making more than one of them. If anything, I suppose this will make the Ballista Elephant a more interesting unit provided that the AI super medics are based on mounted units like the human players normally do.
     
  12. mechaerik

    mechaerik Tuturuu!

    Joined:
    Oct 28, 2008
    Messages:
    7,064
    Location:
    Los Angeles
    Too bad they didn't fix the land tranports...
     
  13. DanF5771

    DanF5771 Emperor

    Joined:
    Feb 21, 2008
    Messages:
    1,194
    Wow a patch -- that's a (partially) nice surprise! ;)
    And quite a lot of the UP fixes are implemented. :cool: The one change I am most curious about is this:
    ~~~~~~~~~~~~

    I tried really hard, but I just cannot see the intended logic in this piece of code.

    The new variable iMaxOverflowForGold is calculated as the maximum of the current build cost (iProductionNeeded) and the number of base hammers of the city (from tiles, specialists, buildings) multiplied by its generic (=non build-specific) modifiers. In the early game with the typical low base hammers and few generic modifiers (forge, bureau) iMaxOverflowForGold will be equal to iProductionNeeded. Chops and whips have absolutely no effect on it!

    The capping of iOverflow at the maximum of iProductionNeeded and the base hammers multiplied by ALL modifiers remained unchanged and will also typically result in iOverflow = iProductionNeeded in the early game, especially at slower speeds.

    Thus iProductionGold = max(0, iProductionNeeded - iProductionNeeded) = 0. :(

    You will gain a little overflow gold if the city has a lot of base hammers (e.g. > 17 base :hammers: for pro-stone-wall @normal speed) and then the amount of gold will be higher the more build-specific modifiers are active :crazyeye:.

    The exact gold overflow = base hammers * build-specific modifiers, excess chops and whips turn into thin air. IMHO this goes against everything the change note of the patch stands for.

    Solver offered his help, maybe he can shed some light on this (and perhaps tell us why the UP-code wasn't good enough)?
     
  14. phungus420

    phungus420 Deity

    Joined:
    Mar 1, 2003
    Messages:
    6,296
    Wait, so this doesn't just fix the overflow gold exploit, as is done by the UP? It removes overflow hammers over base production entirely? So there is no overflow (hammer or gold) from whips and chops at all?
     
  15. NikNak

    NikNak Warlord

    Joined:
    Feb 13, 2002
    Messages:
    255
    Location:
    Lakewood, WA
    A new patch that also removes the disc check? Is it early Christmas? Yay!
     
  16. Jean Elcard

    Jean Elcard The Flavournator

    Joined:
    Feb 26, 2006
    Messages:
    1,008
    Location:
    Leipzig, Germany
    Just want to say thanks for this nice and comprehensive list. This helps a lot to get an impression and should save other modders some time, they would otherwise have to spend on figureing out, what the new methods are for.
     
  17. PieceOfMind

    PieceOfMind Drill IV Defender Retired Moderator

    Joined:
    Jan 15, 2006
    Messages:
    9,319
    Location:
    Australia
    Ah that explains why rolo was observing gold from overflow but I was not. His demo city had high base hammers. Mine just had a massive number of forests recently chopped.
     
  18. DanF5771

    DanF5771 Emperor

    Joined:
    Feb 21, 2008
    Messages:
    1,194
    The mechanics for overflow hammers remained unchanged. Only the excess hammers that go beyond the capped overflow hammers which were converted to gold previously are lost now (in most situations, see above).
     
  19. Woody1

    Woody1 Prince

    Joined:
    Feb 19, 2002
    Messages:
    468
    Location:
    Texas

    I'm just trying to understand how serious this issue is. It sounds like a pretty minor change, except in rare circumstances. Correct?

    People seem to be implying that this change is an error. From what it sounds like, maybe it's an intentional change to prevent abuses getting easy gold.

    From the code, it looks like the change is intended, not an accident.
     
  20. alexman

    alexman King

    Joined:
    Feb 28, 2002
    Messages:
    789
    Location:
    Maryland, USA
    It is definitely a bug, although the effect on game play is minor. Sorry about that.
     

Share This Page