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 "grscene.h"
|
||||
#include "grloadac.h"
|
||||
#include "grmain.h"
|
||||
#include "grcam.h" //cGrBackgroundCam
|
||||
#include "grutil.h"
|
||||
|
@ -844,6 +845,27 @@ grLoadBackground(void)
|
|||
GfLogWarning("shadow2.png/rgb not found ; no shadow mapping on cars for this track\n");
|
||||
}//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
|
||||
grPreDrawSky(tSituation* s, float fogStart, float fogEnd)
|
||||
{
|
||||
|
@ -1005,6 +1027,9 @@ grShutdownBackground(void)
|
|||
|
||||
if (SunAnchor)
|
||||
SunAnchor = 0;
|
||||
|
||||
if (BackSkyAnchor)
|
||||
BackSkyAnchor = 0;
|
||||
|
||||
if (grEnvState) {
|
||||
ssgDeRefDelete(grEnvState);
|
||||
|
|
|
@ -32,6 +32,7 @@ extern void grPreDrawSky(struct Situation* s, float fogStart, float fogEnd);
|
|||
extern void grPostDrawSky();
|
||||
extern void grDrawStaticBackground(class cGrCamera *cam, class cGrBackgroundCam *bgCam);
|
||||
extern void grShutdownBackground(void);
|
||||
extern void grLoadBackgroundSky(void);
|
||||
|
||||
extern unsigned grSkyDomeDistance; // 0 means no sky dome (static background).
|
||||
extern const tdble grSkyDomeNeutralFOVDistance;
|
||||
|
|
|
@ -135,7 +135,13 @@ grLoadScene(tTrack *track)
|
|||
|
||||
// Build scene.
|
||||
TheScene = new ssgRoot;
|
||||
|
||||
|
||||
/* Background Sky */
|
||||
BackSkyAnchor = new ssgBranch;
|
||||
BackSkyLoc = new ssgTransform;
|
||||
BackSkyLoc->addKid(BackSkyAnchor);
|
||||
TheScene->addKid(BackSkyLoc);
|
||||
|
||||
/* Landscape */
|
||||
LandAnchor = new ssgBranch;
|
||||
TheScene->addKid(LandAnchor);
|
||||
|
@ -168,11 +174,6 @@ grLoadScene(tTrack *track)
|
|||
TrackLightAnchor = new ssgBranch;
|
||||
TheScene->addKid(TrackLightAnchor);
|
||||
|
||||
BackSkyAnchor = new ssgBranch;
|
||||
BackSkyLoc = new ssgTransform;
|
||||
BackSkyLoc->addKid(BackSkyAnchor);
|
||||
TheScene->addKid(BackSkyLoc);
|
||||
|
||||
/* Load the background (horizon and sky) */
|
||||
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;
|
||||
if (grBGSky)
|
||||
{
|
||||
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);
|
||||
grLoadBackgroundSky();
|
||||
|
||||
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 *ThePits;
|
||||
extern ssgBranch *BackSkyAnchor;
|
||||
extern ssgTransform *BackSkyLoc;
|
||||
|
||||
extern ssgStateSelector *grEnvSelector;
|
||||
extern cgrMultiTexState *grEnvState;
|
||||
|
|
Loading…
Reference in a new issue