Profiles

Forums

Everything posted by newborn

So, with Race mode officially hitting within the next 24 hours, I figured it write up some info for mappers.
BUILDING RACE MAPS:
Starting areas can be created with me_createtype RaceStart. The moment players leave this brush, the timer for the race begins ticking. If players re-enter this brush, their timer is reset. Spawn points and teleporter exits should be placed inside this brush as usual. Ideally, use this brush to surround the entire starting area, rather than creating a thin brush that players run through -- this keeps everything consistent and ensures there is no way to escape the starting area without activating the timer. This brush should also ideally stick inside walls due to the glowing edge effect applied to it -- if you make the start brush sit exactly flush with a wall/floor, you'll get a bright flickering effect that looks rubbish.
Finish lines can be created with me_createtype RaceFinish. The moment a player touches this brush, the timer for the race ends and their score is committed. Maps should include a standard teleporter inside the race finish brush to return players to the starting area -- players should not be forced to suicide to get back to the start line after finishing a run. The RaceFinish brush has the same edge effect as the start line so the same rules apply -- make sure you stick it through walls, not sit it on top of them. Make sure there is no way for players to miss the finish line.
Weapon restrictors can be created with me_createtype WeaponRestrictor. Once a player touches this brush, their weapons are restricted to what has been set until they either die or touch another restrictor. If you want to prevent players just rocket jumping through your map, you should enclose the starting area with a WeaponRestrictor that sets the available weapons to Melee only. Ideally, only allow a single weapon to be used in each area, although the weapon restrictor supports any combination of weapon sets. If you only have a single weapon defined, the game will automatically switch to that weapon when a player touches the brush. The value to use for the restriction is a bit mask, so add up all the numbers for the weapons you want to allow:
1: Melee
2: Burst Bun
4: Shotgun
8: Grenade Launcher
16: Plasma Rifle
32: Rocket Launcher
64: Ion Cannon
128: Bolt Rifle
256: Stake Gun
You can also use -1 to allow all weapons. Weapon restrictors should generally not be used outside of Race mode, although they work for all modes. Behaviour will be crappy in any mode that doesn't give you all weapons but it could be used to create Arena maps with certain loadouts. If you're using restrictors outside of Race mode though, consider your map a novelty.
GENERAL RACE MAP DESIGN:
Race maps should be designed with easy and hard paths -- race maps are not at all fun if you can't actually complete them. Ideally, each path should provide some kind of hint about its difficulty, such as a different colored trim for each path.
The easy path should obviously be slower and it would be difficult to design one that wasn't. Ideally, the easy path should be created so that it can be completed with only the movement keys + jump. If you want to include more advanced movement techniques, use the most simple versions of them you can. For example, circle jumps that are only slightly beyond what you can do with forward and jump, double jumps that don't a circle jump first, strafe pads that are only 2 jumps long etc. Avoid complex weapon tricks like double rocket jumps, grenade jumps, and extended plasma climbs. Simple, low rocket jumps are fine.
Hard paths can be as difficult as you want to make them. Ideally, they should be designed with a few different options -- maps where there is only one real path to take will quickly end up with stagnating scores as everyone completes the run with only a few milliseconds difference. This is where the easy/hard path design idea helps -- it creates more possible shortcuts. Finding the fastest line is part of mastering the map, so give players options.
This idea becomes difficult for maps that are designed more around tricking cleanly rather than going fast (maps like b0 and ReflexJump). For maps like these, one possible solution is to have alternate routes. For example, ReflexJump starts with the classic CPM3 stairs. It includes both stairs to RA and stairs to MH for a hard/harder path. But the reason this jump is so popular in the first place is that its quicker than taking the long way around. For an easy path, this long way could be added back in with some simple tricks to stop it becoming "walk to the finish line". This also allows more variety in runs where a faster path through an "easy" route might be discovered.
Race has been designed to be a properly competitive mode and does still have an innate risk vs reward which easy/hard paths encourage. Ideally, players should be thinking "do I risk the hard jump and possibly ruining what will likely be a winning time, or do I hit the hard jump and hope for a time that is even harder for others to top?". The last section of reflex-race1 is a good example of this -- hitting the finish line in a single jump can be risky and missing it will likely ruin your time. Dropping directly to one of the lower platforms and then jumping to the finish is lower risk, slower than doing it in one, but faster than missing. These kinds of decisions are good.
Race maps should be designed with "checkpoints", especially longer ones. Checkpoints are created by placing teleporter brushes and target entities. If a player misses a jump, don't return them to the start line -- that's what the suicide command is for. Take them back to the nearest possible place that allows them to finish their run (so don't return them to a strafe pad where they'll no longer have the momentum to make the next one). Never allow players to skip sections of the map through checkpoints -- that's what the easy path/practise is for.
Avoid trying to make your race map too pretty. It's extremely difficult to make large, open maps look good, especially without meshes. Just pick some nice colors and trim the largest brushes. This also helps to avoid any clip bugs that haven't been squashed yet. Sunlight is your friend when creating race maps. Unless you're deliberately designing some kind of "freestyle" or "puzzle" race map, the path from the start to the finish line should be obvious.
Runs should ideally take around 10-30 seconds for the hard path. Don't create 26MB maps that take an hour to finish, especially since the default timelimit is 10 minutes and don't create maps that can be completed in 2 seconds as they'll get repetitive extremely quickly.
There are currently no items worth placing in Race mode. Players already have infinite ammo and take no self damage. In a future update, we will allow powerups with a 0 respawn time to be added to Race for Quad rjump sections etc but until then, pickups should be avoided.
Remember that Racing is a multiplayer activity and there will be other players running around. Make sure you give players room to perform their runs without being stacked inside 6 other players.
And finally..
If you find tips and guidelines like this useful, let me know. I've been considering writing up something similar for the other modes but haven't gotten around to it.

