Jump to content

Recommended Posts

mod_sailingMod.png?resize=300,300

DESCRIPTION:

If you've ever dreamed of sailing a boat in Arma 3 using the wind to move around, now you can! Using [Dust]Sabre's cool sailboats, once you unfurl the sails, the boat will move forward based on the wind strength and direction. Different wind angles will cause the boat to automatically change the angle of the boom arm. You'll have to navigate to your destination based on the best angle of the wind. But beware, don't sail directly into the wind or you'll get stuck "In Irons" which will slow you down.
 

FEATURES:

  • New Wind Info Display
  • Built In Compass (shows your heading and wind direction)
  • Point of Sail Indicator (changes depending on angle of boat to the wind)
  • Point of Sail Color Indicator (Green = Good, Blue = OK, Red = Bad)
  • Wind Direction Arrow (moves with changes in the wind)
  • Heading Display
  • True Wind Angle Display
  • True Wind Speed Display
  • Wind Angle to Boat Display (+ is Starboard) (- is Port)
  • Night Mode
  • Wind pushes boat forward depending on angle
  • Wind leans boat over port or starboard depending on wind speed
  • Automatic boom arm changes (just steer and relax)
  • Custom Sounds
  • In-game Instructions and tips in the Field Manual

 

PLANNED FEATURES:

  • Advanced Sailing Model where YOU control the boom arm and determine the speed of the boat.
  • Possibly a navigation system which generates lay lines for you

 

SPECIAL THANKS:

Special thanks to [Dust]Sabre for generously working with me on his model to help make this mod a reality.
 

INSTRUCTIONS:

  1. Subscribe (including dependencies)
  2. Start game
  3. Access "Feint's Sailing Mod" in the Field Manual for Instructions (can be accessed during a mission)

 

TERMS AND CONDITIONS:

Any unauthorized modification of the released files is strictly prohibited without written permission by the author(s) except in the case of fair use for the purposes of learning. In those cases, the modified files can not be released to the public.
You are using these files at your own risk. 
Author(s) of these files are not liable for any damage or loss of data caused by usage of these files. 
Usage of these files is also prohibited for any commercial purposes. This includes but is not limited to usage on monetized servers.

 

SUBSCRIBE ON STEAM HERE:
http://steamcommunity.com/sharedfiles/filedetails/?id=892308157

SailingModScreenies01.jpg?resize=233,131 SailingModScreenies-02.jpg?resize=233,131

 

SailingModScreenies-03.jpg?resize=233,131 SailingModScreenies-04.jpg?resize=233,131

 

SailingModScreenies-05.jpg?resize=233,131 SailingModScreenies-07.jpg?resize=233,131

 

SailingModScreenies-06.jpg?resize=233,131 SailingModScreenies-08.jpg?resize=233,131

 

SailingModScreenies-10.jpg?resize=233,131 SailingModScreenies-12.jpg?resize=233,131

  • Like 28

Share this post


Link to post
Share on other sites

Glad to see someone finally did this :)

 

I was just this weekend looking at all those sailboat models on my HD wondering if I would ever get around to that LOL

 

Sailboats and trains in the same weekend... it must be Christmas

 

Looks VERY nice!  Can't wait to play around with it.  I sold my Ericson 27 several years ago because I moved to CO but then again they do become "holes in the water where you throw money" so I guess this will be much better.  No barnacles to scrape  lol

  • Like 5

Share this post


Link to post
Share on other sites

Exciting!  This truly is breaking the mold of ArmA!  Who's up for a friendly race beating against the wind?

  • Like 1

Share this post


Link to post
Share on other sites

Thanks everyone.  Happy that you are enjoying the new gameplay.  :)

  • Like 1

Share this post


Link to post
Share on other sites

I noticed a problem today with my displays.  on 1920x1200, the display looks perfect.  On 1920x1080, it looks warped and the text is not aligned properly.  Can someone please help me with this?  The documentation is somewhat unclear to me:

 

#define CT_STATIC       0
#define ST_LEFT         0
#define ST_CENTER       2
#define ST_MULTI        16
#define CT_STRUCTURED_TEXT 13
#define ST_PICTURE         48
#define SCALING_FONT_SIZE       0.013 * SafeZoneH
#define UI_GRID_W (pixelW * pixelGrid) // One grid width
#define UI_GRID_H (pixelH * pixelGrid) // One grid height
#define UI_GUTTER_W (pixelW * 2)       // One “gutter” width
#define UI_GUTTER_H (pixelH * 2)       // One “gutter” height

