update for 4.0.0 (mostly changelog)

pull/1/head
an 2019-04-07 06:11:50 -04:00
parent 88948cae6f
commit d4de411d5c
12 changed files with 417 additions and 475 deletions

View File

@ -54,6 +54,8 @@ class Thinker : Object play
{ {
const TICRATE; const TICRATE;
LevelLocals Level;
void ChangeStatNum(int stat); void ChangeStatNum(int stat);
virtual void PostBeginPlay(); virtual void PostBeginPlay();
@ -67,6 +69,10 @@ class Thinker : Object play
The number of game ticks in a second. This value is always `int(35)`. The number of game ticks in a second. This value is always `int(35)`.
- `Level`
The level this `Thinker` is in, which may differ from another one's.
- `ChangeStatNum` - `ChangeStatNum`
Changes the statnum of this `Thinker`. Changes the statnum of this `Thinker`.

View File

@ -12,8 +12,10 @@ struct TexMan
static vector2 GetScaledOffset(textureid tex); static vector2 GetScaledOffset(textureid tex);
static vector2 GetScaledSize(textureid tex); static vector2 GetScaledSize(textureid tex);
static int, int GetSize(textureid tex); static int, int GetSize(textureid tex);
static void ReplaceTextures(string from, string to, int flags);
static void SetCameraToTexture(Actor viewpoint, string texture, double fov); static void SetCameraToTexture(Actor viewpoint, string texture, double fov);
static bool OkForLocalization(textureid patch, string textSubstitute);
deprecated("3.8") static void ReplaceTextures(string from, string to, int flags);
} }
``` ```
@ -47,6 +49,7 @@ struct TexMan
| ---- | ----------- | | ---- | ----------- |
| `TexMan.AllowSkins` | Allows `SkinGraphic`s to be returned under normal circumstances. | | `TexMan.AllowSkins` | Allows `SkinGraphic`s to be returned under normal circumstances. |
| `TexMan.DontCreate` | Will never create a new texture when searching. | | `TexMan.DontCreate` | Will never create a new texture when searching. |
| `TexMan.Localize` | TODO . |
| `TexMan.Overridable` | Allows overriding of this texture by for instance `TEXTURES`. | | `TexMan.Overridable` | Allows overriding of this texture by for instance `TEXTURES`. |
| `TexMan.ReturnFirst` | Allows returning the `FirstDefined` "null" texture under normal circumstances. | | `TexMan.ReturnFirst` | Allows returning the `FirstDefined` "null" texture under normal circumstances. |
| `TexMan.ShortNameOnly` | Will force use of a short name when searching. | | `TexMan.ShortNameOnly` | Will force use of a short name when searching. |
@ -76,8 +79,20 @@ struct TexMan
Returns the width and height of a `textureid`. Returns the width and height of a `textureid`.
- `SetCameraToTexture`
Sets the camera texture (as defined in `ANIMDEFS`) `texture` to the
viewpoint of `viewpoint` with a fov of `fov`.
- `OkForLocalization`
TODO
- `ReplaceTextures` - `ReplaceTextures`
Note: This function is deprecated and `LevelLocals::ReplaceTextures` should
be used instead.
Replaces textures named `from` with `to` within the map. `flags` may be used Replaces textures named `from` with `to` within the map. `flags` may be used
to filter out certain textures from being replaced: to filter out certain textures from being replaced:
@ -91,9 +106,4 @@ struct TexMan
| `TexMan.NOT_TOP` | Filters out linedef upper textures. | | `TexMan.NOT_TOP` | Filters out linedef upper textures. |
| `TexMan.NOT_WALL` | Filters out any linedef texture. | | `TexMan.NOT_WALL` | Filters out any linedef texture. |
- `SetCameraToTexture`
Sets the camera texture (as defined in `ANIMDEFS`) `texture` to the
viewpoint of `viewpoint` with a fov of `fov`.
<!-- EOF --> <!-- EOF -->

View File