Our Windows dedicated server binaries are now available through Steam. The recommended way to set up a dedicated server is:
Ports:
Reflex uses ports 25787 and 25797 so open/forward them.
If you want to run multiple servers on the same box, you will need to forward 2 additional ports per server (one for the game, one for the steam connection)
Installing and updating with steamcmd:
Grab steamcmd from this page (which also has full instructions on its usage).
You can install / update the server with: steamcmd +login anonymous +force_install_dir ./reflex_ds +app_update 329740 +quit
Once installed, edit the dedicatedserver.cfg file -- most of the values are pretty self explanatory but the key ones are sv_hostname, sv_gameport and sv_steamport.
Since we don't specify countries yet, its nice to append [AU], [uS], [EU] etc to your sv_hostname.
Running multiple servers:
The easiest way to run multiple servers is to simply send command line arguments to override the values in dedicated.cfg
An example of this would be: reflexded.exe +sv_hostname FooBar Server #2 +sv_gameport 25788 +sv_steamport 25798
Recording replays (Not recommended):
Replay recording is deliberately broken for servers right now but it's just a missing path. If you want to record replays, create the folder /replays
We currently don't offer any way to limit the number of replays stored on a server and they'll happily chew up your entire drive if you don't delete them occasionally.
Right now, there is no way for players to actually download replays from servers. The most common solution right now is to run a webserver that serves the contents of /replays.
Recording replays is really not recommended right now.
Running the test branch:
Grab the test branch through steamcmd and run as usual: steamcmd +login anonymous +force_install_dir ./reflex_ds_test +app_update 329740 -beta test +quit

