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

Mod Release GOF Historical Eras Module #2

Status
Not open for further replies.
MK, I hope your injury is something like a twisted ankle and not something like eating a tree.

TBK: I have noticed the blank square there but never knew anything went there. :onya
 
MK, I hope your injury is something like a twisted ankle and not something like eating a tree.

TBK: I have noticed the blank square there but never knew anything went there. :onya

There are a lot of little things that have been added over the years, fixed, and improved.
MK used GOF 1.1 as the baseline, so a lot things got omitted.
This is part of the stuff that really adds up, an why my install became so big included leftover files from other games and textures.

I guess we will see what gets patched upon his eventual release.
I probably won't install the patch completely, because it may over write things that I already fixed or improved.
I am am interested in the new pirate town at Dominica, because this is feature no one really seemed interested in improving and should have, it is a huge bonus.
 
I have run into a new problem. After spending most of the day in one battle I finally got out of it and made it to port with the Wicked Wench. After spending so much time getting this ship I don't want to just sell it, so tried to put in Port Control.
Everything went normally until it came time to select the ship and then all of the buttons stopped working. I tried this 3 times.

This worked fine the only other time I tried it. Is there a way to fix this?
 
I have run into a new problem. After spending most of the day in one battle I finally got out of it and made it to port with the Wicked Wench. After spending so much time getting this ship I don't want to just sell it, so tried to put in Port Control.
Everything went normally until it came time to select the ship and then all of the buttons stopped working. I tried this 3 times.

This worked fine the only other time I tried it. Is there a way to fix this?

Yes, this can be fixed.

This is the "port control" dialogue bug that occurs when you have a full fleet (5-8 ships), regardless if the port is full as well.
I don't know the frequency, but it does happen.
This was the result of increasing your maximum fleet mod (8 ships), but not taking into account the port control section.
The mod is currently only set up to store a maximum of three ships in each city (from stock vanilla CoAS) and was never changed (see my post on current statue of questline status)

You need to modify the Common_Portman.c (Port Control Dialogue) to increase the number of ships you can store in each harbor.
I use 5 five ships per city as my personal baseline, and this alleviates the problem, except when you have a fleet of 8 ships because there still is some coding incompatibility, which I will note below.
Either way, no new game is required, and you won't lose your ships already in port control if you done properly.

Game Development Note: In the instruction manual, it states you can OWN up to 16 ships total which includes the original maximum of 5 ships in your fleet.
I don't know if you just want my file, which should work in your game with no problems.
This is where I believe the incompatibilities begin, but I no idea where the character maximum ships setting is in this game, as I have not gone code searching for it.
I picked 5 ships to still keep 16 ships maximum in check as this is what I generally use (generally 10 ships in storage over 3-5 ports), but never have tried to store 15 ships!
I have a theory that if you increase the total ships you can can own, say 30 ships, and make the modifications to port control, this bug will completely disappear forever and along with owning an unimpeded fleet of 8 ships.
 
Last edited:
The link for the fix for black screen in various taverns and stores is still closed. Could MK open it?
Thanks in advance.

Regards
 
I do not seem to have that file, but I did install it. :facepalm

I looked at Common_Portman.c but did not see anything about how many ships in it. But looking at that stuff crosses my eyes anyway. I had 6 ships total with no ships stored in any port control anywhere. I have since reduced my fleet to 4 ships and the game works much better.
 
I do not seem to have that file, but I did install it. :facepalm

I looked at Common_Portman.c but did not see anything about how many ships in it. But looking at that stuff crosses my eyes anyway. I had 6 ships total with no ships stored in any port control anywhere. I have since reduced my fleet to 4 ships and the game works much better.


This is the section you need to modify (note the >=3 ships, which states only three ships can be stored, this is where changes need to begin):
You also need to add more "dock slots" (ShipStockMan_x) for the number of ships, and crosscheck every DLG_text_base entry so nothing gets dialogue locked.