class RscTitles
{

         class FNTSAILRscText
         {
                  type = CT_STATIC;
                  idc = -1;
                  style = ST_LEFT;
                  colorBackground[] = {0,0,0,0};
                  colorText[] = {1,1,1,1};
                  font = "EtelkaMonospacePro";// "PuristaMedium";
                  sizeEx = 0.02; // FONT SIZE
                  linespacing = 1;
                  text = "";
                  x = SafeZoneX;
                  y = SafeZoneY;
                  w = SafeZoneW;
                  h = SafeZoneH;
         };

         class FNTSAILRscStructuredText
         {
                  access = 0; // ReadAndWrite
                  type = CT_STRUCTURED_TEXT;
                  idc = -1;
                  style = ST_LEFT; // ST_CENTER + ST_MULTI;
                  lineSpacing = 1;
                  x = SafeZoneX + (UI_GRID_W * 20);
                  y = SafeZoneY + (UI_GRID_H * 43);
                  w = UI_GRID_W * 25;// pixelW * 300;
                  h = UI_GRID_H * 25; //pixelH * 300;
                  size = SCALING_FONT_SIZE; // FONT SIZE
                  colorBackground[] = {0,0,0,0};
                  color[] = {0,0,0,1};
                  colorText[] = {0,0,0,1};
                  text = "";
                  font = "EtelkaMonospacePro";
         };

         class FNTSAILRscPicture {
                  type = 0;
                  idc = -1;
                  style = ST_PICTURE;
                  x = safeZoneX + UI_GRID_W;
                  y = safeZoneY + (UI_GRID_H * 30);
                  w = UI_GRID_W * 25;// pixelW * 300;
                  h = UI_GRID_H * 25; //pixelH * 300;
                  sizeEx = 0;// (((100/36)/100)*0.9);
                  colorBackground[] = {0, 0, 0, 0};
                  colorText[] = {1, 1, 1, 1};
                  font = "EtelkaMonospacePro"; // "PuristaMedium";
                  text = "";
         };

         class FNTSAIL_display
         {
                  idd = -1;
                  movingEnable = 0;
                  duration =  500000;
                  fadein = 0.5;
                  fadeout = 0.5;
                  name = "FNTSAIL_display";
                  onLoad = "uiNamespace setVariable ['d_FNTSAIL_display', _this select 0]";

                  class controls
                  {

                           // WIND DISPLAY EARS AND COMPASS BACKGROUND
                           class FNTSAIL_windDisplayEars : FNTSAILRscPicture
                           {
                                    idc = 3333000;
                                    text = "\A3_Sailing_Mod\data\windDisplayEars.paa";
                           };

                           // WIND DISPLAY CENTER BACKGROUND WITH TEXT
                           class FNTSAIL_windDisplayBG : FNTSAILRscPicture
                           {
                                    idc = 3333001;
                                    text = "\A3_Sailing_Mod\data\windDisplayBG.paa";
                           };

                           // WIND DISPLAY ROTATING COMPASS
                           class FNTSAIL_windDisplayCompass : FNTSAILRscPicture
                           {
                                    idc = 3333002;
                                    text = "\A3_Sailing_Mod\data\windDisplayCompass.paa";
                           };

                           // WIND DISPLAY ARROW
                           class FNTSAIL_windDisplayArrow : FNTSAILRscPicture
                           {
                                    idc = 3333003;
                                    text = "\A3_Sailing_Mod\data\windDisplayArrow.paa";
                           };

                           // BOAT HEADING DATA
                           class FNTSAIL_BoatHeading : FNTSAILRscStructuredText
                           {
                                    idc = 3333004;
                                    x = SafeZoneX + (UI_GRID_W * 1.5); //SafeZoneX + ((pixelW * pixelGrid) * 1.5), SafeZoneY + ((pixelH * pixelGrid) * 33)
                                    y = SafeZoneY + (UI_GRID_H * 33);
                                    //w = pixelW * 300;
                                    //h = pixelH * 300;

                                    text = "888";
                           };

