- Players can now be sorted from top to bottom based on multiple criteria, instead of only one (e.g. frags, points, wins, or kills). The rank order can be changed using the SCORINFO lump.
- Player indices, colours, and countries are now visible on the scoreboard. Furthermore, a player class's ScoreIcon can appear on the scoreboard now.
- If a player is carrying an enemy team's flag/skull, or if they're holding the Terminator Sphere or Possession Hellstone, then a mini icon of the item now appears next to their name.
- Teams (and spectators) now have their own headers, which can also be customized using the SCORINFO lump. The logo property in TEAMINFO is now usable in Zandronum.
- The opacity of the scoreboard can be adjusted using the "cl_scoreboardalpha" CVar.
- The "cl_colorizepings" CVar can be enabled to colourize everyone's pings depending on the severity (green, yellow, orange, and red).
- New ACS functions for controlling custom column data: SetCustomPlayerValue, GetCustomPlayerValue, and ResetCustomDataToDefault.
In addition, TDRR's lump reading ACS functions have made it into this build, which should be useful for any modder that wishes to incorporate lump reading capabilities into their mod. Here's a list of these functions: A lot of other minor changes and fixes are in this build too. It's worth checking out the changelog on the wiki to get a longer summary of all of the changes in 3.2 so far. As always, here is the full Mercurial changelog:
Code: Select all
changeset: 10953:850eeed37215
user: Adam Kaminski <kaminskiadam9@gmail.com>
- The server skips sending a SVC2_SETPLAYERSTATUS command to the client that initially sent the CLC_STARTCHAT, CLC_ENTERCONSOLE, CLC_ENTERMENU, etc. command, as they already updated the status on their end.
- Added the helper function PLAYER_SetStatus.
changeset: 10954:4cfb33370553
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the helper function PLAYER_SetTime.
changeset: 10955:2edc2eb5a3dc
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed a grammatical error in one of the callvote messages.
changeset: 10956:3d1dc73737a3
user: Adam Kaminski <kaminskiadam9@gmail.com>
Spectators are now allowed to keep spying on other actors when sv_disallowspying is enabled.
changeset: 10957:8cd9d65c2c3f
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: when the server printed a list of flags that were changed, it didn't check if a flag CVar existed first before incrementing the number of flags changed (e.g. "dmflags2 1" doesn't enable any flags because no flag CVar occupies the first bit of dmflags2).
changeset: 10958:69add5809cea
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: sv_markchatlines printed chat lines with two timestamps if sv_logfiletimestamp was enabled.
changeset: 10959:8836885fd432
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the CVar "sv_distinguishteamchatlines", which distinguishes team chat messages from normal chat messages in the server console/logfile (addresses 0036).
changeset: 10960:51750a5f66fc
user: Adam Kaminski <kaminskiadam9@gmail.com>
Blacklisted the rcon, rcon_logout, and send_password CCMDs from ConsoleCommand.
changeset: 10961:cca76668e470
user: Adam Kaminski <kaminskiadam9@gmail.com>
Refactored TEAM_DoWinSequence and replaced C-style char arrays with FString. This also fixes an inconsistency in the fadeout times if whether or not the server prints the message.
changeset: 10962:6d16ad10f91b
user: Adam Kaminski <kaminskiadam9@gmail.com>
Did some refactoring in TEAM_TimeExpired and replaced C-style char arrays with FString.
changeset: 10963:73a1c6a99b8d
user: Adam Kaminski <kaminskiadam9@gmail.com>
Replaced C-style char arrays in the team CCMD's callback function with FString.
changeset: 10964:d71e6eb5bec4
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a check that prevents the server from executing the team CCMD.
changeset: 10965:b07c80551785
user: Sean Baggaley <sean@csnxs.uk>
Added DPI-awareness settings to the Win32 manifest to prevent automatic upscaling of the window on high-DPI displays.
changeset: 10966:b063ecdf6083
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: players still respawned inside sectors with extended damage types if sv_samespawnspot was enabled.
changeset: 10967:cce4aa1b0fa0
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: adding a CVar in a "defaultgamesettings" or "defaultlockedgamesettings" block would crash the game during startup.
changeset: 10968:e997d83344df
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: the Doomsphere mugshot graphics were missing in zandronum.pk3.
changeset: 10969:dc4a0679fdf9
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: a player's flash state wasn't removed when they turned into a spectator.
changeset: 10970:48fd827e2ae9
user: Sean Baggaley <sean@csnxs.uk>
Replaced the C-style array used by the internal server browser to store a server's PWADs with a TArray. This fixes the client crashing when encountering servers with more than 32 PWADs.
changeset: 10971:42c405796de6
user: Sean Baggaley <sean@csnxs.uk>
The server can now broadcast the name of the current game mode (as defined in the GAMEMODE lump) to launchers.
changeset: 10972:b24867c9a99e
user: Sean Baggaley <sean@csnxs.uk>
The output of the dumptrafficmeasure CCMD is now sorted by the bandwidth used in ascending order. This can be changed to descending order by specifying "desc" as the first parameter (addresses 4090).
changeset: 10973:814d72aaa3c5
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: the "ready to respawn in..." message could appear even when compat_instantrespawn was enabled in online games.
changeset: 10974:437563862ede
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: the "ready to respawn in..." message could appear in singleplayer when it shouldn't (e.g. if the client was previously in an online game).
changeset: 10975:805780cfc641
user: Sean Baggaley <sean@csnxs.uk>
- Refactor the launcher protocol code so that each field is now implemented as its own function.
- Rework the logic of SERVER_MASTER_SendServerInfo so that it now iterates through each field and calls the relevant function to assemble the launcher response.
changeset: 10976:f9c1ffa51c78
user: TDRR <srb2gamer@gmail.com>
Moved bot pitch reset to StopAimingAtEnemy command.
changeset: 10977:3eae6b8b3deb
user: Adam Kaminski <kaminskiadam9@gmail.com>
Moved a local variable declaration elsewhere.
changeset: 10978:328e98119da6
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: clients that weren't fully connected to the server still triggered DISCONNECT scripts if they were kicked because of an error.
changeset: 10979:5e48ddb13311
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: the localhost couldn't successfully join the server through the server console window if it was forcing a connect or join password.
changeset: 10980:fa55533805fd
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: local CVars defined in CVARINFO were never saved in the user's config file.
changeset: 10981:2ca40fbf0e4d
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: players didn't drop important items like flags, skulls, etc. when they respawned using SetPlayerClass.
changeset: 10982:7a3f56c275f8
user: Sean Baggaley <sean@csnxs.uk>
Fixed an issue in which SQF_EXTENDED_INFO would not be sent under Linux, resulting in a malformed launcher response.
changeset: 10983:49c4602c534d
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: a live player's class still changed when travelling between some levels, though not always, in cooperative.
changeset: 10984:0e8360876fdf
user: Sean Baggaley <sean@csnxs.uk>
Added a segmented version of the launcher protocol which splits responses across multiple packets (addresses 4064).
changeset: 10985:8f60acdb0847
user: Adam Kaminski <kaminskiadam9@gmail.com>
Created the header file "scoreboard_enums.h" which contains all scoreboard-related enumerations.
changeset: 10986:06edfae62fa3
user: Adam Kaminski <kaminskiadam9@gmail.com>
Created the ColumnValue class, allowing for easy storage of the different data types that a column might use.
changeset: 10987:720f1c0e11cf
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a CVar flag that refreshes the scoreboard if the CVar's value is changed.
changeset: 10988:c10bb3828450
user: Adam Kaminski <kaminskiadam9@gmail.com>
Created the ScoreColumn class, and added the function SCOREBOARD_GetColumn that returns a pointer to a column.
changeset: 10989:97aba2c593e4
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function ScoreColumn::Refresh.
changeset: 10990:2e7dd33e21a0
user: Adam Kaminski <kaminskiadam9@gmail.com>
Renamed the "ulDefaultWidth" member in ScoreColumn to "ulSizing".
changeset: 10991:76e7529aa40c
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function ScoreColumn::UpdateWidth.
changeset: 10992:47b5b47a8e95
user: Adam Kaminski <kaminskiadam9@gmail.com>
Renamed the COLUMNCMD_WIDTH constant to COLUMNCMD_SIZE.
changeset: 10993:4446ae266689
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member functions: ScoreColumn::DrawString, ScoreColumn::DrawColor, ScoreColumn::DrawTexture.
changeset: 10994:49b926c344b2
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function ScoreColumn::DrawHeader.
changeset: 10995:694618c0052d
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the helper function ScoreColumn::FixClipRectSize to consolidate some duplicated code. This change also ensures that input widths or heights that are somehow less than zero also get fixed.
changeset: 10996:b9f70e9fcdfd
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member functions ScoreColumn::Parse and ScoreColumn::ParseCommand.
changeset: 10997:de2c82049a5d
user: Adam Kaminski <kaminskiadam9@gmail.com>
Created the DataScoreColumn class.
changeset: 10998:586623471e76
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function DataScoreColumn::GetValueString.
changeset: 10999:02e0cc193f65
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function DataScoreColumn::GetValueWidth.
changeset: 11000:116c2ed89991
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function DataScoreColumn::GetValue.
changeset: 11001:8711222a3df9
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function DataScoreColumn::UpdateWidth.
changeset: 11002:b3692464f9fe
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function DataScoreColumn::DrawValue.
changeset: 11003:130cd2ebff7a
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function DataScoreColumn::ParseCommand.
changeset: 11004:9c18c26b4a6d
user: Adam Kaminski <kaminskiadam9@gmail.com>
Created the CompositeScoreColumn class.
changeset: 11005:9128e45ea954
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function CompositeScoreColumn::Refresh.
changeset: 11006:e2dda4b2d7b0
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function CompositeScoreColumn::UpdateWidth and the helper functions CompositeScoreColumn::GetRowWidth and CompositeScoreColumn::GetSubColumnWidth.
changeset: 11007:763a2ee34f49
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function CompositeScoreColumn::DrawValue.
changeset: 11008:d35022112bd3
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function CompositeScoreColumn::ParseCommand.
changeset: 11009:856e6ed81483
user: Adam Kaminski <kaminskiadam9@gmail.com>
Created the Scoreboard struct, and added the functions SCOREBOARD_IsDisabled, SCOREBOARD_IsHidden, and SCOREBOARD_SetHidden.
changeset: 11010:7afd13981732
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function Scoreboard::UpdateWidth.
changeset: 11011:3926e6a53831
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function Scoreboard::UpdateHeight.
changeset: 11012:1bea18f49e7c
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function Scoreboard::Refresh.
changeset: 11013:ff8d38223188
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member functions Scoreboard::DrawBorder and Scoreboard::DrawRowBackground.
changeset: 11014:9bae3dc589a7
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function Scoreboard::DrawRow.
changeset: 11015:10d4736ef9b6
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function Scoreboard::Render.
changeset: 11016:640d69ab9258
user: Adam Kaminski <kaminskiadam9@gmail.com>
Changed how team colors are blended into the row backgrounds.
changeset: 11017:343dd67ef4d8
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added missing code to handle local row background colors.
changeset: 11018:363d661de511
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the virtual member function ScoreColumn::IsDataColumn.
changeset: 11019:a6f9a2e45076
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added helper functions that scan for a column and push it into a list (the CompositeScoreColumn class and Scoreboard struct both need this).
changeset: 11020:b5497b499e4a
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member function Scoreboard::Parse.
changeset: 11021:70fc3fd3b6d4
user: Adam Kaminski <kaminskiadam9@gmail.com>
Made a small change to Scoreboard::AddColumnToList.
changeset: 11022:f885f8b7dfec
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed how clipping rectangles are handled when drawing texture columns, and removed some redundant code with handling clipping rectangles when drawing color columns.
changeset: 11023:6385ecfb4f09
user: Adam Kaminski <kaminskiadam9@gmail.com>
When the scoreboard refreshes, players are now also sorted by team (or at least, such that true spectators come after active players). This simplifies and optimizes Scoreboard::Render.
changeset: 11024:2a9adf00b196
user: Adam Kaminski <kaminskiadam9@gmail.com>
As an optimization, generate the blended row background colors for each team in Scoreboard::Parse, instead of every time Scoreboard::DrawRow is called.
changeset: 11025:f41fc372456f
user: Adam Kaminski <kaminskiadam9@gmail.com>
As another optimization, certain checks that are made when refreshing a column will only execute at the start of a new game or level, or at the start of the intermission screen.
changeset: 11026:67e4d8fd109d
user: Adam Kaminski <kaminskiadam9@gmail.com>
Consolidated some duplicated code.
changeset: 11027:ab01759a332d
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed the DONTSEPARATETEAMS flag not being handled properly.
changeset: 11028:a841c8a2bdcb
user: Adam Kaminski <kaminskiadam9@gmail.com>
Simplified Scoreboard::UpdateHeight a bit.
changeset: 11029:b07e7fc48da3
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the scoreboard flag DONTUSELOCALROWBACKGROUNDCOLOR, which prevents the local row background color from being used.
changeset: 11030:65c8aed342b8
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the CVar "cl_colorizepings", which forces everyone's ping in the ping column to be printed in different colours that visually indicate how severe their connection is to the server.
changeset: 11031:4612eca2df57
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the CVar "cl_useshortcolumnnames", which makes columns use their short names in the headers.
changeset: 11032:1db4ef11423f
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the CVar "cl_scoreboardalpha", which controls the opacity of the entire scoreboard.
changeset: 11033:8dff11d411a9
user: Adam Kaminski <kaminskiadam9@gmail.com>
Created the CustomScoreColumn template class and its descendants, and added the function SCOREBOARD_ResetCustomColumnsForPlayer.
changeset: 11034:a47ddc161211
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the CVAR_REFRESHSCOREBOARD flag to cl_useshortcolumnnames.
changeset: 11035:7f883fb871f8
user: Adam Kaminski <kaminskiadam9@gmail.com>
- Checking if a column is (not) visible during the intermission screen has been moved back into Scoreboard::Refresh.
- If a composite column is unusable in the current game, then its sub-columns are now marked as unusable too.
- The server is now allowed to check if columns are usable in the current game and reset custom columns.
changeset: 11036:80cd735ff895
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added checks to prevent SCOREBOARD_Reset and SCOREBOARD_ResetCustomColumnsForPlayer from executing if there are no defined columns.
changeset: 11037:001005ca5ab9
user: Adam Kaminski <kaminskiadam9@gmail.com>
The HIDDENBYDEFAULT flag now gets handled at the start of a new game. Any columns with that flag enabled are automatically hidden.
changeset: 11038:7c0229735b0a
user: Adam Kaminski <kaminskiadam9@gmail.com>
Virtualized CustomScoreColumn::GetDefaultValue and CustomScoreColumn::SetValue.
changeset: 11039:ed6f4e5651f5
user: Adam Kaminski <kaminskiadam9@gmail.com>
- Added new wrapper functions to get a country's index (from GeoIP.c) from an address, and a country's name/code from an index.
- Added a new member to player_t that stores the player's country index.
- Even when no GeoIP database is available, the server will still tell if a client's connecting from LAN (if they're not hiding their country).
changeset: 11040:9c297eb837ff
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added ACS functions: SetCustomColumnValue, GetCustomColumnValue, ResetCustomColumnToDefault, GetColumnDataType, HideColumn, IsColumnHidden, HideScoreboard, and IsScoreboardHidden.
changeset: 11041:689a4a8c63db
user: Adam Kaminski <kaminskiadam9@gmail.com>
Make ScoreColumn::GetDisplayName and ScoreColumn::GetShortName return a NULL pointer if the display or short names are empty.
changeset: 11042:ae47d77d71e3
user: Adam Kaminski <kaminskiadam9@gmail.com>
- Changed the enum COLUMNTEMPLATE_e so that it denotes if a column is a DataScoreColumn or CompositeScoreColumn.
- Added the enum DATACONTENT_e, which is now used to describe what kind of content a data column uses, either data or graphic.
- Added the virtual member function ScoreColumn::IsCustomColumn.
- Removed the inline specifier from DataScoreColumn::GetNativeType.
changeset: 11043:f3513ca1351f
user: Adam Kaminski <kaminskiadam9@gmail.com>
- CustomScoreColumn now inherits from the abstract class CustomScoreColumnBase.
- Added a parameter to SCOREBOARD_GetColumn to also check if a column is currently usable.
changeset: 11044:95d9ba7fc961
user: Adam Kaminski <kaminskiadam9@gmail.com>
- ColumnValue is now responsible for (de)allocating memory for strings when they must be stored or removed.
- Added the member functions ColumnValue::ToString and ColumnValue::FromString.
- Added a custom comparator to check if two ColumnValue objects have the same value.
changeset: 11045:6bf8193bb60f
user: Adam Kaminski <kaminskiadam9@gmail.com>
Made minor changes in handling a CustomScoreColumn's default value.
changeset: 11046:7af578544b00
user: Adam Kaminski <kaminskiadam9@gmail.com>
- When a composite column is added to a scoreboard's column order, its sub-columns are now also treated as being part of the scoreboard's column order.
- Simplified some of the member functions' parameters.
- Added checks to members functions to prevent them from executing if the column's not part of the scoreboard.
changeset: 11047:8ce6a3311b8a
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the member functions ScoreColumn::GetScoreboard and DataScoreColumn::GetCompositeColumn, and removed ScoreColumn::IsInsideScoreboard.
changeset: 11048:980c9b20d10a
user: Adam Kaminski <kaminskiadam9@gmail.com>
SCOREBOARD_Reset no longer has to directly check if data or customs columns that are part of a composite column are usable.
changeset: 11049:187ee8dd2ad8
user: Adam Kaminski <kaminskiadam9@gmail.com>
It's now required that data columns have the DONTSHOWHEADER flag enabled and are aligned to the left if they should be added to a composite column.
changeset: 11050:edda47d611c3
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the country name, code, and flag native column types.
changeset: 11051:88b14ffd20cf
user: Adam Kaminski <kaminskiadam9@gmail.com>
Renamed a few constants used by the server console.
changeset: 11052:4535b5f736e6
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added helper functions to the bot commands to reduce code duplication (botcmd_LookForPlayerEnemies now prints "Illegal player index" instead of "Illegal player start index").
changeset: 11053:6ac30d9bdf2e
user: Adam Kaminski <kaminskiadam9@gmail.com>
Renamed g_NetIDList to g_ActorNetIDList (in case we have network ID lists for other objects that aren't AActor).
changeset: 11054:c4ec3e416509
user: Adam Kaminski <kaminskiadam9@gmail.com>
Removed an unused global variable.
changeset: 11055:928166483c80
user: Adam Kaminski <kaminskiadam9@gmail.com>
- Modified the IDList template class (which has been renamed to NetIDList) to generalize its behaviour better. It includes a new parameter to specify how many network IDs are available.
- Since IDList<>::rebuild previously made sense to call for AActor only, it has been moved into the new derived class ActorNetIDList.
- Moved the CountActors function from "c_cmds.cpp" to "p_mobj.cpp", and renamed it to NetIDTrait<AActor>::count.
changeset: 11056:7da9738c9c7c
user: Adam Kaminski <kaminskiadam9@gmail.com>
Before clearing a composite column's sub-column list, or the scoreboard's column order list, make sure that any reference to the composite column or scoreboard respectively is set to NULL for the affected column(s).
changeset: 11057:022104e31dac
user: Adam Kaminski <kaminskiadam9@gmail.com>
The ADDTOCOLUMNORDER and ADDTORANKORDER scoreboard commands can now add more than one column to the scoreboard's column or rank order lists respectively.
changeset: 11058:8069c571328e
user: Adam Kaminski <kaminskiadam9@gmail.com>
After (re)processing a composite column's sub-column list, or the scoreboard's column order, any invalid columns that are in the scoreboard's rank order are now removed.
changeset: 11059:ec4ffe43cf9c
user: Adam Kaminski <kaminskiadam9@gmail.com>
- CustomScoreColumn is no longer a template class, its values are now stored as ColumnValue objects, and the data type can now be changed on the fly if necessary.
- Made CustomScoreColumn::SetDefaultValue and ColumnValue::ChangeDataType public member functions.
changeset: 11060:1d49b488e927
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed a case of undefined behaviour caused by comparing two ColumnValue objects holding strings.
changeset: 11061:f192097d753a
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a way to return a ScoreColumn's internal name (i.e. the name that will be used to define columns in SCORINFO).
changeset: 11062:8c8ed17d36e9
user: Adam Kaminski <kaminskiadam9@gmail.com>
Rewrote a few SCORINFO error messages.
changeset: 11063:135b6224f398
user: Adam Kaminski <kaminskiadam9@gmail.com>
Make sure that a client's custom columns are reset to their default values on the server's end when they disconnect.
changeset: 11064:340ecb04b119
user: Adam Kaminski <kaminskiadam9@gmail.com>
Make sure to refresh the scoreboard when a player's values are changed in a custom column.
changeset: 11065:86592c4a1a6f
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added ACS function: "IsColumnUsable", to check if a column is usable in the current game or not.
changeset: 11066:fbeeca86673a
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the scoreboard commands REMOVEFROMCOLUMNORDER and REMOVEFROMRANKORDER.
changeset: 11067:53aa9bd436b5
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the composite column commands ADDTOCOLUMNS and REMOVEFROMCOLUMNS. Also, make sure that the data column is added or removed from the scoreboard properly when added or removed from a composite column.
changeset: 11068:5e482a1b887e
user: Adam Kaminski <kaminskiadam9@gmail.com>
When processing a COLUMNORDER scoreboard command, remove any invalid columns in the scoreboard's rank order after parsing the list instead of before.
changeset: 11069:4f7d2f8c0d55
user: Adam Kaminski <kaminskiadam9@gmail.com>
Moved NetIDList and its member functions into "networkshared.h".
changeset: 11070:798fa1b16db8
user: Adam Kaminski <kaminskiadam9@gmail.com>
Changed ScoreColumn::Parse into a virtual function, and added the virtual function DataScoreColumn::Parse to move a few checks to a better place.
changeset: 11071:9ef88964e62b
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a check that prevents columns from having both the OFFLINEONLY and ONLINEONLY flags enabled at the same time.
changeset: 11072:b6e4a302e9c2
user: Adam Kaminski <kaminskiadam9@gmail.com>
Removed any code that hides the scoreboard or columns, and added checks that prevent the scoreboard from being drawn if its width or height are zero.
changeset: 11073:daee317dab0e
user: Adam Kaminski <kaminskiadam9@gmail.com>
Renamed the ACS function "GetColumnDataType" to "GetCustomColumnDataType", which now only works for custom columns (users should already know the data types of native columns anyways).
changeset: 11074:55a5ae6be624
user: Adam Kaminski <kaminskiadam9@gmail.com>
Removed the ACS function "GetColumnDataType", there doesn't seem to be a lot of cases where this function could actually be useful.
changeset: 11075:f7473637d80c
user: Adam Kaminski <kaminskiadam9@gmail.com>
- Separated the data that's used by custom columns, and in turn, removed the now superflous CustomScoreColumn class.
- Mods now allocate or deallocate data for custom columns using the "addcustomdata" and "removecustomdata" commands respectively in the GameInfo block of a MAPINFO lump.
- Removed the column flag DONTRESETONLEVELCHANGE.
changeset: 11076:53cb82a6576b
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added server commands that synchronize custom column values with clients.
changeset: 11077:cf76db80aab6
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added code that initializes the scoreboard and parses all loaded SCORINFO lumps.
changeset: 11078:ee8ffcbcb07e
user: Adam Kaminski <kaminskiadam9@gmail.com>
Refactored the ColumnValue class again.
changeset: 11079:f0995219adee
user: Adam Kaminski <kaminskiadam9@gmail.com>
Moved some ColumnValue member functions around.
changeset: 11080:9a47035d9a7a
user: Adam Kaminski <kaminskiadam9@gmail.com>
Make sure that a ColumnValue's data type is set to COLUMNDATA_UNKNOWN when it's initialized by another ColumnValue object.
changeset: 11081:9f82c6b88d99
user: Adam Kaminski <kaminskiadam9@gmail.com>
Renamed SCOREBOARD_ResetCustomColumnsForPlayer to PLAYER_ResetCustomValues, and moved it to "p_interaction.cpp".
changeset: 11082:c01ee04a99bd
user: Adam Kaminski <kaminskiadam9@gmail.com>
SCOREBOARD_Reset is now only called at the start of a new game, or after the client receives the last snapshot from the server. Also, everyone's custom values are now reset only at the start of a new game, not when the level changes.
changeset: 11083:6481c1436f9c
user: Adam Kaminski <kaminskiadam9@gmail.com>
Renamed COLUMNALIGN_e enums to HORIZALIGN_e to represent horizontal alignments, and added VERTALIGN_e enums to represent vertical alignments.
changeset: 11084:93b27bfd15bb
user: Adam Kaminski <kaminskiadam9@gmail.com>
Renamed COLUMNDATA_e enums to DATATYPE_e.
changeset: 11085:737ca7804490
user: Adam Kaminski <kaminskiadam9@gmail.com>
Renamed ColumnValue to PlayerValue, and renamed the new ACS functions to something more generic.
changeset: 11086:e437f9ee600b
user: Adam Kaminski <kaminskiadam9@gmail.com>
Instead of checking for any custom columns without data once all SCORINFO lumps have been parsed, just throw an error when a custom column is created without its data being defined first.
changeset: 11087:3622eb9e1a88
user: Adam Kaminski <kaminskiadam9@gmail.com>
Removed the ACS function "IsColumnUsable".
changeset: 11088:b16e174e1c9b
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the ScoreMargin class, and a base class for all margin SCORINFO commands.
changeset: 11089:2c5b9e8689e6
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the DrawBaseCommand abstract class.
changeset: 11090:cb4f85d1e332
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the DrawString margin command.
changeset: 11091:900cd2bbad69
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the DrawColor margin command.
changeset: 11092:f0e7bb4a499c
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the DrawTexture margin command. This finally exposes the "logo" property from TEAMINFO that was never used in Skulltag/Zandronum before.
changeset: 11093:a7edb6e5a91e
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added code to parse margin blocks and commands in SCORINFO.
changeset: 11094:ca76ad685fa2
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the FlowControlBaseCommand abstract class.
changeset: 11095:d48928bdb28c
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the margin commands: IfOnlineGame, IfIntermission, IfPlayersOnTeams, IfPlayersHaveLives, and IfShouldShowRank.
changeset: 11096:e2157a09bd4f
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the IfGameMode margin command.
changeset: 11097:7e9e724aed08
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the margin commands: IfGameType and IfEarnType.
changeset: 11098:c4ebe3100472
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the IfCVar margin command.
changeset: 11099:97612c744c04
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a virtual function to DrawBaseCommand that returns the height of the contents.
changeset: 11100:80d635cd0b1b
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the DrawMultiLineBlock margin command.
changeset: 11101:16690ce4cac8
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the "bottompadding" parameter to margin commands that draw something.
changeset: 11102:8c7f7032b428
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a "cvar" special value to DrawString, used to print a specified CVar's value. This replaces the "hostname" special value.
changeset: 11103:a2172a3c7532
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added "nextlevelname" and "nextlevellump" special values to DrawString.
changeset: 11104:943f78d8c205
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed the parser not scanning negative values for the x and y parameters of a margin command.
changeset: 11105:978d1505cf4e
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed PlayerValue::TransferValue not doing anything when the other PlayerValue's data type was unknown.
changeset: 11106:5a516c00defb
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a missing break statement.
changeset: 11107:2d05133b9604
user: Adam Kaminski <kaminskiadam9@gmail.com>
Changed these error messages to be more informative.
changeset: 11108:e9fe5b5867a1
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added an extra check before drawing team headers on the scoreboard.
changeset: 11109:3060ac161224
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a missing check.
changeset: 11110:df1139d51830
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed the x-offset not being accounted for when determining the largest possible width of a DrawString command.
changeset: 11111:d28d47ae1e8c
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed the CountryFlag column from still drawing when it wasn't supposed to.
changeset: 11112:dbbced950c1a
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed the scoreboard not appearing when its width or height was bigger than the screen's.
changeset: 11113:23bdc671d97e
user: Adam Kaminski <kaminskiadam9@gmail.com>
In case the scoreboard is too wide to fit the screen, try shrinking the columns until it fits, or it's as small as they can possibly be.
changeset: 11114:c6fc0c793440
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a CommandBlock class that maintains a block of margin commands. This helps reduce the complexity of the scoreboard margin code.
changeset: 11115:f573cb1008d4
user: Adam Kaminski <kaminskiadam9@gmail.com>
The global parameters map now specifies a set of margin commands that a parameter may be used in, instead of only one. Also, renamed a few other constants.
changeset: 11116:11d1e2c6b956
user: Adam Kaminski <kaminskiadam9@gmail.com>
It's not necessary to add a command's y-offset in these spots.
changeset: 11117:0a2fdf70e241
user: Adam Kaminski <kaminskiadam9@gmail.com>
- Refactored the scoreboard margin code again, and added an ElementBaseCommand class which the DrawBaseCommand and MultiLineBlock (formerly DrawMultiLineBlock) classes inherit from.
- It's now acceptable to nest MultiLineBlock commands inside each other.
changeset: 11118:3f6980d1bb60
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the RowBlock margin command, and a right padding parameter to all element margin commands.
changeset: 11119:037ddb49cdf2
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed the color box for a DrawColor command appearing outside the margin's boundaries, especially if the x-offset is non-zero.
changeset: 11120:339a21c5cec5
user: Adam Kaminski <kaminskiadam9@gmail.com>
Have the lives score column return zero when the player's a (dead) spectator.
changeset: 11121:8ed91d0f57ff
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed multiple lines of a DrawString command not respecting the alignment of the MultiLineBlock or RowBlock command it belonged in.
changeset: 11122:320bbd525001
user: Adam Kaminski <kaminskiadam9@gmail.com>
Refactored SCOREBOARD_GetLeftToLimit, and added a helper function to remove duplicated code. Originally, the function only used the team with the highest point or win count by checking if the game mode was teamgame or teampossession, or teamlms respectively. However, changing the function to check if the current game mode has GMF_PLAYERSONTEAMS enabled should keep the same behaviour, while making it versatile (e.g. adding or removing GMF_PLAYERSONTEAMS via the GAMEMODE lump).
changeset: 11123:4927ef91f56f
user: Adam Kaminski <kaminskiadam9@gmail.com>
- Added the SCORINFO lump that goes into zandronum.pk3, and removed the old scoreboard code that's no longer needed.
- The scoreboard now refreshes once per tic while being drawn.
changeset: 11124:13436887a785
user: Adam Kaminski <kaminskiadam9@gmail.com>
Moved some scoreboard functions around, updated some comment headers, and deleted superfluous #includes in scoreboard.cpp.
changeset: 11125:d619f041cf28
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a menu for scoreboard options.
changeset: 11126:cafc325b7402
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed some misleading comments.
changeset: 11127:a70ed605b26a
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed player rows appearing as "dead" while on the intermission screen.
changeset: 11128:3a83305c5326
user: Adam Kaminski <kaminskiadam9@gmail.com>
Removed an usused local variable.
changeset: 11129:b060cc807709
user: Adam Kaminski <kaminskiadam9@gmail.com>
Backed out changeset: 4f7d2f8c0d55
I also had to add "#include <list>" into "scoreboard.h" to resolve any compile errors this backout caused.
changeset: 11130:3c51e91a5be7
user: Adam Kaminski <kaminskiadam9@gmail.com>
Backed out changeset: 928166483c80
changeset: 11131:a66004f66510
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed some clang compile errors. Kudos to Dusk for doing this.
changeset: 11132:9f908b9c754c
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed some gcc compile errors.
changeset: 11133:154a49662bbd
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed another gcc compile error (the class "CustomPlayerData" and gameinfo_t::CustomPlayerData were using the same name).
changeset: 11134:e55f673ae43b
user: Adam Kaminski <kaminskiadam9@gmail.com>
Removed an extra line break.
changeset: 11135:247a792c5f96
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a missing break statement.
changeset: 11136:762042b974e0
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added break statements to last cases in a few switches, for consistency and safeguarding.
changeset: 11137:9d6120d3623d
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed a bunch of GCC warnings.
changeset: 11138:d00c4c822a9b
user: Adam Kaminski <kaminskiadam9@gmail.com>
Use PlayerValue instead of UCVarValue to save the to-be-compared value in an IfCVarFlowControl margin command.
changeset: 11139:a99a8e26e887
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a virtual destructor to ScoreMargin::BaseCommand (fixes another GCC warning).
changeset: 11140:fa1636889502
user: Torr Samaho
Merged with main repo
changeset: 11141:ad2dd2ce2158
user: Adam Kaminski <kaminskiadam9@gmail.com>
Made some tweaks to the SCORINFO lump in zandronum.pk3.
changeset: 11142:54e840bac6bb
user: Adam Kaminski <kaminskiadam9@gmail.com>
Removed a 1 pixel offset on all bot skill icon graphics.
changeset: 11143:eea467db8171
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added an entry to zandronum-history.txt that highlights the changes made to the scoreboard code and the addition of the SCORINFO lump.
changeset: 11144:620d3c4f9908
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added another important entry to zandronum-history.txt.
changeset: 11145:78b91493de7a
user: Adam Kaminski <kaminskiadam9@gmail.com>
All bots are now marked as ready to go on the intermission screen.
changeset: 11146:34a02869838d
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a "columnpadding" command for scoreboard blocks in SCORINFO, which adds extra padding to both sides of all columns. Particularly meant so that a column's contents don't appear on the edges of the column itself.
changeset: 11147:f4bfff69fb69
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a "gapbetweencolumns" for composite columns in SCORINFO, which controls how much space to leave between the sub-columns.
changeset: 11148:b9e9fdfb42e7
user: Adam Kaminski <kaminskiadam9@gmail.com>
Tucked the "playercolor" column underneath the "player" composite column, and moved the "handicap", "botskillicon", and "artifacticon" columns out of the same composite column. Also made the handicap column not show anything for spectators.
changeset: 11149:7f39941ca1e0
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added short names to the damage and vote columns.
changeset: 11150:7e1569824820
user: Adam Kaminski <kaminskiadam9@gmail.com>
The sizing of a sub-column is now always used when refreshing or drawing a composite column even when there's no value to draw, unless the sub-column has the DISABLEIFEMPTY flag enabled.
changeset: 11151:f61a44d1dee6
user: Adam Kaminski <kaminskiadam9@gmail.com>
Moved the "readytogoicon" and "statusicon" columns into their own composite column.
changeset: 11152:15a46ebf6314
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added missing new lines at EOF in gamemode.txt and scorinfo.txt.
changeset: 11153:5ee672ddce21
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed a CLIENT_PrintWarning call that had fewer arguments than '%' conversions.
changeset: 11154:e5fe1929cc85
user: MajorCooke <paul.growney22@gmail.com>
- Fixed: The mask didn't incorporate RGF_MISSILES, causing it to fail.
changeset: 11155:507bc79531c3
user: Adam Kaminski <kaminskiadam9@gmail.com>
Made the spectator header on the scoreboard smaller and more simple.
changeset: 11156:fee2f42abb1d
user: Adam Kaminski <kaminskiadam9@gmail.com>
Renamed the "ScoreIcon" native column type to "PlayerIcon", and added the same column to the scoreboard.
changeset: 11157:72f16800db57
user: Adam Kaminski <kaminskiadam9@gmail.com>
Check that a player's current class has a valid ScoreIcon before trying to use it inside a "PlayerIcon" column.
changeset: 11158:8cfc81760883
user: Adam Kaminski <kaminskiadam9@gmail.com>
Changed the value of COLUMNTYPE_UNKNOWN to -1. It's now also acceptable to use "unknown" as a name for data columns.
changeset: 11159:33c4c09c6598
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed a bunch of clang warnings.
changeset: 11160:e174ad2b79e3
user: Adam Kaminski <kaminskiadam9@gmail.com>
- Fixed a clang warning that complained about undefined members in the PlayerValue::Trait template class.
- Moved PlayerValue::Trait definition to the private scope of PlayerValue.
- Converted PlayerValue::ModifyValue into a template member function.
changeset: 11161:a5156e1a5726
user: Adam Kaminski <kaminskiadam9@gmail.com>
A Linux server's network socket now sleeps for one tic instead of one whole second. This prevents servers commands not being sent out normally when there's at least one client connected but spectating. Based on a patch by geNia (addresses 4068).
changeset: 11162:a26c1c2a9d01
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: clients would sometimes see themselves having the lag icon over their head indefinitely after a level changed (fixes another regression caused by c770f5a41612).
changeset: 11163:6eb245c8b4e2
user: Adam Kaminski <kaminskiadam9@gmail.com>
Refactored the version string on the console to use FString and escaped color codes instead of a C-style char array.
changeset: 11164:6aaff98a87e0
user: Adam Kaminski <kaminskiadam9@gmail.com>
Clients are now informed the moment when they're (un)muted on the server. Based on a patch by Janko Knezevic.
changeset: 11165:285afacc0516
user: Adam Kaminski <kaminskiadam9@gmail.com>
Slightly refactored SERVER_PrintMutedMessageToPlayer.
changeset: 11166:a0a5e56327df
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed the message that's printed in the console when ignoring a player from showing more than one timestamp.
changeset: 11167:c078a53da744
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added an optional parameter to the "ignore" and "ignore_idx" CCMDs that allows servers to specify a reason for muting a client. Based on a patch by Janko Knezevic.
changeset: 11168:3f7e5a1d0338
user: Adam Kaminski <kaminskiadam9@gmail.com>
Adapted PLAYER_IsUsingWeaponSkin and PLAYER_ApplySkinScaleToBody to also check if a weapon's PreferredSkin actually exists. Otherwise, Zandronum might think a player is using a weapon skin when they aren't.
changeset: 11169:dc11c9fb647b
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: a player's skin would get scaled incorrectly if their class's current sprite was using "####" or "----" before respawning.
changeset: 11170:b6f9c4868c93
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added a check to prevent the player's skin sprite from showing if their class's current sprite is TNT1A0 (and its original sprite is also TNT1A0).
changeset: 11171:af40199ccb04
user: Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: stealth monsters didn't reveal themselves in online games when they took damage or died (fixes 4132).
changeset: 11172:7b6fce50c13d
user: Adam Kaminski <kaminskiadam9@gmail.com>
Moved checks that reset world and global ACS variables (if ZACOMPAT_RESET_GLOBALVARS_ON_MAPRESET is on) into GAME_ResetScripts to reduce duplicated code.
changeset: 11173:0a52b736ae20
user: Adam Kaminski <kaminskiadam9@gmail.com>
Consolidated some duplicated code used to clean chat strings.
changeset: 11174:c115af828615
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added commands to the message options menu to clear the chat prefix/suffix CVars.
changeset: 11175:f0de15ad1df0
user: Adam Kaminski <kaminskiadam9@gmail.com>
Modified V_ColorizeString to strictly convert non-escaped color codes into escaped ones and nothing else. The original implementation was a copy/paste of the strbin function from ZDoom that did more than just colorize strings. This particularly fixes backslashes not being included in chat messages correctly.
changeset: 11176:edddc3b1abfb
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added some static casts to ensure the signedness of the operands in a few expressions are consistent.
changeset: 11177:89d331912976
user: auratoostronk
Fixed: flags in CTF could be captured after the round was over. [auratoostronk]
changeset: 11178:decedd5f1e1c
user: Adam Kaminski <kaminskiadam9@gmail.com>
Added the NOSPECTATORS flag to the "playericon" column.
changeset: 11179:87fe4210ee29
user: Adam Kaminski <kaminskiadam9@gmail.com>
It's now possible to use negative values for the "ClipRectHeight" property in SCORINFO, which means the column's clip height will be equal to the row's height minus the property's value.
changeset: 11180:89bccf7127ba
user: TDRR <srb2gamer@gmail.com>
Added ACS functions that provide lump reading capabilities: "LumpOpen", "LumpReadChar", "LumpReadShort", "LumpReadInt", "LumpReadString", and "LumpSize".
Happy testing everyone!