Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

I still suggest going through a 2018 (the working copy I gave just recently) and the 2021 version, and comparing all the different files.

Using FreeFileSync, not counting the new files that would be added, there are 951 files that are different:


Then you have to go through every one of them, compare them, and modify what is different in the 2018 working version, that is specific to making it work with Maelstrom.  Here is that MAXIMUS comparison:

Some things are because they were Storm 2.8 fixes, like replacing all ResetSoundScheme(); calls in every file except sound.c, with ResetSound();

There are lots of things, but the only way to find them all is compare those 900+ files to be sure you get them all.  Then in the case of things like the ResetSoundScheme thing, is to do a global search of all the files, because some files are newly added and there is no comparison to do, and if they contain things that we know need to change, you have to search for them.

Ok, will do that now. 

Ok, so I updated to the latest build from May 2021. I spent last 2 days fixing all the script errors. I think I fixed them all, except the one in utils.c:

RUNTIME ERROR - file: utils.c; line: 2091

function 'GetStoryline' stack error

RUNTIME ERROR - file: utils.c; line: 2091

function 'GetStoryline' stack error

RUNTIME ERROR - file: utils.c; line: 2091

function 'GetStoryline' stack error

I just don't get it why GetStoryline is bad code, when it appears in different files as well.

Here's the updated Resource and Program folder:

https://mega.nz/file/1GoEiL5D#GAKiPDQFsoPzNFgXly6o-mBPcrCV7lkVDEWE_3l4qcc

https://mega.nz/file/oSgwiBwC#O5qG-vBnGNxrjHoGWQdV6pzXEOE1WJgukj70un8lqDY

It's because they screwed up in INTERFACE\select_storyline.c:

CharFirstName = GetStoryline(slno, CharFirstName);
CharMiddleName = GetStoryline(slno, CharMiddleName);
CharLastName = GetStoryline(slno, CharLastName);

Should be:

CharFirstName = GetStorylineVar(slno, CharFirstName);
CharMiddleName = GetStorylineVar(slno, CharMiddleName);
CharLastName = GetStorylineVar(slno, CharLastName);

The New Horizons modders wrote the functions GetStoryLine or GetStoryLineVar; they are not a part of COAS, GOF or ERAS.  So I really don't want to spend my time debugging and troubleshooting errors they have made.  I will sometimes help add or extend features for Maelstrom to work with it, like I did for the Flag and multiple display Log messages it uses...things like that.

Anyway, since it appears you did a fair amount of work already, I did sift through a few other files and this launches and I can start a new, default game:

https://mega.nz/folder/DtcEmR6C#pjia47ERTPh1EoLClQMfOg

Download FixesNH2021.zip

Also note that they did appear to add another command in BattleInterface.c and they may have changed/added the texture icons, but I am not going to adjust anything for that.  So if icons have shifted index in the texture file, someone will have to readjust all the .pic and .selPic values.  I made a note that the Triton needs to be checked  //Boyer note:  Need to check .picNum in texture and also add .selPicNum

I think that new NH modders are not very good at coding, so I won't be upgrading the mod anymore. I will focus now on fixing any bugs/conflicts that may occur due to the Engine upgrade. I will test the fixes that you provided now, and if I need any help with repositioning those buttons/icons, I hope I can count on your help :)

Everything seems to be working, except that I cannot hit with the sword. Firing pistol works with Q button, but clicking does nothing when I draw a sword... 

Because events were missing in Loc_ai\LAi_fightparams.c.  If you compare the current 2016 version  from Itch to the 2021 version, you will see a bunch of code for event_handlers added, even with a comment "//Boyer add below" which is my last name.

I made the change for you and uploaded to that same MEGA link, just the LAi_fightparams.c file by itself.

....please don't tell me I have to review all the 2021 files...I did the most obvious ones I could think of, but I really don't want to do them all.

No, no.  i will review them. But  good for letting me know about Boyer, I wasn't sure where that came from lol 

Is it possible to add blood particles to New Horizons now that it's running Maelstrom engine, like in COAS? If possible, I just need steps which files need to be added?

Need the blood.tga.tx texture file and send an "AddBlood" message in LAi_utils.c.  See https://mega.nz/folder/DtcEmR6C#pjia47ERTPh1EoLClQMfOg

NH2021Blood.zip

Hmm, I get this error log when applying blood update: (the game starts but can't load any storyline)

RUNTIME ERROR - file: worldmap\worldmap.c; line: 287

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Invalid function argument

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Invalid function argument

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 861

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 861

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 861

null ap

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 862

Uninitialized aref

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Invalid function argument

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Invalid function argument

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 861

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 861

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 861

null ap

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 862

Uninitialized aref

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Invalid function argument

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Invalid function argument

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 861

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 861

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 861

null ap

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 862

Uninitialized aref

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Invalid function argument

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 841

Invalid function argument

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 861

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 861

Using reference variable without initializing

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 861

null ap

RUNTIME ERROR - file: battle_interface\landinterface.c; line: 862

Uninitialized aref

(1 edit)

That makes no sense that it is from that update, there are only two files in there, one is a texture file, the other is just the LAi_utils.c file, which only added the LaunchBlood fuction in the apply character damage and has nothing to do with worldmap or landinterface.  Are you sure you added the correct thing?

I also do not get any error when I start a new game after adding that change.

sorry, my mistake. I was using your 2016 Program folder because in 2021 updates I have some wrong battleinterface icons, but you already mentioned that they changed something. In your 2016 build the icons are proper, but I will get back to that. The blood is working nicely, thank you very much Jeffrey, it makes the game look completely different. 

(7 edits)

Comparing the 2021 fixes with your first 2016 build, filesync shows me that there are 795 files that are different.  Somewhere in those files I guess there are fixes for the bugs that appear now with this 2021 build:

spyglass still not working

wrong icons in battle interface menu

incomaptible savegame everytime I save a game (that used to work)

when firing cannons, only certain cannons show smoke particle

some ship and character icons and desriptions missing when choosing ships/characters in Free Play game.

enemy ships surrender too easily (I don't know if this is a bug or made with purpose like that on original NH, but it sucks)

SHIP's LOG menu is not working when in F2 menu

EQUIP button is missing in Inventory menu (used to work in 2016 build)

storms have flat waves while in original NH they look pretty scary :)

If you could point me which files to look at, I could try to fix those.  Thank you very much for all you are doing, I'm trying to make it as playable as possible, so you can post the new update here on itch.io

P.S. for storms I know that I need to fix the sea harmonics in Daystorm.c so I will fix that by myself, because it's same as with GoF mod.

Also, how to get rid of this ugly ===start_storyline.c===, it now seems to appear everywhere, in 2016 build it didn't...


(1 edit)

I reverted the LAi_fightparams.c and LAi_events.c to the 2018 version because I realized that with 2021 files blocking with sword didn't have any effect, enemies were doing damage to me like I wasn't blocking at all, so it would've been pointless and too difficult. I also changed the step_sand sound in RESOURCES because it sounded so bad that I couldn't stand it.

https://mega.nz/file/paRgXTKS#BjDwpxFopxEH7nedgjLregJg5I5AcbPwRlNqlNw486U