Code:
  case "ShipStock_1":
            if (sti(NPChar.Portman) >= 3)
            {
                dialog.text = DLG_TEXT_BASE[143];
                Link.l1 = DLG_TEXT_BASE[144];
                Link.l1.go = "exit";
            }
            else
            {
                ok = (sFrom_sea == "") || (Pchar.location.from_sea == sFrom_sea);
               if (sti(Pchar.Ship.Type) != SHIP_NOTUSED && ok)
                {
                    dialog.text = DLG_TEXT_BASE[145];
                  for(i=1; i<COMPANION_MAX; i++)
                   {
                     cn = GetCompanionIndex(PChar, i);
                     if( cn >0 )
                     {
                         chref = GetCharacter(cn);
                           if (!GetRemovable(chref)) continue;
 
                         attrL = "l"+i;
                         Link.(attrL)    = XI_ConvertString(RealShips[sti(chref.Ship.Type)].BaseName) + " " + chref.Ship.Name;
                         Link.(attrL).go = "ShipStockMan_" + i;
                     }
                 }
                  Link.l9 = DLG_TEXT_BASE[146];
                  Link.l9.go = "exit";
                }
                else
                {
                    dialog.text = DLG_TEXT_BASE[147];
                  Link.l1 = DLG_TEXT_BASE[148];
                  Link.l1.go = "exit";
                }
            }
        break;

        case "ShipStockMan_1":
            NPChar.ShipToStoreIdx = GetCompanionIndex(PChar, 1);
            dialog.text = DLG_TEXT_BASE[149];
            Link.l1 = DLG_TEXT_BASE[150];
            Link.l1.go = "ShipStock_2";
            Link.l2 = DLG_TEXT_BASE[151];
            Link.l2.go = "exit";
        break;

        case "ShipStockMan_2":
            NPChar.ShipToStoreIdx = GetCompanionIndex(PChar, 2);
            dialog.text = DLG_TEXT_BASE[152];
            Link.l1 = DLG_TEXT_BASE[153];
            Link.l1.go = "ShipStock_2";
            Link.l2 = DLG_TEXT_BASE[154];
            Link.l2.go = "exit";
        break;

        case "ShipStockMan_3":
            NPChar.ShipToStoreIdx = GetCompanionIndex(PChar, 3);
            dialog.text = DLG_TEXT_BASE[155];
            Link.l1 = DLG_TEXT_BASE[156];
            Link.l1.go = "ShipStock_2";
            Link.l2 = DLG_TEXT_BASE[157];
            Link.l2.go = "exit";
        break;
     
        case "ShipStockMan_4":
            NPChar.ShipToStoreIdx = GetCompanionIndex(PChar, 4);
            dialog.text = DLG_TEXT_BASE[158];
            Link.l1 = DLG_TEXT_BASE[159];
            Link.l1.go = "ShipStock_2";
            Link.l2 = DLG_TEXT_BASE[160];
            Link.l2.go = "exit";
        break;
 
Last edited:
Well, I took 5 ships to a port control and this time it worked and the Revenge is stored away.

Why is the Revenge a class 3 ship? She has 40-20 pound guns and the one I acquired has 244 crew. Not a big ship. start 2014-02-23 16-48-50-99.jpg

I ask because the next battle I got into involved a 60 gun ship, a 56 gun ship, a 40 gun ship, a light fluyt with 16 guns (this was the first one of those I have seen and me wants it), and this thing that looks like a 42 gun frigate except that it was hitting me from almost 1,000 yards out! It was called Luck and I think it is the Fortune, but the Fortune has 32 pounders. start 2014-02-23 18-36-51-75.jpg start 2014-02-23 18-42-58-97.jpg

So the Revenge went into storage as I want no part of a fleet like that. :8q
 
changing the colors of the sails at the shipyard gets a bug placing an image on the sails of the image seleccion ( that is empty ) the redbackscreen with gold borders
 
