Continued cleanup. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5827 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2016-08-27 01:40:56 +00:00
parent 5c6d8c96ad
commit 34453f5090
18 changed files with 1872 additions and 1887 deletions

View file

@ -12,8 +12,6 @@
extern "C" {
#endif
#define VERSION "2.0.0devel"
extern const char *defaultsetupfilename;
extern char setupfilename[BMAX_PATH];

View file

@ -2981,7 +2981,7 @@ static int32_t M32_InsertPoint(int32_t thewall, int32_t dax, int32_t day, int32_
M32_MarkPointInsertion(thewall);
for (int32_t i=0; i < numwalls; i++)
for (i=0; i < numwalls; i++)
if (wall[i].cstat&(1<<14))
M32_MarkPointInsertion(i);

View file

@ -54,7 +54,7 @@ int32_t G_SetInterpolation(int32_t * const posptr)
void G_StopInterpolation(int32_t * const posptr)
{
for (int i = startofdynamicinterpolations; i < g_numInterpolations; ++i)
for (int i = 0; i < g_numInterpolations; ++i)
if (curipos[i] == posptr)
{
g_numInterpolations--;
@ -188,7 +188,7 @@ void A_RadiusDamage(int32_t spriteNum, int32_t blastRadius, int32_t dmg1, int32_
SKIPWALLCHECK:
q = -ZOFFSET2 + (krand()&((32<<8)-1));
q = -ZOFFSET2 + (krand()&(ZOFFSET5-1));
for (int stati=0; stati < ARRAY_SSIZE(statnumList); stati++)
{
@ -903,7 +903,7 @@ ACTOR_STATIC void G_MoveZombieActors(void)
{
vec3_t const p = { g_player[playerNum].ps->pos.x + 64 - (krand() & 127),
g_player[playerNum].ps->pos.y + 64 - (krand() & 127),
g_player[playerNum].ps->pos.z - (krand() % (32 << 8))
g_player[playerNum].ps->pos.z - (krand() % ZOFFSET5)
};
int16_t pSectnum = g_player[playerNum].ps->cursectnum;
@ -1303,7 +1303,7 @@ ACTOR_STATIC void G_MovePlayers(void)
if (sector[pSprite->sectnum].lotag != ST_2_UNDERWATER)
A_Fall(spriteNum);
if (pSprite->zvel == 0 && sector[pSprite->sectnum].lotag == ST_1_ABOVE_WATER)
pSprite->z += (32<<8);
pSprite->z += ZOFFSET5;
}
if (pSprite->extra < 8)
@ -2168,7 +2168,7 @@ DETONATE:
}
}
pSprite->z -= (32<<8);
pSprite->z -= ZOFFSET5;
if (pSprite->xrepeat)
for (x=0; x<8; x++) RANDOMSCRAP(pSprite, spriteNum);
@ -3901,8 +3901,8 @@ ACTOR_STATIC void G_MoveActors(void)
pSprite->shade += (sector[pSprite->sectnum].ceilingshade-pSprite->shade)>>1;
else pSprite->shade += (sector[pSprite->sectnum].floorshade-pSprite->shade)>>1;
if (pSprite->z < sector[sectNum].ceilingz+(32<<8))
pSprite->z = sector[sectNum].ceilingz+(32<<8);
if (pSprite->z < sector[sectNum].ceilingz+ZOFFSET5)
pSprite->z = sector[sectNum].ceilingz+ZOFFSET5;
#if 0 //def POLYMER
gamelights[gamelightcount&(PR_MAXLIGHTS-1)].sector = s->sectnum;
@ -4586,7 +4586,7 @@ ACTOR_STATIC void G_MoveActors(void)
if (sector[SECT(spriteNum)].lotag == ST_1_ABOVE_WATER && pSprite->zvel == 0 && actor[spriteNum].floorz == sector[sectNum].floorz)
{
pSprite->z += (32<<8);
pSprite->z += ZOFFSET5;
if (pData[5] == 0)
{
pData[5] = 1;
@ -7298,7 +7298,7 @@ ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3
pSector->ceilingz += pSprite->yvel;
if (pSector->ceilingz > pSector->floorz)
pSector->floorz = pSector->ceilingz;
if (pSector->ceilingz > pSprite->z+(32<<8))
if (pSector->ceilingz > pSprite->z+ZOFFSET5)
pData[0]++;
break;
case 1:

View file

@ -35,6 +35,7 @@ extern "C" {
#define ZOFFSET2 (16<<8)
#define ZOFFSET3 (8<<8)
#define ZOFFSET4 (12<<8)
#define ZOFFSET5 (32<<8)
#define ACTOR_MAXFALLINGZVEL 6144
#define ACTOR_ONWATER_ADDZ (24<<8)

View file

@ -8006,7 +8006,7 @@ static void G_ShowParameterHelp(void)
"-usecwd\t\t\tRead game data and configuration file from working directory\n"
"\n-?, -help, --help\t\tDisplay this help message and exit"
;
Bsprintf(tempbuf, "Mapster32 %s %s", VERSION, s_buildRev);
Bsprintf(tempbuf, "Mapster32 %s", s_buildRev);
wm_msgbox(tempbuf, "%s", s);
}
@ -8422,8 +8422,8 @@ int32_t ExtPreInit(int32_t argc,char const * const * argv)
G_ExtPreInit(argc, argv);
OSD_SetLogFile("mapster32.log");
OSD_SetVersion("Mapster32" " " VERSION,0,2);
initprintf("Mapster32 %s %s %s\n", VERSION, s_buildRev, s_buildInfo);
OSD_SetVersion("Mapster32",0,2);
initprintf("Mapster32 %s %s\n", s_buildRev, s_buildInfo);
initprintf("Compiled %s\n", s_buildTimestamp);
// initprintf("Copyright (c) 2008 EDuke32 team\n");
@ -9970,7 +9970,7 @@ int32_t ExtInit(void)
getmessageleng = 0;
getmessagetimeoff = 0;
Bsprintf(apptitle, "Mapster32 %s %s", VERSION, s_buildRev);
Bsprintf(apptitle, "Mapster32 %s", s_buildRev);
autosavetimer = totalclock+120*autosave;
registerosdcommands();

View file

@ -94,7 +94,7 @@ extern void G_AddConModule(const char *buffer);
extern void clearGrpNamePtr(void);
extern void clearScriptNamePtr(void);
extern int32_t loaddefinitions_game(const char *, int32_t);
extern int loaddefinitions_game(const char *fileName, int32_t firstPass);
extern int32_t g_groupFileHandle;
//////////

View file

@ -44,8 +44,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "fx_man.h"
#define APPNAME "EDuke32"
#define VERSION "2.0.0devel"
#define HEAD2 APPNAME " " VERSION
#define HEAD2 APPNAME
#define VOLUMEALL (g_Shareware == 0)
#define PLUTOPAK (g_scriptVersion == 14)

File diff suppressed because it is too large Load diff

View file

@ -371,7 +371,7 @@ static inline int32_t G_GetTeamPalette(int32_t team)
#define A_CheckSpriteTileFlags(iPicnum, iType) (((unsigned)iPicnum < MAXTILES) && (g_tile[iPicnum].flags & iType) != 0)
#define S_StopSound(num) S_StopEnvSound(num, -1)
extern int32_t G_StartRTS(int32_t i, int localp);
extern int G_StartRTS(int lumpNum, int localPlayer);
extern void G_MaybeAllocPlayer(int32_t pnum);

View file

@ -256,13 +256,13 @@ static int32_t VM_CheckSquished(void)
yax_getbunches(vm.pSprite->sectnum, &cb, &fb);
if (cb >= 0 && (pSector->ceilingstat&512)==0) // if ceiling non-blocking...
ceilZ -= (32<<8); // unconditionally don't squish... yax_getneighborsect is slowish :/
ceilZ -= ZOFFSET5; // unconditionally don't squish... yax_getneighborsect is slowish :/
if (fb >= 0 && (pSector->floorstat&512)==0)
floorZ += (32<<8);
floorZ += ZOFFSET5;
#endif
if (vm.pSprite->pal == 1 ?
(floorZ - ceilZ >= (32<<8) || (pSector->lotag&32768)) :
(floorZ - ceilZ >= ZOFFSET5 || (pSector->lotag&32768)) :
(floorZ - ceilZ >= ZOFFSET4))
return 0;
@ -824,8 +824,8 @@ dead:
}
}
else if (vm.pSprite->picnum == APLAYER)
if (vm.pSprite->z < actor[vm.spriteNum].ceilingz+(32<<8))
vm.pSprite->z = actor[vm.spriteNum].ceilingz+(32<<8);
if (vm.pSprite->z < actor[vm.spriteNum].ceilingz+ZOFFSET5)
vm.pSprite->z = actor[vm.spriteNum].ceilingz+ZOFFSET5;
vec3_t const vect = { (nXvel * (sintable[(angDiff + 512) & 2047])) >> 14,
(nXvel * (sintable[angDiff & 2047])) >> 14, vm.pSprite->zvel };
@ -1342,7 +1342,7 @@ skip_check:
if (pPlayer->holoduke_on >= 0)
{
pSprite = (uspritetype *)&sprite[pPlayer->holoduke_on];
tw = cansee(vm.pSprite->x,vm.pSprite->y,vm.pSprite->z-(krand()&((32<<8)-1)),vm.pSprite->sectnum,
tw = cansee(vm.pSprite->x,vm.pSprite->y,vm.pSprite->z-(krand()&(ZOFFSET5-1)),vm.pSprite->sectnum,
pSprite->x,pSprite->y,pSprite->z,pSprite->sectnum);
if (tw == 0)
@ -3517,7 +3517,7 @@ nullquote:
case CON_IFONWATER:
VM_CONDITIONAL(sector[vm.pSprite->sectnum].lotag == ST_1_ABOVE_WATER &&
klabs(vm.pSprite->z - sector[vm.pSprite->sectnum].floorz) < (32 << 8));
klabs(vm.pSprite->z - sector[vm.pSprite->sectnum].floorz) < ZOFFSET5);
continue;
case CON_IFINWATER:
@ -3723,24 +3723,24 @@ nullquote:
insptr++;
if (sector[vm.pSprite->sectnum].lotag == 0)
{
int16_t neartagsector, neartagwall, neartagsprite;
int32_t neartaghitdist;
int16_t foundSect, foundWall, foundSprite;
int32_t foundDist;
neartag(vm.pSprite->x,vm.pSprite->y,vm.pSprite->z-(32<<8),vm.pSprite->sectnum,vm.pSprite->ang,
&neartagsector,&neartagwall,&neartagsprite,&neartaghitdist, 768, 4+1, NULL);
neartag(vm.pSprite->x,vm.pSprite->y,vm.pSprite->z-ZOFFSET5,vm.pSprite->sectnum,vm.pSprite->ang,
&foundSect,&foundWall,&foundSprite,&foundDist, 768, 4+1, NULL);
if (neartagsector >= 0 && isanearoperator(sector[neartagsector].lotag))
if ((sector[neartagsector].lotag&0xff) == ST_23_SWINGING_DOOR || sector[neartagsector].floorz == sector[neartagsector].ceilingz)
if ((sector[neartagsector].lotag&(16384|32768)) == 0)
if (foundSect >= 0 && isanearoperator(sector[foundSect].lotag))
if ((sector[foundSect].lotag&0xff) == ST_23_SWINGING_DOOR || sector[foundSect].floorz == sector[foundSect].ceilingz)
if ((sector[foundSect].lotag&(16384|32768)) == 0)
{
int32_t j;
for (SPRITES_OF_SECT(neartagsector, j))
for (SPRITES_OF_SECT(foundSect, j))
if (sprite[j].picnum == ACTIVATOR)
break;
if (j == -1)
G_OperateSectors(neartagsector,vm.spriteNum);
G_OperateSectors(foundSect,vm.spriteNum);
}
}
continue;

View file

@ -62,7 +62,7 @@ intptr_t *aplWeaponFlashColor[MAX_WEAPONS]; // Muzzle flash color
// counts to zero. Call this function as many times as needed.
//
// Returns: old g_gameVarCount | (g_gameArrayCount<<16).
static int32_t Gv_Free(void)
static int Gv_Free(void)
{
for (int i=0; i<g_gameVarCount; ++i)
{
@ -107,7 +107,7 @@ static void Gv_Clear(void)
DO_FREE_AND_NULL(aGameArrays[i].szLabel);
}
int32_t Gv_ReadSave(int32_t kFile)
int Gv_ReadSave(int32_t kFile)
{
char savedstate[MAXVOLUMES*MAXLEVELS];
char tbuf[12];

View file

@ -125,7 +125,7 @@ void Gv_DumpValues(void);
void Gv_InitWeaponPointers(void);
void Gv_RefreshPointers(void);
void Gv_ResetVars(void);
int32_t Gv_ReadSave(int32_t kFile);
int Gv_ReadSave(int32_t kFile);
void Gv_WriteSave(FILE *fil);
#else
extern int32_t g_noResetVars;

View file

@ -116,7 +116,6 @@ G_EXTERN vec2_t g_origins[MAXANIMPOINTS];
G_EXTERN int32_t neartaghitdist,lockclock,g_startArmorAmount;
G_EXTERN int32_t playerswhenstarted;
G_EXTERN int32_t screenpeek;
G_EXTERN int32_t startofdynamicinterpolations;
G_EXTERN int32_t ototalclock;
G_EXTERN intptr_t *g_scriptPtr;
G_EXTERN int32_t *labelcode,*labeltype;

View file

@ -259,7 +259,7 @@ static int32_t A_FindTargetSprite(const spritetype *pSprite, int32_t projAngle,
(GTFLAGS(GAMETYPE_TDM) && g_player[P_Get(spriteNum)].ps->team == g_player[playerNum].ps->team)))
continue;
if (gotShrinker && sprite[spriteNum].xrepeat < 30 || PN(spriteNum) == SHARK ||
if ((gotShrinker && sprite[spriteNum].xrepeat < 30) || PN(spriteNum) == SHARK ||
!(PN(spriteNum) >= GREENSLIME && PN(spriteNum) <= GREENSLIME + 7) ||
(gotFreezer && sprite[spriteNum].pal == 1))
continue;
@ -283,9 +283,9 @@ static int32_t A_FindTargetSprite(const spritetype *pSprite, int32_t projAngle,
int const canSee = (PN(spriteNum) == ORGANTIC || PN(spriteNum) == ROTATEGUN)
? cansee(SX(spriteNum), SY(spriteNum), SZ(spriteNum), SECT(spriteNum), pSprite->x, pSprite->y,
pSprite->z - (32 << 8), pSprite->sectnum)
: cansee(SX(spriteNum), SY(spriteNum), SZ(spriteNum) - (32 << 8), SECT(spriteNum), pSprite->x, pSprite->y,
pSprite->z - (32 << 8), pSprite->sectnum);
pSprite->z - ZOFFSET5, pSprite->sectnum)
: cansee(SX(spriteNum), SY(spriteNum), SZ(spriteNum) - ZOFFSET5, SECT(spriteNum), pSprite->x, pSprite->y,
pSprite->z - ZOFFSET5, pSprite->sectnum);
if (onScreen && canSee)
{
@ -1329,7 +1329,7 @@ static int32_t A_ShootHardcoded(int spriteNum, int projecTile, int16_t shootAngl
j = A_FindPlayer(pSprite, NULL);
shootAngle = getangle(g_player[j].ps->opos.x - startPos.x, g_player[j].ps->opos.y - startPos.y);
if (PN(spriteNum) == BOSS3)
startPos.z -= MinibossScale(spriteNum, 32 << 8);
startPos.z -= MinibossScale(spriteNum, ZOFFSET5);
else if (PN(spriteNum) == BOSS2)
{
vel += 128;
@ -3480,7 +3480,7 @@ static void P_CheckTouchDamage(DukePlayer_t *pPlayer, int touchObject)
if ((touchObject & 49152) == 49152)
{
int const touchSprite = touchObject & MAXSPRITES-1;
int const touchSprite = touchObject & (MAXSPRITES - 1);
if (sprite[touchSprite].picnum == CACTUS)
{
@ -4786,14 +4786,19 @@ void P_ProcessInput(int playerNum)
}
}
int velocityModifier = TICSPERFRAME;
const uint8_t *const weaponFrame = &pPlayer->kickback_pic;
int floorZOffset = 40;
int const playerShrunk = (pSprite->yrepeat < 32);
if (pPlayer->on_crane >= 0)
goto HORIZONLY;
pPlayer->weapon_sway = (pSprite->xvel < 32 || pPlayer->on_ground == 0 || pPlayer->bobcounter == 1024)
? (((pPlayer->weapon_sway & 2047) > (1024 + 96))
? (pPlayer->weapon_sway -= 96)
? (pPlayer->weapon_sway - 96)
: (((pPlayer->weapon_sway & 2047) < (1024 - 96)))
? (pPlayer->weapon_sway += 96)
? (pPlayer->weapon_sway + 96)
: 1024)
: pPlayer->bobcounter;
@ -4829,9 +4834,6 @@ void P_ProcessInput(int playerNum)
// Shrinking code
int floorZOffset = 40;
int const playerShrunk = (pSprite->yrepeat < 32);
if (sectorLotag == ST_2_UNDERWATER)
P_DoWater(playerNum, playerBits, floorZ, ceilZ);
else if (pPlayer->jetpack_on)
@ -5070,9 +5072,6 @@ void P_ProcessInput(int playerNum)
}
}
int velocityModifier = TICSPERFRAME;
const uint8_t *const weaponFrame = &pPlayer->kickback_pic;
if (pPlayer->fist_incs || pPlayer->transporter_hold > 2 || pPlayer->hard_landing || pPlayer->access_incs > 0 ||
pPlayer->knee_incs > 0 || (PWEAPON(playerNum, pPlayer->curr_weapon, WorksLike) == TRIPBOMB_WEAPON &&
*weaponFrame > 1 && *weaponFrame < PWEAPON(playerNum, pPlayer->curr_weapon, FireDelay)))
@ -5190,7 +5189,7 @@ void P_ProcessInput(int playerNum)
if (sectorLotag == ST_2_UNDERWATER)
playerSpeedReduction = 0x1400;
else if ((pPlayer->on_ground && (TEST_SYNC_KEY(playerBits, SK_CROUCH))
else if (((pPlayer->on_ground && (TEST_SYNC_KEY(playerBits, SK_CROUCH)))
|| (*weaponFrame > 10 && PWEAPON(playerNum, pPlayer->curr_weapon, WorksLike) == KNEE_WEAPON)))
playerSpeedReduction = 0x2000;
@ -5253,7 +5252,7 @@ HORIZONLY:;
// This makes the player view lower when shrunk. NOTE that it can get the
// view below the sector floor (and does, when on the ground).
if (pPlayer->jetpack_on == 0 && sectorLotag != ST_2_UNDERWATER && sectorLotag != ST_1_ABOVE_WATER && playerShrunk)
pPlayer->pos.z += 32<<8;
pPlayer->pos.z += ZOFFSET5;
if (pPlayer->jetpack_on == 0)
{
@ -5312,7 +5311,7 @@ HORIZONLY:;
return;
}
}
else if (klabs(floorZ - ceilZ) < (32 << 8) && isanunderoperator(sector[pPlayer->cursectnum].lotag))
else if (klabs(floorZ - ceilZ) < ZOFFSET5 && isanunderoperator(sector[pPlayer->cursectnum].lotag))
G_ActivateBySector(pPlayer->cursectnum, pPlayer->i);
}
@ -5327,8 +5326,7 @@ HORIZONLY:;
if (VM_OnEvent(EVENT_LOOKUP,pPlayer->i,playerNum) == 0)
{
pPlayer->return_to_center = 9;
if (TEST_SYNC_KEY(playerBits, SK_RUN)) pPlayer->horiz += 12;
pPlayer->horiz += 12;
pPlayer->horiz += 12<<(TEST_SYNC_KEY(playerBits, SK_RUN));
centerHoriz++;
}
}
@ -5338,8 +5336,7 @@ HORIZONLY:;
if (VM_OnEvent(EVENT_LOOKDOWN,pPlayer->i,playerNum) == 0)
{
pPlayer->return_to_center = 9;
if (TEST_SYNC_KEY(playerBits, SK_RUN)) pPlayer->horiz -= 12;
pPlayer->horiz -= 12;
pPlayer->horiz -= 12<<(TEST_SYNC_KEY(playerBits, SK_RUN));
centerHoriz++;
}
}
@ -5348,8 +5345,7 @@ HORIZONLY:;
{
if (VM_OnEvent(EVENT_AIMUP,pPlayer->i,playerNum) == 0)
{
if (TEST_SYNC_KEY(playerBits, SK_RUN)) pPlayer->horiz += 6;
pPlayer->horiz += 6;
pPlayer->horiz += 6<<(TEST_SYNC_KEY(playerBits, SK_RUN));
centerHoriz++;
}
}
@ -5358,8 +5354,7 @@ HORIZONLY:;
{
if (VM_OnEvent(EVENT_AIMDOWN,pPlayer->i,playerNum) == 0)
{
if (TEST_SYNC_KEY(playerBits, SK_RUN)) pPlayer->horiz -= 6;
pPlayer->horiz -= 6;
pPlayer->horiz -= 6<<(TEST_SYNC_KEY(playerBits, SK_RUN));
centerHoriz++;
}
}
@ -5383,12 +5378,7 @@ HORIZONLY:;
if (pPlayer->horizoff > -5 && pPlayer->horizoff < 5) pPlayer->horizoff = 0;
}
pPlayer->horiz += g_player[playerNum].inputBits->horz;
if (pPlayer->horiz > HORIZ_MAX)
pPlayer->horiz = HORIZ_MAX;
else if (pPlayer->horiz < HORIZ_MIN)
pPlayer->horiz = HORIZ_MIN;
pPlayer->horiz = clamp(pPlayer->horiz + g_player[playerNum].inputBits->horz, HORIZ_MIN, HORIZ_MAX);
//Shooting code/changes

File diff suppressed because it is too large Load diff

View file

@ -38,21 +38,21 @@ extern int32_t g_halveScreenArea;
extern int32_t g_levelTextTime;
extern int32_t voting,vote_map,vote_episode;
extern palette_t CrosshairColors;
void G_SetupFilenameBasedMusic(char *levnamebuf, const char *boardfilename, int32_t level_number);
int32_t G_EnterLevel(int32_t g);
int32_t G_FindLevelByFile(const char *fn);
void G_SetupFilenameBasedMusic(char *levnamebuf, const char *boardfilename, int levelNum);
int G_EnterLevel(int gameMode);
int G_FindLevelByFile(const char *fileName);
void G_CacheMapData(void);
void G_FreeMapState(int32_t mapnum);
void G_NewGame(int32_t vn,int32_t ln,int32_t sk);
void G_FreeMapState(int levelNum);
void G_NewGame(int volumeNum, int levelNum, int skillNum);
void G_ResetTimers(uint8_t keepgtics);
void G_SetCrosshairColor(int32_t r,int32_t g,int32_t b);
void G_UpdateScreenArea(void);
void G_SetViewportShrink(int32_t dir);
void P_RandomSpawnPoint(int32_t snum);
void P_ResetInventory(int32_t snum);
void P_ResetPlayer(int32_t snum);
void P_ResetStatus(int32_t snum);
void P_ResetWeapons(int32_t snum);
void P_RandomSpawnPoint(int playerNum);
void P_ResetInventory(int playerNum);
void P_ResetPlayer(int playerNum);
void P_ResetStatus(int playerNum);
void P_ResetWeapons(int playerNum);
void G_ClearFIFO(void);
void G_ResetInterpolations(void);

View file

@ -101,7 +101,6 @@ void G_ResetInterpolations(void)
int32_t k, i;
g_numInterpolations = 0;
startofdynamicinterpolations = 0;
k = headspritestat[STAT_EFFECTOR];
while (k >= 0)

View file

@ -1004,7 +1004,7 @@ void G_OperateRespawns(int32_t low)
if (!ud.monsters_off || !A_CheckEnemyTile(respr->hitag))
{
int32_t j = A_Spawn(i, TRANSPORTERSTAR);
sprite[j].z -= (32<<8);
sprite[j].z -= ZOFFSET5;
// Just a way to killit (see G_MoveFX(): RESPAWN__STATIC)
respr->extra = 66-12;
@ -2144,7 +2144,7 @@ void A_DamageObject(int32_t spriteNum, int32_t damageSrc)
}
int newSprite = A_Spawn(spriteNum, STEAM);
sprite[newSprite].z = sector[SECT(spriteNum)].floorz-(32<<8);
sprite[newSprite].z = sector[SECT(spriteNum)].floorz-ZOFFSET5;
break;
}