Server:
Netcode optimisations to reduce traffic, this helps previous lag experienced in high player count matches.
(A lot of) CPU & memory load reductions. This helps with performance (and stability) of high player count matches.
App is now back to CLI
Now shows load % to give you an idea of performance.
Fixed issue where crash reporter was deadlocking
Improvements:
Added com_logfilename, can use to log console on client/server
Content browser now keeps selection on hide
You can now mouse-over a server in the server browser to get a player list of people in server
re_export export now correctly names images *.png (was previously writing *.tga despite them being pngs)
Renamed "Callvote: Match" -> "Change Map / Mode"
Dropped pickups now collide with PLAYER_CLIP
Added rulesets casual/competitive/experimental (sv_ruleset, sv_startruleset, callvote ruleset)
General bug fixes:
Adjusted range on FOV slider (was -200 -> 200 now 70 -> 170)
Fixed reflection probe issue where they occasionally broke across map change -- please rebuild your maps and upload to workshop!
Fixed issue where IC beam sustain sound wasn't correctly being positioned on 3rd person weapon
Fixed issue in ATDM where suicide damage was counting towards your points
Editor bug fixes:
Fixed bug where sky fields were listed twice
Fixed a bunch of lua errors thrown when bogus values added to edit boxes
Restored "Apply Selection" UI button in EntityVolumeSelect
Experimental ruleset:
An experimental ruleset has been added to allow for rapid iteration & testing without impacting the core gameplay (i.e. tournaments).
When pre-jumping on angled ramp you'll now be effecting by ramp angle
Spawn system: increased spawn blocking angle check to 360 & distance to 1024
IC trace is now "fat" (it has volume, instead of being a point trace).
IC damage reduced to 5
Plasma cells now have volume
Slightly increased Melee range and radius.
Casual ruleset:
Added casual ruleset designed to just be loaded up and played. It's the default ruleset for Reflex.
Reduced 1v1 timelimit to 5 minutes and team game time limits to 15.
Competitive ruleset:
Added competitive ruleset designed for competition play
Item respawn times are not exposed to Lua
Timelimits are standard 10/20 mins.
Known issues:
Double kill bug still exists.
Double flag (!) flag is popping out when people don't die some times, seems releated to double kill bug.
Triple jumps are apparently are not working in experimental branch.
com_logfilename seems to not be writing everything correctly.

The fat trace is extremely unlikely to result in accuracy changes that dramatic, but its still feedback worth knowing. It's probably a number of factors -- fatter trace, less knockback makes it harder to notice how much damage you're taking, etc.

We had better results bringing the projectile speed way down, I just haven't made the change in experimental yet.
We didn't touch triple jumps. Some people are saying they're broken in experimental, some people are saying they're fine. I haven't looked at them personally yet.

Major features:
Vastly improved sky system
New official CTF map: Skytemples by PromEUs
Fixes/Improvements:
Increased sun intensity and updated bloom thresholds
Fixed crash bug caused by delaying registration of Lua widgets (was occurring with kovhud + dp2hud)
Fixed issue where local angles were sent during map change even though they were supposed to be zerod.
SMAA is now correctly performed in gamma space (meaning it actually does something now).
Added a bunch of new Ancient Japan themed meshes, all of which can be seen in the new Skytemples map.
Made pickup holograms slightly more saturated.
Notes for mappers
You will want to update your maps with new sky settings.
Any liquids in your maps will need their colors updated
Any glowing materials you used may need tweaking

Ammo system
Added ammo box pickups
Boxes generally give half the ammo of a weapon pickup
These can be placed by mappers the same as every other kind of pickup.
Changed behavior of dropped weapons
Players now recieve ammo for the dropped gun
Players also recieve 50% of the enemies ammo for all other weapon types
Changes + Improvements
Improved the performance of SMAA 1x (by about 90%)
Improved visuals and performance of HBAO+ (by about 5-10%)
Changed how pre-load hashes are calculated, which should fix some issues with some Workshop maps not correctly preloading.
Changed version of included MSVCP120.dll
Updated the look of the weapon list to make ammo count more obvious.
Updated maps
Fool's Choice
Use and Abuse
Fusion
Ashur
Monolith
Ruin
Static Discharge
The Catalyst
Server stuff
Removed sv_steamport
Steam queries now use the same port as the game (sv_gameport).
This should fix issues (that were totally not our fault for once) with connecting via steam:// links