@ -1,455 +0,0 @@
# LevelLocals
Most map-relative data is stored in this structure.
```
struct LevelLocals
{
// Map data
array<Line> Lines;
array<Sector> Sectors;
array<Side> Sides;
internal array<SectorPortal> SectorPortals;
readonly array<Vertex> Vertexes;
// Stats
int Found_Items;
int Found_Secrets;
int Killed_Monsters;
int Total_Items;
int Total_Monsters;
int Total_Secrets;
// Time
readonly int MapTime;
readonly int ParTime;
readonly int StartTime;
readonly int SuckTime;
readonly int Time;
readonly int TotalTime;
// Map sequencing
readonly int Cluster;
readonly int ClusterFlags;
readonly string LevelName;
readonly int LevelNum;
readonly string MapName;
string NextMap;
string NextSecretMap;
readonly int MapType;
// Music
readonly string Music;
readonly int MusicOrder;
// Sky
readonly textureid SkyTexture1;
readonly textureid SkyTexture2;
float SkySpeed1;
float SkySpeed2;
// Physics
play double AirControl
play double AirFriction;
play int AirSupply;
play double Gravity;
// State
bool AllMap;
bool Frozen;
// Static info
name DeathSequence;
string F1Pic;
readonly bool ActOwnSpecial;
readonly bool AllowRespawn;
readonly bool CheckSwitchRange;
readonly int FogDensity;
readonly bool Infinite_Flight;
readonly bool KeepFullInventory;
readonly bool MissilesActivateImpact;
readonly bool MonsterFallingDamage;
readonly bool MonstersTelefrag;
readonly bool NoInventoryBar;
readonly bool NoMonsters;
readonly bool No_Dlg_Freeze;
readonly int OutsideFogDensity;
readonly float PixelStretch;
readonly bool PolyGrind;
readonly bool RemoveItems;
readonly int SkyFog;
readonly bool SndSeqTotalCtrl;
readonly double TeamDamage;
double GetUDMFFloat(int type, int index, name key);
int GetUDMFInt(int type, int index, name key);
string GetUDMFString(int type, int index, name key);
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);
void ChangeSky(textureid sky1, textureid sky2);
string FormatMapName(int mapnamecolor);
string GetChecksum() const;
void SetInterMusic(string nextmap);
void StartIntermission(name type, int state) const;
string TimeFormatted(bool totals = false);
bool IsCrouchingAllowed() const;
bool IsFreelookAllowed() const;
bool IsJumpingAllowed() const;
static void GiveSecret(Actor activator, bool printmsg = true, bool playsound = true);
static void RemoveAllBots(bool fromlist);
static void StartSlideshow(name whichone = 'none');
static void WorldDone();
static vector2 GetAutomapPosition();
static clearscope bool IsPointInMap(vector3 p);
static clearscope vector3 SphericalCoords(vector3 viewpoint, vector3 targetPos, vector2 viewAngles = (0, 0), bool absolute = false);
static clearscope vector2 Vec2Diff(vector2 v1, vector2 v2);
static clearscope vector2 Vec2Offset(vector2 pos, vector2 dir, bool absolute = false);
static clearscope vector3 Vec2OffsetZ(vector2 pos, vector2 dir, double atz, bool absolute = false);
static clearscope vector3 Vec3Diff(vector3 v1, vector3 v2);
static clearscope vector3 Vec3Offset(vector3 pos, vector3 dir, bool absolute = false);
}
```
- `Lines`
TODO
- `Sectors`
TODO
- `Sides`
TODO
- `SectorPortals`
TODO
- `Vertexes`
TODO
- `Found_Items`
TODO
- `Found_Secrets`
TODO
- `Killed_Monsters`
TODO
- `Total_Items`
TODO
- `Total_Monsters`
TODO
- `Total_Secrets`
TODO
- `MapTime`
TODO
- `ParTime`
TODO
- `StartTime`
TODO
- `SuckTime`
TODO
- `Time`
TODO
- `TotalTime`
TODO
- `Cluster`
TODO
- `ClusterFlags`
Flags for this cluster. May contain any of the following bit flags:
| Name | Description |
| ---- | ----------- |
| `Level.CLUSTER_HUB` | This cluster uses hub behaviour. |
- `LevelName`
TODO
- `LevelNum`
TODO
- `MapName`
TODO
- `NextMap`
TODO
- `NextSecretMap`
TODO
- `MapType`
TODO
- `Music`
TODO
- `MusicOrder`
TODO
- `SkyTexture1`
TODO
- `SkyTexture2`
TODO
- `SkySpeed1`
TODO
- `SkySpeed2`
TODO
- `AirControl`
TODO
- `AirSupply`
TODO
- `Gravity`
TODO
- `AllMap`
TODO
- `Frozen`
TODO
- `DeathSequence`
TODO
- `F1Pic`
TODO
- `ActOwnSpecial`
TODO
- `AllowRespawn`
TODO
- `CheckSwitchRange`
TODO
- `FogDensity`
TODO
- `Infinite_Flight`
TODO
- `KeepFullInventory`
TODO
- `MissilesActivateImpact`
TODO
- `MonsterFallingDamage`
TODO
- `MonstersTelefrag`
TODO
- `NoInventoryBar`
TODO
- `NoMonsters`
TODO
- `No_Dlg_Freeze`
TODO
- `OutsideFogDensity`
TODO
- `PixelStretch`
TODO
- `PolyGrind`
TODO
- `RemoveItems`
TODO
- `SkyFog`
TODO
- `SndSeqTotalCtrl`
TODO
- `TeamDamage`
TODO
- `GetUDMFFloat`
TODO
- `GetUDMFInt`
TODO
- `GetUDMFString`
TODO
- `ExecuteSpecial`
TODO
- `ChangeSky`
TODO
- `FormatMapName`
TODO
- `GetChecksum`
TODO
- `SetInterMusic`
TODO
- `StartIntermission`
TODO
- `TimeFormatted`
TODO
- `IsCrouchingAllowed`
TODO
- `IsFreelookAllowed`
TODO
- `IsJumpingAllowed`
TODO
- `GiveSecret`
TODO
- `RemoveAllBots`
TODO
- `StartSlideshow`
TODO
- `WorldDone`
TODO
- `GetAutomapPosition`
TODO
- `IsPointInMap`
TODO
- `SphericalCoords`
TODO
- `Vec2Diff`
TODO
- `Vec2Offset`
TODO
- `Vec2OffsetZ`
TODO
- `Vec3Diff`
TODO
- `Vec3Offset`
TODO
<!-- EOF -->