Is the advanced sloop a ship that crashes the game when a mast falls? because it just happened to me.;(
 
maybe was a nuked bullet shoot jaja no idea , im searching the way to fix that ... maybe placing a transparent image as icon for the sail( the sail bug i mean )

this appear on the shipyard.init line 946
Code:
[SHIP_WINDOW_EMBLEME]
command = activate
command = deactivate,event:ChangeSails
command = rightstep
command = leftstep
command = speedright
command = speedleft
command = click,select:SHIP_WINDOW_EMBLEME
dwSelectColorARGB1 = 255,98,98,98
position = 273,286,463,350
imageSize = 64,64
wDelta = 0
glowoffset = 0,0

the comand to acces the emblem in the sail editr at the shipyard is , on , but no icons appear to select one , all are empty , disabling it ? maybe fix it ?? im gonna try

nop the error is not there , its an interface error so maybe its here \Program\INTERFACE\shipyard.c at the end there is a added part from phillppe
Must be here because the colors panel load well and also ingame , i think the emblems has a bad route , maybe there is an error here linking the shipyard menu with \RESOURCE\Textures\INTERFACES\SAILS

Code:
//////////////////////////////////////////////////////////////////////////////////
///////// PHILIPPE COULEUR DES VOILES (JA convert to COAS)
///////////////////////////////////////////////////////////////////////////////////

void ChangeSelectScrollImage()
{
    string sNod = GetEventData();
    int nIdx = GetEventData();
    if( sNod=="SHIP_WINDOW_SAILS_COLOR" || sNod=="SHIP_WINDOW_EMBLEME" )
    {
        if( sNod=="SHIP_WINDOW_SAILS_COLOR" ) {
            GameInterface.SHIP_WINDOW_SAILS_COLOR.current = nIdx;
        } else {
            GameInterface.SHIP_WINDOW_EMBLEME.current = nIdx;
        }
        CheckChangeSailStatus();
    }
}
void FillSailsColorScroll()
{
    // fill colors list
    for (int i = 0; i < SAILS_COLOR_QUANTITY; i++)
    {
        string attrName = "pic" + (i + 1);
        GameInterface.SHIP_WINDOW_SAILS_COLOR.(attrName).name1 = SailsColors[i].icon;
    }
    GameInterface.SHIP_WINDOW_SAILS_COLOR.ListSize = SAILS_COLOR_QUANTITY;
    GameInterface.SHIP_WINDOW_SAILS_COLOR.current = 0;

    SendMessage(&GameInterface,"ls",MSG_INTERFACE_REFRESH_SCROLL,"SHIP_WINDOW_SAILS_COLOR");
    SendMessage(&GameInterface,"lsll",MSG_INTERFACE_MSG_TO_NODE,"SHIP_WINDOW_SAILS_COLOR", 1,1);

}

void FillEmblemesScroll()
{

    EnumerateIcons("resource\textures\" + sUserSailsPath, "*.tga.tx", "SHIP_WINDOW_EMBLEME", 0);
    iEmblemNum = GameInterface.SHIP_WINDOW_EMBLEME.listsize;
    iEmblemNum ++;

    string attrNameTmp = "pic" + (iEmblemNum);
    GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).name1 = "resource\Textures\INTERFACES\Disketa_Empty.tga.tx";
    GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).FileName = "Disketa_Empty.tga.tx";
    GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).FileName.Name = "None";
    GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).FileName.Ext = "tx";

    GameInterface.SHIP_WINDOW_EMBLEME.ListSize = iEmblemNum;

    GameInterface.SHIP_WINDOW_EMBLEME.current = iEmblemNum;

    SetCurrentNode("SHIP_WINDOW_EMBLEME");

    SendMessage(&GameInterface,"ls",MSG_INTERFACE_REFRESH_SCROLL,"SHIP_WINDOW_EMBLEME");
    SendMessage(&GameInterface,"lsll",MSG_INTERFACE_MSG_TO_NODE,"SHIP_WINDOW_EMBLEME", 1,1);
}

int ScrollGetTexture()
{
    string sName = GetEventData();
    int iPicIndex = GetEventData();
    string sScrollID = GetEventData();
    int iTexture = NFGetTexture(sScrollID, sName);

    return iTexture;
}
void CheckChangeSailStatus()
{
    bool bNewValue = true;
    if( CheckAttribute(Xi_refCharacter,"ship.sails.gerald_name") &&
        CheckAttribute(Xi_refCharacter,"ship.sails.color") )
    {
        bNewValue = false;

        int nColor = sti(GameInterface.SHIP_WINDOW_SAILS_COLOR.current);
        int nEmblem = sti(GameInterface.SHIP_WINDOW_EMBLEME.current);

        string sattr = "pic"+(nEmblem+1);
        if( GameInterface.SHIP_WINDOW_EMBLEME.(sattr).name1 != Xi_refCharacter.ship.sails.gerald_name ) {
            bNewValue = true; }
        if( SailsColors[nColor].color != Xi_refCharacter.ship.sails.color ) {
            bNewValue = true; }
    }
    SetSelectable( "CHANGE_SAILS_OK",bNewValue );
}

resource\Textures\INTERFACES\Disketa_Empty.tga.tx
that file is the testure that appear in the bug , seriouslly i think the error is here