Hopefully, I'll get a chance to write up a more detailed overview of the UI scripting but right now we're in "new update frenzy" mode, collecting bugs and squashing them etc.
LuaFunctions.txt in the game folder contains a list of the built in Lua functions for things like getting/setting console values, doing input, drawing pretty boxes etc.
LuaVariables.txt in the game folder contains a list of variables that are currently passed to the UI system such as maps, game modes, player information, etc.
Lua scripts are stored in baseinternalui
HUD scripts are in the "widgets" folder.
Menu scripts are in the "menus" folder.
SVGs are stored in the "icons" folder.
If you're creating new scripts, try not to stomp on any official stuff (unless its something you're hoping for us to include in an official update). You should give your custom widgets names that are unlikely to conflict with other peoples work, like "newborn_fancyHealth". You can actually put these scripts in any path so if you're making a full hud, you might want to create a folder such as baseinternaluiyourname and put everything in there.
Scripts are all updated live so there's no need to restart Reflex to see the changes. Just save your .lua and you'll see the changes immediately in-game. There is one catch to this -- if you create a new file, you'll need to restart Reflex before the game is able to see it.
There are some key console commands you'll want to know. These are also stored in game.cfg:
ui_hide_widget WidgetName will hide a widget.
ui_set_widget_scale WidgetName <number> will scale a widget.
ui_set_widget_anchor WidgetName <x> <y> will set the widgets anchor. For x, -1 is left, 0 is middle, 1 is right. For y, -1 is top, 0 is middle, 1 is bottom.
ui_set_widget_offset WidgetName <x> <y> will set the widgets offset relative to the anchor.
All X and Y coordinates in scripts are relative to their anchors.
Where possible, design your widgets to use the offset and anchor console commands, instead of hardcoding positions into the lua script. For example, if you want a widget to be 100 from the bottom, don't just anchor it to the bottom and use -100 as the position in the script (use 0 as the position in the script and set the offset cvar to -100). This makes it a lot easier for users to reposition things themselves without delving into intimidating and frequently stomped scripts.
The ui_show_axis console command will show the anchor points and offsets for all widgets on the screen. The center of the red cross will be position 0,0 in your lua scripts.
Fonts are loaded from base/internal/fonts and can be referred to by filename -- for example, nvgFontFace("comic-sans"). Before distributing fonts with your HUD, keep in mind that most font licenses prohibit redistributing the .TTF source. If you search for fonts licensed under the SIL Open Font License (OFL), this license allows redistribution.
The WidgetName:draw function is called every frame. Ideally, do as little work in this as possible -- the sooner you can early out the better. You definitely can kill FPS with complex scripts called every frame.

Bugs
Fixed issue where IC sound would get stuck on after firing
Race times now sort correctly in scoreboard
Fixed bogus second copy of stats.flagCaptured being sent over the network
Made cl_weapon_bob work again
Replaced broken delta score in race mode with -
Fixed issue with old replays not working due to a change in the .pak format
Left handed weapons work again
Enemy players stats are now correctly hidden during matches
Fixed connecting to a friends game through Steam (again).
Improvements
Connecting to a passworded server is once again "connect ip:port password" since it's better and changing it didn't fix the Steam stuff anyway.
Players can now use % sign in chat
Updated "Ruin" and "Static Discharge" maps
Scoreboard now says "EFF" (for effectiveness) instead of accuracy.
Queued players are now colored by the team they're queued for.
Adjusted some of the first person weapon springs to make them less bouncy.
Fixed the blue flag base emitting red particles by removing the particles entirely.
First person weapon movement should now be properly framerate independent.
Added cl_weapon_kickback and cl_weapon_rotation for people who only want to turn off certain parts of the first person weapon movement -- cvar all the things!
Players in queue are now sorted by their queue position on scoreboard.
Spectators/editors/referees now have their country flags visible (and are sorted by name).
Added scrollbar to player list in scoreboard
Added skull and crossbones icon (for dead players)
You can now click editor and spectator names in the scoreboard (to add them to friends, etc).
Players now have Flag Carrier / Powerup Carrier / Mega / Dead icons on scoreboard
Added comments to dedicatedserver_default.cfg
Server
Added MSVCP120.dll to the dedicated server files (so you should no longer need to install it yourself).

