This release features major updates to Toribash scripting, brings lots of usability improvements and more!
[center][/center]
What's new:
New room list menu
The updated room list is better in every way, both having nicer looks and providing easy access to more information about rooms! [expand type=details][/expand] It also has a much better "Create Room" menu that you can actually use now, isn't that amazing? [expand type=details][/expand] In addition to that, room list now shows several featured rooms with active players on top, more visibly separates official rooms from player-made ones, shows if the room is password protected so you don't have to guess and has more (and better working!) filters.
Lua replay hacking improvements & updated replay format
This one is for replaymakers - remember how you had to go around those weird bugs with Lua replay hacking working but also not always and then replays getting all glitchy and messed up and not nice at all? This is no more! (unless you actually want to make your replay glitchy then sure you're welcome)
Along with a number of newly added Lua functions, with the help of Kris and Tom we've made replay hacking more straight forward with all your changes being properly stored in replay files, changes not getting randomly carried over to new fights and so on.
[expand type=details] [/expand] If you're interested in writing Lua scripts for replay hacking, make sure you check the list of changes below!
Toribash Lua scripting updates
Majority of Toribash scripting classes now have annotations with EmmyLua which should vastly improve your coding experience if you're using a compatible editor. [expand type=details][/expand] All built-in Toribash functions are now properly documented and listed in system/system_defines.lua meta script which means you no longer need to wonder whether a function to do something exists or not - you can always look it up there and make use of autocompletion in your IDE when using it in your code!
More menus have received a facelift with 5.60, getting rounded corners and uniform design. You'll notice the changes in moveable windows like Gamerules or MoveMemory, Replays menu and so on. [expand type=details][/expand]
Other changes
Below goes a list of other new features, tweaks and bug fixes included in Toribash 5.60
News menu will now show notifications for unread news and events
Windows version now saves screenshots as PNG instead of BMP for easier sharing
Vastly improved 3D item loading performance
Blood particles will now collide with static environments
Collisions with static environment (e.g. walking on mod objects) will no longer generate blood particles by default
Replay and replay folders now support non-latin characters in their names
Added ability to invert camera axes in game settings
Added lower quality fluid blood option in graphics settings
Improved flame rendering performance
Improved UI rendering performance
Fixed bug with blood reflections not showing up
Fixed bug with DQ ring always being rendered at 100% opacity
Fixed bug with report post submission screen getting broken in some scenarios
Fixed bug with Toribash Discord server link in report post submission screen being broken
Fixed bug with camera getting stuck when looking up in freecam mode
Fixed bug with replay speed getting stuck at 0 in some scenarious
Fixed bug with special Toribash characters (!^%) not getting escaped in Login and Register screens
Fixed bug with item effects not being rendered in UI viewports
Fixed bug with Kiai sounds not playing on match start
Fixed bug with mod triggers not working on instagib bodyparts and when grabbing env objects
Fixed bug with menu resolution not updating after changing gui scale or game resolution
Toribash Lua scripting updates
In addition to replay hacking changes touched upon earlier, 5.60 introduces some other updates to Lua scripting:
Raycasting Say you want to create a clickable object in 3D world. What you'd probably do earlier is get the 2D position of object's coordinates and then do some manual calculations and guesswork on whether your click position is still within object bounds on screen - which is not always easy on rotated cubes or capsules. What you can do with Lua raycasting is create a raycastable body and then shoot rays to it to test it instead! This is essentially the same functionality as what Toribash uses for detecting joint clicks, now available through scripting.
System classes updates Aside from getting EmmyLua annotations, majority of system classes have been majorly reworked, both to increase performance and match more modern scripts' code style. While this means there are now new features to use in your scripts, some of old methods have been marked deprecated (and will be phased out in future Toribash releases) or had already been removed from public access.
One of the examples that we had come across during beta testing is that some third party scripts use TBMenu:displayTextField() method with manual setup instead of using the generic TBMenu:spawnTextField() method, which will throw an error in 5.60 as the former function has been moved to TBMenu internal helper class and is no longer exposed publicly. These issues, however, can be fixed pretty quickly in most cases, and migrating to the generic UI element spawner methods guarantees your scripts will be able to use any new features related to those elements in future automatically.
New Lua functions added with 5.60 [expand type=details]
set_obj_linear_vel()
set_obj_angular_vel()
get_joint_state_name()
get_color_rgba()
get_clipboard_text()
generate_texture_gradient()
create_raycast_body()
set_raycast_body_pos()
set_raycast_body_sides()
set_raycast_body_rot()
set_raycast_body_rot_m()
destroy_raycast_body()
shoot_ray()
shoot_camera_ray()
add_chat_history()
generate_font()
players_accept_input()
get_body_bruise()
get_joint_bruise()
refresh_roomlist()
get_roomlist_num_rooms()
get_roomlist_room_info()
get_obj_color()
get_obj_shape()
toggle_game_pause()
is_game_paused()
get_shader_option()
set_shader_option()[/expand]
No longer available Lua functions [expand type=details]
Welcome to Chapter 9 of the Protector Saga There is a darkness coming, and only we can stop it...
I am The Protector and I come from the distant dystopian sky city of New Cybron. I've been stranded down here in your lands but my work is far from finished. We're investigating a string of murders connected with the 9 Blades gang.
After defeating Sontra in his magic realm you are now ready to face The Sorcerer, an ancient deity the 9 blades have worshipped this whole time. The Darkness must be stopped
Click V or grab to use your rocket hands! Shoot the sorcerer in the yellow part of the chest with the rocket hand to take The Sorcerer down, once and for all!
HEAD IN GAME AND PLAY THE PROTECTOR CHAPTER XI: BOSS BATTLE PT. 2!!
The Battlepass is back for the month of May, lasting until June 5th, you can now participate and get unique rewards!
With a new colour called Rotten, the embodiment of the theme for this month, as well as various new unique items that will make levelling up worth the time!
What's new:
More ways to get XP, from new quests to double XP weekends! Keep an eye out for them, we'll be announcing them in #news.
New quest mods for the community to explore. Expect even more options next month!
Rotating mods! Public lobbies will have their share of fun. Pendulum Jumper is back, get your head into the groove!
Better xp scaling, playing longer games (spar/parkour/MAS) will now be a more viable way to gain levels
Two weeks left until the end of this months Battlepass!
This is the perfect moment to get your levels up by playing multiplayer with others!
What are you waiting for?! There's loads of free and premium rewards just waiting for you to unlock! To help with that we offer a limited time multiplier for all games played multiplayer!
Here's a reminder of what we got in store for this month: XP is doubled for all multiplayer games.
The Battlepass is back for the month of April, lasting until May 8th, you can now participate and get unique rewards!
With a well-awaited return of Fossil, a rare colour that embodies the theme of this Battlepass, as well as new unique items waiting for you to unlock by levelling up!
What's new:
New quests with lower completion threshold. (ex. "win 10 games" to "win 5 games)
New quest mods for the community to explore. (new mods for quests to complete, like joustingfixed or judofrac)
Rotating mods! Public lobbies will have their share of fun. (every month will have new mods, more mods like gthotdog or lolnade!)
Better xp scaling, playing longer games (spar/parkour/MAS) will now be a more viable way to gain levels.