41#define DD_MAX_SCREWPROP 6
42#define DD_MAX_AEROENGINE 6
44#define DD_MAX_GEOMETRIC_ANIMATIONS 10
46#define MAX_CONTROLS 1024
47#define NO_RTT_DASHBOARD 0
227 bool _getBool(
size_t key) {
return key <
data.size() ?
data[key].data.value_bool :
false; };
231 char*
getChar(
size_t key) {
return key <
data.size() ?
data[key].data.value_char :
nullptr; };
234 void setBool(
size_t key,
bool val) {
if (key <
data.size())
data[key].data.value_bool = val; };
235 void setInt(
size_t key,
int val) {
if (key <
data.size())
data[key].data.value_int = val; };
236 void setFloat(
size_t key,
float val) {
if (key <
data.size())
data[key].data.value_float = val; };
346 } layoutGeometricAnimation_t;
360 } layoutGraphicalAnimation_t;
385 bool parseLink(std::string& linkArgs,
int& linkID,
char& condition,
float& conditionArgument,
const std::string&
filename,
const std::string& name);
Central state/object manager and communications hub.
#define DD_MAX_GEOMETRIC_ANIMATIONS
Self reference-counting objects, as requred by AngelScript garbage collector.
void loadLayoutInternal()
MyGUI::WindowPtr mainWidget
layoutLink_t controls[MAX_CONTROLS]
ScriptUnitID_t scriptUnitID
void setVisible(bool visible, bool smooth=true)
float getSmoothNumeric(int linkID, float &lastVal)
void loadScript(std::string scriptFilename, ActorPtr associatedActor)
bool parseLink(std::string &linkArgs, int &linkID, char &condition, float &conditionArgument, const std::string &filename, const std::string &name)
MyGUI::VectorWidgetPtr widgets
DashBoardManager * manager
void loadLayoutRecursive(MyGUI::WidgetPtr ptr)
void setVisible(bool visibility)
bool wasDashboardRttLoaded() const
bool wasDashboardHudLoaded() const
bool _getBool(size_t key)
char * getChar(size_t key)
bool getEnabled(size_t key)
std::vector< dashData_t > data
int getLinkIDForName(Ogre::String &str)
void setVisible3d(bool visibility)
void loadDashboardModDetails(CacheEntryPtr &entry)
void setEnabled(size_t key, bool val)
int getDataType(size_t key)
float _getFloat(size_t key)
std::string determineTruckLayoutFromDashboardMod(Ogre::FileInfoListPtr &filelist)
int registerCustomInput(Ogre::String name, int dataType)
virtual ~DashBoardManager() override
std::string getLinkNameForID(DashData id)
std::vector< DashBoard * > m_dashboards
void setChar(size_t key, const char *val)
float getNumeric(size_t key)
void setInt(size_t key, int val)
void loadDashBoard(const std::string &filename, BitMask_t flags)
int registeredCustomInputs
std::string determineLayoutFromDashboardMod(CacheEntryPtr &entry, std::string const &basename)
void setBool(size_t key, bool val)
void setFloat(size_t key, float val)
@ DD_AEROENGINE_THROTTLE_4
@ DD_CUSTOM_LIGHT6
custom light 6 on
@ DD_CUSTOM_LIGHT7
custom light 7 on
@ DD_CUSTOM_LIGHT10
custom light 10 on
@ DD_CUSTOM_LIGHT2
custom light 2 on
@ DD_CUSTOM_LIGHT4
custom light 4 on
@ DD_ENGINE_NUM_GEAR
current gear
@ DD_LIGHTS_LEGACY
Alias of 'sidelights'.
@ DD_ENGINE_AUTOGEAR_STRING
string like "<current gear>/<max gear>"
@ DD_PARKINGBRAKE
chassis pitch
@ DD_AEROENGINE_THROTTLE_2
@ DD_CUSTOM_LIGHT9
custom light 9 on
@ DD_SIGNAL_WARNING
The warning-blink indicator is lit.
@ DD_CUSTOM_LIGHT3
custom light 3 on
@ DD_SIGNAL_TURNLEFT
Left blinker is lit.
@ DD_ENGINE_SPEEDO_MPH
speedo in kilometer per hour
@ DD_ENGINE_IGNITION
turbo gauge
@ DD_CUSTOM_LIGHT8
custom light 8 on
@ DD_AEROENGINE_THROTTLE_5
@ DD_ENGINE_GEAR
clutch warning lamp
@ DD_AEROENGINE_THROTTLE_0
@ DD_LOCKED
parking brake status
@ DD_ENGINE_AUTO_GEAR
string like "P R N G"
@ DD_SIGNAL_TURNRIGHT
Right blinker is lit.
@ DD_CUSTOM_LIGHT5
custom light 5 on
@ DD_ENGINE_CLUTCH_WARNING
battery lamp
@ DD_LOW_PRESSURE
locked lamp
@ DD_ENGINE_TURBO
speedo in miles per hour
@ DD_ENGINE_CLUTCH
automatic gear
@ DD_CUSTOM_LIGHT1
custom light 1 on
@ DD_TRACTIONCONTROL_MODE
low pressure
@ DD_AEROENGINE_THROTTLE_3
@ DD_SCREW_THROTTLE_0
ties locked
@ DD_AEROENGINE_THROTTLE_1
@ LOADDASHBOARD_RTT_TEXTURE
Will be drawn to texture. Unless STACKABLE, it prevents the default dashboard from loading.
@ LOADDASHBOARD_SCREEN_HUD
Will be drawn to screen. Unless STACKABLE, it prevents the default dashboard from loading.
@ LOADDASHBOARD_STACKABLE
Allows loading multiple dashboards at once (by default there's only one for screen and one for RTT).
int ScriptUnitID_t
Unique sequentially generated ID of a loaded and running scriptin session. Use ScriptEngine::getScrip...
static const ScriptUnitID_t SCRIPTUNITID_INVALID
char format_neg_zero[255]
Test for undesired '-0.0' on display. Only for link type "format". Empty if not applicable.
layoutGeometricAnimation_t geometricAnimations[DD_MAX_GEOMETRIC_ANIMATIONS]
MyGUI::IntSize initialSize
MyGUI::IntPoint initialPosition
MyGUI::RotatingSkin * rotImg
layoutGraphicalAnimation_t graphicalAnimation
int geometricAnimationCount
dashData_t(char type, std::string name)
char value_char[DD_MAXCHAR]