

Calico; anti-lag improvements & client optimizations for WEBFISHING.
Calico aims to improve the performance of WEBFISHING in multiplayer scenarios. This is achieved by introducing threading to networking code, as well as numerous other optimizations.
Teemaw.Calico folder ends up in WEBFISHING\GDWeave\mods\WEBFISHING\GDWeave\configs\Teemaw.Calico.jsonThe Teemaw.Calico.json configuration file has the following schema and default values:
{
"DynamicZonesEnabled": false,
"MeshGpuInstancingEnabled": true,
"MultiThreadNetworkingEnabled": true,
"PlayerOptimizationsEnabled": true,
"ReducePhysicsUpdatesEnabled": true,
"SmoothCameraEnabled": true
}
DynamicZonesEnabled (Experimental)Normally, the game will load and hold all zones (shop, aquarium, islands, etc.) in the scene tree regardless of where your character currently is. This will dynamically attach and detach zones from the scene tree as you move between them.
Files modified:
res://Scenes/Map/main_map.gdcres://Scenes/Map/Tools/transition_zone.gdcMeshGpuInstancingEnabledThis reduces the number of GPU draw calls by combining draw calls from multiple copies of the same mesh into the same call. Game objects which currently benefit from this include trees, bushes, mushrooms, water, etc.
File modified:
res://Scenes/Map/main_map.gdcMultiThreadNetworkingEnabledThis enables dedicated send and receive threads for sending and reading network packets. Packet compression and decompression are also offloaded from the main thread to these threads.
File modified:
res://Scenes/Singletons/SteamNetwork.gdcPlayerOptimizationsEnabledThis enables patching of player scripts to optimize cosmetic loading, animation updates, guitar processing, etc.
Files modified:
res://Scenes/Entities/Player/guitar_string_sound.gdcres://Scenes/Entities/Player/held_item.gdcres://Scenes/Entities/Player/player.gdcReducePhysicsUpdatesEnabled[!IMPORTANT]
It's highly recommended to setSmoothCameraEnabledtotrueif this option is enabled. The game camera's movement is normally tied to the physics update rate. If you enable reduced physics updates without smooth camera, it may feel like the game is running slower during camera panning or player movement.SmoothCameraEnabledwill decouple camera updates from physics updates.
This reduces the physics update rate to free up CPU cycles for other tasks. This will patch a few processes that are tied to the normal physics update rate such that they feel the same with a reduced update rate.
There are many game processes which are tied to the physics update rate. If you see animations being slow or weird, this is probably why. Like any issue you may have with the mod, please feel free to create an issue or PR.
Files modified:
res://Scenes/Entities/Player/Face/player_face.gdcres://Scenes/Entities/Player/player.gdcres://Scenes/HUD/playerhud.gdcres://Scenes/Minigames/Fishing3/fishing3.gdcres://Scenes/Singletons/globals.gdcSmoothCameraEnabledThis option decouples camera position updates from the physics cycle. This will help make the game feel more responsive
if your framerate is faster than the physics update rate. Normally, the game runs physics at 60fps. Without this option
enabled, it may feel like your game is locked to 60fps during camera panning or player movement. This is much more
noticeable with the reduced physics update rate of ReducePhysicsUpdatesEnabled, so is highly recommended to be enabled
along with ReducePhysicsUpdatesEnabled.
Files modified:
res://Scenes/Entities/Player/player.gdcres://Scenes/Entities/Player/player_headhud.gdcres://Scenes/Entities/Player/tail_root.gdc