• 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!

High Priority Updating the Character Model Groups

Pieter Boelen

Navigation Officer
Administrator
Storm Modder
Hearts of Oak Donator
At the moment we have several character model groups being used in the game.
But they're used somewhat interchangeably in some cases. And the assignments in initModels.c are confusing too.
So we'll definitely need to look into that very soon.

Additionally, some code doesn't make use of the character model systems in the first place.
Smugglers on beaches spring to mind, but also all enemy boarder soldiers.
This should be addressed to make EVERYTHING based on the initModels.c assignments.

So before we get started in earnest, what kind of things have you seen in the game that don't seem right to you?
Here are some things that spring to mind for me:
- Very little amount of variety in smuggler models
- Random female characters in dungeons; should be regular smugglers down there
- Ship captains that do not look like they should be captains

What have you seen in your playing of the game?
 
To continue, here is a list of the model types used, along with some notes on them all:

General use (have to investigate this further):
Captains
OFFIC_TYPE_*
Rich_Citizens
Middle_Citizens
Mates
Sailors
Poor_Citizens

women
Used only for the slapping female joke in Tortuga Port

Animists
I think only really used as boarding models for the Animist quest ships.

ScheffnowMonks
Unused?

Skeletons
Lots of code related to them, but virtually unused by now. Could ideally do with some cleaning up in LEnc_monsters.c I think.
Models still used for quest purposes, but not random encounters.
Only exception is the Turks ship where they are generated, then instantly killed to put dead skeleton corpses on the beach.

navy
In later periods, these walk around locations marked as "navy". This is mainly Antigua and some of the largest ports.
Not all nations have these available.
As per Beta 3.4, these are also used as captains for nation navy ships.
The game does NOT care about the ranks of these models and uses them interchangeably.

Natives and Indians
50/50 chance between either for jungle encounters

Mummies
Used ONLY in the Inca Temple location

Maltese
Unused as now "Animists3" is hardcoded to be used for the Bridgetown Maltese Knight Abbey.

Outlaws
Masked men used as "default" for locations that don't have a specific enemy type set.
Not sure if this actually occurs very much. Perhaps the shore on Puerto Rico?
NOT used for the rapists, though those do make use of the same models. Not sure how that even works. o_O

Also used as boarding models for a special set of quest ships in the Jack Sparrow storyline.

Monkeys
Only one character model in the group, so this is just about useless.
I wonder if we can hardcode the monkey model to be used and remove the group.

Land_Officers
For leader of the Coastguard who catches you during smuggling and for navy ship captain model.
Checked to ensure prison commanders are officers. I think.

Elderly

Unused?

Priests
Unused. Formerly intended for the Maltese Knight Abbey, but no longer necessary.
There are no random encounters with priests.

Soldiers
Used in many instances, but notably NOT navy boarding crew!
Because that makes use of the models defined in nations_init.c, so we should change this to use this group too.

This is to be further researched and updated as time allows so that we can decide how to proceed.
 
This sound like a lot of work to do... It would for sure be nice to have more order in this, but I never really stumbled over any of this. I am trying to say is, the way it is now does not bother me at all.

The only thing that sometimes bothers me is when I board a pirate ship, that I cannot tell my guys apart from the pirates. But I can live with this.
 
The only thing that sometimes bothers me is when I board a pirate ship, that I cannot tell my guys apart from the pirates. But I can live with this.
That is actually a fair point.

While I think there IS a difference between your own crew and pirate boarding crew, indeed the difference is probably not all that obvious.
To make matters worse, merchant ships get Sailors as boarding crew now which is the same that you have yourself.
So then you REALLY can't tell anymore. o_O

Not entirely sure how to get around this, though. Sounds like we need at least two groups of sailors: Player sailors and non-player sailors.
Ideally a third group for pirate sailors, since they shouldn't really look like merchant crews. Not sure if we have enough models for that....
 
Well in real life, when I go into battle with my crew of pirates :napoleon we all wear a big red belt tied around or a red bandana around one arm....

One could make an item similar to a cuirass that would show on the characters. E.g. a thick red or green or blue (maybe different colours available) sash, that you can buy (store or tailor) that you can put into the weapons locker for your guys to use? I mean the cuirasses show at least on some characters, like some of the lady officers and the "Jack Sparrow Captain of the different nations outfits".
 
