diff --git a/src/bbannouncer.cpp b/src/bbannouncer.cpp index 80de8b979..7c7d0e12a 100644 --- a/src/bbannouncer.cpp +++ b/src/bbannouncer.cpp @@ -182,9 +182,9 @@ static FRandom pr_bbannounce ("BBAnnounce"); void DoVoiceAnnounce (const char *sound) { // Don't play announcements too close together - if (LastAnnounceTime == 0 || LastAnnounceTime <= level.time-5) + if (LastAnnounceTime == 0 || LastAnnounceTime <= currentUILevel->time-5) { - LastAnnounceTime = level.time; + LastAnnounceTime = currentUILevel->time; S_Sound (CHAN_VOICE, sound, 1, ATTN_NONE); } } diff --git a/src/p_tick.cpp b/src/p_tick.cpp index 1fc66dda2..79fdf2621 100644 --- a/src/p_tick.cpp +++ b/src/p_tick.cpp @@ -95,7 +95,7 @@ void P_Ticker (void) DPSprite::NewTick(); // [RH] Frozen mode is only changed every 4 tics, to make it work with A_Tracer(). - if ((level.time & 3) == 0) + if ((level.maptime & 3) == 0) { if (bglobal.changefreeze) { diff --git a/wadsrc/static/zscript/base.txt b/wadsrc/static/zscript/base.txt index de621398c..c9cee74a8 100644 --- a/wadsrc/static/zscript/base.txt +++ b/wadsrc/static/zscript/base.txt @@ -635,9 +635,9 @@ struct LevelLocals native native readonly Array<@Vertex> Vertexes; native internal Array<@SectorPortal> SectorPortals; - native readonly int time; + deprecated("3.8") native readonly int time; native readonly int maptime; - native readonly int totaltime; + deprecated("3.8") native readonly int totaltime; native readonly int starttime; native readonly int partime; native readonly int sucktime; @@ -648,10 +648,10 @@ struct LevelLocals native native readonly String MapName; native String NextMap; native String NextSecretMap; - native String F1Pic; + deprecated("3.8") native readonly String F1Pic; native readonly int maptype; - native readonly String Music; - native readonly int musicorder; + deprecated("3.8") native readonly String Music; + deprecated("3.8") native readonly int musicorder; native readonly TextureID skytexture1; native readonly TextureID skytexture2; native float skyspeed1; @@ -696,7 +696,7 @@ struct LevelLocals native native int ExecuteSpecial(int special, Actor activator, line linedef, bool lineside, int arg1 = 0, int arg2 = 0, int arg3 = 0, int arg4 = 0, int arg5 = 0); native static void GiveSecret(Actor activator, bool printmsg = true, bool playsound = true); native static void StartSlideshow(Name whichone = 'none'); - native static void WorldDone(); + native void WorldDone(); native static void RemoveAllBots(bool fromlist); native ui Vector2 GetAutomapPosition(); native void SetInterMusic(String nextmap); diff --git a/wadsrc/static/zscript/heretic/ironlich.txt b/wadsrc/static/zscript/heretic/ironlich.txt index 052e9119e..a27facce8 100644 --- a/wadsrc/static/zscript/heretic/ironlich.txt +++ b/wadsrc/static/zscript/heretic/ironlich.txt @@ -310,7 +310,7 @@ class Whirlwind : Actor target.Vel.Y += Random2[WhirlwindDamage]() / 64.; } - if ((level.time & 16) && !target.bBoss && !target.bDontThrust) + if ((Level.maptime & 16) && !target.bBoss && !target.bDontThrust) { randVal = min(160, random[WhirlwindSeek]()); target.Vel.Z += randVal / 32.; @@ -319,7 +319,7 @@ class Whirlwind : Actor target.Vel.Z = 12; } } - if (!(level.time & 7)) + if (!(Level.maptime & 7)) { target.DamageMobj (null, target, 3, 'Melee'); } diff --git a/wadsrc/static/zscript/hexen/clericholy.txt b/wadsrc/static/zscript/hexen/clericholy.txt index f58194ab9..b6561795d 100644 --- a/wadsrc/static/zscript/hexen/clericholy.txt +++ b/wadsrc/static/zscript/hexen/clericholy.txt @@ -461,7 +461,7 @@ class HolySpirit : Actor } VelFromAngle(); - if (!(level.time&15) + if (!(Level.maptime&15) || pos.z > target.pos.z + target.height || pos.z + height < target.pos.z) { @@ -503,7 +503,7 @@ class HolySpirit : Actor if (tracer) { CHolySeekerMissile (args[0], args[0]*2.); - if (!((level.time+7)&15)) + if (!((Level.maptime+7)&15)) { args[0] = 5+(random[HolySeeker]()/20); } diff --git a/wadsrc/static/zscript/hexen/korax.txt b/wadsrc/static/zscript/hexen/korax.txt index 6141b9b27..e19ff0457 100644 --- a/wadsrc/static/zscript/hexen/korax.txt +++ b/wadsrc/static/zscript/hexen/korax.txt @@ -430,7 +430,7 @@ class KoraxSpirit : Actor } VelFromAngle(); - if (!(level.time&15) + if (!(Level.maptime&15) || pos.z > target.pos.z + target.Default.Height || pos.z + height < target.pos.z) { diff --git a/wadsrc/static/zscript/hexen/magelightning.txt b/wadsrc/static/zscript/hexen/magelightning.txt index a4b23706b..5ece4fd80 100644 --- a/wadsrc/static/zscript/hexen/magelightning.txt +++ b/wadsrc/static/zscript/hexen/magelightning.txt @@ -121,7 +121,7 @@ class Lightning : Actor thing.Vel.X += Vel.X / 16; thing.Vel.Y += Vel.Y / 16; } - if ((!thing.player && !thing.bBoss) || !(level.time&1)) + if ((!thing.player && !thing.bBoss) || !(Level.maptime & 1)) { thing.DamageMobj(self, target, 3, 'Electric'); A_PlaySound(AttackSound, CHAN_WEAPON|CHAN_NOSTOP, 1, false); @@ -411,7 +411,7 @@ class LightningZap : Actor { lmo.tracer = thing; } - if (!(level.time&3)) + if (!(Level.maptime&3)) { lmo.health--; } diff --git a/wadsrc/static/zscript/inventory/powerups.txt b/wadsrc/static/zscript/inventory/powerups.txt index ab256380e..8327307d0 100644 --- a/wadsrc/static/zscript/inventory/powerups.txt +++ b/wadsrc/static/zscript/inventory/powerups.txt @@ -364,7 +364,7 @@ class PowerInvulnerable : Powerup // Don't mess with the translucency settings if an // invisibility powerup is active. let alpha = Owner.Alpha; - if (!(level.time & 7) && alpha > 0 && alpha < 1) + if (!(Level.maptime & 7) && alpha > 0 && alpha < 1) { if (alpha == HX_SHADOW) { @@ -376,7 +376,7 @@ class PowerInvulnerable : Powerup Owner.bNonShootable = true; } } - if (!(level.time & 31)) + if (!(Level.maptime & 31)) { if (alpha == 0) { @@ -806,7 +806,7 @@ class PowerMask : PowerIronFeet override void DoEffect () { Super.DoEffect (); - if (!(level.time & 0x3f)) + if (!(Level.maptime & 0x3f)) { Owner.A_PlaySound ("misc/mask", CHAN_AUTO); } @@ -894,7 +894,7 @@ class PowerTorch : PowerLightAmp { Powerup.DoEffect (); - if (!(level.time & 16) && Owner.player != NULL) + if (!(Level.maptime & 16) && Owner.player != NULL) { if (NewTorch != 0) { @@ -1014,7 +1014,7 @@ class PowerFlight : Powerup } TextureID picnum = TexMan.CheckForTexture ("SPFLY0", TexMan.Type_MiscPatch); - int frame = (level.time/3) & 15; + int frame = (Level.maptime/3) & 15; if (!picnum.isValid()) { @@ -1191,7 +1191,7 @@ class PowerSpeed : Powerup if (NoTrail) return; - if (level.time & 1) + if (Level.maptime & 1) return; // Check if another speed item is present to avoid multiple drawing of the speed trail. @@ -1529,7 +1529,7 @@ class PowerTimeFreezer : Powerup EffectTics++; } // Make sure the effect starts and ends on an even tic. - if ((level.time & 1) == 0) + if ((Level.maptime & 1) == 0) { level.frozen = true;; } @@ -1553,14 +1553,14 @@ class PowerTimeFreezer : Powerup // [RH] Do not change LEVEL_FROZEN on odd tics, or the Revenant's tracer // will get thrown off. // [ED850] Don't change it if the player is predicted either. - if (level.time & 1 || (Owner != null && Owner.player != null && Owner.player.cheats & CF_PREDICTING)) + if (Level.maptime & 1 || (Owner != null && Owner.player != null && Owner.player.cheats & CF_PREDICTING)) { return; } // [RH] The "blinking" can't check against EffectTics exactly or it will // never happen, because InitEffect ensures that EffectTics will always - // be odd when level.time is even. - level.frozen = ( EffectTics > 4*32 + // be odd when Level.maptime is even. + Level.frozen = ( EffectTics > 4*32 || (( EffectTics > 3*32 && EffectTics <= 4*32 ) && ((EffectTics + 1) & 15) != 0 ) || (( EffectTics > 2*32 && EffectTics <= 3*32 ) && ((EffectTics + 1) & 7) != 0 ) || (( EffectTics > 32 && EffectTics <= 2*32 ) && ((EffectTics + 1) & 3) != 0 ) @@ -1791,7 +1791,7 @@ class PowerRegeneration : Powerup override void DoEffect() { Super.DoEffect(); - if (Owner != null && Owner.health > 0 && (level.time & 31) == 0) + if (Owner != null && Owner.health > 0 && (Level.maptime & 31) == 0) { if (Owner.GiveBody(int(Strength))) { diff --git a/wadsrc/static/zscript/shared/movingcamera.txt b/wadsrc/static/zscript/shared/movingcamera.txt index 8fb092ddb..3a254a615 100644 --- a/wadsrc/static/zscript/shared/movingcamera.txt +++ b/wadsrc/static/zscript/shared/movingcamera.txt @@ -267,12 +267,12 @@ class PathFollower : Actor bJustStepped = false; if (CurrNode.args[2]) { - HoldTime = level.time + CurrNode.args[2] * TICRATE / 8; + HoldTime = Level.maptime + CurrNode.args[2] * TICRATE / 8; SetXYZ(CurrNode.Pos); } } - if (HoldTime > level.time) + if (HoldTime > Level.maptime) return; // Splines must have a previous node. diff --git a/wadsrc/static/zscript/shared/player.txt b/wadsrc/static/zscript/shared/player.txt index 5b5ffe06f..67a5592bf 100644 --- a/wadsrc/static/zscript/shared/player.txt +++ b/wadsrc/static/zscript/shared/player.txt @@ -585,7 +585,7 @@ class PlayerPawn : Actor { if (player.health > 0) { - angle = level.time / (120 * TICRATE / 35.) * 360.; + angle = Level.maptime / (120 * TICRATE / 35.) * 360.; bob = player.GetStillBob() * sin(angle); } else @@ -595,7 +595,7 @@ class PlayerPawn : Actor } else { - angle = level.time / (20 * TICRATE / 35.) * 360.; + angle = Level.maptime / (20 * TICRATE / 35.) * 360.; bob = player.bob * sin(angle) * (waterlevel > 1 ? 0.25f : 0.5f); } @@ -734,7 +734,7 @@ class PlayerPawn : Actor if ((player.cmd.buttons & BT_USE || ((multiplayer || alwaysapplydmflags) && sv_forcerespawn)) && !sv_norespawn) { - if (level.time >= player.respawn_time || ((player.cmd.buttons & BT_USE) && player.Bot == NULL)) + if (Level.maptime >= player.respawn_time || ((player.cmd.buttons & BT_USE) && player.Bot == NULL)) { player.cls = NULL; // Force a new class if the player is using a random class player.playerstate = (multiplayer || level.AllowRespawn || sv_singleplayerrespawn || G_SkillPropertyInt(SKILLP_PlayerRespawn)) ? PST_REBORN : PST_ENTER; @@ -1518,7 +1518,7 @@ class PlayerPawn : Actor virtual void CheckPoison() { let player = self.player; - if (player.poisoncount && !(level.time & 15)) + if (player.poisoncount && !(Level.maptime & 15)) { player.poisoncount -= 5; if (player.poisoncount < 0) @@ -1542,7 +1542,7 @@ class PlayerPawn : Actor { let player = self.player; int maxhealth = GetMaxHealth(true); - if ((level.time % TICRATE) == 0 && player.health > maxhealth) + if ((Level.maptime % TICRATE) == 0 && player.health > maxhealth) { if (player.health - 5 < maxhealth) player.health = maxhealth; @@ -1570,9 +1570,9 @@ class PlayerPawn : Actor { ResetAirSupply(); } - else if (player.air_finished <= level.time && !(level.time & 31)) + else if (player.air_finished <= Level.maptime && !(Level.maptime & 31)) { - DamageMobj(NULL, NULL, 2 + ((level.time - player.air_finished) / TICRATE), 'Drowning'); + DamageMobj(NULL, NULL, 2 + ((Level.maptime - player.air_finished) / TICRATE), 'Drowning'); } } } @@ -1647,7 +1647,7 @@ class PlayerPawn : Actor if (player.hazardcount) { player.hazardcount--; - if (!(level.time % player.hazardinterval) && player.hazardcount > 16*TICRATE) + if (!(Level.maptime % player.hazardinterval) && player.hazardcount > 16*TICRATE) player.mo.DamageMobj (NULL, NULL, 5, player.hazardtype); } player.mo.CheckPoison(); @@ -1898,7 +1898,7 @@ class PlayerPawn : Actor // This problem is only detectable when it's too late to do something about it... ThrowAbortException("Cannot give morph item '%s' when starting a game!", di.Name); } - } + } let weap = Weapon(item); if (weap != NULL && weap.CheckAmmo(Weapon.EitherFire, false)) { @@ -2334,7 +2334,7 @@ class PlayerPawn : Actor for (int i = 0; i < 2; i++) { // Bob the weapon based on movement speed. ([SP] And user's bob speed setting) - double angle = (BobSpeed * player.GetWBobSpeed() * 35 / TICRATE*(level.time - 1 + i)) * (360. / 8192.); + double angle = (BobSpeed * player.GetWBobSpeed() * 35 / TICRATE*(Level.maptime - 1 + i)) * (360. / 8192.); // [RH] Smooth transitions between bobbing and not-bobbing frames. // This also fixes the bug where you can "stick" a weapon off-center by @@ -2432,13 +2432,13 @@ class PlayerPawn : Actor virtual bool ResetAirSupply (bool playgasp = true) { let player = self.player; - bool wasdrowning = (player.air_finished < level.time); + bool wasdrowning = (player.air_finished < Level.maptime); if (playgasp && wasdrowning) { A_PlaySound("*gasp", CHAN_VOICE); } - if (level.airsupply > 0 && AirCapacity > 0) player.air_finished = level.time + int(level.airsupply * AirCapacity); + if (Level.airsupply > 0 && AirCapacity > 0) player.air_finished = Level.maptime + int(Level.airsupply * AirCapacity); else player.air_finished = int.max; return wasdrowning; } diff --git a/wadsrc/static/zscript/strife/strifefunctions.txt b/wadsrc/static/zscript/strife/strifefunctions.txt index 0757cd16d..d22b506c2 100644 --- a/wadsrc/static/zscript/strife/strifefunctions.txt +++ b/wadsrc/static/zscript/strife/strifefunctions.txt @@ -7,7 +7,7 @@ extend class Actor void A_FLoopActiveSound() { - if (ActiveSound != 0 && !(level.time & 7)) + if (ActiveSound != 0 && !(Level.maptime & 7)) { A_PlaySound (ActiveSound, CHAN_VOICE); }