                           // BOAT SPEED DATA
                           class FNTSAIL_BoatSpeed : FNTSAILRscStructuredText
                           {
                                    idc = 3333005;
                                    x = SafeZoneX + (UI_GRID_W * 20); // SafeZoneX + ((pixelW * pixelGrid) * 20), SafeZoneY + ((pixelH * pixelGrid) * 33)
                                    y = SafeZoneY + (UI_GRID_H * 33);
                                    //w = pixelW * 300;
                                    //h = pixelH * 300;
                                    text = "88.8";
                           };

                           // TWS
                           class FNTSAIL_TrueWindSpeed : FNTSAILRscStructuredText
                           {
                                    idc = 3333006;
                                    x = SafeZoneX + (UI_GRID_W * 1.5); // SafeZoneX + ((pixelW * pixelGrid) * 1.5), SafeZoneY + ((pixelH * pixelGrid) * 49)
                                    y = SafeZoneY + (UI_GRID_H * 49);
                                    //w = pixelW * 300;
                                    //h = pixelH * 300;
                                    text = "88.8";
                           };

                           // TWA
                           class FNTSAIL_TrueWindAngle : FNTSAILRscStructuredText
                           {
                                    idc = 3333007;
                                    x = SafeZoneX + (UI_GRID_W * 20.5); // SafeZoneX + ((pixelW * pixelGrid) * 20.5), SafeZoneY + ((pixelH * pixelGrid) * 49)
                                    y = SafeZoneY + (UI_GRID_H * 49);
                                    //w = pixelW * 300;
                                    //h = pixelH * 300;
                                    text = "888";
                           };


                  };

         };

};

I'm wondering if it gets screwed up at 1920x1080 because my monitor is 1920x1200 and setting the game to 1080 is screwing up the pixelGrid and pixelH commands.

Share this post


Link to post
Share on other sites

Can't test atm but I believe this is all correctly scales
 

class RscTabletInfo: RscStructuredText
{
	idc = 27500;
	colorText[] = {0.5,0.5,0.5,0.25};
	class Attributes
	{
		font = "RobotoCondensed";
		color = "#ffffff";
		align = "center";
		shadow = 1;
	};
		x = 0.2 * safezoneW + safezoneX;
		y = 0.80 * safezoneH + safezoneY;
		w = 0.4 * safezoneW;
		h = 0.03 * safezoneH;
	text = "";
	size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)"; // edit last number to change text size
	shadow = 1;
};

 

  • Like 1

Share this post


Link to post
Share on other sites

I wish, I could like a post 100 times, but I can only once. So multiply my like x100. Oh, and consider adding some shanties tunes perhaps. :) 

Share this post


Link to post
Share on other sites

Thanks you guys.  I appreciate your help and feedback and suggestions.  Thanks for the text suggestion, Soolie.  I'm working with it now.

 

I just discovered this:

class RscPictureKeepAspect;

Seems to work really well as a parent class.  Now the aspect ratio of my images are no longer screwed up when rotating them which was primarily the problem at 1080p (but not 1920x1200 curiously).  I'll release an update soon.

 

EDIT: In case anyone searches for this later wondering what my fix was for aspect radio and scaling... here it is.  This seems to work perfectly for both 1920x1080 and 1920x1200.  The secret was using pixelGridBase instead of pixelGrid.

#define UI_GRID_W (pixelW * pixelGridBase) // One grid width
#define UI_GRID_H (pixelH * pixelGridBase) // One grid height
#define CT_STRUCTURED_TEXT 13
#define ST_LEFT            0

class RscTitles
{

         class RscStructuredText;
         class FNTSAILRscStructuredText: RscStructuredText {
                  access = 0; // ReadAndWrite
                  type = CT_STRUCTURED_TEXT;
                  idc = -1;
                  style = ST_LEFT;
                  lineSpacing = 1;
                  x = safeZoneX + (UI_GRID_W * 0.4);
                  y = safeZoneY + (UI_GRID_H * 19.5);
                  w = UI_GRID_W * 15.4;
                  h = UI_GRID_H * 12;