Those armor variations all have to be created as separate models. That'll be a pain indeed to do for all sailor models. :shock
 
While I think there IS a difference between your own crew and pirate boarding crew, indeed the difference is probably not all that obvious.
To make matters worse, merchant ships get Sailors as boarding crew now which is the same that you have yourself.
So then you REALLY can't tell anymore. o_O
Now you know why uniforms were invented. xD
Not entirely sure how to get around this, though. Sounds like we need at least two groups of sailors: Player sailors and non-player sailors.
Ideally a third group for pirate sailors, since they shouldn't really look like merchant crews. Not sure if we have enough models for that....
Looking through "RESOURCE\Textures\Characters", there are lots of pirate and corsair models. Having a separate group for pirate sailors should therefore be easy. There are also "Sailor7", "Sailor9", "Sailo13", "Sailo14", "Sailo15" and "Sailo16". (What happened to 1-6, 8 and 10-12?) There are also a whole load of "bocman" models, some suitable for sailors and some for pirates, judging by their descriptions in "initModels.c". So there should be enough to split into yours and theirs.

Otherwise, yes, a deck full of fighting sailors is confusing. There are clues, though. Anybody facing the same way as you is probably a friend, at least at the start before people have moved around a bit. Anybody you hit who doesn't take damage is definitely a friend, though in reality he might not be your friend after that. ;)

What happened to the setting in "InternalSettings.h", "BOARDERMODEL", which allowed you to choose which set of boarders would accompany you? Is that no longer obeyed?
 
Now you know why uniforms were invented. xD
Yeah, so removing the soldiers from merchant ships would not help on that. :facepalm

Looking through "RESOURCE\Textures\Characters", there are lots of pirate and corsair models. Having a separate group for pirate sailors should therefore be easy. There are also "Sailor7", "Sailor9", "Sailo13", "Sailo14", "Sailo15" and "Sailo16". (What happened to 1-6, 8 and 10-12?) There are also a whole load of "bocman" models, some suitable for sailors and some for pirates, judging by their descriptions in "initModels.c". So there should be enough to split into yours and theirs.
Otherwise, yes, a deck full of fighting sailors is confusing. There are clues, though. Anybody facing the same way as you is probably a friend, at least at the start before people have moved around a bit. Anybody you hit who doesn't take damage is definitely a friend, though in reality he might not be your friend after that. ;)
I suspect some of those "missing" sailor models never existed. :shrug

But indeed we'll just have to go through them all and assign each to either player, pirate or merchant sailors.
Then we can take it from there. :yes

What happened to the setting in "InternalSettings.h", "BOARDERMODEL", which allowed you to choose which set of boarders would accompany you? Is that no longer obeyed?
Might still be used. Somewhere. Perhaps.
But the whole player boardermodel code as written is onehelluva mess.
 
I'll see if I can get started on this tomorrow as well; perhaps clean up the boardermodel code a bit and ensure the player crew is different from other sailors.
 
would it be possible to have a way to set a uniform for your flotilla's crew so you don't go trying to shoot your own men during boarding/landing operations ?
 
There are some settings for it in program\InternalSettings.h which might still work.
I still intend to rewrite the related code because it is quite messy.
Wanted to do that yesterday actually, but ran out of time. Perhaps later this week.
 
would it be possible to have a way to set a uniform for your flotilla's crew so you don't go trying to shoot your own men during boarding/landing operations ?
There are some settings for it in program\InternalSettings.h which might still work.
I still intend to rewrite the related code because it is quite messy.
Wanted to do that yesterday actually, but ran out of time. Perhaps later this week.