Tech
Fixed multiple reflection probes for shader quality 0
Added simplistic network compression & encryption, seeing a reduction of around 33% traffic (server->client only)
Changed default sv_steam_port from 25797 to 25788
Reduced jittering of all entities client-side
Reduced jittering when colliding with other players
Added comment support to config (.cfg) files
Connect coomand is now just <ip:port>
Use "password <blah>" in the console to supply a server password
This format is required for steam:// links
We now load player steam friends list, and their avatars
Allowed friend info for players you meet in a server (to get their avatar + steam info)
Dedicated servers
IMPORTANT: Our dedicated servers now require the Microsoft Visual C++ 2013 Redistributable (x86) to be installed.
Steam is supposed to install it automatically but that doesn't seem to work with SteamCMD.
We expect we'll end up including this in future releases but for now we don't.
Weapons
All weapons again obey weapon offsets
Updated IC: revised mesh, updated beam and impact effects, additional animation and glow effects when firing, new sounds based on states
Fixed ioncannon beam clipping through ground visually in some instances in first person
Added player hands in first person
New first person weapon animation system
Shotgun, boltrifle, plasmarifle casings eject from their correct positions again
New first person melee animations
Art
Optimisation pass on egyptian meshes
Optimisation pass on japan meshes
Effects
Blood decals are now larger and moister with smoother normals (helps look a bit thicker)
Gib decals have more velocity spread (more likely to go on walls)
CTF carried flag wisp toned down (might need another pass still)
Blood on melee weapons now correctly matches blood in the world.
Robot blood is now some kind of blueish coolant or something
Stats
Added in-game stats for weapons, powerups & generic player info (calculated server side)
We also now track top 5 race times (and distance / topspeed / avgspeed), and store these for each player too
Stats are all pushed to lua
Stats are currently only available during matches -- no fancy web API.
Scoreboard
Implemented new scoreboard to showcase stats
Scoreboard is different per gamemode
Scoreboard is interactive
By default hold +showscores and rightclick to enable cursor.
You can click on another player to view more info about them, including adding them to friends / viewing their profile
You can re-bind the scoreboard cursor release in the options menu. Either with the "showscorescursor" command for a specific key, or "showscorescursorhook" which allows you to hook it in to an existing key "Jump" / "Attack".
You can now see player steam avatars on scoreboard
Tou can now see friend status / add player to friends list on scoreboard
Added flag for each player to the scoreboard, this is toggled with cl_country (cl_country default is pulled from steam)
Gameplay
Implemented /roll command (WoW style). To use, type "roll 20" in console
Improved the feel of projectiles by pushing the projectile spawn position from 8 to 28 (and fixed all the bugs that usually would have caused).
Editor
Added ReflectionProbe entity. The old effect based reflection probes still work but are deprecated.
Added me_showclip
Added "Show Clip" to MapEditor.lua titlebar, which controls me_showclip
Bugfixes
Players will no longer get stuck inside each other
Instead, they will have their collision disabled until it can be resolved.
Internally, this is now known as "Patrick Swayzeing"
Fixed bug where overlapping guns could prevent pickups. i.e. if player full on burst ammo, and burst gun overlapped RL, RL was blocked.
Steam defaults are now applied after config load (this was probably causing steam defaults to be stomped :|) note - they are only applied if cvar is at default value!
Clicking on ReflectionProbe no longer breaks it
Fixed issue where prefab names with a space in them weren't properly being parsed in on map load.
Fixed issue where end of game sound would sometimes play on connection
Right click friend->join game should now work
Known Issues
Players are Patrick Swayzeing more often than expected.
Again, our Dedicated Server currently requires Microsoft Visual C++ 2013 Redistributable (x86) to be installed
Race times in scoreboard are not sorted properly
Race times do not reset properly
And finally...
Reflex 0.40.0 marks the first release using a new set of internal development tools. While developing, we often find ourselves going back to the Steam build to play random peasants and are immediately stuck by how much it sucks compared to the development version we've been using. With these new systems in place, we should be able to release smaller updates more often, instead of holding on to good features for 3 weeks waiting for other features to become shippable. We're not entirely sure what our release schedule will be like yet, but the take away for players is that you can expect to see features within a couple of days of them being ready.