View File

@ -19,6 +19,8 @@ readonly Font ConFont;
readonly Font IntermissionFont; readonly Font IntermissionFont;
readonly Font SmallFont; readonly Font SmallFont;
readonly Font SmallFont2; readonly Font SmallFont2;
readonly Font NewConsoleFont;
readonly Font NewSmallFont;
ui float BackbuttonAlpha; ui float BackbuttonAlpha;
ui int BackbuttonTime; ui int BackbuttonTime;
@ -96,6 +98,14 @@ int LocalViewPitch;
The alternate `smallfnt`. The alternate `smallfnt`.
- `NewConsoleFont`
TODO
- `NewSmallFont`
TODO
- `BackbuttonAlpha` - `BackbuttonAlpha`
Alpha of the back button in menus. Alpha of the back button in menus.

View File

@ -3,14 +3,15 @@
TODO TODO
``` ```
readonly bool AutomapActive; readonly bool AutomapActive;
readonly bool DemoPlayback; readonly bool DemoPlayback;
play uint GameAction; readonly uint GameAction;
readonly int GameState; readonly int GameState;
readonly int GameTic; readonly int GameTic;
readonly uint8 GlobalFreeze; play LevelLocals Level;
play LevelLocals Level; readonly MusPlayingInfo MusPlaying;
deprecated("3.8") readonly bool GlobalFreeze;
int ValidCount; int ValidCount;
``` ```
@ -66,14 +67,18 @@ int ValidCount;
Number of game tics passed since engine initialization. **Not deterministic.** Number of game tics passed since engine initialization. **Not deterministic.**
- `GlobalFreeze`
TODO: I have no idea what the difference between this and `Level.Frozen` is.
- `Level` - `Level`
All level info as defined in `LevelLocals`. All level info as defined in `LevelLocals`.
- `MusPlaying`
TODO
- `GlobalFreeze`
Deprecated. Don't use.
- `ValidCount` - `ValidCount`
Don't use this. Don't use this.

