• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

New soldier interface pictures

Grey Roger

Sea Dog
Staff member
Administrator
Storm Modder
Soldiers all have interface pictures consisting of a musketeer silhouette superimposed on a national flag.

British soldiers all use a Union flag, which is inappropriate for "Early Explorers" when the flag didn't exist. Spanish soldiers all use a red and yellow banded flag which is wrong for the first three periods. So, how about these?
soldier_interfaces.jpg

The "Early Explorers" English picture uses the St. George's cross, while Spanish soldiers from "Early Explorers" up to "Golden Age of Piracy" get the red, military version of the Burgundy cross. These are new pictures, not replacements, so soldiers in later periods would still use the interface pictures that they use now.

Any objections or suggestions?
 
  • Love
Reactions: fjx
Any objections or suggestions?
More accuracy is always more accurate. :onya

Thought that pops into my mind though: in which period do soldiers start using muskets?
I could imagine the silhouette itself is kind-of inappropriate in Early Explorers...
 
They have arquebuses in "Early Explorers". The silhouette isn't detailed enough to show whether it's an arquebus, a musket or a rifle. It's just some sort of long firearm.
 
There is one odd problem. Spanish soldiers use the same model for both "Colonial Powers" and "Revolutions". But the Spanish flag changes to the modern red/yellow/red barred flag in "Revolutions". Rather than create a whole load of new models (and waste model slots) just for the sake of flags on interface pictures, I found a way to switch all the soldier interface pictures using a bit of sneaky code in "Periods.c", function "InitTownNationalities()":
Code:
            Models[GetModelIndex("Offic_spa_18")].FaceID = 622;
            Models[GetModelIndex("Soldier_Spa_18")].FaceID = 622;
            for(i=2; i<=6; i++)
            {
                Models[GetModelIndex("Soldier_Spa" + i + "_18")].FaceID = 622;
            }
            for(i=0; i<CHARACTERS_QUANTITY; i++)
            {
                if (HasSubStr(Characters[i].model, "Soldier_Spa")) Characters[i].faceid = 622;
            }
That's inside a switch based on period, so it only runs if "Colonial Powers" is selected. Spanish soldiers are set in "initModels.c" to use their "Napoleonic" period interface pictures, so this code changes them all to the correct flag in "Colonial Powers" - the only period in which Spain uses the Bourbon flag:
face_622.jpg
Earlier, it uses the Burgundy cross; later, it uses the modern flag.

British soldiers will use this flag for all periods except "Early Explorers" and "Napoleonic":
face_623.jpg
"Early Explorers" soldiers have separate models already. "Napoleonic" soldiers will be set back to the full Union flag by similar code to the Spanish in "Colonial Powers".
 
Last edited:
Back
Top