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

[MOD] Westward Ho

Discussion in 'Civ4Col - Mods and Files' started by TC01, Jul 30, 2009.

  1. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    Westward Ho: Wild West Mod for Civilization IV Colonization
    Version v0.42 Released 6/6/10

    Welcome to the Westward Ho Mod, the long-in-development Wild West Mod, for Civilization IV Colonization! This mod aims to convert the New World setting of Colonization to a Wild West setting, by changing yields, civs, leaders, and fouding fathers, as well as adding a number of new features.

    To install, simply run the included executable.

    If you already have a previous version installed, please delete the WestwardHo folder. If you do not, you will have two art directories, one packed and one unpacked, stored, and several other issues will occur.

    There's still a lot to do for this mod, and there may be bugs. If you find any bugs, please report them here.

    Currently, we're at v0.42.

    Links:
    Download v0.4 Here
    Download 0.42 Patch Here
    Download 0.421 Patch Here
    Mod Subforum

    Features:
    • Four new colonial civilizations (territories of California, Texas, Utah, and Oregon) with new leaders
    • Two new "European" or parent civs- American and Mexico
    • New native civilizations (Sioux, Pawnee, Apache, Blackfoot, Crow, Cheyenne, Shoshone, Ute, Navajo, Paiute)
    • Yields have been changed (Barley to Beer, Wool to Cloth, Cattle to Leather, and Coal has been added)
    • Home Cities on Map- colonies start in their parent civ's home city, located on the map
    • Trails, which must be built on a plot before building a Road. After building a Road, a Railroad can be built.
    • Locomotive units, which carry cargo and can only move on Railroads.
    • WildWest mapscript, based on Great_Plains of Civ 4
    • New calendar system
    Merged Mods:

    Westward Ho includes several other mods for Colonization. These include:

    Version 0.4 Changelog:

    The changelog for the latest full version and it's patches are below.

    Code:
    v0.421 Patch Changelog:
    -The AI will now build settlements (instead of doing nothing)
    
    v0.42 Patch Changelog:
    -Fixed bug with Journeyman Pioneers
    -Fixed a crash when building Steamworks
    -Fixed some text key errors for native civilizations
    -Fixed issues that might have been causing a crash on building map
    -Fixed resource-terrain mismatch errors caused by the mapscript
    -Fixed bug where Coal Miner could not build Trails, Forts, or Railroads
    -The Mine, not the Lodge, now has a chance to reveal mineral resources
    -Added missing graphics (Cow and Trail buttons)
    -Added William B. Ide leaderhead from Ekmek
    
    v0.41 Patch Changelog:
    -Fixed bug where units could not be loaded into/unloaded from transports
    -Fixed bug where units and professions were all the same as vanilla Col
    -Fixed bugs with the non-modular code in the Forts module
    -Fixed bug with the positioning of units on the Home City screen
    -Added highlighted icons for yields (in city screen)
    -Added Steamworks update for Coal Furnace- increases manufactured goods production
    -New graphics for the Coal Furnace
    -Fixed several Coal text errors
    
    v0.4 Changelog:
    -Merged in Androrc the Orc's Trail modcomp- it is now required to build roads
    -Merged in Kailric's Journeyman Professions modcomp
    -Merged in Kailric's Coal Burner modcomp
    -Merged in Kailric's Forts modcomp
    -Added Route To (Trails Only) and Route To (Trails and Roads Only) commands
    -Added a custom main menu background screen and loading screen
    -Added a custom home city screen from KJ Jansson
    -Added gamefonts, icons, and other graphics for new yields
    -Added new Railroad Station building allowing airlifting between cities
    -Fixed bug with Railroad art not appearing in certain cases
    -Changed Tobacco, Cigars, to Barley, Beer
    -Changed Sugar, Beer to Wool, Cloth
    -Iron, Silver, and Coal resources can be discovered on plots with a mine
    -50 Coal and a Railroad Station is required to create a Locomotive
    Spoiler v0.30 Changelogs :
    Code:
    Patch 0.33 Changelog:
    -Fixed bug where changing your name blocked the ability to access Home City screen
    -Fixed bug where the game could fail to create home cities when starting a game
    -Fixed bug with multiple home cities when starting a scenario
    -George Custer provides 2 cannons instead of a frigate (to fix crash with water units from Home City)
    -Fixed bug where the cow and berry art was not appearing, and instead default cotton and banana art was appearing
    -Fixed bug where refusing a tax caused issues with the home city screen
    
    Patch v0.32 Changelog:
    -Included C++ source code from Kailric
    -Gave Cheyenne city names, art, etc. (thanks to drjest2000)
    -Changed Cheyenne leader to Wolf Robe, with 2D leaderhead art
    -Added Hopi native civ from drjest2000's COL Gold
    -Added John Fremont leaderhead by Ekmek
    
    Patch v0.31 Changelog:
    -Fixed a text key error in the Europe screen
    -Removed the popup checking if you wanted to travel to Europe (caused issues)
    -Fixed bug relating to moving your Wagon Train in and out of the Europe zone of your Home City.
    -Gave Blackfoots new leader and 2D leaderhead, city names, art, etc. (thanks to drjest2000)
    -Renamed "Sail to Europe" commands to "Travel to Home City", other similar text changes at the screen, etc.
    -Added new "Travel to Home City" and "Sail to New World" buttons.
    -Fixed the wagon train icon in the Europe Screen, it doesn't appear huge anymore.
    -Starting units are autoloaded into your wagon train.
    
    v0.3 Changelog:
    -Moved Route restriction to SDK to increase game speed
    -Gave Locomotives 6 cargo space, 4 speed, and the ability to carry passengers
    -Added master_akura's Founding Fathers
    -Added area appropriate Native civilizations (various states of "completed")
    -Changed starting date to 1816
    -Made calendar work seasonally instead of anually (end date is 1891)
    -Changed Dawn of Man screen intro text
    -Packed art directory to make mod load faster
    -Added Home Cities on Map (you start in your home city, on the map) by Koma13
    -Blocked purchase of ships in Europe, allowed purchase of Locomotives, Wagon Trains
    -Added Build Railroad button by Kailric
    -Prevented President from questioning you about founding a city inland
    -You won't be asked to "trade with city" on arriving in your home city
    -All civs start as territories, then change their name on revolution (Utah -> Deseret)
    

    Spoiler v0.2 Changelog :
    Version 0.2 Changelog:

    Code:
    v0.20 Changelog:
    -Railroads now display correct art, link up properly, and can be built
    -City lists added to all civs
    -Oregon Territory renamed to Cascadia Territory
    -8 Founding Fathers added by quantumf8
    -Added in the art for Brigham Young by cfkane
    (v0.21 Patch)
    -Fixed bug where locomotives couldn't move into cities (but prevented them from moving into native cities)
    -Increased Locomotive speed by 2 (to make them faster then wagon trains)
    -Renamed the Build Railroad command (it was only "Railroad") to Build Railroad
    -Added Ranger, Veteran Ranger, Locomotive, and US Cavalry buttons by Kailric
    -Added Veteran Ranger city screen art by Kailric
    -Added Railroad button (from Civ 4)
    (v0.22 Patch)
    -Renamed Rum to Beer
    -Added Santa Anna Leaderhead art for Mexico (European) by Ekmek
    -Made Mexico parent civ of California as well as Texas
    -Made America parent civ of Cascadia as well as Deserets
    -Added in Mounted Ranger, Mounted Veteran button art by Kailric
    -Renamed Deserets to Utah Territory, Cascadia to Oregon Territory
    (v0.23 Patch)
    -Added in WildWest.py Mapscript (basically Great_Plains.py from Civ 4)
    -Prevented use of existing Col public maps
    -Added Marsh and Light Forest to WildWest.py
    -Added Cow graphics from vanilla Civ 4
    -Added Austin and Houston leaderheads by texpatriate


    To Do List:

    -Pedia text
    -Documentation
    -New civs, more leaders for current civs
    -Gold as a yield (with a Prospector system)
    -New mapscript featuring the Pacific coast
    -Random events

    And much more...

    Version History:
    v0.1 released by Flintlock1415 on July 14, 2009 with 26 downloads
    v0.2 released by TC01 on July 30, 2009 with 227 downloads
    v0.3 released by TC01 on September 11, 2009 with 1967 downloads
    v0.4 released by TC01 on April 18, 2010 with 894 downloads (so far)

    Credits:

    Mod Team:

    -Flintlock1415 (formerly)
    -TC01
    -Kailric

    Contributors:

    -KJ Jansson (Europe/Homeland screen)
    -koma13 (Home Cities on Map)
    -Ekmek (Leaderhead art)
    -texpatriate (Leaderhead art)
    -Deliverator (Locomotive graphics)
    -Modeltrainman (Locomotive graphics)
    -Androrc the Orc (Trails, Route model help)
    -drjest2000 (Native civs)
    -Valkrionn (Inno install script)

    -CIV Gold Leaderhead Makers (New 3D Native leaderheads)

    -Tobias Alt (Source of the main menu background)

    The Original Idea:

    -cfkane

    Ideas, Feedback, and Bug Reports:

    -Quantumf8
    -master_akura
    -Chibiabos
    -tedrock7
    -Talquin

    Other:
    -Firaxis/2K Games (creators of Colonization)

    -Other people I may have missed (give me your names, I'll add you in if I did)
     
  2. Flintlock1415

    Flintlock1415 Chieftain

    Joined:
    Feb 24, 2008
    Messages:
    1,057
    Location:
    MN
    Looks good! Hopefully we can get a development forum soon. :goodjob:
     
  3. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Hey, just now checking this out. I like this idea. I need to read through the ideas thread on this to see what all has been talked about.

    I was just testing the Mod and firstly Locomotives can't be moved into cities? And I notice you said that they are the only way to move goods between cities, is this correct? So ships and wagons are no longer used for this?

    One Idea I had on this was how you start. It may have been mentioned already but starting with a Wagon Train and a couple units would be more realistic. The Wagon Train could be your "Settler Unit". And only they can found cites and they would be built like they are now.

    Also, I wouldn't mind helping out in making Buttons, its like one of my favorite things to do. And maybe I could help code something in the game. I stay busy alot away from the PC and you know I have a few projects going myself but I could actually use the extra distraction :) Just let me know.
     
  4. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    No, actually everything else is still in game. I said "is one way", not "is the only way", sorry for the confusion.

    Probably the locomotive problem is because they're restricted to railroads, and railroads don't occur naturally in cities- an oversight of Flintlock when he wrote the script, I guess. I'll fix this.

    We intend to merge the Home Cities on Map modcomp by koma13, so you would actually start in your home city. If we don't, you'd definitely start in on land, not in the water- but all this relies on a mapscript, which we don't have yet.

    As to how you can help out, buttons would be nice! SDK coding might also be necessary, which you can help with- fortunately, MareNostrum's DLL is identical to normal Col's DLL so the DLL for Home Cities on Map for it can (hopefully) be dropped in.


    Flintlock- I've sent a PM to Thunderfall about getting a mod subforum.
     
  5. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Hehe, yeah my bad. I hate reading stuff off the net, especially if I have been on a while:blush: I'll work up a few of the Buttons I see that are missing later this evening. I just done one for my mod. Like I said, its fun for me :goodjob:
     
  6. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Ok, done several buttons. Have a look see....

    They are in the .rar file. I made a Veteran Ranger icon for the City Management screen as well.
    I still need to do US Rifleman, Cavalry, Veteran Cavalry. and those two Pistol guys.

    ~Cheers
     

    Attached Files:

  7. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    Thanks Kailric! I'll put them into the next patch/release.

    I realized there's a slight problem with the bugfix I implemented. If you have a city next to a native city, your locomotive will be able to move into the native city. Is there a way, using python, to check if the owner of a city is a Native civ?
     
  8. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Looking at the SDK you could be able to by geting the Owner of the City and then checking if the Owner is a Native as isNative() is only exposed to Python in the CvPlayer.cpp...but in the CvPlayer.h the function is declared as such: bool isNative() const; instead of DllExport bool isNative() const;

    I am not an expert at exporting functions to python but I was thinking to export a function you had to add "DllExport" to it. Thats how I done it just following the examples thats already there. If that don't work you may can get the getCivilizationType() of a City then check if the Civilization is a Native as such:

    So the below code should work:

    Code:
    gc.getCivilizationInfo(pHeadSelectedCity.getCivilizationType()).isNative()
    The gc.getCivilizationInfo(pHeadSelectedCity.getCivilizationType()). is in the Vanilla python so you can use that as an example. And the isNative() is exposed to python in the CvInfos.cpp.

    Let me know if you get it working.
     
  9. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    Don't think all of that's necessary- the function is mentioned in CyPlayer.cpp and CyPlayer.h, so I'm assuming it's been exposed to python...

    Code:
    bool CyPlayer::isNative()
    {
    	return m_pPlayer ? m_pPlayer->isNative() : false;
    }
    Also, you don't need to worry about getting a railroad button- I just realized I forgot to extract it from Civ 4's art files, and thus it's missing in the game. So I can do that myself for the next patch.


    The problem stems from the fact that cities have roads in them, but these roads never upgrade to railroads. Ever. I was able to make my locomotive enter a native city if I worldbuildered a railroad into their city. But without using worldbuilder, my Locomotives can enter a "European" city, or a colonial city, but not a Native city. So it works.
     
  10. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Nice, so what code did you use to check for isNative? The getOwner of City, then check if owner was a native?

    There is probably code that auto adds a road to the center square of a city. So there would have to be code added for railroads. Like say when you build a raidroad next to a town that town's center square auto recieves a railroad.

    Will railroads cut the movement cost of a plot even more than roads? I think it would be cool to give Locomotives the ability to transport Homesteaders and thats how you can speed up a units movement by placeing them in Locomotives. Other than that roads would be the only thing that cuts the movement cost.

    It would also be cool to be able to setup a "HomeSteader" transport route. Where you can set a unit to "Wait for next train", set the City to go to, then when the Locomotive arrives on its transport route it will load the Homesteader and take him out into the frontier :) Also, maybe there could be an option in the city to where all New units born from growth are autotransported out to the frontier on locomotives. An option like that would add to the feel of "Westward Ho', as in the movies you always see people "waiting" on the train :goodjob:
     
  11. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    I checked if the player who owned the plot (if the plot was a city) was a native (easier then declaring an additional variable as the city, and then getting the owner of the city):

    Code:
    	pCityOwner = gc.getPlayer(pPlot.getOwner())
    	if pCityOwner.isNative():
    Right now, railroads don't cut the cost any more than a road does. I'm thinking that instead of doing something like that, the Locomotive's movement should be increased (maybe to 4?), because if you made a railroad cut the cost, I could have infantry or cavalry get the same movement bonus that a train would do. So if I do that, making Locomotives able to carry passengers as well as cargo might be nice. But then maybe it's cargo space should be increased?

    Either way, I'm increasing Locomotive speed in the next patch.

    Or, we could make multiple train units, each of which using different graphics (from SMRR?), for carrying different things (like in SMRR). The Locomotive could be for cargo, but something else, like a "Passenger Train" might be for people?

    The "Wait for Next Train" idea sounds kind of cool. I know that you can do this with cargo. For instance, you can make your city export guns to another city, and then set a train on Automate, and you can select "Guns from city_x to city_y". Perhaps it would be possible to make a city "export people" to a certain city using the same method? And have a "Pick up Passenger" mission for a train that picks up people in the city (perhaps those whose missions have been set to "Wait for Next Train"- maybe the city command would do this)?

    Obviously, this would require SDK changes, and the details would need to be ironed out. Maybe if/when we get our mod forum, we can discuss this there.
     
  12. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Hmm, then I wonder what the DllExport tag in the header files are for? Anyway...



    Yeah, Id increase Locomotive cargo space for sure. Six is the max I think thats fits on the City Screen or at least it would seem as so. And make raidroads cost tools so players just want be building railroads in everybodys yard. Passenger Trains sound cool, I guess it would all come down to what all is needed. If say a Passenger Train cost a lot of resources and is not really that needed then people want really build any.

    The wait for train command would be easy I bet to implement. Simply add a new command that lets you select a city you want that unit to go too. That city is saved on the Unit, then when a train arrives and has room for the unit and its route passes through the destination city, the unit will load up, then unload when it reaches the city.

    I could add that code at some point. I'd say the biggest next step would be as you said get Home Cities on the map and adjust a players starting units.
     
  13. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    Unfortunately, it's not possible to make a route cost anything but gold via XML. It is doable via Python, but then it wouldn't show up graphically without interface changes. And it's probably pretty complicated to implement, since tools are stored locally (in cities), where gold (which is required for some improvements) is stored globally (per player).

    I can make them cost more gold then they did before, I guess, but that's about it.
     
  14. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Yeah, I forgot about that with the tools. Increaseing the gold sounds good though and makes sense. Having it require tools may just be a unwanted nuisance too. You could however have it so that building rail roads works like a building. It does a check starting with the nearest City for tools stored and subtracts the needed amount. If tools are not present the Railroad wont be built but instead justs waits for the tools to be present then autobuilds, much like a building does. Thats just an idea though.
     
  15. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    I think this would just be too complicated. Gold increase would be better. But I'll hold off on doing anything else to the railroad like increasing cost or increasing Locomotive transport capability until the mapscript is released. Because right now ships are still important in sailing to "Europe", so Railroads are less important, for now.
     
  16. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    It's only been a few days, but I've released the first patch version, v0.21. This version has fixed a bug, added some art, made a minor text change, and made a small change to Locomotive speed:

    I was going to wait until anyone else had some suggestion or bug or more feedback before releasing, but I decided against it. I was also going to wait until we got a mod forum, but I haven't gotten a response from Thunderfall about that yet, so I decided to release anyway.

    To install, follow the "Download patch" link, or go to the "Westward Ho Patch 0.21" download page. Unzip and copy the WestwardHo folder to the same directory you installed the mod in, say yes to overwrite files.

    The next major version (v0.3) should have an .exe, rather then a .zip. But patches up to that point will use the .zip format.
     
  17. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Cool man, I'll work up so more buttons soon also. I just noticed ealier today in the Civilization infos there is an option <bWaterStart>1</bWaterStart>. Could this be used to start Civs on land instead of water. If it works just like Civilization then it should work for this Mod too?
     
  18. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    It should.

    How can I make it so that land units can go to Europe? Do I need SDK coding? Or will it automatically be an option for any unit capable of transporting stuff?
     
  19. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Yeah, it would take some SDK coding but it would be so easy to do. You can make any unit capable of "going to Europe". And you can just use the default back ground and change the the Sail to Europe icons to a "Travel to Capitol" or something.

    Say you can set it up for Ships, Wagons and Locomotives to travel to "Europe". Each unit could have different travel times based on number of moves. Once on its journey it would be visiable in the "Europe Screen" (you could call it anything else really) like normal.

    You could make it so that you can only leave for "Europe" in Cities that you own, or you could leave for "Europe" anywhere on the map. What you think about it? I can code that up for you. It really want be that complex at all. You would need a Europe Icon for wagons and locomotives though, thats easy to do too.

    I am going out for a while but be back later.
     
  20. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    Maybe...

    We had planned to make the Home Cities on Map Modcomp by koma13 part of the mod, where you can "go" to your home city without "sailing" to Europe. In that mod you can actually send land units to your home city- although I think that's what koma13 was working on (and he said that after his last release he discovered some bugs). I can't easily test the old version because I don't have Mare Nostrum Beta 3. The SDK source files (he only changed 5 files) are included.

    However, I was thinking that, depending on how complicated this was, that maybe I should release a version of GreatPlains.py without the home cities on map stuff in a future patch-version. Then people could get used to the idea of land transport. And then in v0.3 (or whatever), I'd add the home cities on map. But since this would require SDK changes anyway (which I kind of wanted to avoid until v0.3 or the next major version), maybe I shouldn't do that- since it would be semi-redundant anyway.

    Instead, I can just have all the civs start near the Gulf area of the Great Plains map, add in Colonization features, terrains to that map, add rivers. Then make it so that I can sail home via the Gulf (perhaps start with a ship of some sort but not actually in the ship...)
     

Share This Page