- Blood: extend all 16 bit fields holding sector or wall indices to 32 bit.

This commit is contained in:
Christoph Oelckers 2021-11-16 18:20:24 +01:00
parent 499dc9953b
commit b685163ab1
9 changed files with 16 additions and 14 deletions

View file

@ -463,7 +463,7 @@ void engineLoadBoard(const char* filename, int flags, vec3_t* pos, int16_t* ang,
}
void qloadboard(const char* filename, char flags, vec3_t* dapos, int16_t* daang, int16_t* dacursectnum);
void qloadboard(const char* filename, char flags, vec3_t* dapos, int16_t* daang, int* dacursectnum);
// loads a map into the backup buffer.
@ -475,7 +475,7 @@ void loadMapBackup(const char* filename)
if (isBlood())
{
qloadboard(filename, 0, &pos, &scratch, &scratch);
qloadboard(filename, 0, &pos, &scratch, &scratch2);
}
else
{

View file

@ -6931,7 +6931,7 @@ void actFireVector(DBloodActor* shooter, int a2, int a3, int a4, int a5, int a6,
int x = gHitInfo.hitx - MulScale(a4, 16, 14);
int y = gHitInfo.hity - MulScale(a5, 16, 14);
int z = gHitInfo.hitz - MulScale(a6, 256, 14);
short nSector = gHitInfo.hitsect;
int nSector = gHitInfo.hitsect;
uint8_t nSurf = kSurfNone;
if (nRange == 0 || approxDist(gHitInfo.hitx - pShooter->x, gHitInfo.hity - pShooter->y) < nRange)
{

View file

@ -61,7 +61,8 @@ int blood_globalflags;
PLAYER gPlayerTemp[kMaxPlayers];
int gHealthTemp[kMaxPlayers];
vec3_t startpos;
int16_t startang, startsectnum;
int16_t startang;
int startsectnum;
void QuitGame(void)

View file

@ -511,7 +511,7 @@ struct walltypedisk
#pragma pack(pop)
void dbLoadMap(const char *pPath, int *pX, int *pY, int *pZ, short *pAngle, short *pSector, unsigned int *pCRC) {
void dbLoadMap(const char *pPath, int *pX, int *pY, int *pZ, short *pAngle, int *pSector, unsigned int *pCRC) {
int16_t tpskyoff[256];
ClearAutomap();
#ifdef NOONE_EXTENSIONS
@ -1092,8 +1092,8 @@ void dbLoadMap(const char *pPath, int *pX, int *pY, int *pZ, short *pAngle, shor
END_BLD_NS
// only used by the backup loader.
void qloadboard(const char* filename, char flags, vec3_t* dapos, int16_t* daang, int16_t* dacursectnum)
void qloadboard(const char* filename, char flags, vec3_t* dapos, int16_t* daang, int* dacursectnum)
{
Blood::dbLoadMap(filename, &dapos->x, &dapos->y, &dapos->z, (short*)daang, (short*)dacursectnum, NULL);
Blood::dbLoadMap(filename, &dapos->x, &dapos->y, &dapos->z, daang, dacursectnum, NULL);
Blood::dbInit(); // clean up immediately.
}

View file

@ -371,7 +371,7 @@ unsigned short dbInsertXSector(int nSector);
void dbInit(void);
void PropagateMarkerReferences(void);
unsigned int dbReadMapCRC(const char *pPath);
void dbLoadMap(const char *pPath, int *pX, int *pY, int *pZ, short *pAngle, short *pSector, unsigned int *pCRC);
void dbLoadMap(const char *pPath, int *pX, int *pY, int *pZ, short *pAngle, int *pSector, unsigned int *pCRC);
inline XSECTOR* getxsector(int index)
{

View file

@ -512,13 +512,13 @@ void evPost_(DBloodActor* actor, int nIndex, int nType, unsigned int nDelta, COM
assert(command != kCmdCallback);
if (command == kCmdState) command = evGetSourceState(nType, nIndex, actor) ? kCmdOn : kCmdOff;
else if (command == kCmdNotState) command = evGetSourceState(nType, nIndex, actor) ? kCmdOff : kCmdOn;
EVENT evn = {actor, (int16_t)nIndex, (int8_t)nType, (int8_t)command, 0, PlayClock + (int)nDelta };
EVENT evn = {actor, nIndex, (int8_t)nType, (int8_t)command, 0, PlayClock + (int)nDelta };
queue.insert(evn);
}
void evPost_(DBloodActor* actor, int nIndex, int nType, unsigned int nDelta, CALLBACK_ID callback)
{
EVENT evn = {actor, (int16_t)nIndex, (int8_t)nType, kCmdCallback, (int16_t)callback, PlayClock + (int)nDelta };
EVENT evn = {actor, nIndex, (int8_t)nType, kCmdCallback, (int16_t)callback, PlayClock + (int)nDelta };
queue.insert(evn);
}

View file

@ -28,8 +28,8 @@ BEGIN_BLD_NS
struct HITINFO {
DBloodActor* hitactor;
short hitsect;
short hitwall;
int hitsect;
int hitwall;
int hitx;
int hity;
int hitz;

View file

@ -58,7 +58,8 @@ void WeaponPrecache();
struct ZONE {
int x, y, z;
short sectnum, ang;
int sectnum;
short ang;
};
extern ZONE gStartZone[8];

View file

@ -173,7 +173,7 @@ void CalcOtherPosition(spritetype *pSprite, int *pX, int *pY, int *pZ, int *vsec
pSprite->cstat &= ~256;
assert(*vsectnum >= 0 && *vsectnum < kMaxSectors);
FindSector(*pX, *pY, *pZ, vsectnum);
short nHSector;
int nHSector;
int hX, hY;
vec3_t pos = {*pX, *pY, *pZ};
hitdata_t hitdata;