- removed option background type in Advanced graphic config

- removed unused code (older loader land background) in ssggraph & OsgGraph

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@7786 30fe4595-0a0c-4342-8851-515496e4dcbd
This commit is contained in:
torcs-ng 2021-11-20 22:23:59 +00:00
parent d0efbd19a7
commit 01452ae517
9 changed files with 132 additions and 245 deletions

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
<!--
file : graph.xml
created : Sun Dec 2 11:58:59 CET 2001
copyright : (C) 2001 by Eric Espi<70>
email : Eric.Espie@torcs.org
version : $Id$
copyright : (C) 2001 by Eric Espi<70>
email : Eric.Espie@torcs.org
version : $Id$
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -14,7 +14,7 @@
<!DOCTYPE params SYSTEM "../../../libs/tgf/params.dtd">
<params name="graph" type="param" mode="mw" version="1.17">
<params name="graph" type="param" mode="mw" version="1.18">
<section name="Graphic">
<attnum name="smoke value" val="300"/>
<attnum name="smoke interval" val="0.01"/>
@ -31,7 +31,6 @@
<attnum name="precipitation density" unit="%" val="100"/>
<attnum name="cloudlayer" val="1"/>
<attstr name="background skydome" val="enabled"/>
<attstr name="background type" val="background"/>
<attnum name="visibility" val="10000"/>
<attstr name="scene lod" val="full"/>
<attstr name="cockpit 3d" val="no"/>
@ -44,7 +43,7 @@
<attnum name="texture shadow size" val="1024"/>
<attstr name="shadow quality" val="little"/>
<attstr name="shaders" val="none"/>
<attstr name="texture environment" val="full"/>
<attstr name="texture environment" val="full"/>
<attnum name="environment size" val="256"/>
</section>

View File

