1,056 Commits over 183 Days - 0.24cph!
Added 2 new biomes to Tileset
Rewrote WorldManager to use bools for tiles and strings for chunks instead of having a biome string per tile. Required a lot of refactoring.
Remade the island layout using the new format
Update WorldUnlocker and WorldSave to properly set the starting biomes from island layout
Reworked Tile/Entity spawn chances to be more robust, updated all existing tiles/entities.
Don't let the player place earth on existing earth
Update SpriteTools
Rename all grass tiles for uniformity. Give each their own unique item instead of a single green grass
Update SpawnChances for existing mobs
Fix NREs when opening a Sprite that references images that no longer exist (or have moved)
Fix issues with Character Select Buttons
Update SpriteTools
Update all Tile Dictionaries to use Vectors as the key instead of parsing to/from strings now that we actually can.
Updated SpriteTools
Add Dig Tiles to Tileset, add Digging functionality to WorldManager.
Created PreviewItem so items have Generated Thumbnails
Created Shovel Holdable which digs up earth, regenerating after a random time.
Dig Tiles now properly save to the world. Optimized world saves in the process
Added TilesetComponent.GetLayerFromName and TilesetComponent.GetLayerFromIndex
Added proper documentation to TilesetComponent, made a few things internal and changed some terminology. JsonUpgraders to ensure everyones stuff still works
Updated example files
Add ReadAsPropertyName/WriteAsPropertyName to all Vector2/3/4/Int JsonConverters. This means Vectors will be serialized properly when used as Keys in a Dictionary.
Added Plunder and Ambush skills. Renamed and adjusted existing skills.
Fix ParsedLabel spacing issues and made it more uniform
SkillPanels are now coloured categorically. Updated their look a tad.
Fix Land Purchase Networking
Player Inventory is now 2 slots larger by default. Updated styling to account for it
Fix Diamond Pickaxe Item
Added Leather, cows have a chance to drop.
Created Backpack Upgrades, starting with Small Backpack. Picking up will permanently increase storage space
Fix the Leave Server button when not the host
Added Player List to Pause Menu
Fix entities casting light shadows
Quests are now claimed manually via the quests tab to get your rewards
Added Notification Icons to GameMenuTabs if there's something to do in that tab
GameNetworkSystem -> Networking
Fix ESC not closing popups in Main/Pause Menu
Added SFX/Notification for unlocking Skills
Fix disconnecting on server end, ensuring that if anyone stays behind for whatever reason it doesn't override their world with yours.
Added Permissions Tab to GameMenu if host. Created OnOffSwitch Panel
Fix WorldManager rebuilding the World every frame instead of when when dirty
Created PermissionData class, added to WorldData as GlobalPermissions and UserPermissions. Hooked up to PermissionsPanel
Implemented all the different permissions, falling back on global permissions when null.
Change entity item drops
Added more Food Items and Food Crafting Category
Added Item Upgrade System, along with different new tiers of Pickaxes
Added NPC template and Dialogue Bubble fixes
Basic Rubert NPC + Dialogue
Added Prefabs/Templates for a bunch of useful stuff
Fix player sliding around sometimes. Abilities now have more control over the player.
Added LaunchAbility and updated Jump Pad to use it to launch you along a perfect trajectory.
Fix holding ALT not providing gizmo inputs. Resolves Facepunch/sbox-issues#6495
Added ParsedDialogue class and DialogueEntry.GetParsedDialogue(). Includes support for <pause:time> tags
First Pass on DialogueBubbleUI, Cutscene Manager now displays dialogue via this Panel.
CameraTargets now have EditorHandles and Gizmos, rework their functionality too.
Created basic Dialogue Component
Rewrote CutsceneManager to take in Dialogue instead of MovieClips. Remade the test cutscene to work with the rewrite.
NetworkSpawn() with no arguments will use Connection.Local as the owner (like it used to)
Fix GameObject.NetworkSpawn(null) spawning as host instead of spawning with no owner. Fixes a few games.
Fix "path cannot be empty" when opening object menu
Fix Custom Cursors not being cleared when returning to S&box Main Menu.
Fix Duplicated Entries in Create GameObject Menu
Added Filter Settings to Add Component Popup. Can hide base components. Resolves Facepunch/sbox-issues#6428
https://files.facepunch.com/CarsonKompon/2024/September/19_11-10-TransparentAmethystinepython.mp4
Prefabs marked as `ShowInMenu` will actually show in menu without having to be in `templates/gameobject/` subfolder.
If a Prefab is marked `ShowInMenu` then you can give it `DontBreakAsTemplate` so it maintains the prefab reference when created via the GameObject Menu. Resolves Facepunch/sbox-issues#6035
Added Dynamic FOV to the Camera, changing when player is running
Center on character when fully zoomed
Player has a Rigidbody so they can be pushed around now. Moving Platforms are awesome now :D
Basic Moving Platform Support
Better Moving Platform Support, allow for rotating platforms
Can now pause SoundHandles the same way you can MusicPlayers. Resolves Facepunch/sbox-issues#5581
Fix extreme lag when setting Tint/FlashTint on SpriteComponent
Tileset layering fixes, bounds calculated per-layer
Added TilesetComponent.LayerDistance
Always do light footstep particles
Added SFX for begin and end running state. Also added wooshing sfx and speed lines while in running state.
Better sprinting feedback, updated particles, Punch ability no longer starts in improper state. Fixed footstep particles spawning in the air sometimes.
Better feedback from punching, particles when swinging, punching cancels running speed.
Added SFX for Punching, Swinging, and Breaking Punchables
Added Punchable.IsBreakable so not all punchables can be destroyed
Added MovieMaker Library
Added Interactables, NPCs, and a basic CutsceneManager. Created a Test NPC with Test Cutscene.
Test Bench Gibs + Break on Destroy
Fix prefab references since files moved
Actually punch in the direction player is facing instead of looking
Punching now stops the player in-place and lunges them forward a bit
Punchable no longer scales collider, only visual
Can punch Punchables, added some punchable benches to the scene
Create test bench prefab (as a punchable)
Start on Punch Ability. Renamed player prefab to prevent conflicts
Created GameManager prefab