                  colorBackground[] = {0,0,0,0};
                  text = "";
                  size = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.5); // edit last number to change text size
                  class Attributes
                  {
                     font = "RobotoCondensed";
                     color = "#000000";
                     align = "left"; // DOES NOT SEEM TO WORK CORRECTLY!! - WORKAROUND - SETSTRUCTUREDTEXT ALIGN="RIGHT"
                     valign = "top"; // DOES NOT SEEM TO WORK CORRECTLY!! - WORKAROUND - MOVE THE SECOND SET OF NUMBERS DOWN BY CHANGING Y VALUE
                     shadow = false;
                     shadowColor = "#ff0000";
                     size = "1";
                  };
         };

         class RscPicture;
         class RscPictureKeepAspect;

         class FNTSAILRscPicture: RscPictureKeepAspect {
                  type = 0;
                  idc = -1;
                  style = "0x30 + 0x800";
                  colorBackground[] = {0,0,0,1}; // does not do anything
                  colorText[] = {1,1,1,1}; // tints the pictures
                  font = "RobotoCondensed"; // does nothing but clears the error code
                  sizeEx = 1; // FONT SIZE // does nothing but clears the error code

                  x = safeZoneX + (UI_GRID_W * 0.1);
                  y = safeZoneY + (UI_GRID_H * 17.5);
                  w = UI_GRID_W * 16;
                  h = UI_GRID_H * 16;

         };

         class FNTSAIL_display
         {
                  idd = -1;
                  movingEnable = 0;
                  duration =  500000;
                  fadein = 0.5;
                  fadeout = 0.5;
                  name = "FNTSAIL_display";
                  onLoad = "uiNamespace setVariable ['d_FNTSAIL_display', _this select 0]";

                  class controls
                  {

                           // WIND DISPLAY EARS AND COMPASS BACKGROUND
                           class FNTSAIL_windDisplayEars : FNTSAILRscPicture
                           {
                                    idc = 3333000;
                                    text = "\A3_Sailing_Mod\data\windDisplayEars.paa";
                           };

                           // WIND DISPLAY CENTER BACKGROUND WITH TEXT
                           class FNTSAIL_windDisplayBG : FNTSAILRscPicture
                           {
                                    idc = 3333001;
                                    text = "\A3_Sailing_Mod\data\windDisplayBG.paa";
                           };

                           // WIND DISPLAY ROTATING COMPASS
                           class FNTSAIL_windDisplayCompass : FNTSAILRscPicture
                           {
                                    idc = 3333002;
                                    text = "\A3_Sailing_Mod\data\windDisplayCompass.paa";
                           };

                           // WIND DISPLAY ARROW
                           class FNTSAIL_windDisplayArrow : FNTSAILRscPicture
                           {
                                    idc = 3333003;
                                    text = "\A3_Sailing_Mod\data\windDisplayArrow.paa";
                           };

                           // BOAT HEADING DATA
                           class FNTSAIL_BoatHeading : FNTSAILRscStructuredText
                           {
                                    idc = 3333004;
                                    text = "888";
                           };

                           // BOAT SPEED DATA
                           class FNTSAIL_WindBoatAngle : FNTSAILRscStructuredText
                           {
                                    idc = 3333005;
                                    text = "88.8";
                           };

                           // TWS
                           class FNTSAIL_TrueWindSpeed : FNTSAILRscStructuredText
                           {
                                    idc = 3333006;
                                    text = "88.8";
                                    y = safeZoneY + (UI_GRID_H * 29.8);
                           };

                           // TWA
                           class FNTSAIL_TrueWindAngle : FNTSAILRscStructuredText
                           {
                                    idc = 3333007;
                                    text = "888";
                                    y = safeZoneY + (UI_GRID_H * 29.8);
                           };
                  };
         };
};

 

Share this post


Link to post
Share on other sites

VERSION 1.2 OUT NOW!  Check out the first post for links.

 

  • Changed the way the display works - should scale correctly now
  • Fixed the marker lights so red is on the port side and green is on the starboard
  • Changed the way the marker lights look so they are more realistic (Arma 3 lighting upgrade version)
  • Added a new light to the cockpit so you can see better at night
  • Like 1

Share this post


Link to post
Share on other sites

Beyond incredible, you have made something special here. Thanks for you addition to the Arma community! I look forward to long journeys on the open ocean. 

  • Like 1

Share this post


Link to post
Share on other sites

I completely forgot to test your mod, as a sailor I feel lame. 

Will do next week 8)

  • Like 1

Share this post


Link to post
Share on other sites

This, combined that that golden age ship, thats out there somewhere... :)

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×