#1 : Use separate FC and BG colors
This commit is contained in:
parent
93331f49fa
commit
800be60cb6
@ -5,6 +5,7 @@
|
|||||||
#define CENTERX SCREENXRES/2
|
#define CENTERX SCREENXRES/2
|
||||||
#define CENTERY SCREENYRES/2
|
#define CENTERY SCREENYRES/2
|
||||||
#define FOV CENTERX
|
#define FOV CENTERX
|
||||||
|
#define FOG_COLOR {128, 128, 128} // Default to neutral grey
|
||||||
#define CLEAR_COLOR_R 0
|
#define CLEAR_COLOR_R 0
|
||||||
#define CLEAR_COLOR_G 0
|
#define CLEAR_COLOR_G 0
|
||||||
#define CLEAR_COLOR_B 0
|
#define CLEAR_COLOR_B 0
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
// PSX setup
|
// PSX setup
|
||||||
void setLightEnv(DRAWENV draw[2], CVECTOR * BGc, VECTOR * BKc, MATRIX * cmat);
|
void setLightEnv(DRAWENV draw[2], CVECTOR * BGc, VECTOR * BKc, MATRIX * cmat);
|
||||||
void init(DISPENV disp[2], DRAWENV draw[2], short db, MATRIX * cmat, CVECTOR * BG, VECTOR * BK );
|
void init(DISPENV disp[2], DRAWENV draw[2], short db, MATRIX * cmat, CVECTOR * BG, VECTOR * BK, VECTOR * FC );
|
||||||
void ScrRst(void);
|
void ScrRst(void);
|
||||||
void display(DISPENV * disp, DRAWENV * draw, u_long * otdisc, char * primbuff, char ** nextprim, char * db);
|
void display(DISPENV * disp, DRAWENV * draw, u_long * otdisc, char * primbuff, char ** nextprim, char * db);
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ void transformMesh(CAMERA * camera, MESH * mesh){
|
|||||||
void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpri, u_long * ot, char * db, DRAWENV * draw) {
|
void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpri, u_long * ot, char * db, DRAWENV * draw) {
|
||||||
long nclip, t = 0;
|
long nclip, t = 0;
|
||||||
// mesh is POLY_GT3 ( triangle )
|
// mesh is POLY_GT3 ( triangle )
|
||||||
for (int i = 0; i < (mesh->totalVerts);) {
|
for (int i = 0; i < (mesh->totalVerts) && (mesh->totalVerts - i) > 2;) {
|
||||||
if (mesh->index[t].code == 4) {
|
if (mesh->index[t].code == 4) {
|
||||||
t = drawTri(mesh, Flag, atime, camMode, nextpri, ot, db, draw, t, i);
|
t = drawTri(mesh, Flag, atime, camMode, nextpri, ot, db, draw, t, i);
|
||||||
i += 3;
|
i += 3;
|
||||||
|
@ -54,8 +54,9 @@ int primcnt=0; // Primitive counter
|
|||||||
char * nextpri = primbuff[0]; // Primitive counter
|
char * nextpri = primbuff[0]; // Primitive counter
|
||||||
char db = 0; // Current buffer counter
|
char db = 0; // Current buffer counter
|
||||||
// Lighting
|
// Lighting
|
||||||
CVECTOR BGc = {128, 128, 128, 0}; // Default Far color - This can be set in each level.
|
CVECTOR BGc = {128, 128, 128, 0}; // Default Far color - This can be set in each level.
|
||||||
VECTOR BKc = {128, 128, 128, 0}; // Back color
|
VECTOR BKc = {128, 128, 128, 0}; // Back color
|
||||||
|
VECTOR FC = FOG_COLOR; // Far (Fog) color
|
||||||
SVECTOR lgtang = {0, 0, 0};
|
SVECTOR lgtang = {0, 0, 0};
|
||||||
MATRIX rotlgt, light;
|
MATRIX rotlgt, light;
|
||||||
short vs;
|
short vs;
|
||||||
@ -130,7 +131,7 @@ int main() {
|
|||||||
}
|
}
|
||||||
levelWas = level;
|
levelWas = level;
|
||||||
// Init dislay, Gte..
|
// Init dislay, Gte..
|
||||||
init(disp, draw, db, curLvl.cmat, curLvl.BGc, curLvl.BKc);
|
init(disp, draw, db, curLvl.cmat, curLvl.BGc, curLvl.BKc, &FC);
|
||||||
// Init Pads
|
// Init Pads
|
||||||
InitPAD(controllers[0].pad, 34, controllers[1].pad, 34);
|
InitPAD(controllers[0].pad, 34, controllers[1].pad, 34);
|
||||||
StartPAD();
|
StartPAD();
|
||||||
|
@ -12,7 +12,7 @@ void setLightEnv(DRAWENV draw[2], CVECTOR * BGc, VECTOR * BKc, MATRIX * cmat){
|
|||||||
SetColorMatrix(cmat);
|
SetColorMatrix(cmat);
|
||||||
};
|
};
|
||||||
|
|
||||||
void init(DISPENV disp[2], DRAWENV draw[2], short db, MATRIX * cmat, CVECTOR * BGc, VECTOR * BKc) {
|
void init(DISPENV disp[2], DRAWENV draw[2], short db, MATRIX * cmat, CVECTOR * BGc, VECTOR * BKc, VECTOR * FC) {
|
||||||
ResetCallback();
|
ResetCallback();
|
||||||
// Init pad
|
// Init pad
|
||||||
//~ PadInit(0);
|
//~ PadInit(0);
|
||||||
@ -37,7 +37,6 @@ void init(DISPENV disp[2], DRAWENV draw[2], short db, MATRIX * cmat, CVECTOR * B
|
|||||||
}
|
}
|
||||||
// Set Draw area color
|
// Set Draw area color
|
||||||
setLightEnv(draw, BGc, BKc, cmat);
|
setLightEnv(draw, BGc, BKc, cmat);
|
||||||
|
|
||||||
// Set Draw area clear flag
|
// Set Draw area clear flag
|
||||||
draw[0].isbg = 1;
|
draw[0].isbg = 1;
|
||||||
draw[1].isbg = 1;
|
draw[1].isbg = 1;
|
||||||
@ -53,6 +52,7 @@ void init(DISPENV disp[2], DRAWENV draw[2], short db, MATRIX * cmat, CVECTOR * B
|
|||||||
FNT_SCR_BG,
|
FNT_SCR_BG,
|
||||||
FNT_SCR_MAX_CHAR
|
FNT_SCR_MAX_CHAR
|
||||||
);
|
);
|
||||||
|
SetFarColor(FC->vx, FC->vy, FC->vz);
|
||||||
// TODO : Move this to level files
|
// TODO : Move this to level files
|
||||||
SetFogNearFar( FOG_NEAR, FOG_FAR, SCREENXRES );
|
SetFogNearFar( FOG_NEAR, FOG_FAR, SCREENXRES );
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user