Change new PIE modes to use flags instead of connectors.
Introduced in 82e00bf7747af4962a32b67e4215d40298bbf9b3: Roll to camera uses TYPE x1x instead of a "1 x 0" connector. Pitch to camera uses TYPE x2x instead of a "2 x 0" connector. Additive uses TYPE xx1/xx2 to dis/enable instead of a "x 1 0"/"x 2 0" connector. Introduced in f3ba2378e54ab0557db4a20c876043f8be059906: Premultiplied uses TYPE xx4 instead of a "x 3 0" connector. Refs #3024.master
parent
2fc761a304
commit
97a7c6a1da
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-21-fx.png 256 256
|
||||
LEVELS 2
|
||||
LEVEL 1
|
||||
|
@ -11,8 +11,7 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 207 72 207 55 210 55
|
||||
200 3 3 1 0 207 72 210 55 210 72
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
-7 0 0
|
||||
LEVEL 2
|
||||
POINTS 4
|
||||
|
@ -23,6 +22,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 207 72 207 55 210 55
|
||||
200 3 3 1 0 207 72 210 55 210 72
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
7 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-21-fx.png 256 256
|
||||
LEVELS 4
|
||||
LEVEL 1
|
||||
|
@ -11,8 +11,7 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 207 72 207 55 210 55
|
||||
200 3 3 1 0 207 72 210 55 210 72
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
-5 -5 -6
|
||||
LEVEL 2
|
||||
POINTS 4
|
||||
|
@ -23,8 +22,7 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 207 72 207 55 210 55
|
||||
200 3 3 1 0 207 72 210 55 210 72
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
5 -5 -6
|
||||
LEVEL 3
|
||||
POINTS 4
|
||||
|
@ -35,8 +33,7 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 207 72 207 55 210 55
|
||||
200 3 3 1 0 207 72 210 55 210 72
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
-5 5 6
|
||||
LEVEL 4
|
||||
POINTS 4
|
||||
|
@ -47,6 +44,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 207 72 207 55 210 55
|
||||
200 3 3 1 0 207 72 210 55 210 72
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
5 5 6
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-21-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 192 69 192 54 203 54
|
||||
200 3 3 1 0 192 69 203 54 203 69
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-21-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 192 69 192 54 203 54
|
||||
200 3 3 1 0 192 69 203 54 203 69
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-18-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 74 134 1 134 1 127
|
||||
200 3 3 1 0 74 134 1 127 74 127
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-18-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 28 137 -1 137 -1 150
|
||||
200 3 3 1 0 28 137 -1 150 28 150
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-18-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 74 134 1 134 1 127
|
||||
200 3 3 1 0 74 134 1 127 74 127
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 212
|
||||
TEXTURE 0 page-23-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 227 194 202 194 202 181
|
||||
200 3 3 1 0 227 194 202 181 227 181
|
||||
CONNECTORS 2
|
||||
1 2 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 212
|
||||
TEXTURE 0 page-18-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 19 159 0 159 0 152
|
||||
200 3 3 1 0 19 159 0 152 19 152
|
||||
CONNECTORS 2
|
||||
1 2 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 222
|
||||
TEXTURE 0 page-23-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 157 253 157 226 184 226
|
||||
200 3 3 1 0 157 253 184 226 184 253
|
||||
CONNECTORS 2
|
||||
2 2 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 212
|
||||
TEXTURE 0 page-23-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 227 194 202 194 202 181
|
||||
200 3 3 1 0 227 194 202 181 227 181
|
||||
CONNECTORS 2
|
||||
1 2 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 212
|
||||
TEXTURE 0 page-18-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 59 159 40 159 40 152
|
||||
200 3 3 1 0 59 159 40 152 59 152
|
||||
CONNECTORS 2
|
||||
1 2 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 212
|
||||
TEXTURE 0 page-23-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 254 194 229 194 229 181
|
||||
200 3 3 1 0 254 194 229 181 254 181
|
||||
CONNECTORS 2
|
||||
1 2 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-21-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 203 65 203 54 206 54
|
||||
200 3 3 1 0 203 65 206 54 206 65
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-21-fx.png 256 256
|
||||
LEVELS 2
|
||||
LEVEL 1
|
||||
|
@ -11,8 +11,7 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 203 65 203 54 206 54
|
||||
200 3 3 1 0 203 65 206 54 206 65
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
-9 0 0
|
||||
LEVEL 2
|
||||
POINTS 4
|
||||
|
@ -23,6 +22,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 203 65 203 54 206 54
|
||||
200 3 3 1 0 203 65 206 54 206 65
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
9 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-21-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 203 65 203 54 206 54
|
||||
200 3 3 1 0 203 65 206 54 206 65
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-21-fx.png 256 256
|
||||
LEVELS 2
|
||||
LEVEL 1
|
||||
|
@ -11,8 +11,7 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 203 65 203 54 206 54
|
||||
200 3 3 1 0 203 65 206 54 206 65
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
-9 0 0
|
||||
LEVEL 2
|
||||
POINTS 4
|
||||
|
@ -23,6 +22,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 203 65 203 54 206 54
|
||||
200 3 3 1 0 203 65 206 54 206 65
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
9 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-21-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 192 74 192 54 203 54
|
||||
200 3 3 1 0 192 74 203 54 203 74
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PIE 2
|
||||
TYPE 200
|
||||
TYPE 211
|
||||
TEXTURE 0 page-18-fx.png 256 256
|
||||
LEVELS 1
|
||||
LEVEL 1
|
||||
|
@ -11,6 +11,5 @@ POINTS 4
|
|||
POLYGONS 2
|
||||
200 3 3 2 1 28 137 -1 137 -1 150
|
||||
200 3 3 1 0 28 137 -1 150 28 150
|
||||
CONNECTORS 2
|
||||
1 1 0
|
||||
CONNECTORS 1
|
||||
0 0 0
|
||||
|
|
|
@ -30,8 +30,15 @@
|
|||
//*************************************************************************
|
||||
|
||||
// PIE model flags
|
||||
#define iV_IMD_NOSTRETCH 0x00001000
|
||||
#define iV_IMD_TCMASK 0x00010000
|
||||
// premultiplied implies additive
|
||||
#define iV_IMD_NO_ADDITIVE 0x00000001
|
||||
#define iV_IMD_ADDITIVE 0x00000002
|
||||
#define iV_IMD_PREMULTIPLIED 0x00000004
|
||||
// pitch to camera implies roll to camera
|
||||
#define iV_IMD_ROLL_TO_CAMERA 0x00000010
|
||||
#define iV_IMD_PITCH_TO_CAMERA 0x00000020
|
||||
#define iV_IMD_NOSTRETCH 0x00001000
|
||||
#define iV_IMD_TCMASK 0x00010000
|
||||
|
||||
// polygon flags b0..b7: col, b24..b31: anim index
|
||||
|
||||
|
|
|
@ -784,11 +784,12 @@ iIMDShape *iV_ProcessIMD( const char **ppFileData, const char *FileDataEnd )
|
|||
|
||||
ASSERT_OR_RETURN(NULL, texpage >= 0, "%s could not load tex page %s", pFileName, texfile);
|
||||
|
||||
// assign tex page to levels
|
||||
// assign tex pages and flags to all levels
|
||||
for (psShape = shape; psShape != NULL; psShape = psShape->next)
|
||||
{
|
||||
psShape->texpage = texpage;
|
||||
psShape->normalpage = normalpage;
|
||||
psShape->flags = imd_flags;
|
||||
}
|
||||
|
||||
// check if model should use team colour mask
|
||||
|
@ -805,7 +806,6 @@ iIMDShape *iV_ProcessIMD( const char **ppFileData, const char *FileDataEnd )
|
|||
// Propagate settings through levels
|
||||
for (psShape = shape; psShape != NULL; psShape = psShape->next)
|
||||
{
|
||||
psShape->flags |= iV_IMD_TCMASK;
|
||||
psShape->tcmaskpage = texpage_mask;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1279,19 +1279,27 @@ void renderProjectile(PROJECTILE *psCurr)
|
|||
bool premultiplied = false;
|
||||
bool additive = psStats->weaponSubClass == WSC_ROCKET || psStats->weaponSubClass == WSC_MISSILE || psStats->weaponSubClass == WSC_SLOWROCKET || psStats->weaponSubClass == WSC_SLOWMISSILE;
|
||||
|
||||
if (pIMD->nconnectors >= 2)
|
||||
if (pIMD->flags & iV_IMD_ROLL_TO_CAMERA)
|
||||
{
|
||||
switch (pIMD->connectors[0].x)
|
||||
{
|
||||
case 1: rollToCamera = true; break;
|
||||
case 2: rollToCamera = true; pitchToCamera = true; break;
|
||||
}
|
||||
switch (pIMD->connectors[0].y)
|
||||
{
|
||||
case 1: additive = false; break;
|
||||
case 2: additive = true; break;
|
||||
case 3: additive = false; premultiplied = true; break;
|
||||
}
|
||||
rollToCamera = true;
|
||||
}
|
||||
if (pIMD->flags & iV_IMD_PITCH_TO_CAMERA)
|
||||
{
|
||||
rollToCamera = true;
|
||||
pitchToCamera = true;
|
||||
}
|
||||
if (pIMD->flags & iV_IMD_NO_ADDITIVE)
|
||||
{
|
||||
additive = false;
|
||||
}
|
||||
if (pIMD->flags & iV_IMD_ADDITIVE)
|
||||
{
|
||||
additive = true;
|
||||
}
|
||||
if (pIMD->flags & iV_IMD_PREMULTIPLIED)
|
||||
{
|
||||
additive = false;
|
||||
premultiplied = true;
|
||||
}
|
||||
|
||||
/* Get bullet's x coord */
|
||||
|
@ -1323,8 +1331,8 @@ void renderProjectile(PROJECTILE *psCurr)
|
|||
if (pitchToCamera || rollToCamera)
|
||||
{
|
||||
// Centre on projectile (relevant for twin projectiles).
|
||||
pie_TRANSLATE(pIMD->connectors[1].x, pIMD->connectors[1].y, pIMD->connectors[1].z);
|
||||
camera -= Vector3i(pIMD->connectors[1].x, pIMD->connectors[1].y, pIMD->connectors[1].z);
|
||||
pie_TRANSLATE(pIMD->connectors[0].x, pIMD->connectors[0].y, pIMD->connectors[0].z);
|
||||
camera -= Vector3i(pIMD->connectors[0].x, pIMD->connectors[0].y, pIMD->connectors[0].z);
|
||||
}
|
||||
|
||||
if (pitchToCamera)
|
||||
|
@ -1344,8 +1352,8 @@ void renderProjectile(PROJECTILE *psCurr)
|
|||
if (pitchToCamera || rollToCamera)
|
||||
{
|
||||
// Undo centre on projectile (relevant for twin projectiles).
|
||||
pie_TRANSLATE(-pIMD->connectors[1].x, -pIMD->connectors[1].y, -pIMD->connectors[1].z);
|
||||
camera -= Vector3i(-pIMD->connectors[1].x, -pIMD->connectors[1].y, -pIMD->connectors[1].z);
|
||||
pie_TRANSLATE(-pIMD->connectors[0].x, -pIMD->connectors[0].y, -pIMD->connectors[0].z);
|
||||
camera -= Vector3i(-pIMD->connectors[0].x, -pIMD->connectors[0].y, -pIMD->connectors[0].z);
|
||||
}
|
||||
|
||||
if (premultiplied)
|
||||
|
|
|
@ -1746,12 +1746,9 @@ static void renderExplosionEffect(const EFFECT *psEffect)
|
|||
}
|
||||
|
||||
bool premultiplied = false;
|
||||
if (psEffect->imd->nconnectors >= 1)
|
||||
if (psEffect->imd->flags & iV_IMD_PREMULTIPLIED)
|
||||
{
|
||||
switch (psEffect->imd->connectors[0].y)
|
||||
{
|
||||
case 3: premultiplied = true; break;
|
||||
}
|
||||
premultiplied = true;
|
||||
}
|
||||
|
||||
if (premultiplied)
|
||||
|
|
Loading…
Reference in New Issue