@ -13,10 +13,10 @@
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->
<!--
<!--
Graphic config menu (FOV, LOD, Smoke, Skid marks, Sky dome distance, ...)
-->
<!DOCTYPE params SYSTEM "../tgf/params.dtd">
@ -24,51 +24,14 @@
<params name="graphconfigmenu">
<section name="dynamic controls">
<section name="bgskyleftarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="265"/>
<attnum name="y" val="346"/>
<attstr name="disabled image" val="data/img/arrow-left-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-left-top.png"/>
<attstr name="focused image" val="data/img/arrow-left-top-focused.png"/>
<attstr name="pushed image" val="data/img/arrow-left-top-pushed.png"/>
</section>
<section name="bgskyrightarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="465"/>
<attnum name="y" val="346"/>
<attstr name="disabled image" val="data/img/arrow-right-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-right-top.png"/>
<attstr name="focused image" val="data/img/arrow-right-top-focused.png"/>
<attstr name="pushed image" val="data/img/arrow-right-top-pushed.png"/>
</section>
<section name="bgskydomelabel">
<attstr name="type" val="label"/>
<attnum name="max len" val="10"/>
<attstr name="tip" val="Activate / desactivate background landscape with sky dome"/>
<attnum name="x" val="295"/>
<attnum name="y" val="350"/>
<attnum name="width" val="160"/>
<attstr name="h align" val="center"/>
<attstr name="color" val="0xFFFFFF"/>
<attstr name="font" val="medium"/>
</section>
<section name="shadowleftarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="265"/>
<attnum name="y" val="316"/>
<attnum name="y" val="346"/>
<attstr name="disabled image" val="data/img/arrow-left-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-left-top.png"/>
<attstr name="focused image" val="data/img/arrow-left-top-focused.png"/>
@ -78,10 +41,10 @@
<section name="shadowrightarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="505"/>
<attnum name="y" val="316"/>
<attnum name="y" val="346"/>
<attstr name="disabled image" val="data/img/arrow-right-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-right-top.png"/>
<attstr name="focused image" val="data/img/arrow-right-top-focused.png"/>
@ -93,20 +56,20 @@
<attnum name="max len" val="24"/>
<attstr name="tip" val="Activate / deactivate and shadowmap's type"/>
<attnum name="x" val="325"/>
<attnum name="y" val="320"/>
<attnum name="y" val="350"/>
<attnum name="width" val="140"/>
<attstr name="h align" val="center"/>
<attstr name="color" val="0xFFFFFF"/>
<attstr name="font" val="medium"/>
</section>
<section name="texsizeleftarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="265"/>
<attnum name="y" val="286"/>
<attnum name="y" val="316"/>
<attstr name="disabled image" val="data/img/arrow-left-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-left-top.png"/>
<attstr name="focused image" val="data/img/arrow-left-top-focused.png"/>
@ -116,10 +79,10 @@
<section name="texsizerightarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="465"/>
<attnum name="y" val="286"/>
<attnum name="y" val="316"/>
<attstr name="disabled image" val="data/img/arrow-right-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-right-top.png"/>
<attstr name="focused image" val="data/img/arrow-right-top-focused.png"/>
@ -131,20 +94,20 @@
<attnum name="max len" val="10"/>
<attstr name="tip" val="texture size for shadowmapping"/>
<attnum name="x" val="295"/>
<attnum name="y" val="290"/>
<attnum name="y" val="320"/>
<attnum name="width" val="160"/>
<attstr name="h align" val="center"/>
<attstr name="color" val="0xFFFFFF"/>
<attstr name="font" val="medium"/>
</section>
<section name="qualityleftarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="265"/>
<attnum name="y" val="256"/>
<attnum name="y" val="286"/>
<attstr name="disabled image" val="data/img/arrow-left-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-left-top.png"/>
<attstr name="focused image" val="data/img/arrow-left-top-focused.png"/>
@ -154,10 +117,10 @@
<section name="qualityrightarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="465"/>
<attnum name="y" val="256"/>
<attnum name="y" val="286"/>
<attstr name="disabled image" val="data/img/arrow-right-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-right-top.png"/>
<attstr name="focused image" val="data/img/arrow-right-top-focused.png"/>
@ -169,20 +132,20 @@
<attnum name="max len" val="10"/>
<attstr name="tip" val="shadow on litlle/medium/full objects scene"/>
<attnum name="x" val="295"/>
<attnum name="y" val="260"/>
<attnum name="y" val="290"/>
<attnum name="width" val="160"/>
<attstr name="h align" val="center"/>
<attstr name="color" val="0xFFFFFF"/>
<attstr name="font" val="medium"/>
</section>
<section name="carleftarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="265"/>
<attnum name="y" val="226"/>
<attnum name="y" val="256"/>
<attstr name="disabled image" val="data/img/arrow-left-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-left-top.png"/>
<attstr name="focused image" val="data/img/arrow-left-top-focused.png"/>
@ -192,10 +155,10 @@
<section name="carrightarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="465"/>
<attnum name="y" val="226"/>
<attnum name="y" val="256"/>
<attstr name="disabled image" val="data/img/arrow-right-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-right-top.png"/>
<attstr name="focused image" val="data/img/arrow-right-top-focused.png"/>
@ -207,7 +170,7 @@
<attnum name="max len" val="10"/>
<attstr name="tip" val="cars shaders activate/desactivate"/>
<attnum name="x" val="295"/>
<attnum name="y" val="230"/>
<attnum name="y" val="260"/>
<attnum name="width" val="160"/>
<attstr name="h align" val="center"/>
<attstr name="color" val="0xFFFFFF"/>
@ -217,10 +180,10 @@
<section name="spansplitleftarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="265"/>
<attnum name="y" val="196"/>
<attnum name="y" val="226"/>
<attstr name="disabled image" val="data/img/arrow-left-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-left-top.png"/>
<attstr name="focused image" val="data/img/arrow-left-top-focused.png"/>
@ -230,10 +193,10 @@
<section name="spansplitrightarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="465"/>
<attnum name="y" val="196"/>
<attnum name="y" val="226"/>
<attstr name="disabled image" val="data/img/arrow-right-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-right-top.png"/>
<attstr name="focused image" val="data/img/arrow-right-top-focused.png"/>
@ -245,7 +208,7 @@
<attnum name="max len" val="10"/>
<attstr name="tip" val="Span display over split screens (for multi-monitor setups)"/>
<attnum name="x" val="295"/>
<attnum name="y" val="200"/>
<attnum name="y" val="230"/>
<attnum name="width" val="160"/>
<attstr name="h align" val="center"/>
<attstr name="color" val="0xFFFFFF"/>
@ -257,7 +220,7 @@
<attnum name="max len" val="16"/>
<attstr name="tip" val="Set relative width of bezel (%)"/>
<attnum name="x" val="295"/>
<attnum name="y" val="164"/>
<attnum name="y" val="196"/>
<attnum name="width" val="165"/>
<attstr name="h align" val="center"/>
<attstr name="font" val="medium"/>
@ -268,7 +231,7 @@
<attnum name="max len" val="16"/>
<attstr name="tip" val="Set relative width of bezel (%)"/>
<attnum name="x" val="295"/>
<attnum name="y" val="134"/>
<attnum name="y" val="166"/>
<attnum name="width" val="165"/>
<attstr name="h align" val="center"/>
<attstr name="font" val="medium"/>
@ -279,7 +242,7 @@
<attnum name="max len" val="16"/>
<attstr name="tip" val="Set the ratio between driver postion and monitor arc"/>
<attnum name="x" val="295"/>
<attnum name="y" val="104"/>
<attnum name="y" val="136"/>
<attnum name="width" val="165"/>
<attstr name="h align" val="center"/>
<attstr name="font" val="medium"/>
@ -288,10 +251,10 @@
<section name="monitorleftarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="265"/>
<attnum name="y" val="76"/>
<attnum name="y" val="106"/>
<attstr name="disabled image" val="data/img/arrow-left-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-left-top.png"/>
<attstr name="focused image" val="data/img/arrow-left-top-focused.png"/>
@ -301,10 +264,10 @@
<section name="monitorrightarrow">
<attstr name="type" val="image button"/>
<attnum name="width" val="24"/>
<attnum name="height" val="24"/>
<attnum name="height" val="24"/>
<attstr name="tip" val=""/>
<attnum name="x" val="465"/>
<attnum name="y" val="76"/>
<attnum name="y" val="106"/>
<attstr name="disabled image" val="data/img/arrow-right-top-disabled.png"/>
<attstr name="enabled image" val="data/img/arrow-right-top.png"/>
<attstr name="focused image" val="data/img/arrow-right-top-focused.png"/>
@ -316,7 +279,7 @@
<attnum name="max len" val="10"/>
<attstr name="tip" val="Select your monitor aspect ratio, used for camera FOV"/>
<attnum name="x" val="295"/>
<attnum name="y" val="80"/>
<attnum name="y" val="110"/>
<attnum name="width" val="160"/>
<attstr name="h align" val="center"/>
<attstr name="color" val="0xFFFFFF"/>
@ -325,7 +288,7 @@
<section name="CancelButton">
<attstr name="type" val="text button"/>
<attstr name="show box" val="no"/>
<attstr name="show box" val="no"/>
<attstr name="text" val="Cancel"/>
<attstr name="tip" val="Cancel changes"/>
<attstr name="h align" val="left"/>
@ -342,7 +305,7 @@
<attnum name="image height" val="16"/>
<attstr name="focused image" val="data/img/button-left-focused.png"/>
<attstr name="enabled image" val="data/img/button-left.png"/>
<attstr name="pushed image" val="data/img/button-left-pushed.png"/>
<attstr name="pushed image" val="data/img/button-left-pushed.png"/>
</section>
<section name="ApplyButton">
@ -364,7 +327,7 @@
<attnum name="image height" val="16"/>
<attstr name="focused image" val="data/img/button-left-focused.png"/>
<attstr name="enabled image" val="data/img/button-left.png"/>
<attstr name="pushed image" val="data/img/button-left-pushed.png"/>
<attstr name="pushed image" val="data/img/button-left-pushed.png"/>
</section>
</section>
@ -372,7 +335,7 @@
<section name="1">
<attstr name="type" val="background image"/>
<attstr name="image" val="data/img/splash-graphconf.jpg"/>
</section>
</section>
<section name="2">
<attstr name="type" val="static image"/>
@ -381,7 +344,7 @@
<attnum name="width" val="200"/>
<attnum name="height" val="120"/>
<attstr name="image" val="data/img/sd-logo.png"/>
</section>
</section>
<section name="3">
<attstr name="type" val="static image"/>
@ -391,57 +354,57 @@
<attnum name="height" val="20"/>
<attstr name="image" val="data/img/head-graphicconfig.png"/>
</section>
<section name="4">
<attstr name="type" val="label"/>
<attnum name="x" val="20"/>
<attnum name="y" val="350"/>
<attstr name="text" val="Background landscape:"/>
<attstr name="tip" val="Activate / desactivate background landscape with sky dome"/>
<attstr name="h align" val="right"/>
<attnum name="width" val="220"/>
<attstr name="font" val="small_t"/>
</section>
<section name="5">
<attstr name="type" val="label"/>
<attnum name="x" val="20"/>
<attnum name="y" val="320"/>
<attstr name="text" val="Shadow Type:"/>
<attstr name="tip" val="Shadow mapping type"/>
<attstr name="h align" val="right"/>
<attnum name="width" val="220"/>
<attstr name="font" val="small_t"/>
</section>
<section name="6">
<section name="5">
<attstr name="type" val="label"/>
<attnum name="x" val="20"/>
<attnum name="y" val="290"/>
<attnum name="y" val="320"/>
<attstr name="text" val="Texture size:"/>
<attstr name="tip" val="shadow's texture size"/>
<attstr name="h align" val="right"/>
<attnum name="width" val="220"/>
<attstr name="font" val="small_t"/>
</section>
<section name="7">
<section name="6">
<attstr name="type" val="label"/>
<attnum name="x" val="20"/>
<attnum name="y" val="260"/>
<attnum name="y" val="290"/>
<attstr name="text" val="Shadow Quality:"/>
<attstr name="tip" val="Detailled shadow quality"/>
<attstr name="h align" val="right"/>
<attnum name="width" val="220"/>
<attstr name="font" val="small_t"/>
</section>
</section>
<section name="7">
<attstr name="type" val="label"/>
<attnum name="x" val="20"/>
<attnum name="y" val="260"/>
<attstr name="text" val="Shaders:"/>
<attstr name="tip" val="Shaders activate/desactivate"/>
<attstr name="h align" val="right"/>
<attnum name="width" val="220"/>
<attstr name="font" val="small_t"/>
</section>
<section name="8">
<attstr name="type" val="label"/>
<attnum name="x" val="20"/>
<attnum name="y" val="230"/>
<attstr name="text" val="Shaders:"/>
<attstr name="tip" val="Shaders activate/desactivate"/>
<attstr name="text" val="Span Split Screens:"/>
<attstr name="tip" val="Spans a single view across multiple splits"/>
<attstr name="h align" val="right"/>
<attnum name="width" val="220"/>
<attstr name="font" val="small_t"/>
@ -451,19 +414,19 @@
<attstr name="type" val="label"/>
<attnum name="x" val="20"/>
<attnum name="y" val="200"/>
<attstr name="text" val="Span Split Screens:"/>
<attstr name="tip" val="Spans a single view across multiple splits"/>
<attstr name="text" val="Bezel Compensation:"/>
<attstr name="tip" val="Set amount of bezel compensation (%)"/>
<attstr name="h align" val="right"/>
<attnum name="width" val="220"/>
<attstr name="font" val="small_t"/>
</section>
</section>
<section name="10">
<attstr name="type" val="label"/>
<attnum name="x" val="20"/>
<attnum name="y" val="170"/>
<attstr name="text" val="Bezel Compensation:"/>
<attstr name="tip" val="Set amount of bezel compensation (%)"/>
<attstr name="text" val="Screen Distance:"/>
<attstr name="tip" val="Distance between user and primary screen"/>
<attstr name="h align" val="right"/>
<attnum name="width" val="220"/>
<attstr name="font" val="small_t"/>
@ -473,8 +436,8 @@
<attstr name="type" val="label"/>
<attnum name="x" val="20"/>
<attnum name="y" val="140"/>
<attstr name="text" val="Screen Distance:"/>
<attstr name="tip" val="Distance between user and primary screen"/>
<attstr name="text" val="Arc Ratio:"/>
<attstr name="tip" val="Set the ratio between driver postion and monitor arc"/>
<attstr name="h align" val="right"/>
<attnum name="width" val="220"/>
<attstr name="font" val="small_t"/>
@ -484,17 +447,6 @@
<attstr name="type" val="label"/>
<attnum name="x" val="20"/>
<attnum name="y" val="110"/>
<attstr name="text" val="Arc Ratio:"/>
<attstr name="tip" val="Set the ratio between driver postion and monitor arc"/>
<attstr name="h align" val="right"/>
<attnum name="width" val="220"/>
<attstr name="font" val="small_t"/>
</section>
<section name="13">
<attstr name="type" val="label"/>
<attnum name="x" val="20"/>
<attnum name="y" val="80"/>
<attstr name="text" val="Monitor Type"/>
<attstr name="tip" val="Correct the aspect ratio of the screen"/>
<attstr name="h align" val="right"/>