So as wh1te mentioned, we talked about this a few months ago. Some of it was already on our todo list, some of it is on our todo list now and some of it unfortunately won't be a good use of dev time for a while. I'd like to get the per-map leaderboards going soon (kind of possible in the dev build) so there may be some minor race cleanups with that.

Changes
Fixed crash bug which occurred when trying to spawn on a map with no spawn points. (was introduced in .39.0 with new spawn system) - ty Draqu!
Added some additional checks when failing to load the pak files (one person had a crash on load due to an edge case)
Enemy stats are no longer hidden from Lua in Race modes.

Improvements
Added r_fog + added fog option to UI
Mappers should not use the fog as anything more than a distant haze now (because otherwise this is functionally a cheat cvar).
Mappers should still set your fog to reasonable levels, regardless of your personal preferences. Salty people can disable it without you forcing no-fog on the people who find it genuinely better for perceiving depth.
This is why we can't have nice things.
Adjusted default fog constants
Splash damage no-longer goes through weapon clip
sv_startmap now defaults to Fusion (instead of bdm3)
Improved popup next to "Steam Integration" in menu
Fixes
Fixed Search in MatchPicher.lua not display correct results.
Fixed dedicatedserver_default.cfg to actually start a map (it defaulted to a broken rotation)
Fixed crash occurring on server
Fixed issue where crash would occur on launch with r_hbao 1 on DX10.0 card
Fixed issue where sv_startwmap wasn't working on servers (as server would try do download map before steam connection was finished)
Fixed issue where MatchPicker.lua cancel button was incorrectly disabled

This change is entirely about the newly added weapon clip brushes and still follows the same "splash through thin walls" as everything else. Literally the only thing in the entire game currently impacted by this is the blue gridded force field on Static Discharge.

