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

Sun Position incorrect

kevinatlanta

Sailor
Storm Modder
Build 14 Alpha 6. Sun Rise is incorrect.

The Sun incorrectly rises in the West and sets in the East - and moves through the sky in that direction. This is exactly opposite (180 degrees) from what it should be. Reflections on the sea mirror the sun's movement, i.e., they match where the sun is in the sky.

<div align="center">
<a href="http://img25.imagevenue.com/img.php?image=33758_sun_front_122_1078lo.jpg" target="_blank"><img src="http://img25.imagevenue.com/loc1078/th_33758_sun_front_122_1078lo.jpg" border="0" class="linked-image" /></a>
</div>

However, the lighting effects on the ship hull and mast are 180 degrees off from the position of the sun. If the sun is BEHIND you, the lighted portion is incorrectly on the FRONT of your ship. But, the lighting for the ships actually appears to be correct for an East to West movement of the Sun. (NOTE: The reys appear to be lit from BEHIND, at least on the ship model I tested - "Wicked Wench").

<div align="center">
<a href="http://img177.imagevenue.com/img.php?image=33769_sun_back_122_419lo.jpg" target="_blank"><img src="http://img177.imagevenue.com/loc419/th_33769_sun_back_122_419lo.jpg" border="0" class="linked-image" /></a>
</div>

The WorldMap image is 180 degrees flipped (basically upside down) - I don't know if this is the way it was designed, or if this is a mod. (Cuba is to the South, Oxbay is to the North, Hispaniola is to the West, Concecaio is to the East). The worldmap image is located in \RESOURCE\Textures\WorldMap\Sea\sea.tga.tx

<div align="center">
<a href="http://img34.imagevenue.com/img.php?image=33770_sea_122_900lo.jpg" target="_blank"><img src="http://img34.imagevenue.com/loc900/th_33770_sea_122_900lo.jpg" border="0" class="linked-image" /></a>
</div>

Also, here's a quote from another post...
<!--quoteo(post=188737:date=Apr 9 2007, 02:45 PM:name=Hook)--><div class='quotetop'>QUOTE(Hook @ Apr 9 2007, 02:45 PM) [snapback]188737[/snapback]</div><div class='quotemain'><!--quotec-->I spent a lot of time trying to get the sun in the right place, but it didn't work right. Even though the sun was in the right part of the sky, all the rest of the lighting was wrong, as if the sun had not been moved.

The sun rises in the west, passes across the northern part of the sky, and sets in the east. And it does appear in different parts of the sky at different times of the day. I didn't check to see where the moon appears.

We've discussed turning the map upside down and making the compass point in the right direction, but apparently it messes with all the coordinates in the game. Yeah, I'd like the sun to be in the right place, but no one seems to know how to do it. The problem appeared when we went to the larger map.

Hook<!--QuoteEnd--></div><!--QuoteEEnd-->


My questions are...

1. Is anyone familiar with the changes made to move to a larger worldmap as referenced in Hook's post above (i.e., when, what version, etc.)?

2. Is this a code problem in a file? (probably can't be that simple)

3. Is this possibly a lighting path problem in the island models? (the more likely case, IMHO)

4. Does anyone care if the sun position is incorrect? <img src="style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />

PS -

It appears there are some variables in the following code snippets from \PROGRAMS\SEA_AI\sea.c (and \PROGRAMS\CCCDirectSail.c) which might lead to some better information (LightingPath, LightPath, mast_island_trace, sun_trace, sea_reflection, etc.):
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->    // login island if exist
    if (sIslandID != "")
    {
        trace("SEA: sealogin loading island " + sIslandID);
        CreateEntity(&Island, "Island");
        Island.LightingPath = GetLightingPath();

        if (GetTargetPlatform() != "xbox")
        {
            //CreateEntity(&SeaLighter, "lighter");
            SendMessage(&SeaLighter, "ss", "ModelsPath", Islands[iIslandIndex].filespath.models);
            SendMessage(&SeaLighter, "ss", "LightPath", GetLightingPath());
        }

        SendMessage(&Island, "lsss", MSG_ISLAND_LOAD_GEO, "islands", Islands[iIslandIndex].filespath.models, Islands[iIslandIndex].model);
        LayerAddObject(SEA_REALIZE, &Island, 65529);
        LayerAddObject("mast_island_trace", &Island, 1);
        LayerAddObject("sun_trace", &Island, 1);

        CreateEntity(&IslandReflModel, "MODELR");
        string sReflModel = Islands[iIslandIndex].filespath.models + "\\" + Islands[iIslandIndex].refl_model;
        SendMessage(&IslandReflModel, "ls", MSG_MODEL_SET_LIGHT_PATH, GetLightingPath());
        SendMessage(&IslandReflModel, "ls", MSG_MODEL_LOAD_GEO, sReflModel);
        LayerAddObject("sea_reflection", &IslandReflModel, -1);
        SendMessage(SeaLighter, "ssi", "AddModel", Islands[iIslandIndex].refl_model, &IslandReflModel);<!--c2--></div><!--ec2-->

If anyone with more knowledge can give me a little help, I'll try and keep trouble-shooting...

Thanks,

kevin
 
The new map came from the Russian mod. We didn't modify it. But that's apparently where it was turned around 180 degrees. The only way to fix it, I think, is to return the map 180 degrees. But that will indeed mess with the coordinates in the game. However, that can be fixed, though it will be quite some work.

If you want to test the lighting, DON'T use the Wicked Wench or Black Pearl. Because these were converted using the Tool, the lighting is swapped. We don't know why that happens, but it happens whenever you convert a model using the Tool. So use one of the ships that were not converted by the Tool, such as one of the stock ships. Note: This issue is unrelated to the sun's position.
 
Back
Top