View File

@ -26,7 +26,7 @@
SDBackground::SDBackground(void) :
_background(NULL),
_backgroundTransform(NULL)
_backgroundTransform(NULL)
{
}
@ -39,9 +39,8 @@ SDBackground::~SDBackground(void)
}
}
void SDBackground::build(bool type, int X, int Y, int Z, const std::string& TrackPath)
void SDBackground::build(int X, int Y, int Z, const std::string& TrackPath)
{
bool land = type;
osgDB::Registry::instance()->clearObjectCache();
std::string LocalPath = GetDataDir();
@ -57,23 +56,15 @@ void SDBackground::build(bool type, int X, int Y, int Z, const std::string& Trac
osg::Matrix mat( 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f,
0.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f);
_backgroundTransform = new osg::MatrixTransform;
_backgroundTransform = new osg::MatrixTransform;
if (!land)
{
osg::ref_ptr<osg::Node> m_background = osgDB::readNodeFile("background-sky.ac");
//_background_transform->setMatrix(mat);
osg::Matrix t = osg::Matrix::translate(SDScenery::getWorldX() / 2, SDScenery::getWorldY() / 2, SDScenery::getWorldZ() / 2);
mat = mat * t;
_backgroundTransform->setMatrix(mat);
_backgroundTransform->addChild( m_background.get() );
}
else
{
osg::ref_ptr<osg::Node> m_background = osgDB::readNodeFile("land.ac");
_backgroundTransform->setMatrix(mat);
_backgroundTransform->addChild( m_background.get() );
}
osg::ref_ptr<osg::Node> m_background = osgDB::readNodeFile("background-sky.ac");
//_background_transform->setMatrix(mat);
osg::Matrix t = osg::Matrix::translate(SDScenery::getWorldX() / 2, SDScenery::getWorldY() / 2, SDScenery::getWorldZ() / 2);
mat = mat * t;
_backgroundTransform->setMatrix(mat);
_backgroundTransform->addChild( m_background.get() );
osgDB::Registry::instance()->setDataFilePathList( osgDB::FilePathList() );
@ -88,10 +79,10 @@ void SDBackground::build(bool type, int X, int Y, int Z, const std::string& Trac
void SDBackground::reposition(double X, double Y, double Z)
{
osg::Matrix T;
osg::Matrix mat(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f);
osg::Matrix T;
osg::Matrix mat(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f);
T.makeTranslate(X, Y, Z);
if(_backgroundTransform)
_backgroundTransform->setMatrix(mat * T);
T.makeTranslate(X, Y, Z);
if(_backgroundTransform)
_backgroundTransform->setMatrix(mat * T);
}

View File

@ -51,7 +51,6 @@ SDScenery::SDScenery(void) :
_SkyDomeDistance = 0;
_SkyDomeDistThresh = 12000;
_bgtype = false;
_bgsky = false;
_speedWay = false;
_speedWayLong = false;
@ -128,11 +127,10 @@ void SDScenery::LoadScene(tTrack *track)
_bgsky = strcmp(GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_BGSKY, GR_ATT_BGSKY_DISABLED), GR_ATT_BGSKY_ENABLED) == 0;
if (_bgsky)
{
_bgtype = strcmp(GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_BGSKYTYPE, GR_ATT_BGSKY_RING), GR_ATT_BGSKY_LAND) == 0;
std::string strPath = PathTmp;
snprintf(buf, 256, "tracks/%s/%s/", SDTrack->category, SDTrack->internalname);
strPath += buf;
m_background->build(_bgtype, grWrldX, grWrldY, grWrldZ, strPath);
m_background->build(grWrldX, grWrldY, grWrldZ, strPath);
GfLogDebug("Background loaded\n");
}

View File

@ -39,7 +39,7 @@ class osgLoader;
class SDBackground
{
osg::ref_ptr<osg::Group> _background;
osg::ref_ptr < osg::MatrixTransform> _backgroundTransform;
osg::ref_ptr < osg::MatrixTransform> _backgroundTransform;
bool _type;
@ -50,7 +50,7 @@ public:
// Destructor
~SDBackground(void);
void build(bool type, int X, int Y, int Z, const std::string& strTrack);
void build(int X, int Y, int Z, const std::string& strTrack);
void reposition(double X, double Y, double Z);
osg::ref_ptr<osg::Group> getBackground() { return _background.get(); }
@ -78,7 +78,7 @@ class SDTrackLights
private:
class Internal;
Internal *internal;
osg::ref_ptr<osg::Group> _osgtracklight;
public:
@ -111,7 +111,6 @@ private:
int _SkyDomeDistance;
int _SkyDomeDistThresh;
bool _bgtype;
bool _bgsky;
bool _speedWay;
bool _speedWayLong;
@ -137,8 +136,8 @@ public:
void LoadScene(tTrack *track);
void ShutdownScene(void);
void reposition(double X, double Y, double Z);
void update_tracklights(double currentTime, double totTime, int raceType);
void reposition(double X, double Y, double Z);
void update_tracklights(double currentTime, double totTime, int raceType);
inline static double getWorldX(){return grWrldX;}
inline static double getWorldY(){return grWrldY;}

View File

@ -796,11 +796,15 @@ grLoadBackground()
bool bUseEnvPng = false; // Avoid crash with missing env.rgb files (i.e. Wheel-1)
bool bDoNotUseEnv = false; // Avoid crash with missing env.png
grEnvSelector = new ssgStateSelector(graphic->envnb);
for (i = 0; i < graphic->envnb; i++) {
for (i = 0; i < graphic->envnb; i++)
{
GfLogTrace("Loading #%d track-specific env. mapping image :\n", i+1);
envst = (ssgSimpleState*)grSsgLoadTexState(graphic->env[i]);
// Avoid crash with missing env.rgb files (i.e. Wheel-1)
if (!envst) {
if (!envst)
{
GfLogWarning("Failed : trying fallback env.png\n");
envst = (ssgSimpleState*)grSsgLoadTexState("env.png");
if (!envst) {
@ -848,6 +852,7 @@ grLoadBackground()
else if (grTrack->local.clouds < NEnvShadowIndices)
nEnvShadowIndex = EnvShadowIndices[ grTrack->local.clouds ];
}
if (nEnvShadowIndex >= 0)
{
char pszEnvFile[64];
@ -857,9 +862,12 @@ grLoadBackground()
GfLogWarning("%s not found ; falling back to weather-independant sky shadows"
" from envshadow.png\n", pszEnvFile);
}
if (!grEnvShadowState)
grEnvShadowState = grSsgEnvTexState("envshadow.png", cgrMultiTexState::addColorModulateAlpha);
if (!grEnvShadowState) {
if (!grEnvShadowState)
{
GfLogError("envshadow.png not found ; exiting !\n");
GfLogError("(mandatory for top env mapping (should be in <track>.xml or data/textures ;\n");
GfLogError(" copy the envshadow.png from 'chemisay' to the track you selected ;\n");
@ -871,6 +879,7 @@ grLoadBackground()
// 3) Vertical shadows of track objects on the cars (shadow2.png)
GfLogTrace("Loading track shadows mapping image :\n");
grEnvShadowStateOnCars = grSsgEnvTexState("shadow2.png", cgrMultiTexState::modulate);
if(!grEnvShadowStateOnCars)
grEnvShadowStateOnCars = grSsgEnvTexState("shadow2.rgb", cgrMultiTexState::modulate);
@ -900,22 +909,6 @@ void grLoadBackgroundSky(void)
BackSkyAnchor->addKid(BackSkyLoc);
}
void grLoadBackgroundLand(void)
{
char buf2[256];
const char *bgsky;
ssgEntity *desc2;
bgsky = "land.ac";
snprintf(buf2, sizeof(buf2), "tracks/%s/%s;data/textures;.", grTrack->category, grTrack->internalname);
ssgTexturePath(buf2);
snprintf(buf2, sizeof(buf2), "tracks/%s/%s;data/objects;.", grTrack->category, grTrack->internalname);
ssgModelPath(buf2);
desc2 = grssgLoadAC3D(bgsky, NULL);
BackSkyAnchor->addKid(desc2);
}
void
grPreDrawBackgroundSky(class cGrCamera *cam)
{

View File

@ -33,7 +33,6 @@ void grUpdateFogColor(double sol_angle);
extern void grLoadBackgroundGraphicsOptions();
extern void grLoadBackground();
extern void grLoadBackgroundSky(void);
extern void grLoadBackgroundLand(void);
extern void grInitBackground();
extern void grUpdateSky(double currentTime, double accelTime);
extern void grPreDrawSky(struct Situation* s, float fogStart, float fogEnd, class cGrCamera *cam);

View File

@ -58,8 +58,6 @@ int grWrldZ;
int grWrldMaxSize;
bool grSpeedway;
bool grSpeedwayshort;
static bool grBGSky = false;
static bool grBGType = false;
tTrack *grTrack;
// TheScene
@ -226,17 +224,7 @@ grLoadScene(tTrack *track)
}
if ( grSkyDomeDistance > 0 )
{
grBGSky = strcmp(GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_BGSKY, GR_ATT_BGSKY_DISABLED), GR_ATT_BGSKY_ENABLED) == 0;
if (grBGSky)
{
grBGType = strcmp(GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_BGSKYTYPE, GR_ATT_BGSKY_RING), GR_ATT_BGSKY_LAND) == 0;
if (grBGType)
grLoadBackgroundLand();
else
grLoadBackgroundSky();
}
}
grLoadBackgroundSky();
snprintf(buf, sizeof(buf), "tracks/%s/%s;data/textures;data/img;.", grTrack->category, grTrack->internalname);
ssgTexturePath(buf);

View File

@ -33,10 +33,6 @@
#include "advancedgraphconfig.h"
static const char* BackgroundTypeValues[] = { GR_ATT_BGSKY_RING, GR_ATT_BGSKY_LAND };
static const int NbBackgroundTypeValues = sizeof(BackgroundTypeValues) / sizeof(BackgroundTypeValues[0]);
//static const char* SpectatorValues[] = { GR_ATT_AGR_NULL, GR_ATT_AGR_LITTLE, GR_ATT_AGR_MEDIUM, GR_ATT_AGR_FULL, GR_ATT_AGR_HIGH };
//static const int NbSpectatorValues = sizeof(SpectatorValues) / sizeof(SpectatorValues[0]);
static const char* ShadowValues[] = { GR_ATT_SHADOW_NONE, GR_ATT_SHADOW_SM, GR_ATT_SHADOW_SSM, GR_ATT_SHADOW_PSSM, GR_ATT_SHADOW_LSPM, GR_ATT_SHADOW_VDSM};
static const int NbShadowValues = sizeof(ShadowValues) / sizeof(ShadowValues[0]);
static const char* TexSizeValues[] = { GR_ATT_SHADOW_512, GR_ATT_SHADOW_1024, GR_ATT_SHADOW_2048, GR_ATT_SHADOW_4096, GR_ATT_SHADOW_8192 };
@ -52,7 +48,6 @@ static const int NbMonitorValues = sizeof(MonitorValues) / sizeof(MonitorValues[
static void *ScrHandle = NULL;
static int BackgroundTypeLabelId, BackgroundTypeLeftButtonId, BackgroundTypeRightButtonId;
static int ShadowLabelId, ShadowLeftButtonId, ShadowRightButtonId;
static int TexSizeLabelId, TexSizeLeftButtonId, TexSizeRightButtonId;
static int QualityLabelId, QualityLeftButtonId, QualityRightButtonId;
@ -60,8 +55,6 @@ static int ShadersLabelId, ShadersLeftButtonId, ShadersRightButtonId;
static int SpansplitLabelId, SpansplitLeftButtonId, SpansplitRightButtonId;
static int MonitorLabelId, MonitorLeftButtonId, MonitorRightButtonId;
static int BackgroundTypeIndex = 0;
//static int SpectatorsIndex = 0;
static int ShadowIndex = 0;
static int TexSizeIndex = 0;
static int QualityIndex = 0;
@ -77,7 +70,6 @@ static int MonitorIndex = 0;
static char buf[512];
// Options IO functions ===================================================================
static void
@ -85,21 +77,9 @@ loadOptions()
{
void* grHandle = GfParmReadFileLocal(GR_PARAM_FILE, GFPARM_RMODE_STD | GFPARM_RMODE_CREAT);
BackgroundTypeIndex = 0; // Default value index, in case file value not found in list.
const char* pszBackgroundType =
GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_BGSKYTYPE, GR_ATT_BGSKY_RING);
for (int i = 0; i < NbBackgroundTypeValues; i++)
{
if (!strcmp(pszBackgroundType, BackgroundTypeValues[i]))
{
BackgroundTypeIndex = i;
break;
}
}
ShadowIndex = 0; // Default value index, in case file value not found in list.
const char* pszShadow =
GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_SHADOW_TYPE, GR_ATT_SHADOW_NONE);
const char* pszShadow = GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_SHADOW_TYPE, GR_ATT_SHADOW_NONE);
for (int i = 0; i < NbShadowValues; i++)
{
if (!strcmp(pszShadow, ShadowValues[i]))
@ -110,8 +90,8 @@ loadOptions()
}
TexSizeIndex = 0; // Default value index, in case file value not found in list.
const char* pszTexSize =
GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_SHADOW_SIZE, GR_ATT_SHADOW_1024);
const char* pszTexSize = GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_SHADOW_SIZE, GR_ATT_SHADOW_1024);
for (int i = 0; i < NbTexSizeValues; i++)
{
if (!strcmp(pszTexSize, TexSizeValues[i]))
@ -122,8 +102,8 @@ loadOptions()
}
QualityIndex = 0; // Default value index, in case file value not found in list.
const char* pszQuality =
GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_AGR_QUALITY, GR_ATT_AGR_NULL);
const char* pszQuality = GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_AGR_QUALITY, GR_ATT_AGR_NULL);
for (int i = 0; i < NbQualityValues; i++)
{
if (!strcmp(pszQuality, QualityValues[i]))
@ -134,8 +114,8 @@ loadOptions()
}
ShadersIndex = 0; // Default value index, in case file value not found in list.
const char* pszShaders =
GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_SHADERS, GR_VAL_NO);
const char* pszShaders = GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_SHADERS, GR_VAL_NO);
for (int i = 0; i < NbShadersValues; i++)
{
if (!strcmp(pszShaders, ShadersValues[i]))
@ -146,8 +126,8 @@ loadOptions()
}
SpansplitIndex = 0; // Default value index, in case file value not found in list.
const char* pszSpansplit =
GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_SPANSPLIT, GR_VAL_NO);
const char* pszSpansplit = GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_SPANSPLIT, GR_VAL_NO);
for (int i = 0; i < NbSpansplitValues; i++)
{
if (!strcmp(pszSpansplit, SpansplitValues[i]))
@ -169,10 +149,12 @@ loadOptions()
GfuiEditboxSetString(ScrHandle, BezelCompId, buf);
ScreenDist = GfParmGetNum(grHandle, GR_SCT_GRAPHIC, GR_ATT_SCREENDIST, NULL, 1.0f);
if (ScreenDist > 5.0f) {
if (ScreenDist > 5.0f)
{
ScreenDist = 5.0f;
}
else if (ScreenDist < 0.0f) {
else if (ScreenDist < 0.0f)
{
ScreenDist = 0.0f;
}
@ -180,10 +162,12 @@ loadOptions()
GfuiEditboxSetString(ScrHandle, ScreenDistId, buf);
ArcRatio = GfParmGetNum(grHandle, GR_SCT_GRAPHIC, GR_ATT_ARCRATIO, NULL, 1.0f);
if (ArcRatio > 2.0f) {
if (ArcRatio > 2.0f)
{
ArcRatio = 2.0f;
}
else if (ArcRatio < 0.0f) {
else if (ArcRatio < 0.0f)
{
ArcRatio = 0.0f;
}
@ -191,8 +175,8 @@ loadOptions()
GfuiEditboxSetString(ScrHandle, ArcRatioId, buf);
MonitorIndex = 0; // Default value index, in case file value not found in list.
const char* pszMonitor =
GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_MONITOR, GR_VAL_MONITOR_16BY9);
const char* pszMonitor = GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_MONITOR, GR_VAL_MONITOR_16BY9);
for (int i = 0; i < NbMonitorValues; i++)
{
if (!strcmp(pszMonitor, MonitorValues[i]))
@ -213,7 +197,6 @@ saveOptions()
void* grHandle = GfParmReadFileLocal(GR_PARAM_FILE, GFPARM_RMODE_STD | GFPARM_RMODE_CREAT);
GfParmSetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_BGSKYTYPE, BackgroundTypeValues[BackgroundTypeIndex]);
GfParmSetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_SHADOW_TYPE, ShadowValues[ShadowIndex]);
GfParmSetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_SHADOW_SIZE, TexSizeValues[TexSizeIndex]);
GfParmSetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_AGR_QUALITY, QualityValues[QualityIndex]);
@ -231,14 +214,6 @@ saveOptions()
// GUI callback functions ===================================================================
static void
onChangeBackgroundType(void* vp)
{
const long delta = (long)vp;
BackgroundTypeIndex = (BackgroundTypeIndex + NbBackgroundTypeValues + delta) % NbBackgroundTypeValues;
GfuiLabelSetText(ScrHandle, BackgroundTypeLabelId, BackgroundTypeValues[BackgroundTypeIndex]);
}
static void
onChangeShadow(void* vp)
{
@ -342,7 +317,6 @@ onActivate(void* /* dummy */)
loadOptions();
// Load GUI control values.
onChangeBackgroundType(0);
onChangeShadow(0);
onChangeTexSize(0);
onChangeQuality(0);
@ -384,12 +358,6 @@ AdvancedGraphMenuInit(void* prevMenu)
GfuiMenuCreateStaticControls(ScrHandle, param);
BackgroundTypeLeftButtonId =
GfuiMenuCreateButtonControl(ScrHandle, param, "bgskyleftarrow", (void*)-1, onChangeBackgroundType);
BackgroundTypeRightButtonId =
GfuiMenuCreateButtonControl(ScrHandle, param, "bgskyrightarrow", (void*)1, onChangeBackgroundType);
BackgroundTypeLabelId = GfuiMenuCreateLabelControl(ScrHandle, param, "bgskydomelabel");
ShadowLeftButtonId =
GfuiMenuCreateButtonControl(ScrHandle, param, "shadowleftarrow", (void*)-1, onChangeShadow);
ShadowRightButtonId =