What's new in Just Cause 2 Multiplayer 0.2.3
Oct 31, 2016
- Bug Fixes:
- Client:
- Hopefully fixed the crashes that have plagued AMD users for many months. We have reported a solution and details surrounding the bug to AMD.
- Fixed a bug on AMD cards where SSAO would cause rendering artifacts. It has now been re-enabled in the options window.
- Fixed a bug where vehicle mounted guns rotation could become mirrored.
- Fixed one of the most frequently encountered crashes relating to decals. It should now be safe to enable decals again!
- Removed unsynced sentry turrets and cannons from the game.
- Fixed a bug where a player would become stuck on a bike if they attempted to steal it while the driver was reversing.
- Fixed a bug where vehicles could become invulnerable if repaired while about to explode.
- Fixed a bug where certain bushes could crash the game when collided with as they lacked a collision mesh.
- Fixed a bug where RakNet was unintentionally creating a listen socket on port 80.
- New Features:
- Shared:
- Changed Firestarter achievement to require 1,000 kills instead of 3,000.
- Changed Only Human achievement to spread virally. If you kill a player who has the achievement, you will also be granted it.
- Client:
- Added EntityBulletHit event that triggers when the local player hits a Player or NPC with a bullet.
- LocalPlayerExitVehicle now fires when the player's vehicle is removed while they were in it.
- Added GetOutlineEnabled, SetOutlineEnabled, and SetOutlineColor to Characters and StaticObjects.
New in Just Cause 2 Multiplayer 0.2.2 (Feb 15, 2016)
- Bug Fixes:
- Shared:
- Fixed Stuntshooter achievement incorrectly increasing stats for all vehicles, rather than just airplanes
- Client:
- Fixed a bug introduced by ShapeTrigger entities where Checkpoints fired for remote players
- Vehicles are now unloaded when the player teleports to a location outside their range
- Fixed client crash from passing an empty string to chat methods like Chat:Print
- Fixed an issue with the renderer
- GWEN now blocks main menu inputs where appropriate
- New Features:
- Shared:
- Added SharedObject equality operator
- Added SteamId.IsValid(string)
- Client:
- Added Config:GetValue(string category, string value)
New in Just Cause 2 Multiplayer 0.2 (Nov 9, 2015)
- New Features:
- Shared:
- Added support for all of the previously unsupported civilian models
- Added Steam achievements
- Added SharedObject class
- Added NetworkObject class
- Added WorldNetworkObject class
- Added basic UTF-8 support to Lua strings
- Added SetUnicode(boolean) global function
- Added storage to all entities, not just Players
- Deprecated PlayerValueChange and PlayerNetworkValueChange events
- Refactored Chat class functions to support multiple colours in a single message
- Added Vehicle.GetClassByModelId
- Added Vehicle:GetClass
- Added VehicleClass enum
- Improved Lua errors with event argument printout
- Added delta argument to PreTick/PostTick and Render/PostRender
- Added Angle.Delta
- Added Vector2.Reflect and Vector3.Reflect
- Added ComponentMultiply method to Vector2 and Vector3
- Added Weapon equality operator
- Server:
- Added module metadata
- Added Player:Damage
- Added Vehicle:SetStreamPosition and Vehicle:SetStreamAngle
- Added Vehicle:Get/SetSpawnPosition and Vehicle:Get/SetSpawnAngle
- Can now disable collisions between two different types with Player/Server functions EnableCollision/DisableCollision
- Added ClientModulesLoad event
- Added Player:RequestGroupMembership(groupId, callback)
- Added StreamableObject:GetStreamedPlayers
- Added SLED debugger support
- Added suppressible PlayerAchievementUnlock event
- Added Server:GetFrameTime
- Added SendAutorunWhenEmpty config variable, default as false, to control whether autorun scripts are sent for empty modules
- Added netstat command
- Client:
- Added ClientActor class which provides a basic client-side NPC interface
- Added GameRender event for depth-tested rendering in the game world
- Main menu overhaul
- Added support for streaming image resources with AssetLocation.Resource
- Added support for Unicode characters in CharPress
- Vastly improved the chat window with word wrap and chat history
- Added LocalPlayer:SetLinearVelocity
- Added Character class, common to Player and ClientActor
- Added Character:Get/SetLeftArmState
- Added Character:GetSeat
- Added Vehicle:Set(Linear/Angular)Velocity
- Added VehicleTransmission, with methods Get/SetGear, Get/SetClutchDelayTime and more
- Added VehicleSuspension, with methods Get/SetChassisDirection, Get/SetStrength and more
- Added VehicleAerodynamics for land vehicles, with methods Get/SetAirDensity, Get/SetDragCoefficient and more
- Added Vehicle:GetTransmission, Vehicle:GetSuspension and Vehicle:GetAerodynamics
- Added Vehicle:GetTorque, Vehicle:GetWheelCount, Vehicle:GetRPM, Vehicle:GetMaxRPM and Vehicle:GetTopSpeed
- Added GetClimateZone method to streamed and client entities
- Added ClimateZone enum
- Added ShapeTrigger with events ShapeTriggerEnter and ShapeTriggerExit
- Added TriggerType enum
- Added VehicleTriggerType enum
- Added Player:GetAvatar
- Added AvatarSize enum
- Added Featured tab to the server browser
- Added description field to the server browser
- Server browser filters are now consistent between restarts
- Added Camera functions SetFOV and GetFOV
- Added LocalPlayerEjectVehicle event
- Added 'entity' and 'impulse' arguments to VehicleCollide event
- Added LocalPlayer functions SetOxygen and GetOxygen
- Added LocalPlayer:IsFriend(steamid/player)
- Added Client:GetFrameTime
- Added Game:GetWeatherSeverity
- Added ClientStreamableObject as a base class to Vehicle/Player
- Added an optional boolean parameter to Physics:Raycast to disable the raycast filter
- LocalPlayerBulletHit event now contains a bone argument
- Added a setting to toggle vehicle camera snap and adjust timeout
- Added a setting to toggle vehicle stunt camera
- Added chat key and chat toggle key settings
- Removed apostrophe keybind opening console, added a setting to configure console keybind
- Added support for correctly rendering the tab character in text
- Added Render:GetDepthEnabled
- Added CursorType enum
- Added Mouse:SetCursor
- Added FontAwesome and League Gothic fonts to resources
- Added ability to navigate through TextBox history using Up and Down arrow keys
- Added Ctrl-Left/Ctrl-Right hotkeys to TextBox to facilitate moving the cursor word by word
- Added Label:SetLineSpacing
- Added TextBoxNumeric:Get/SetNegativeAllowed
- Added gui_show_netstat console command
- Added window position and size launch parameters
- Bug Fixes:
- Shared:
- General sync improvement
- Luabind now checks parent classes when looking up class members (class("MyDerived")(MyBase) in _init.lua works now)
- Scripts are now loaded in alphabetical order on all platforms
- Fixed script profiler not counting network events
- The marshaller now accepts table keys of any type
- Angles sent over the network no longer lose precision from compression
- Vector2/Vector3/Color statics can no longer be edited
- Comparing any API class with '==' should now work
- Fixed random number generator not being seeded at startup
- Improved Timer precision
- Server:
- Fixed issue with server memory not being freed on entity removal
- Cleaned up streamer code, hopefully reducing amount of server crashes
- Fixed issue with world iterators not working correctly
- Fixed a bug where scripts would still be run even if the server failed to start
- Fixed SteamId outputting the community id when printed on Windows
- Client:
- Fixed bones returning the wrong position for smaller models (Breaking change)
- Fixed very long-standing issue with on-foot weapons often not firing for other clients
- Vastly improved vehicle sync, also allows players to stand on vehicles as in singleplayer
- Hopefully fixed archive bug that caused models/effects to fail to load
- Fixed static objects not responding to the biome (snow / dust)
- Fixed an extremely prevalent crash during entity collision listener removal
- General renderer improvements
- Refactored Mounted Gun sync, resulting in better aim accuracy
- Reduced memory usage by preventing entire archives from being loaded at once
- Fixed issue where requested models could sometimes be wiped out by the loading screen process
- Fixed a bug where vehicle colors were darker than the requested colors
- Fixed issue with vehicle colors not being applied to some turret parts
- Fixed input sometimes going crazy when in a menu
- Fixed settings window not preserving game resolution upon resize
- Improved precision of Input:GetValue return value
- Fixed being stuck in the air when EnterVehicle is called while grappling
- Things drawn in 3D (and Render:WorldToScreen) no longer appear to be ahead by one frame
- Fixed character model not changing if gui hidden or in a menu
- Removed highlighted servers from the server browser
- Character models are now reset on disconnect
- Hopefully fixed issue with Rico model being invisible
- Fixed the sound pop issue on Windows 10, courtesy of emoose from ElDewrito
- Fixed PlayerEnterVehicle missing old_driver arg
- Fixed issue with default player state being PlayerState.None instead of PlayerState.OnFoot
- Some client entities now inherit from ClientStreamableObject to mirror the server classes
- Added parameters argument to ClientSound.Create
- Removed palaver, as its implementation burden outweighed the value it provided
- ImagePanel:SetImage now takes an Image instead of a path
- ReturnPressed event of a TextBox is now triggered on key down, instead of key up
- Disabled Tab behaviour of the Enter key in TextBox as it moves to next control in the entire scene
- Fixed HSVColorPicker issues
- Fixed SortedList header being offset when it has a scrollbar
- Fixed crash with SortedList:Clear
- Fixed issue with SortedList sizing
New in Just Cause 2 Multiplayer 0.2 Public Beta (Sep 16, 2015)
- New Features:
- Shared
- Added ComponentMultiply method to Vector2 and Vector3
- Client
- Added VehicleTransmission, with methods Get/SetGear, Get/SetClutchDelayTime and more
- Added VehicleSuspension, with methods Get/SetChassisDirection, Get/SetStrength and more
- Added VehicleAerodynamics for land vehicles, with methods Get/SetAirDensity, Get/SetDragCoefficient and more
- Added Vehicle:GetTransmission, Vehicle:GetSuspension and Vehicle:GetAerodynamics
- Added Vehicle:GetTorque, Vehicle:GetWheelCount, Vehicle:GetRPM, Vehicle:GetMaxRPM and Vehicle:GetTopSpeed
- Added chat key and chat toggle key settings
- Bug Fixes:
- Shared
- Fixed StuntPos and MG sync states incorrectly setting Character position resulting in crazy vehicle physics and desync
- Server
- Cleaned up streamer code, hopefully reducing amount of server crashes
- Client
- Fixed crash caused by accessing Character methods before it is loaded
- Hopefully fixed issue with Rico model being invisible
- PostRender now renders over everything, replicating previous behaviour
- Fixed the sound pop issue on Windows 10, courtesy of emoose from ElDewrito
- ReturnPressed event of a TextBox is now triggered on key down, instead of key up
- Disabled Tab behaviour of the Enter key in TextBox as it appears to move to the next control in the entire scene
- Removed palaver, as its implementation burden outweighed the value it provided
- Temporarily disabled SSAO as a hotfix for AMD graphics issues
New in Just Cause 2 Multiplayer 0.0.16 Build 546 Beta (Aug 31, 2013)
- New Features:
- Client:
- Base features:
- The JC2 splash screen is automatically skipped past, making JC2-MP startup autonomous
- Added in-game font scale setting with r_fontscale in the console
- Restyled JC2-MP's GUI, switched font to Roboto
- Implemented parachute sync
- Improved remote player rotation sync
- Lua:
- Added Player:GetBaseState and Player:GetUpperBodyState to find out a player's current animation
- Added Player:SetBaseState and Player:SetUpperBodyState to play animations on the local player
- Added Camera:SetPosition and Camera:SetAngle, allowing for complete camera control
- Added a CalcView event where camera position/angle can be changed; the player can also be hidden
- Added Render:ScreenToWorldDirection so scripts can get 3D world positions from 2D screen positions
- Added Physics:Raycast
- Added Physics:GetTerrainHeight
- Added Image.CreateFromAsset, so that images can be loaded from JC2's internal image library
- Added Image:Sample so that colours can be sampled from an image
- Added Model methods for texture support
- Added 2D support for Models so they can render in the 2D space
- Added ResolutionChange event
- Server:
- Base features:
- Changed time step incrementer to a floating point value, allowing for increments of less than a minute
- Lua:
- Added Network:SendNearby to send messages to all players near a target player
- Added Vehicle methods to set death/unoccupied respawn time
- Added Player:HasWeaponDLC and Player:HasVehicleDLC
- Shared:
- Lua:
- Added Vehicle:SetMass to the server, and Vehicle:GetMass to the server and client
- Added Player:GetLinearVelocity
- Added Player:EnterVehicle so that players can be placed into vehicles
- Bug Fixes:
- Client:
- Chat input no longer goes through to the game if message is sent too quickly
- Mouse cursor visibility is now preserved on console open, and restored on close
- Updated to the latest version of TextReindeer, adding newline support
- Client now terminates itself if it fails to initialize
- Fixed models failing to render in 3D space
- Server:
- Fixed server crashing due to unprotected multithreaded access to configuration
- Fixed server crashing when a vehicle was removed in selected Lua events
- Fixed bug on 64-bit builds where vehicles did not spawn correctly on the client
- Shared
- NaNs are no longer allowed in the arguments to JC2-MP functions, preventing crashes from invalid values
- Other:
- Client:
- Changed local chat script to use [Nearby] instead of [LOCAL]
- Added a player filter to the player list
New in Just Cause 2 Multiplayer 0.0.15 Beta (Jul 29, 2013)
- Bug Fixes:
- Client:
- Fixed rare crash bug with hooked DirectX creation
- Fixed GWEN not handling resolution resizing
- Fixed Image memory leaks
- Server:
- Fixed bug where a 64-bit pointer was truncated to 32-bit in Lua, causing server crashes
- Shared:
- Fixed Lua player:GetSteamId being invalidated post-disconnect
New in Just Cause 2 Multiplayer 0.0.12 Beta (Apr 23, 2013)
- New Features:
- Client:
- Base features:
- Added Steam authentication
- Added clientside console on ~
- Nick autocompletion in chat on pressing Tab
- Added properly-implemented time and weather sync
- Added loading screen
- Added gui_hide_logo and gui_hide_fps console commands
- Completely redesigned launcher, with support for launching from URL
- Scripts:
- Added spawn protection (no shooting or damage within 10m of spawns)
- Completely redesigned nametags to be much more space-friendly and performant
- Added in-game help dialog
- Lua:
- Added support for setting waypoint position in Lua
- Added CEGUI bindings for Lua
- Added Lua functions to get player bones, and bone positions
- Added Lua function to draw circles
- Server:
- Base features:
- Added SQLite3 database to server
- Added Lua-based configuration
- Server announces presence to server list
- Server can now be queried for data (players, etc)
- Added persistent ban support (based on SteamIDs)
- Added --maxplayers, --bindip and --bindport launch parameters
- Lua:
- Added support for Lua packages
- Added support for UDP socket communication to Lua
- Shared:
- Lua:
- Added support for getting players' SteamIDs in Lua
- Added cryptographic hash functions to Lua (MD5, SHA1, SHA256)
- Bug Fixes:
- Client:
- Fixed crash where mounted gun was non-existent on a vehicle
- Players can now be teleported while in an in-progress teleport
- Fixed inaccurate camera position and angle issue
- Fixed money not being reset on disconnection
- Fixed aerial vehicles not being teleported properly
- Fixed threading crash issues
- Fixed issue where loading screen could fail to display properly
- Fixed issue with timestep sync
- Chat now renders on top of all other GUI
- Fixed issue where loading screen wouldn't go away on death while disconnected
- Fixed vehicle spawn callback being called when invalid vehicle ID passed in
- Fixed inability to type ~ in chat
- Fixed CEGUI resource management being crash-prone
- Fixed CEGUI input blocking being sporadic
- Fixed launcher crash if website is down
- Server:
- Fixed crash where vehicle was non-existent
- Fixed crash where vehicle existed, but was not in vehicle pool
- Fixed crash on attempting to get value from a non-existent category in config
- Fixed crash on error in UDP receive handler
- Fixed authentication issue where clients were unable to connect
- Fixed authentication time sync issue where clients were unable to connect
- Other:
- Client:
- Significant speedup in render functions, increasing FPS
- Removed F3 to disconnect (use disconnect console command)