Workshop:
You can now grab maps directly from the workshop when starting a server or callvoting a new map via the in-game menu.
Added new console commands: "wmap <id>" and "wmatch <id> <mode>" for voting workshop maps
Maps can now be published to Workshop directly from our map editor via the "Publish" button in the top toolbar.
You can also rate, favourite and subscribe to maps during the end game screen.
Gameplay:
Spawn system overhaul
Fixed broken biasing giving wrong spawns
You can no-longer spawn at same spawn as last time (10 second timeout)
Added line-of-sight check
LOS checks can favor/block potential spawns depending if person viewing it is friend/foe. In team games it's modified by number of people viewing spawn. i.e. 2/4 team mates looking at a spawn, will increase the change you can spawn there by 50% of the existing chance. Existing chance is based off normal distance biasing.
Added fall-back in team/FFA games where all spawns are not available. It will allow any spawns except ones assigned to other team (ctf) or if a team mate is standing on it.
Added initialSpawn property to player spawns -- these will be used for the first spawns of the game (provided there are enough available).
Burstgun now fires 6 shots, at staggered offsets, and do 7 damage per pellet
Editor:
Removed modes a1v1, atdm, affa from worldspawn -- these are now just attached to 1v1, tdm, ffa, respectively
Added weaponclip magic material -- blocks shots but not players.
Game won't end due to few players if there's a player in editor mode. (i.e. you can solo edit race maps while game is in progress now)
Added EntityWorkshopScreenshot -- saves out high quality screenshots on publish so you can quickly update additional screenshots via the Workshop website
Improvements:
Screenshot/screenshotWithDepth now save to PNG format
Added support to auto-convert old netcode revisions to live version AKA "we can load old replays (from now on)"
Improved connection/mapchange handshake-- maps can now be pre-loaded if client can source the same map. (from either disk or workshop)
Improved load screen, no-longer triggered just on gamestate download. also displays client/server workshop download percentage.
Added hands in 1st person (only partially visible on burst gun so far, WIP)
Scoreboard will now list people queue'd for teams under the correct team. spectators / editors are still always on the left under team ALPHA.
Added ready up text
Implemented fog system
Added end of game camera wobble & sound
Added game finished flag to replay file. (only flagged if gamestate is gameOver on save)
Replay recording are now correctly saved & stopped on map / mode change.
You can now see yourself in the end-game screen.
Replays created from workshop maps are now prefixed with TITLE instead of mapname (5939432432)
Removed r_ssao & our SSAO implementation (we still have r_hbao)
Renamed "SSAO" in options menu "HBAO+"
Bugs:
Fixed replay editor toggle bind in UI (wasn't hooked up properly)
Fixed incorrect material assignment - brick_gothic_wall_cnr
Fixed AmmoCount.lua from stomping lua weapon colour (so it appeared white)
"com_maxfps" limited to [10->inf) or 0. quick fix this prevents issues caused when playing < 4fps
Fixed subframe bug where mousewheel events would be triggered when console was visible
Fixed issue where clicking JOIN ZETA button wouldn't work (as it was performing two cvars on same frame, and correct data wasn't being sent to server)
Fixed issue where cl_playercolor* would stomp some player state flags when it shouldn't. (such as changing team index to 0)
Replay file names are now purged before saving to disk (previously bogus character names in players were preventing files from being created)
Fixed script bug where "FRAGGED" would be displayed when you're queue'd to play.
Binds are no-longer passed to game now when in the menu. (this fixed weapon being changeable in menu + also editor working in menu)
Disabled crosshair in end of game screen
Fixed spawn biasing to actually work properly (see more info in the "Gameplay" section)
Callvote dialog no-longer hides & re-appears when die.
Start server button (in menu) now performs "disconnect" first, ensuring it's a true server restart, and not just a map change.
Optimisations:
Removed some redundant/old textures to free up some VRAM
Updated hostile (has new normals, improved lods)
Updated ivy textures: simplified albedo look a bit and halved res (1.7mb on disk to 440kb on disk)
Updated pipes to have smooth normals
Maps:
Updated PRDM3/Ruin -- bolt platform lowered, new blue tele by the mh/yellow armor
Maps shipped with Reflex have now been renamed to their proper titles (such as Ruin.map) instead of arbitrary gibberish
Transitioned a heap of previously included maps to workshop
Servers:
Renamed sv_public to sv_steam to avoid near-constant confusion
Implemented sv_allowmodes -- server will prevent changes to anything NOT in that list. If list is empty, all modes are allowed.
Arts:
New Burstgun mesh (still a work in progress)
Industrial mesh set optimisation pass
Optimised effects: environment steam
Optimised effects: lots weapon trails and impacts
Optimised effects: pickup smoke
Ivy leafs now all support albedo overrides
Ivy performance increase
Lua:
Added Lua variables: serverConnectedToSteam, player.inventoryMelee, world.mapWorkshopId, timeLimit, timeLimitRound
Added Lua function: meGetPrefabList()
Exposed camera position to lua
Fixed bug where data saved by widget:saveUserData() wasn't saving correctly if called in widget:finalize()
Fixed issue where widget cvars were not saving correctly to .cfg
Exposed vote information to lua
Callvote popup implemented in lua -- we get pretty pictures now :)
Fixed bug in WeaponRack.lua where it was stomping weapon colour to white
Fixed issue where right & middle mouse were flipped for lua mouse regions.
Misc:
Removed laughably out of date readme.htm
Added match <mapname> <mode> command to save doing two seperate votes
Implemented screenshotClean - generates high quality constant FOV screenshot. Can specify custom resolution here (and take 8k screenshots etc :))