I can confirm that:
#define BOARDERMODEL "corsair" and "soldier" is working fine. But to you @Pieter Boelen I can say that "masked" have some bugs and I've have some troubles with the "boarder" command although I have spelled all 'new' boarders correctly. My boarders are:
#define NATHANIEL_BOARDER_0 "will_3"
#define NATHANIEL_BOARDER_1 "Sailor14"
#define NATHANIEL_BOARDER_2 "Emilio2"
#define NATHANIEL_BOARDER_3 "BillyBrock"
#define NATHANIEL_BOARDER_4 "Black_Corsair"
#define NATHANIEL_BOARDER_5 ""
#define NATHANIEL_BOARDER_6 "Chameleon"
#define NATHANIEL_BOARDER_7 "Corsair1_2"
#define NATHANIEL_BOARDER_8 "Corsair2"
#define NATHANIEL_BOARDER_9 "Killer"
#define NATHANIEL_BOARDER_10 "Korsar"
#define NATHANIEL_BOARDER_11 "Pirat1"
With the "masked" code only one boarder is showing and with the "boarder" code, no boarders is showing, although the original boarder_?? "???" codes is working fine :) - I havent tried the other options.


If you play as a pirate @PapaDooks I can recommend using the "corsair" code :)
 
That is pretty much why I want to rewrite it, because it does all sorts of "things" but I don't think it does them right. :facepalm
 
That is pretty much why I want to rewrite it, because it does all sorts of "things" but I don't think it does them right. :facepalm
I understand completely. I have considered changing the "corsair" and/or the "standard" 'groups'. Because I thought the "corsair" group is a little too much fantasy pirates (if you understand me) and standard group similar too much with your opponent as @PapaDooks says. I would like to make a draft to a new "corsair" and/or "standard" if you want it?
My personal suggestion would be to have only one 'group' ("standard") that resemble sailors, but not your opponent. - Later, we/you can consider whether there should be changes in the rank system at nations. If you can tell me which file groups link to, can I upload a file to you. If I'm not too busy, I can have it ready by the weekend if you want? :)
 
Last edited:
@Edward Low and @PapaDooks: I have merged the original thread with my own earlier one, since the two are closely related.

What I want to do is:
1. Go through the sailor-models in PROGRAM\Models\initModels.c and create a separate group for "player sailors" and "non-player sailors"
2. Change the BOARDERMODEL code to use the player-sailors by default, unless another group is defined
3. Allow one extra "custom" group that you can pre-define in InternalSettings.h

I would certainly appreciate some assistance with this!
Especially a list of character models for the "player sailors" and "non-player sailors" would be quite useful.
 
Thats perfect @Pieter Boelen I'll upload a file OR a list of each group before friday evening. If anyone has any suggestions on models pleace post Them here - and I would prefer before Thursday, so I have time to test them before I uploading it :)
 
What way do you use to check the models? GM Viewer would be easiest, but it doesn't show textures for characters anymore on recent Windows versions.
You can use the Select Storyline character filters, but not all models have individual portraits.
Console with GiveModel2Player might be an option. I seem to remember the tailors allow you to cycle through ALL character models if DEBUG is on.
 
What way do you use to check the models? GM Viewer would be easiest, but it doesn't show textures for characters anymore on recent Windows versions.
You can use the Select Storyline character filters, but not all models have individual portraits.
Console with GiveModel2Player might be an option. I seem to remember the tailors allow you to cycle through ALL character models if DEBUG is on.

My idea was to find the code for the "standard" option link to and test it 'the hard way' (open the game and start a fight)
But now you mention it @Pieter Boelen I have had a hard time finding the tools I can use for the 3D moddeling. If you can send me a link, I'll be really happy (and yes, all of them! None of the links in've put up here or in the PDF file works :/) Im using win (8.1

As I se it the GiveModel2Player code cant help here. For some reason there is a difference to the game's response to the two codes.. I have not figured out why yet.. :p
 
But now you mention it @Pieter Boelen I have had a hard time finding the tools I can use for the 3D moddeling. If you can send me a link, I'll be really happy (and yes, all of them! None of the links in've put up here or in the PDF file works :/) Im using win (8.1
Here you go: http://www.piratesahoy.net/build/tools/

My idea was to find the code for the "standard" option link to and test it 'the hard way' (open the game and start a fight)
That would take an excessive amount of time; don't do it that way! :shock

As I se it the GiveModel2Player code cant help here. For some reason there is a difference to the game's response to the two codes.. I have not figured out why yet.. :p
What do you mean? I know that function works. It's just annoying that you have to do it one-by-one and would have to assign the model to an officer to see the front.
See if PROGRAM\DIALOGS\tailor_dialog.c contains any DEBUG-related options. If I am right, there should be something quite useful in there.
 
Back
Top