I hope it's everything placed where it belongs: (It was a long, long time since I've made a changelog for a game)
Content-wise:* Changes on ctf_compromise, ctf_gate1, ctf_inyard and oa_minia.
* Added am_underworks, am_underworks2, blitzkrieg3, oa_koth2, (all of them Deathmatch) and hydronex2, oa_reptctf11, ps9ctf and ps37ctf. (CTF)
- am_underworks2 (3 points) oa_koth2 (1 point) and hydronex2 (3 points) also supports Single Domination. Though these two latter maps don't appear in the GUI.
- oa_minia also has Double Domination and Elimination support. Though it won't appear in these modes via GUI.
- am_underworks2 has Elimination support.
* Three new skins: one for Assassin, another for Beret, and another for Angelyss. The first two by cosmo, the third by leileilol.
GUI:* Menu:
- Challenge system, which includes awards and statistics. It only works online. Read this for the explanation about the system:
http://code.google.com/p/oax/wiki/Challenges - Password prompt when joining servers
- New First Connect screen, which reminds new players of some important settings.
- New 2d art and blueish menu by Udi and leileilol.
- Added color 8 (orange - former menu color)
- Mouse wheel works in mods menu
- New ui_demo2.c by jessicaRA
- A few notices added to UI in different places
- Options:
+ The grapple can be bound in the options menu.
+ Team only voice chat (cg_voipTeamOnly) enabled by default. While this function is enabled, any value the player assign to "cl_voipSendTarget" will be overwritten when a player joins or leaves the team.
+ cg_crosshairHealth toggleable in the menu.
+ Left/Center weapon hand[/b] can be changed.
- Server browser:
+ Servers with no humans on are now considered empty if "Only humans" is enabled.
+ Gametype filter now also works for One Flag, Obelisk, Harvester and Domination
+ Server source is now: Internet, Internet(2), Internet(3) ... instead of Internet1, Internet2, Internet3 ...
+ davidd's sort by humans.
- Start server:
+ Increased significantly the number of maps supported. The game can now handle 20*1024 charecters in the *.arena file list.
+ No maps are ignored if the number of single player maps is not divisible by 4.
+ Added comments to pure and All Rockets in "start server"
+ Fixed LMS mode bug in "start server"
+ More ingame information about pmove
+ Added 91 Hz fixed framerate (pmove_msec 11)
+ pmove_msec defaults to 11 (controversial - I know)
+ Added "Oneway capture" to "start server" for the CTF Elimination gametype
+ Added "Physics" to "start server"
+ Added "Optimize for LAN" to "start server"
* In-game:
- Voting menu, for vote calling.
+ Supports: next map, restart map, shuffle teams, change map, change gametype, playerkick, warmup enable, fraglimit, timelimit and custom votes.
+ Supports maplists and custom votes from the files votemaps.cfg and votecustom.cfg. (More below about the latter)
- New "simple item" icons by Udi.
- Breath and Dust effects backported from missionpack.
- New effects by leileilol.
* HUD:
- Grapple:
+ You can get "No ammo" even if you have it.
+ It'll never be selected then autoswitching from a weapon because you ran out of ammo.
+ It's now placed before gauntlet.
+ It can be bound in option menu.
+ It's no longer selected by default on spawn.
- Colored crosshairs are back. They are supported by changing RGB values via menu or cvar. The cvars are cg_crosshairColorRed, cg_crosshairColorGreen and cg_crosshairColorBlue.
- Different crosshairs per weapon (not available via UI, needs to be setup via cvars)
- New weapon bars by schlorri. Toggleable by using cg_weaponBarStyle.
- Changed message for teamkill from "you fragged <TARGET>" to "you fragged ^1TEAMMATE^7 <TARGET>"
- cg_oldRail now defaults to 0
- Chaingun kill message is no longer the same as the machinegun kill message
- Crosshair pulse can be disabled
Gameplay:* FFA/1on1:
- Negative scores in FFA are no longer possible.
- Penalty points in 1on1 are awarded to the opponent rather than subtracted.
* Harvester:
- Skulls are now visible behind the skull carrier in Harvester.
* Elimination/eCTF:
- Added elimination_lockspectator: 0=no lock, 1=cannot follow enemy, 2=must follow teammate (For Elimination and CTF Elimination only)
- Changed default ammo count.
- Dead players are sorted last.
- Fixed crash during intermission if a human was dead while the capturelimit was reached and possible other situations.
* LMS:
- Connecting players will no longer count as survivors.
* Double DOM:
- The counter will no longer count forever during warmup. (However, points will not respawn)
- Sound events.
* Single DOM:
- Flags are used as domination points instead of using Point A from DD.
* Other:
- Midair suicide, while g_awardpushing is enabled, will result in a point to the attacker.
- Mines will self destruct very quickly if placed near the flag.
- Runes, Kamikaze and Invulnerability are now available. (Invincibility is still unmodelled) The runes can be toggled by using g_runes. Default: 0 in baseoa, 1 in missionpack.
- Changed the way the game picks the spawn point to prevent maps with few spawnpoints that are marked with nobot or nohuman from hanging the game.
- Quad will no longer spawn if q_quadfactor <= 1.0
- Added restore system based on guid. You no longer lose scores when changing team, spectating or leave+rejoin. Chainging team or leaving the game now counts as a suicide to prevent misuse of the restore system. In Team Deathmatch the team will be compensated so they don't loose points by loosing a player to the other team.
- No killed message then a client leaves (still counts as a suicide)
Server admins/new cvars:* Non-rcon based admin system. (ban, kick, lock teams, cancel votes etc.) - Server admins should read this in order to get familiarized with the new commands:
http://code.google.com/p/oax/wiki/Admin* Shuffle teams function added. Can be called by an admin, by using "shuffle", or by players, by using "callvote shuffle".
* g_awardPushing. If enabled, players will get frags for killing with a mover (be aware that this makes it possible to be noted for a teamkill even if friendly fire is off)
* Grapple cvars:
- Server side cvar "elimination_grapple" added. Allows grapple in elimination gametypes.
- Client side cvar "cg_cyclegrapple" to tell if Grapple should be part of the weapon cycle. Default is 1 since there are no default key.
* Killing sprees/death sprees and multikills added. Read this for the explanation of the system:
http://code.google.com/p/oax/wiki/Sprees_and_Multikills* Added Server side 'videoflags' cvar. Default value 7 (1+2+4). 1 verifies some basic values. 2 verifies some extended graphics settings. 4 disables vertex light.
* Added Client side 'cg_autovertex' cvar. Automatically enables vertex light if allowed. Off by default. Gets enabled if you enable vertex light through the menu.
* g_elimination cvar added (like g_instantgib and g_rockets, but full elimination arsenal, health and damage rules)
* g_lms_mode is now a SERVERINFO CVAR
* g_humanplayers is no longer a SERVERINFO CVAR. It's always 0 during intermission.
* CVAR_SYSTEMINFO is now set in cgame to allow game to override them
* You cannot ban localhost anymore (the system needs rewrite)
* Fixed a bug that allowed a client to call more than 3 votes in a single game.
* Fixed vote exploit
* pmove_float added. Makes the physics framerate independent but cost up to 8 times as much network traffic (worst case, normally only a few percent). Mostly for LAN gaming. Note that you must reduce g_gravity to ~756 to get 125 fps gravity.
* Server command handling now modularized ( ClientCommand & ConsoleCommand )
* Duplicate GUID check
* Vote can now pass even if majority is not reached then time runs out. It requires twice as many yes votes as no votes through or high percentage of yes votes.
* Vote system is more secure
* Added elimflags and voteflags which are now used to transfer some booleans to save network traffic
* Added g_catchup, that makes cheap frags a little more expensive if activated
* Added command "clients" that prints the correct client numbers for use with clientkick
AI:* bot_minplayers works better but still not perfect.
* Bots now attack the Obelisk in Overload
* Bots should now acknowlegde the gametype property of items (still has bugs)
* Fixed infinity loop bug caused by bot_roams with gametype flags
* You can now command bots in One Flag, Harvester, Obelisk and Domination.
* bot_nochat >= 2 will now stop all bot chat
* bots now reads team status from game rather than ai config string. Hopefully stopping bots from shoting at there own team during certain changes.
* Bots are now a little better at understanding prox mines
* Generally improved the bot's Area Awareness System.
* Fixed infinity loop bug in AAS code caused by the gametype flag.
* Exclude bots from duplicate names check
* Thanks to BG_CanAlloc, adding too many bots no longer crashes the game.
Modding/Mapping:* Added clientkick_game, same as clientkick but located in the game code, so it can be improved without touching the engine
* Gametype flag "ctfelimination" removed, replaced by "ctf"
* Prevent crash when the message in dom_point is null
Other improvements and bugfixings:* Updated to ioquake3 rev1759.
* Clamp on cg_errorDecay as suggested by jessicaRA
* cl_guid is now written to the log file for all human players joining
* Removed compiler warning in TeamCvarSet
* Fixed double throw bug when a client disconnected
* Added G_GlobalSound
* BG_CanAlloc introduced, can predict out-of-memory errors and handle them.
About the custom votes:
A votecustom.cfg file can look like this:
{
votecommand "lms_custom"
displayname "Change to Last Man Standing on dm4ish?"
command "g_gametype 10 ; g_instantgib 0; map dm4ish"
}
{
votecommand "ffa_custom"
displayname "Change to instantgib FFA on dm6ish?"
command "g_gametype 0 ; g_instantgib 2 ; map dm6ish"
}
votecommand is the command the client must execute. It may not contain spaces! displayname is the name displayed while the vote is going on command is the string that will be executed if the vote passws.
The above can be called using "/callvote custom ffa_custom" Typing "/callvote custom" will list the first 12 custom commands. The menu will show the first 12 entries.
About g_awardpushing 1:
With g_awardpushing 1
You fall into void, he shoots you, you /kill
Him: +1
You: 0
I consider using kill while falling to the void or burning in lava to be perfectly acceptable as death is unavoidable anyway. On a lot of OA maps you can fall for a long time before getting killed making a /kill very attractive or in team games even necessary. If you /kill fast enough he cannot get a point unless it was him who sent you flying.
Is there a timeout for pushing?
In 0.8.1 there is a 3 (or 4, I don't remember) seconds timeout. In Beta 35 this has been reduced to 200 miliseconds but only time while safely on the ground is counted.
I considered (and still considering) only counting a push if a certain amount of force was inflicted but on some maps you can actually push a player rather far with rapid fire weapons. If you enable q_awardpushing (and it will be disabled by default) it is most likely to limit the amount of negative scores and in that case you would rather give two cheap kills than deny one actual kill.
About the restore system:
That allows you to change team or go spectating or even leave the game and only loose 1 point (0 if you are already dead). The game only remembers the last 32 players so you can be unlucky that it forgets you but it is still better than nothing.
About videoflags:
The game now forces vertex off by default. The system is inspired by the tournament mode suggested earlier. videoflags currently has 3 flags:
1 - basic lock - limits fov and zoomfov to 140
2 - extended lock - limits r_picmip, r_intensity, r_overbrightbits, r_gamma, etc. to sane values.
4 - vertex lock - disables vertex light on all clients.
cg_autovertex will automatically enable vertex if the lock is disengaged. For other cvars you will need a script to reset them.
And, finally, about crosshair colors and g_catchup.
The crosshair colors are possible the most interresting new thing. cg_crosshairHealth must be turned off for it to work.
g_catchup is by default disabled but if it is enabled it will reduce damage done to low scoring players by up 50% (rounded up).
The catchup cvar is targeted public servers: If it is set to 5 then the damage will be reduced by 5% for each frag above 5 that the target is behind. If the target has a higher score than the attacker 100% damage will always be dealt. If the target is at most 5 frags behind the attacker 100% damage will be dealt. Catchup can therefore not be used to overtake the firstplace (except by providing momentum). Catchup does not work in team games.