View File

@ -7,8 +7,8 @@ string G_SkillName();
int G_SkillPropertyInt(int p); int G_SkillPropertyInt(int p);
double G_SkillPropertyFloat(int p); double G_SkillPropertyFloat(int p);
vector3, int G_PickDeathmatchStart(); deprecated("3.8") vector3, int G_PickDeathmatchStart();
vector3, int G_PickPlayerStart(int pnum, int flags = 0); deprecated("3.8") vector3, int G_PickPlayerStart(int pnum, int flags = 0);
``` ```
- `G_SkillName` - `G_SkillName`
@ -53,10 +53,16 @@ vector3, int G_PickPlayerStart(int pnum, int flags = 0);
- `G_PickDeathmatchStart` - `G_PickDeathmatchStart`
Note: This function is deprecated and `LevelLocals::PickDeathmatchStart`
should be used instead.
Returns the position and angle of a random death-match start location. Returns the position and angle of a random death-match start location.
- `G_PickPlayerStart` - `G_PickPlayerStart`
Note: This function is deprecated and `LevelLocals::PickPlayerStart` should
be used instead.
Returns the position and angle of a player start for player `pnum`. `flags` Returns the position and angle of a player start for player `pnum`. `flags`
may be: may be:

View File

@ -9,6 +9,7 @@ struct DEHInfo
readonly int BlueAC; readonly int BlueAC;
readonly double ExplosionAlpha; readonly double ExplosionAlpha;
readonly uint8 ExplosionStyle; readonly uint8 ExplosionStyle;
readonly int MaxHealth;
readonly int MaxSoulsphere; readonly int MaxSoulsphere;
readonly int NoAutofreeze; readonly int NoAutofreeze;
} }
@ -33,6 +34,10 @@ struct DEHInfo
For actors with the `DEHEXPLOSION` flag, the render style to be applied on For actors with the `DEHEXPLOSION` flag, the render style to be applied on
explosion. explosion.
- `MaxHealth`
TODO
- `MaxSoulsphere` - `MaxSoulsphere`
The `Inventory.MaxAmount` for `Soulsphere`. Default is 200. The `Inventory.MaxAmount` for `Soulsphere`. Default is 200.

View File

@ -19,6 +19,8 @@ struct GameInfoStruct
array<name> InfoPages; array<name> InfoPages;
bool IntermissionCounter; bool IntermissionCounter;
bool NoRandomPlayerClass; bool NoRandomPlayerClass;
double NormForwardMove[2];
double NormSideMove[2];
double TeleFogHeight; double TeleFogHeight;
string mBackButton; string mBackButton;
name mSliderColor; name mSliderColor;

View File

