branchrust_reboot/main/d11_console_versioncancel
4,583 Commits over 731 Days - 0.26cph!
[D11] [UI] Updated new selection animation to be slightly faster. Adjusted radial menu textures slightly to increase visibility of certain elements.
[D11][#13][UI] Ingame carousel will correctly close when the player dies or is disconnected
[D11] [UI] Updated Radial Menu Textures with different method for blending between radial and segment glows (WIP). Replaced code-based animations with Unity Animation assets in new Radial menu, set up new animations for menu. Adjusted centre text to be more readable and take up more empty space. Centre icon now matches it colour to the status of the action you have selected to more accurately reflect its usable state.
[D11][#8] Generic loot containers are openable again
Add a copy of the rust Rust native dll source code for the d11 console branch, and premake files to build it. I've used d11's modified version of premake4 which has been modified to support ps4 and xbox one.
Add a copy of the racknet native code. This is Facepunch's wrapper layer in "Networking.cpp/s", merged with the latest full source of raknet, and premake files. I've duplicated dll's premake4.exe but will tidy this up when the structure settles down. Racknet DLL for windows and ps4 (prx) can be built, I haven't tried xbox one yet.
WIP ps4 shader fixes. It is not possible to test any of these changes yet, it is just needed to get everyone able to build and run the console versions. It is also not designed to be merged back into the main branch, I will need to test that these changes are ok on the original platforms and if not, make them conditional.
Initial JIT fixes, this is enough to get into the main menu, there will likely be lots more. Unity docs suggest this kind of code doesn't actually need to be called but my experiences have been otherwise, need to look into and potentially raise a question about it.
Missed another shader fix for ps4
Editor script changes for building asset bundles and doing the actual build for consoles
Enable json.net for PS4 build
Prebuilt native dlls for ps4, these are built from the respective directories in Plugins folder at the top of the tree, using premake to generate the solutions and then build them and copy them here.
Switch to IL2CPP by default for PS4 until we can address the .NET 4 requirements which prevent a console mono build.
Consoles load bundles from Application.streamingAssetsPath.
rebuild ps4 native DLLs with __declspec (dllexport)
[D11] Added EAC_DISABLED for console builds to disable via build defines
[D11] More changes to help get console working
[D11] Added ability to disable steam via build defines
[D11] More changes to get console versions working - wip
[D11] More console changes, allows for package builds (with manual intervention for now), and loading into a level from FE.
Initial Xbox One fixes, native dlls
Part 1 of changes to boot ps4 into a fixed server game. This commit removes server side checks that are specific to Steam.
Part 2 of changes to boot ps4 into a fixed server game. This commit removes client side checks that are specific to Steam, and makes a hard coded local server appear in the server list (click "FIND GAME" button, select "Local Network" server list, then click the refresh button and "localserver" should show up, connect to this like normal)
additional change for detecting the local player without steam present. This means currently we can only connect one player to our local server, but we will replace the user id generation with our own system and remove this as things progress.
rebuild raknet DLL for x64 against the same source code that we got for console support. This mismatch was stopping the ps4 version connecting to the server.
More console fixes: disable filesystem warmups for now as it's taking excessively long to load into levels, will come back to this later. Use Application.persistentDataPath to write procedural map data to, cannot just write to the root directory on console.
Temporarily disabled timeouts in Raknet as the levels are taking a very long time to load. Use Application.temporaryCachePath instead of Application.persistentDataPath as the latter is crashing for some reason, will investigate later.
Some more temporary measures to get into a network game on ps4 - disable encryption on both client and server, avoid procedural levels which are taking too long and running out of memory. Also remove a bit of spam logging I left in raknet by accident.
[D11] Initial support for console controller - wip
[D11] Allow controller to respawn on death
[D11] Cleaner disconnect for client on console
[D11] enable performance UI for console
[D11] disable steam analytics for console
[D11] Added flag D11_NO_ASSET_PRELOAD to prevent preloading of assets
[D11] Added localServerIP to inspector for convenience
[D11] new controller layout
[D11] Additions and fixes for controller
Update from main branch, to
27668.
fix minor breakage of original code with D11_CONSOLE_PORT shenanigans
[D11] More controller support for console - wip
[D11] Merged with main branch for Unity 2018.2.0f2
[D11] Rollback
27719 due to crash on client console
[D11] Properly guard client side code for console
WIP attempt to move to Unity's NetworkTransport LLAPI instead of Raknet. This will save us from having to update Raknet for console support (Xbox One support is out of date, Switch support is non existent). There are some differences between the libraries so this is experimental at the moment. Need to finish of QOS bindings, and a lot of it has ended up identical to the Raknet assembly so further refactoring might be worthwhile.
[d11] some tidying of previous commit, experimenting with Unity NetworkLater. Can be enabled one line 184 of Bootstrap.cs