move backgroundsky in background.cpp
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@4452 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 2724e33a3d993a8ebde79f3e75ee2ec0895fdd96 Former-commit-id: da681ea7d0f89b626e0c44784fd42472c21fd25c
This commit is contained in:
parent
6280a41f34
commit
9587a4d353
4 changed files with 35 additions and 20 deletions
|
@ -26,6 +26,7 @@
|
||||||
#include <plib/ssgAux.h>
|
#include <plib/ssgAux.h>
|
||||||
|
|
||||||
#include "grscene.h"
|
#include "grscene.h"
|
||||||
|
#include "grloadac.h"
|
||||||
#include "grmain.h"
|
#include "grmain.h"
|
||||||
#include "grcam.h" //cGrBackgroundCam
|
#include "grcam.h" //cGrBackgroundCam
|
||||||
#include "grutil.h"
|
#include "grutil.h"
|
||||||
|
@ -844,6 +845,27 @@ grLoadBackground(void)
|
||||||
GfLogWarning("shadow2.png/rgb not found ; no shadow mapping on cars for this track\n");
|
GfLogWarning("shadow2.png/rgb not found ; no shadow mapping on cars for this track\n");
|
||||||
}//grLoadBackground
|
}//grLoadBackground
|
||||||
|
|
||||||
|
void grLoadBackgroundSky(void)
|
||||||
|
{
|
||||||
|
char buf2[256];
|
||||||
|
const char *bgsky;
|
||||||
|
ssgEntity *desc2;
|
||||||
|
|
||||||
|
bgsky = "background-sky.ac";
|
||||||
|
snprintf(buf2, sizeof(buf2), "tracks/%s/%s;data/textures;.", grTrack->category, grTrack->internalname);
|
||||||
|
ssgTexturePath(buf2);
|
||||||
|
snprintf(buf2, sizeof(buf2), "data/objects");
|
||||||
|
ssgModelPath(buf2);
|
||||||
|
|
||||||
|
desc2 = grssgLoadAC3D(bgsky, NULL);
|
||||||
|
BackSkyAnchor->addKid(desc2);
|
||||||
|
|
||||||
|
sgCoord BackSkypos;
|
||||||
|
//sgSetCoord ( &backskypos, double(grWrldX/2), 0.0f, double(grWrldZ/2));
|
||||||
|
sgSetCoord(&BackSkypos, grWrldX/2, grWrldY/2, 0, 0, 0, 0);
|
||||||
|
BackSkyLoc->setTransform(&BackSkypos);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
grPreDrawSky(tSituation* s, float fogStart, float fogEnd)
|
grPreDrawSky(tSituation* s, float fogStart, float fogEnd)
|
||||||
{
|
{
|
||||||
|
@ -1005,6 +1027,9 @@ grShutdownBackground(void)
|
||||||
|
|
||||||
if (SunAnchor)
|
if (SunAnchor)
|
||||||
SunAnchor = 0;
|
SunAnchor = 0;
|
||||||
|
|
||||||
|
if (BackSkyAnchor)
|
||||||
|
BackSkyAnchor = 0;
|
||||||
|
|
||||||
if (grEnvState) {
|
if (grEnvState) {
|
||||||
ssgDeRefDelete(grEnvState);
|
ssgDeRefDelete(grEnvState);
|
||||||
|
|
|
@ -32,6 +32,7 @@ extern void grPreDrawSky(struct Situation* s, float fogStart, float fogEnd);
|
||||||
extern void grPostDrawSky();
|
extern void grPostDrawSky();
|
||||||
extern void grDrawStaticBackground(class cGrCamera *cam, class cGrBackgroundCam *bgCam);
|
extern void grDrawStaticBackground(class cGrCamera *cam, class cGrBackgroundCam *bgCam);
|
||||||
extern void grShutdownBackground(void);
|
extern void grShutdownBackground(void);
|
||||||
|
extern void grLoadBackgroundSky(void);
|
||||||
|
|
||||||
extern unsigned grSkyDomeDistance; // 0 means no sky dome (static background).
|
extern unsigned grSkyDomeDistance; // 0 means no sky dome (static background).
|
||||||
extern const tdble grSkyDomeNeutralFOVDistance;
|
extern const tdble grSkyDomeNeutralFOVDistance;
|
||||||
|
|
|
@ -135,7 +135,13 @@ grLoadScene(tTrack *track)
|
||||||
|
|
||||||
// Build scene.
|
// Build scene.
|
||||||
TheScene = new ssgRoot;
|
TheScene = new ssgRoot;
|
||||||
|
|
||||||
|
/* Background Sky */
|
||||||
|
BackSkyAnchor = new ssgBranch;
|
||||||
|
BackSkyLoc = new ssgTransform;
|
||||||
|
BackSkyLoc->addKid(BackSkyAnchor);
|
||||||
|
TheScene->addKid(BackSkyLoc);
|
||||||
|
|
||||||
/* Landscape */
|
/* Landscape */
|
||||||
LandAnchor = new ssgBranch;
|
LandAnchor = new ssgBranch;
|
||||||
TheScene->addKid(LandAnchor);
|
TheScene->addKid(LandAnchor);
|
||||||
|
@ -168,11 +174,6 @@ grLoadScene(tTrack *track)
|
||||||
TrackLightAnchor = new ssgBranch;
|
TrackLightAnchor = new ssgBranch;
|
||||||
TheScene->addKid(TrackLightAnchor);
|
TheScene->addKid(TrackLightAnchor);
|
||||||
|
|
||||||
BackSkyAnchor = new ssgBranch;
|
|
||||||
BackSkyLoc = new ssgTransform;
|
|
||||||
BackSkyLoc->addKid(BackSkyAnchor);
|
|
||||||
TheScene->addKid(BackSkyLoc);
|
|
||||||
|
|
||||||
/* Load the background (horizon and sky) */
|
/* Load the background (horizon and sky) */
|
||||||
grLoadBackground();
|
grLoadBackground();
|
||||||
|
|
||||||
|
@ -204,21 +205,8 @@ grLoadScene(tTrack *track)
|
||||||
{
|
{
|
||||||
grBGSky = strcmp(GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_BGSKY, GR_ATT_BGSKY_DISABLED), GR_ATT_BGSKY_ENABLED) == 0;
|
grBGSky = strcmp(GfParmGetStr(grHandle, GR_SCT_GRAPHIC, GR_ATT_BGSKY, GR_ATT_BGSKY_DISABLED), GR_ATT_BGSKY_ENABLED) == 0;
|
||||||
if (grBGSky)
|
if (grBGSky)
|
||||||
{
|
grLoadBackgroundSky();
|
||||||
acname = "background-sky.ac";
|
|
||||||
snprintf(buf, sizeof(buf), "tracks/%s/%s;data/textures;data/img;.", grTrack->category, grTrack->internalname);
|
|
||||||
ssgTexturePath(buf);
|
|
||||||
snprintf(buf, sizeof(buf), "data/objects");
|
|
||||||
ssgModelPath(buf);
|
|
||||||
|
|
||||||
desc = grssgLoadAC3D(acname, NULL);
|
|
||||||
BackSkyAnchor->addKid(desc);
|
|
||||||
|
|
||||||
sgCoord BackSkypos;
|
|
||||||
//sgSetCoord ( &backskypos, double(grWrldX/2), 0.0f, double(grWrldZ/2));
|
|
||||||
sgSetCoord(&BackSkypos, grWrldX/2, grWrldY/2, 0, 0, 0, 0);
|
|
||||||
BackSkyLoc->setTransform(&BackSkypos);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,7 @@ extern ssgBranch *CarlightAnchor;
|
||||||
extern ssgBranch *TrackLightAnchor;
|
extern ssgBranch *TrackLightAnchor;
|
||||||
extern ssgBranch *ThePits;
|
extern ssgBranch *ThePits;
|
||||||
extern ssgBranch *BackSkyAnchor;
|
extern ssgBranch *BackSkyAnchor;
|
||||||
|
extern ssgTransform *BackSkyLoc;
|
||||||
|
|
||||||
extern ssgStateSelector *grEnvSelector;
|
extern ssgStateSelector *grEnvSelector;
|
||||||
extern cgrMultiTexState *grEnvState;
|
extern cgrMultiTexState *grEnvState;
|
||||||
|
|
Loading…
Reference in a new issue