@ -0,0 +1,160 @@
# LevelLocals
Most map-relative data is stored in this structure.
```
struct LevelLocals
{
// Map data
array<Line> Lines;
array<Sector> Sectors;
array<Side> Sides;
internal array<SectorPortal> SectorPortals;
readonly array<Vertex> Vertexes;
// Stats
int Found_Items;
int Found_Secrets;
int Killed_Monsters;
int Total_Items;
int Total_Monsters;
int Total_Secrets;
// Time
readonly int MapTime;
readonly int ParTime;
readonly int StartTime;
readonly int SuckTime;
readonly int Time;
readonly int TotalTime;
// Map sequencing
readonly int Cluster;
readonly int ClusterFlags;
readonly string LevelName;
readonly int LevelNum;
readonly string MapName;
string NextMap;
string NextSecretMap;
readonly int MapType;
// Music
readonly string Music;
readonly int MusicOrder;
// Sky
readonly textureid SkyTexture1;
readonly textureid SkyTexture2;
float SkySpeed1;
float SkySpeed2;
// Physics
play double AirControl
play double AirFriction;
play int AirSupply;
play double Gravity;
readonly int CompatFlags;
readonly int CompatFlags2;
// State
bool AllMap;
deprecated("3.8") bool Frozen;
// Static info
name DeathSequence;
readonly bool ActOwnSpecial;
readonly bool AllowRespawn;
readonly bool CheckSwitchRange;
readonly string F1Pic;
readonly int FogDensity;
readonly bool Infinite_Flight;
readonly bool KeepFullInventory;
readonly bool MissilesActivateImpact;
readonly bool MonsterFallingDamage;
readonly bool MonstersTelefrag;
readonly bool NoInventoryBar;
readonly bool NoMonsters;
readonly bool No_Dlg_Freeze;
readonly int OutsideFogDensity;
readonly float PixelStretch;
readonly bool PolyGrind;
readonly bool RemoveItems;
readonly int SkyFog;
readonly bool SndSeqTotalCtrl;
readonly double TeamDamage;
double GetUDMFFloat(int type, int index, name key);
int GetUDMFInt(int type, int index, name key);
string GetUDMFString(int type, int index, name key);
play 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);
void ChangeSky(textureid sky1, textureid sky2);
string FormatMapName(int mapnamecolor);
string GetChecksum() const;
void SetInterMusic(string nextmap);
void StartIntermission(name type, int state) const;
string TimeFormatted(bool totals = false);
bool IsCrouchingAllowed() const;
bool IsFreelookAllowed() const;
bool IsJumpingAllowed() const;
void GiveSecret(Actor activator, bool printmsg = true, bool playsound = true);
void StartSlideshow(name whichone = 'none');
void WorldDone();
static void MakeScreenShot();
static void MakeAutoSave();
deprecated("3.8") static void RemoveAllBots(bool fromlist);
ui vector2 GetAutomapPosition();
play SpotState GetSpotState(bool create = true);
int FindUniqueTid(int start = 0, int limit = 0);
uint GetSkyboxPortal(Actor actor);
void ReplaceTextures(string from, string to, int flags);
clearscope HealthGroup FindHealthGroup(int id);
vector3, int PickDeathmatchStart();
vector3, int PickPlayerStart(int pnum, int flags = 0);
int IsFrozen() const;
void SetFrozen(bool on);
clearscope bool IsPointInLevel(vector3 p) const;
clearscope Sector PointInSector(vector2 p) const;
deprecated("3.8") static clearscope bool IsPointInMap(vector3 p);
clearscope vector3 SphericalCoords(vector3 viewpoint, vector3 targetPos, vector2 viewAngles = (0, 0), bool absolute = false) const;
clearscope vector2 Vec2Diff(vector2 v1, vector2 v2) const;
clearscope vector2 Vec2Offset(vector2 pos, vector2 dir, bool absolute = false) const;
clearscope vector3 Vec2OffsetZ(vector2 pos, vector2 dir, double atz, bool absolute = false) const;
clearscope vector3 Vec3Diff(vector3 v1, vector3 v2) const;
clearscope vector3 Vec3Offset(vector3 pos, vector3 dir, bool absolute = false) const;
SectorTagIterator CreateSectorTagIterator(int tag, Line defline = null);
LineIDIterator CreateLineIDIterator(int tag);
ActorIterator CreateActorIterator(int tid, class<Actor> type = "Actor");
play bool CreateCeiling(Sector sec, int type, Line ln, double speed, double speed2, double height = 0, int crush = -1, int silent = 0, int change = 0, int crushmode = 0);
play bool CreateFloor(Sector sec, int type, Line ln, double speed, double speed2, double height = 0, int crush = -1, int silent = 0, int change = 0, bool crushmode = false, bool hereticlower = false);
}
```
TODO
- `ClusterFlags`
Flags for this cluster. May contain any of the following bit flags:
| Name | Description |
| ---- | ----------- |
| `Level.CLUSTER_HUB` | This cluster uses hub behaviour. |
<!-- EOF -->

2
api.md
View File

