Main Menu – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
<syntaxhighlight lang="cpp">class RscDisplayMain: RscStandardDisplay
[[Arma 3 Apex]] introduces new main menu.
 
[[File:a3 mainMenu.jpg|512px]]
 
== World Scene ==
World scene is a scenario shown behind main menu when a specific terrain is loaded. If you're playing on Altis and leave to main menu, Altis scene will be used.
 
The scene is configured with the terrain and is responsibility of a terrain creator.
 
=== Guidelines ===
The scene should meet following criteria:
* '''High FPS is important!''' Lower performance makes navigating the menu uncomfortable.
** Low [[setViewDistance]]view distance]] (~200 m) is recommended.
** Camera looking down or towards sloped terrain, so the view distance is not as apparent.
* All content of the scenario should be placed in the ''Intro'' [[Eden_Editor:_Scenario_Phases|phase]].
* Camera is static, all the movement should be in the scene (e.g., vegetation in the wind, sea, wildlife, etc.)
** Avoid following settings (not mandatory, it may work in some cases):
*** Unlit night scenes (dark menus on dark scene don't look well).
*** Bad weather (hides shadows).
** The scene should work on 16:9 screen. Multiple monitors doesn't need to be considered, as the main menu shows a grey background there.
 
=== Configuration ===
<syntaxhighlight lang="cpp">class CfgWorlds
{
// Class of your terrain
class MyWorld
{
cutscenes[] = {"MyWorldScene"}; // Class names of used scenes. When more than one is present, the system will pick one randomly.
};
};
class CfgMissions
{
class Cutscenes
{
class MyWorldScene // Class referenced in 'cutscenes' property in CfgWorlds
{
directory = "\MyAddon\MyScene.MyWorld"; // Path to scenario with the scene
};
};
};
</syntaxhighlight>
 
== Spotlight ==
<syntaxhighlight lang="cpp">
class RscStandardDisplay;
class RscDisplayMain: RscStandardDisplay
{
{
class Spotlight
class Spotlight

Revision as of 14:05, 15 June 2016

Arma 3 Apex introduces new main menu.

a3 mainMenu.jpg

World Scene

World scene is a scenario shown behind main menu when a specific terrain is loaded. If you're playing on Altis and leave to main menu, Altis scene will be used.

The scene is configured with the terrain and is responsibility of a terrain creator.

Guidelines

The scene should meet following criteria:

  • High FPS is important! Lower performance makes navigating the menu uncomfortable.
    • Low setViewDistanceview distance]] (~200 m) is recommended.
    • Camera looking down or towards sloped terrain, so the view distance is not as apparent.
  • All content of the scenario should be placed in the Intro phase.
  • Camera is static, all the movement should be in the scene (e.g., vegetation in the wind, sea, wildlife, etc.)
    • Avoid following settings (not mandatory, it may work in some cases):
      • Unlit night scenes (dark menus on dark scene don't look well).
      • Bad weather (hides shadows).
    • The scene should work on 16:9 screen. Multiple monitors doesn't need to be considered, as the main menu shows a grey background there.

Configuration

class CfgWorlds
{
	// Class of your terrain
	class MyWorld
	{
		cutscenes[] = {"MyWorldScene"}; // Class names of used scenes. When more than one is present, the system will pick one randomly.
	};
};
class CfgMissions
{
	class Cutscenes
	{
		class MyWorldScene // Class referenced in 'cutscenes' property in CfgWorlds
		{
			directory = "\MyAddon\MyScene.MyWorld"; // Path to scenario with the scene
		};
	};
};

Spotlight

class RscStandardDisplay;
class RscDisplayMain: RscStandardDisplay
{
	class Spotlight
	{
		class CoopCampaign
		{
			text = "Coop Campaign"; // Text displayed on the square button, converted to upper-case
			picture = "\a3\Ui_f\Data\GUI\Rsc\RscDisplayMain\spotlight_1_apex_ca.paa"; // Square picture, ideally 512x512
			video = "\a3\Ui_f\Video\spotlight_1_Apex.ogv"; // Video played on mouse hover
			action = "ctrlactivate ((ctrlparent (_this select 0)) displayctrl 101);"; // Code called upon clicking, passed arguments are [<button:Control>]
			actionText = $STR_A3_RscDisplayMain_Spotlight_Play; // Text displayed in top left corner of on-hover white frame
			condition = "true"; // Condition for showing the spotlight
		};
		class AnotherCoopCampaign
		{
			text = "Another Coop Campaign";
			picture = "\a3\Ui_f\Data\GUI\Rsc\RscDisplayMain\spotlight_1_eastwind_ca.paa";
			action = "ctrlactivate ((ctrlparent (_this select 0)) displayctrl 149);";
			actionText = $STR_A3_RscDisplayMain_Spotlight_Play;
			condition = "isKeyActive 'FinishedCoopCampaign';";
		};
	};
};