maybe this line??
EnumerateIcons("resource\textures\" + sUserSailsPath, "*.tga.tx", "SHIP_WINDOW_EMBLEME", 0);

After 4 hours and 10 coffies i think i found it
also i see that the tgs of the sails have different sizes , so i dont no if they are the finbal tga or the icon tga , the colors 1 have 128x128 in R5g6b5 formatand the emblemsare in 512x512 Size: 512x512; BPP: 16; Alpha channel (1bit); mips: 8; DXT1 - 4x compressed (0bit, 1bit alpha, 16bit color) compresed , maybe that is the bug ? a compresed tga ? LOLL XD tomorrow i continue but i ask for a modder with more expierence than me to check it , but i think is it , a compresed tga which give the issues ( and if read today somewhere in a dammed tutorial that for txconvertor u CANT compress the tga right ??)
someone that have the potc upload the textures of the sails emblems please ( i dont have the potc xD so i cant fix it without those original textures )
 
Last edited:
I don't think a specific ship losing a mast causes a ctd, but it stresses the engine and can cause a ctd that way. How many ships were around? 10 or more ships in the area causes problems.

I have POTC but do not know which sails you want. I can not post the whole folder because it is too big, even zipped.
 
There was only the enemy ship and ourselves (1v1). That's why I thought its got to be the mast bug.

Do you run your game normal or do you run it in compatibility mode?
 
I don't think a specific ship losing a mast causes a ctd, but it stresses the engine and can cause a ctd that way. How many ships were around? 10 or more ships in the area causes problems.

I have POTC but do not know which sails you want. I can not post the whole folder because it is too big, even zipped.
the emblems for the sails , i dont know the game path because i dont have the potc , im gonna try take them by other way,

even changing that tgs dont work ...

but i notice an error line

im looking to found the root of that

another thing \Program\Ships\Ships.c state this
Code:
void ShipsInit()
{
    if (LoadSegment("ships\ships_init.c"))
    {
        InitShips();
        UnloadSegment("ships\ships_init.c");
    }

    // init sails color
    if (LoadSegment("ships\sails_init.c"))
    {
        InitSailsColors();
        UnloadSegment("ships\sails_init.c");

and in the Sails_Init.c dint specify nothing about emblems , only colors ( and some are mising file tga for example dark red
complete mising file of dark red and dark blue
partial missing file of this i cant find it SailsColors[0].texture = "..............
stating this
Code:
void InitSailsColors()
{

    SailsColors[0].icon = "interfaces\sails\blue.tga";
    SailsColors[0].texture = "parus_blue";
    SailsColors[0].color = argb(255, 153, 204, 255);

    SailsColors[1].icon = "interfaces\sails\green.tga";
    SailsColors[1].texture = "parus_green";
    SailsColors[1].color = argb(255, 153, 255, 153);

    SailsColors[2].icon = "interfaces\sails\red.tga";
    SailsColors[2].texture = "parus_red";
    SailsColors[2].color = argb(255, 255, 153, 153);

    SailsColors[3].icon = "interfaces\sails\yellow.tga";
    SailsColors[3].texture = "parus_yellow";
    SailsColors[3].color = argb(255, 255, 255, 153);

    SailsColors[4].icon = "interfaces\sails\lilo.tga";
    SailsColors[4].texture = "parus_lilo";
    SailsColors[4].color = argb(255, 224, 194, 254);

    SailsColors[5].icon = "interfaces\sails\gray.tga";
    SailsColors[5].texture = "parus_gray";
    SailsColors[5].color = argb(255, 128, 128, 128);

    SailsColors[6].icon = "interfaces\sails\white.tga";
    SailsColors[6].texture = "parus_white";
    SailsColors[6].color = argb(255, 255, 255, 255);

    SailsColors[7].icon = "interfaces\sails\black.tga";
    SailsColors[7].texture = "parus_black";
    SailsColors[7].color = argb(255, 60, 60, 60);

    SailsColors[8].icon = "interfaces\sails\darkred.tga";
    SailsColors[8].texture = "parus_black";
    SailsColors[8].color = argb(255, 160, 40, 40);

    SailsColors[9].icon = "interfaces\sails\darkblue.tga";
    SailsColors[9].texture = "parus_black";
    SailsColors[9].color = argb(255, 34, 34, 125);
}

darkblue.tga
darkblue.tga.tx
darkred.tga.tga
darkred.tga
files into the \RESOURCE\Textures\INTERFACES\SAILS
solves partial bug in the shipyard interface placing where iit has to be ( before appears a strange orange flashing light for the darks tgs misiing files gap

now i will try to add the parus tgs for emblems , but this start to advance a little
 
Last edited:
I can't say about the advanced sloop as I have never demasted it, but I have been in battles where 4-5 ships had lost masts. I learned to save often. In one long drawn out battle I saved 14 times before I managed to get away and almost every ship had lost a mast. There are flag anomalies and the graphic anomaly also.
start 2014-02-17 15-07-47-92.jpg
I run eras in normal mode.

marinero86: Do you want only the sails with emblems? Do you want them in white only, or in red and black also? I know where the sail TGAs are in POTC and can post small packets here.
 
I can't say about the advanced sloop as I have never demasted it, but I have been in battles where 4-5 ships had lost masts. I learned to save often. In one long drawn out battle I saved 14 times before I managed to get away and almost every ship had lost a mast. There are flag anomalies and the graphic anomaly also.
View attachment 15244
I run eras in normal mode.

marinero86: Do you want only the sails with emblems? Do you want them in white only, or in red and black also? I know where the sail TGAs are in POTC and can post small packets here.
all that u have please and the next files if they have it the potc
shipyard.c located in \Program\INTERFACE
Sails_Init.c located in \Program\Ships
Ships.c located in \Program\Ships

those locations are for the age of pirates 2 , try find those files in potc but i think it wont have same name ...

the error line of the picture i post before appears exactlly here
Code:
void FillEmblemesScroll()
{

    EnumerateIcons("resource\textures\" + sUserSailsPath, "*.tga.tx", "SHIP_WINDOW_EMBLEME", 0);
    iEmblemNum = GameInterface.SHIP_WINDOW_EMBLEME.listsize;
    iEmblemNum ++;

    string attrNameTmp = "pic" + (iEmblemNum);
    GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).name1 = "resource\Textures\INTERFACES\Disketa_Empty.tga.tx";
    GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).FileName = "Disketa_Empty.tga.tx";
    GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).FileName.Name = "None";
    GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).FileName.Ext = "tx";
 
    GameInterface.SHIP_WINDOW_EMBLEME.ListSize = iEmblemNum;

    GameInterface.SHIP_WINDOW_EMBLEME.current = iEmblemNum;
 
    SetCurrentNode("SHIP_WINDOW_EMBLEME");
 
    SendMessage(&GameInterface,"ls",MSG_INTERFACE_REFRESH_SCROLL,"SHIP_WINDOW_EMBLEME");
    SendMessage(&GameInterface,"lsll",MSG_INTERFACE_MSG_TO_NODE,"SHIP_WINDOW_EMBLEME", 1,1);
void FillEmblemesScroll()
{

EnumerateIcons("resource\textures\" + sUserSailsPath, "*.tga.tx", "SHIP_WINDOW_EMBLEME", 0);
iEmblemNum = GameInterface.SHIP_WINDOW_EMBLEME.listsize;
iEmblemNum ++;

string attrNameTmp = "pic" + (iEmblemNum);
GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).name1 = "resource\Textures\INTERFACES\Disketa_Empty.tga.tx";
GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).FileName = "Disketa_Empty.tga.tx";
GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).FileName.Name = "None";
GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).FileName.Ext = "tx";

GameInterface.SHIP_WINDOW_EMBLEME.ListSize = iEmblemNum;

GameInterface.SHIP_WINDOW_EMBLEME.current = iEmblemNum;

SetCurrentNode("SHIP_WINDOW_EMBLEME");

SendMessage(&GameInterface,"ls",MSG_INTERFACE_REFRESH_SCROLL,"SHIP_WINDOW_EMBLEME");
SendMessage(&GameInterface,"lsll",MSG_INTERFACE_MSG_TO_NODE,"SHIP_WINDOW_EMBLEME", 1,1);
this line for being more accurate
please any more experienced modder help will be very apreciated , i havent touch those files like ... puf 6 years ago ?
line 1544 of the doc shipyard.c at the \Program\INTERFACE
GameInterface.SHIP_WINDOW_EMBLEME.(attrNameTmp).name1 = "resource\Textures\INTERFACES\Disketa_Empty.tga.tx";
 
Here are the sails.

And here are the C files.
 

Attachments

  • purewhite sails.7z
    1.3 MB · Views: 121
  • special sails.7z
    1.2 MB · Views: 141
  • torn black sails.7z
    238 KB · Views: 116
  • torn red sails.7z
    680.4 KB · Views: 134
  • torn white sails.7z
    355 KB · Views: 114
  • weathered sails.7z
    1.8 MB · Views: 126
  • whole black sails.7z
    493.4 KB · Views: 111
  • whole red sails.7z
    699.9 KB · Views: 134
  • whole white sails.7z
    683.5 KB · Views: 147
  • shipyard.7z
    23.8 KB · Views: 119
I need another post to get the last ones uploaded.
 

Attachments

  • Ships_init.7z
    35.2 KB · Views: 113
  • Ships.7z
    8.6 KB · Views: 121
thx so much dude , downloading , i will take a look but what cfg are the good one ?' the last ?
edit fuking awesome textures
there is no sail_init ??

and how did u change that sails in potc ?' from the shipyard , from the ship menu ?

i fix the bug ( partially)
deleting the emblem options in the \Program\INTERFACE\shipyard.c
all the colors work good now , i will try to rebuilt that from 0 but puffff
 
Last edited:
Status
Not open for further replies.
Back
Top