@ -192,7 +192,7 @@ object. Generally these mirror global information within the engine itself.
These functions are accessible in any context and are not bound by any specific These functions are accessible in any context and are not bound by any specific
object. Generally these are utility functions. object. Generally these are utility functions.
<!-- inter-toc global --> <!-- inter-toc global-type -->
* [DEHInfo](api-global-DEHInfo.md) * [DEHInfo](api-global-DEHInfo.md)
* [FOptionMenuSettings](api-global-FOptionMenuSettings.md) * [FOptionMenuSettings](api-global-FOptionMenuSettings.md)

View File

@ -18,6 +18,7 @@
* [Version 3.6](#version-36) * [Version 3.6](#version-36)
* [Version 3.7](#version-37) * [Version 3.7](#version-37)
* [Version 3.7.2](#version-372) * [Version 3.7.2](#version-372)
* [Version 4.0.0](#version-400)
<!-- vim-markdown-toc --> <!-- vim-markdown-toc -->
@ -510,4 +511,196 @@ Here is a list of differences between ZScript versions.
- Made `ScriptUtil::PlayerAmmo` be `static`. - Made `ScriptUtil::PlayerAmmo` be `static`.
- Made `bool` negatable by the `-` prefix operator. - Made `bool` negatable by the `-` prefix operator.
## Version 4.0.0
- Added `Actor::CanTouchItem`.
- Added `Actor::GetMaxHealth`.
- Added `Actor::IsFrozen`.
- Added `COMPATF2_*`.
- Added `COMPATF_*`.
- Added `CoOpStatusScreen::DisplayFont`.
- Added `CoOpStatusScreen::FontScale`.
- Added `CoOpStatusScreen::RowHeight`.
- Added `ConversationMenu::LineHeight`.
- Added `DehInfo::MaxHealth`.
- Added `GameInfoStruct::NormForwardMove`.
- Added `GameInfoStruct::NormSideMove`.
- Added `Inventory::bUNCLEARABLE`.
- Added `LevelCompatibility::AddLineID`.
- Added `LevelCompatibility::AddSectorTag`.
- Added `LevelCompatibility::Apply`.
- Added `LevelCompatibility::ClearLineIDs`.
- Added `LevelCompatibility::ClearLineSpecial`.
- Added `LevelCompatibility::ClearSectorTags`.
- Added `LevelCompatibility::GetDefaultActor`.
- Added `LevelCompatibility::Level`.
- Added `LevelCompatibility::OffsetSectorPlane`.
- Added `LevelCompatibility::SetLineActivation`.
- Added `LevelCompatibility::SetLineFlags`.
- Added `LevelCompatibility::SetLineSectorRef`.
- Added `LevelCompatibility::SetLineSpecial`.
- Added `LevelCompatibility::SetSectorLight`.
- Added `LevelCompatibility::SetSectorSpecial`.
- Added `LevelCompatibility::SetSectorTextureID`.
- Added `LevelCompatibility::SetSectorTexture`.
- Added `LevelCompatibility::SetThingFlags`.
- Added `LevelCompatibility::SetThingSkills`.
- Added `LevelCompatibility::SetThingXY`.
- Added `LevelCompatibility::SetTingZ`.
- Added `LevelCompatibility::SetVertex`.
- Added `LevelCompatibility::SetWallTextureID`.
- Added `LevelCompatibility::SetWallTexture`.
- Added `LevelCompatibility::SetWallYScale`.
- Added `LevelLocals::CompatFlags2`.
- Added `LevelLocals::CompatFlags`.
- Added `LevelLocals::CreateActorIterator`.
- Added `LevelLocals::CreateCeiling`.
- Added `LevelLocals::CreateFloor`.
- Added `LevelLocals::CreateLineIDIterator`.
- Added `LevelLocals::CreateSectorTagIterator`.
- Added `LevelLocals::FindHealthGroup`.
- Added `LevelLocals::FindUniqueTid`.
- Added `LevelLocals::GetSkyboxPortal`.
- Added `LevelLocals::GetSpotState`.
- Added `LevelLocals::IsFrozen`.
- Added `LevelLocals::IsPointInLevel`.
- Added `LevelLocals::MakeAutoSave`.
- Added `LevelLocals::MakeScreenShot`.
- Added `LevelLocals::PickDeathmatchStart`.
- Added `LevelLocals::PickPlayerStart`.
- Added `LevelLocals::PointInSector`.
- Added `LevelLocals::ReplaceTextures`.
- Added `LevelLocals::SetFrozen`.
- Added `ListMenuItemStaticPatch::mColor`.
- Added `ListMenuItemStaticPatch::mFont`.
- Added `ListMenuItemStaticPatch::mSubstitute`.
- Added `LoadSaveMenu::BrokenSaveComment`.
- Added `LoadSaveMenu::CommentRows`.
- Added `LoadSaveMenu::FontScale`.
- Added `LoadSaveMenu::UpdateSaveComment`.
- Added `MAXPLAYERNAME`.
- Added `Menu::DrawOptionText`.
- Added `Menu::OptionColor`.
- Added `Menu::OptionFont`.
- Added `Menu::OptionHeight`.
- Added `Menu::OptionWidth`.
- Added `MusPlayingInfo`.
- Added `MusPlaying`.
- Added `NewConsoleFont`.
- Added `NewSmallFont`.
- Added `OptionMenuDescriptor::mFont`.
- Added `OptionMenuItem::DrawText`.
- Added `OptionMenuItem::DrawValue`.
- Added `PlayerInfo::GetMoveBob`.
- Added `PlayerInfo::GetStillBob`.
- Added `PlayerInfo::SendPitchLimits`.
- Added `PlayerPawn::Face`.
- Added `PlayerPawn::GetFlechetteItem`.
- Added `PlayerPawn::GetPainFlash`.
- Added `PlayerPawn::GiveDeathmatchInventory`.
- Added `PlayerPawn::MAXBOB`.
- Added `ReplacedEvent`.
- Added `SaveGameManager::SaveCommentString`.
- Added `SectorPortal::GetSkyboxPortal`.
- Added `StaticEventHandler::CheckReplacee`.
- Added `StatusScreen::DrawNumScaled`.
- Added `StatusScreen::DrawPatchOrText`.
- Added `StatusScreen::DrawPercentScaled`.
- Added `StatusScreen::DrawTextScaled`.
- Added `StatusScreen::DrawTimeFont`.
- Added `StatusScreen::EnteringPatch`.
- Added `StatusScreen::FinishedPatch`.
- Added `String::AppendCharacter`.
- Added `String::DeleteLastCharacter`.
- Added `TexMan::Localize`.
- Added `TexMan::OkForLocalization`.
- Added `TextEnterMenu::CursorSize`.
- Added `TextEnterMenu::DisplayFont`.
- Added `TextEnterMenu::OpenTextEnter`.
- Added `Thinker::Level`.
- Added `WBStartStruct::ThisName`.
- Added `Weapon::LookScale`.
- Added `desc` parameter to `ListMenuItemStaticPatch::Init`.
- Added `desc` parameter to `ListMenuItemStaticPatchCentered::Init`.
- Added `dpf` parameter to `TextEnterMenu::Init`.
- Added `flags` parameter to `Actor::GetModifiedDamage`.
- Added `flags` parameter to `Inventory::ModifyDamage`.
- Added `inflictor` parameter to `Actor::GetModifiedDamage`.
- Added `inflictor` parameter to `Inventory::ModifyDamage`.
- Added `level` parameter to `ScriptUtils::SetMarineSprite`.
- Added `level` parameter to `ScriptUtils::SetMarineWeapon`.
- Added `nomove` parameter to `StatusScreen::DrawNum`.
- Added `nomove` parameter to `StatusScreen::DrawPercent`.
- Added `os_AnyOrAllOption`.
- Added `os_Menu`.
- Added `os_Query`.
- Added `os_SearchField`.
- Added `source` parameter to `Actor::GetModifiedDamage`.
- Added `source` parameter to `Inventory::ModifyDamage`.
- Deprecated `Actor::FindUniqueTid`.
- Deprecated `ActorIterator::Create`.
- Deprecated `Ceiling::CreateCeiling`.
- Deprecated `Floor::CreateFloor`.
- Deprecated `G_PickDeathmatchStart`.
- Deprecated `G_PickPlayerStart`.
- Deprecated `GlobalFreeze`.
- Deprecated `HealthGroup::Find`.
- Deprecated `LevelLocals::Frozen`.
- Deprecated `LevelLocals::IsPointInMap`.
- Deprecated `LevelLocals::RemoveAllBots`.
- Deprecated `LineIDIterator::Create`.
- Deprecated `Menu::DrawConText`.
- Deprecated `PatchInfo::mPatch`.
- Deprecated `SaveGameManager::DrawSaveComment`.
- Deprecated `Sector::PointInSector`.
- Deprecated `SectorTagIterator::Create`.
- Deprecated `SpotState::GetSpotState`.
- Deprecated `StatusScreen::DrawPatchText`.
- Deprecated `TexMan::ReplaceTextures`.
- Deprecated `TextEnterMenu::Open`.
- Implemented compound initializers for single-dimension arrays.
- Made `GameAction` be `readonly`.
- Made `LevelLocals::ExecuteSpecial` be `play`.
- Made `LevelLocals::F1Pic` be `readonly`.
- Made `LevelLocals::GetAutomapPosition` be `ui`.
- Made `LevelLocals::GetAutomapPosition` not be `static`.
- Made `LevelLocals::GiveSecret` not be `static`.
- Made `LevelLocals::SphericalCoords` be `const`.
- Made `LevelLocals::SphericalCoords` not be `static`.
- Made `LevelLocals::StartSlideshow` not be `static`.
- Made `LevelLocals::Vec2Diff` be `const`.
- Made `LevelLocals::Vec2Diff` not be `static`.
- Made `LevelLocals::Vec2OffsetZ` be `const`.
- Made `LevelLocals::Vec2OffsetZ` not be `static`.
- Made `LevelLocals::Vec2Offset` be `const`.
- Made `LevelLocals::Vec2Offset` not be `static`.
- Made `LevelLocals::Vec3Diff` be `const`.
- Made `LevelLocals::Vec3Diff` not be `static`.
- Made `LevelLocals::Vec3Offset` be `const`.
- Made `LevelLocals::Vec3Offset` not be `static`.
- Made `LevelLocals::WorldDone` not be `static`.
- Made `PlayerMenu::AlwaysRunChanged` be `static`.
- Made `PlayerMenu::AutoaimChanged` be `static`.
- Made `PlayerMenu::ClassChanged` be `static`.
- Made `PlayerMenu::ColorChanged` be `static`.
- Made `PlayerMenu::ColorSetChanged` be `static`.
- Made `PlayerMenu::GenderChanged` be `static`.
- Made `PlayerMenu::PlayerNameChanged` be `static`.
- Made `PlayerMenu::SkinChanged` be `static`.
- Made `PlayerMenu::SwitchOnPickupChanged` be `static`.
- Made `PlayerMenu::TeamChanged` be `static`.
- Made `PlayerPawn::CalcHeight` be `virtual`.
- Made `PlayerPawn::ColorRangeEnd` be `meta`.
- Made `PlayerPawn::ColorRangeStart` be `meta`.
- Made `PlayerPawn::FlechetteType` be `class<Inventory>`.
- Made `PlayerPawn::ResetAirSupply` be `virtual`.
- Made `PlayerPawn::TweakSpeeds` be `virtual`.
- Made `SaveGameManager` be `ui`.
- Made `SaveGameNode::FileName` be `readonly`.
- Made `StatusScreen::DrawEL` be `virtual`.
- Made `StatusScreen::DrawLF` be `virtual`.
- Removed `PlayerPawn::GetMaxHealth` (as it is now an `Actor` override.)
- Removed `PlayerPawn::PlayerFlags`.
- Removed `TextEnterMenu::mSizeMode`.
<!-- EOF --> <!-- EOF -->