• 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 Horizons on StormX

Hammie

Storm Engine developer
Staff member
Storm Modder
I've made quite some progress on porting New Horizons to run on StormX, the latest open-source version of the Storm Engine. I feel like the game is in a playable state now, there are still many minor issues and graphical glitches, but I think most of the boring work is completed.

I'd like to share this with you all so you can try it yourself, provide feedback, and - since you are all modders - help me finish this project.

Installation instructions:
1. Install the latest version of New Horizons like you usually do
2. Download the latest engine (attached: https://www.piratesahoy.net/attachments/stormx_engine_nh-zip.41413/), and extract it on top of New Horizons
3. Download the latest scripts from GitHub (https://github.com/PiratesAhoy/new-horizons/archive/refs/heads/stormx.zip) and extract it on top of New Horizons
4. Turn off fullscreen mode in the engine.ini (`full_screen = 0`)

I've made a standalone installer for New Horizons with the new engine. You need to download 2 files for it to work:
- Installer
- Data archive (4.3 GB)
5. Enjoy modding

:type1

Log files can now be found under ~/Documents\My Games\Sea Dogs\Logs, so you might want to delete the old (compile,error,trace).log files to avoid confusion.

I'm tracking known issues on GitHub here: Issues · PiratesAhoy/new-horizons
But you can also just let me know in this thread and I will take care of keeping things organized
 

Attachments

  • StormX_Engine_NH.zip
    4.5 MB · Views: 89
Last edited:
:ahoy@Hammie ! Tried your StormX. :dance

-Won't load with "Full Screen" ticked in config.exe but got it to start in full screen either way.
-Won't run properly without RivaTuner; limited the FPS to 80; without it, everything is in slow motion.
-I'm also having the same issue with the glitchy mouse in the main menu; don't know where to begin to fix that.
-And I tried Free Play mode, went inside the pirate settlement, started a fight and neither the hostile nor the player won't attack; only having the swords draw out and both just stagger every time they try to attack; clicking the left mouse does the staggering; hard to describe it lol
 

Attachments

  • compile.log
    35.7 KB · Views: 62
  • error.log
    329 bytes · Views: 58
  • system.log
    8.6 KB · Views: 62
:ahoy@Hammie ! Tried your StormX. :dance

-Won't load with "Full Screen" ticked in config.exe but got it to start in full screen either way.
-Won't run properly without RivaTuner; limited the FPS to 80; without it, everything is in slow motion.
-I'm also having the same issue with the glitchy mouse in the main menu; don't know where to begin to fix that.
-And I tried Free Play mode, went inside the pirate settlement, started a fight and neither the hostile nor the player won't attack; only having the swords draw out and both just stagger every time they try to attack; clicking the left mouse does the staggering; hard to describe it lol
Thanks for checking it out!

I should have mentioned that fullscreen mode is still known to cause crashes, so I would avoid it for now. Fixing this will require some more serious engine debugging.

The need for RivaTuner does surprise me, as I can run the game just fine. Try enabling vsync in the engine.ini (`vsync = 1`), that should also limit fps to your refresh rate.

The glitchy mouse is a very mysterious one, the mouse is limited to the bottom-left quarter of the screen, and this only happens on the main menu. :modding

I just got combat working earlier today and by the sound if I'll need to make some more tweaks.
 
@DavyJack The logs files you attached appear to be from the old engine. New log files can be found under ~/Documents\My Games\Sea Dogs\Logs.

Also added that info to the opening post, as it is kinda important :checklist
 
The need for RivaTuner does surprise me, as I can run the game just fine. Try enabling vsync in the engine.ini (`vsync = 1`), that should also limit fps to your refresh rate.
Awesome, no RivaTuner anymore. :dance
@DavyJack The logs files you attached appear to be from the old engine. New log files can be found under ~/Documents\My Games\Sea Dogs\Logs.
xDMy bad. Here are the 'actual' logs now. Lol
 

Attachments

  • Logs.zip
    10.7 KB · Views: 67
@DavyJack Looks like I forgot to add the modified animation descriptors needed for the fighting animations to work. Should be updated (just the scripts), and working now.
 
I've fixed the strange colors appearing in the loading screens, a small issue with footstep sounds, and enabled ship lights.

Sea Dogs 7_24_2022 7_11_53 PM.png

LuggerVML also needed some minor changes to get its lantern to work, but it does make night-time sailing a lot more interesting.
 
Last edited:
Awesome! Combat does work now. But there's no option for me to go to worldmap. Is it because of the difficulty level? I am playing on Arcade mode and difficulty set to Sea Dog. Also, there is this stretch of the ship's sails when sailing in 3rd person.
2022-07-24_16-59-41.jpg
 

Attachments

  • Logs.zip
    4.9 KB · Views: 51
Awesome! Combat does work now. But there's no option for me to go to worldmap. Is it because of the difficulty level? I am playing on Arcade mode and difficulty set to Sea Dog.
The worldmap is still broken - we would need to recreate the entire map to fix this -, so I disabled it in InternalSettings for now. Direct-sail should work pretty well though. Also not sure if right now I want to fix the worldmap or just make direct-sail a lot better.

Also, there is this stretch of the ship's sails when sailing in 3rd person.
View attachment 40967
That is actually the back pennant flag of your ship getting stretched: Flags sometimes go crazy after transitioning scenes · Issue #11 · PiratesAhoy/new-horizons.

I think it is related to the flag entities not being destroyed correctly when reloading scenes, but haven't quite figured it out yet.
 
Downloaded and installed and will give it some attention.
Had to tell my virus software it is OK otherwise it killed it but I guess that's expected for an unrecognised EXE

Started TOSH since that's the line I know
First reaction some loading screens black when the coin spin is also slowed others are OK.
Slow to react to bring up icons to talk etc
(This is on an old laptop but it runs the original engine OK on windows 10 - never had the framerate problems because of the lower powered processor I guess - running the intel fix). EDIT - Having just glanced at some of the livestream my machine is MUCH slower so maybe not up to running on the new engine (although it is ok with the original storm and maelstrom (back when I was trying that)). On livestream you have pretty quick transitions where load screen is broken I have long blackscreen with staccato coin. Just an observation really ENDEDIT

Crashed when I tried to go to sea - got as far as the weather - then a small console screen appeared - presumably writing the logs, then back to game file (where I ran the exe from)
 

Attachments

  • Logs.7z
    7 KB · Views: 48
Last edited:
@pedrwyth Thanks for testing it out!

Code:
[2022-07-25 17:02:11.151] [system] [info] [D:\a\storm-engine\storm-engine\src\libs\renderer\src\s_device.cpp:GetRenderTargetData:3874] D3DERR_INVALIDCALL: Invalid call (d3d9->GetRenderTargetData(pRenderTarget, pDestSurface))

[2022-07-25 17:02:11.151] [system] [info] [InfoHandler] GetRenderTargetAsTexture failed

This might indicate a problem with your graphics card or other hardware, what graphics card do you have?
 
@pedrwyth Thanks for testing it out!

might indicate a problem with your graphics card or other hardware, what graphics card do you have?


As I said it is a pretty old laptop, looking online 2009 - Dell Inspiron 1545 with integrated Intel graphics. (probable Graphics Processor: integrated Intel GMA 4500MHD graphics). Not too fussed if it is not in your target machine audience (the NH mod already left XP machines in its wake some time back) - yes I still have one of those -and millenium/98/95, hell I could probably even scrape up a pre-windows dos os). I have a couple of other (newer?) machines that run POTC NH I will try but at three score years and ten :dfiddleI won't be upgrading.
 
Last edited:
@pedrwyth according to the documentation I can find, your computer should not be giving that error :shrug I do have a small collection of old computers myself, maybe I can at some point dust them off to debug the game on some older hardware.

I did some more work on getting the spyglass to work. It should now be "usable" and display all the correct information, but it still needs work on the graphics/layout.
Also fixed an issue with ship lights not being enabled for all AI ships, and added lights to the Brig1 ship model.

I also moved the ship texture fix from the engine to the scripts, so you have to update both the engine and scripts for the latest version to work.
 
I've managed to make the weather look not terrible:

Sea Dogs 27_07_2022 21_44_41.png

And enabled some basic rain drops (which may be hard see in a still image):

Sea Dogs 27_07_2022 22_00_14.png
 
The weather looks good. :onya But shouldn't the ship icon have status bars for hull damage, sail damage and crew? Is there another way of displaying the third status item?
 
The weather looks good. :onya But shouldn't the ship icon have status bars for hull damage, sail damage and crew? Is there another way of displaying the third status item?
CoAS adds the crew amount as a number below the ship image, I'll see about adding that as well for now.
 
- Reworked the entire flag system. Flags and pennants should now be working really well, including no more glitches when loosing masts like you sometimes have in Storm 2.0.
- Improved fog and island rendering. Islands should no longer appear in front of your ship.
- Added 3D ship indicators.

Update both the engine and scripts!
 
Some more information on the flag changes:

Flag textures now support a 2D array of flags - like all newer Storm games - so I combined flag and pennant textures, placing the pennants on the second row.

shpflg4.png


"Special" flags can also be added to models using "sflag" locators, these flags will get the "isSpecialFlag" boolean set to true in "GetRiggingData". I've decided to use these special flags as pennants. So instead of "penn" locators we now need "sflag" locators, which does mean all the models need some more locator updates.

The engine has been modified to allow for the creation of multiple "Flag" entities, and flags have 3 new attributes:
- texture: the texture to use for the flag
- textureColumns: the number of columns of flags in the texture
- textureRows: the number of rows of flags in the texture
You can update these attributes at any time, but its more efficient to set them before entity initialization.

In order to assign a specific flag entity to a ship, I added a new "MSG_SHIP_SET_CUSTOM_FLAG" message, taking as single parameter the flag entity to use.
Code:
SendMessage(rCharacter, "li", MSG_SHIP_SET_CUSTOM_FLAG, &flag);

And as a final improvement I added the ability to return -1 from "GetRiggingData" to disable an individual flag. This means no more invisible flags and flag textures, which also means we have some more free empty flag slots.
 
- Fixed a bug causing quest-book text and titles to miss the last letter.
- Updated the spyglass information to display the correct information and icons. Not quite finished but getting better.
 
Back
Top