1,017 Commits over 183 Days - 0.23cph!
Fix player spawning with 0 health
Improved Nametag. Shows healthbar above head when less than 100
Updated Player Collider
Destructables no longer go through walls
Fix Shadows lerping in from a seemingly random position
Fix Coin from running certain code in editor
Fixed Coin Collisions (collision matrix w)
Fix Shadow Layering
Call MapInstance.OnCreateObject for all objects instead of just those that weren't supported. Allows users to add/remove behaviour to any loaded map object.
Added Destructable class and prefab. Drops coins for now but update to drop prefabs later
https://files.facepunch.com/CarsonKompon/2024/July/17_00-40-MindlessCormorant.mp4
Better coin spawning, added coin count to HUD
Prevent player x player collisions
Update Sprite Tools
Update SpriteTools (again)
Add Pixel Fonts
Basic HUD, also added Player Nametags
Display proper image on PlayerInfo, update BuildHash to include Health
Imported more CC0 artwork
Creates Sprite Resources for a bunch of pickups and other objects
Updated Sprite Tools
Added Coin Prefab, changes sprite based value.
Update Sprite Tools
Enemies drop coins on death
Never network shadows, each client should be handling them on their own
Added Height value to Entity. Give coins upward velocity when spawned, bouncing off the ground
https://files.facepunch.com/CarsonKompon/2024/July/16_23-46-NiftyDassierat.mp4
Added SFX to coins
Fix sprites not initializing since SceneObject didn't exist before setter was set
Minor SpriteComponent Optimizations. SpriteComponent also updates properly when Sprite is changed after being initially set.
Cache textures for TextureAtlas.GetTextureFromFrame
Make CurrentTexture public on SpriteComponent.
Entity z-order based on y position. Updated collisions so things dont go behind
Fix Flash on hit for networked clients
Networked clients can see player flip
Added Shadows to Entities
Fix GameManager networking issues
Fix funny aiming
Players can take damage from bullets now, will not damage each other.
Add textures to resource path
Fix enemies always being in the aggro state
Play hurt sound on damage, update prefabs accordingly
Added Death Sound + Updated prefabs accordingly
Angle affected by weapon recoil
Tone down the screenshake
Update Sprite Tools
Update Sprite Tools (Again)
Add SpittingEnemy which fires a projectile after set time
Prevent Player velocity from drifting away
Queue Broadcast Events so they can be run on the main thread to prevent code being unknowingly run on another thread
Give attach points proper rotations when flipped, respecting origin
Flip attach points when sprite is flipped
Don't update attachments in SpriteAnimationSystem, only do it when necessary
Update Sprite Tools
Added basic enemy aggro, chasing nearest player
Enemy faces in moving direction
Update Attachments properly for non-square aspect ratios
Updated Sprite Tools
Added Wood Enemy Sprite (Fucker with the abnormal aspect ratio)
Don't stretch asset preview/thumbnail for sprites with non-square aspect ratio
Timeline FrameButtons no longer stretch Sprites with non-square aspect ratio
Add TextureAtlas.AspectRatio
SpriteComponent now supports Sprites of non-square aspect ratios
Fixed not being able to click on Sprite Components to select them in the Scene
TextureAtlas now supports packing textures of non-square aspect ratio
Added Sprite Tools -> Flush Texture Cache to Menu
Fix origin/attach point pixel snapping on images that weren't square aspect ratios
Fix origin/attach point bounds and dragging on images that aren't square aspect ratio
"Point Controls" shortcut buttons now set origin directly instead of setting via the draggable
Add CTRL+Wheel to quickly zoom in/out of Sprite Editor Timeline
https://files.facepunch.com/CarsonKompon/2024/July/16_08-21-ThoroughVerdin.mp4
DeathProgress no longer [Sync] var
Thing networking changes
Changed some [Broadcast] RPCs to [Authority]
Added Singleplayer button to main menu
Initial commit
Update .sbproj
Add Sprite Tools library
Temporary CC0 Player Sprite/Textures
Temporary CC0 Weapon Sprite
Basic Entity and Player Component
Basic Player Movement and Aiming/Camera Movement
Make the Player a prefab
Simple GameManager which purely acts as a Network Manager for now (without actually hosting a lobby)
Basic Weapon Component. Player is given a weapon and will hold it in the aim direction
Added WeaponResource and renamed Weapon to WeaponComponent. Store most of everything in the resource.
Add collisions to the Player
Update Sprite Tools
Update Sprite Tools
Create Projectile prefab and update all SpriteComponents to use new default UpDirection
[Sync] some properties and add some IsProxy checks
WeaponComponent fires Projectiles on LMB
Add CameraManager. Screen Shake on fire
Added FireSound to WeaponComponent and added muzzle flash to first frame of bullet sprite
Added some basic enemies that act as some nice bullet sponges
Fix default rotationOffset when placing a new sprite
Make sure attach points respect the UpDirection
Fix the Top 2D View (so X is horizontal and Y is vertical)
Added UpDirection to SpriteComponent. Added JsonUpgrader to prevent previous components from becoming the new default.
Fix Frame -> Duplicate creating a duplicate reference of the current frame instead of a duplicate copy
Fix ShortcutOverrides not loading properly
Use CodeToString(ButtonCode) instead of the weird enum parsing I was doing.
Fix typo "ChildrentWantMouseInput" -> "ChildrenWantMouseInput"
Make Mouse.OverridingVisibility internal
Added setter to Mouse.Visible so you don't have to create a panel with pointer-events just to unlock your mouse.
Basic 2d player movement for example scene
https://files.facepunch.com/CarsonKompon/2024/July/14_21-17-MemorableSteed.mp4
SpriteDropObject now respects camera rotation
Remove shit we don't need in the example project anymore
Right Click -> Delete in the Sprite Editor Timeline will delete all selected frames if multiple are selected
Update Ninja Frog sprite to include all necessary animations
Add `HasBroadcastEvents` to SpriteComponent. Hide Broadcast Events in Inspector if `!HasBroadcastEvents`. Add `Bounds` to SpriteComponent
Add "footstep" events to Ninja Frog sprite
Remove all the old code files from the example project
Update the example scene
Updated Player footstep events and made Footsteps component play based on broadcast event
Dash adds velocity to the player instead of firing a trace. Allows player to keep momentum with dash
Fix broadcast events not firing on the first frame on the first loop. Fixed BroadcastEvents not firing when PlaybackSpeed is negative (reverse).
Yummier, squishier squish
Update minimal scene so its not running upgraders when you make a new project.
Add header to PageNotifications so it's the same as the others
Fix StartingAnimationName returning "" when it couldnt find anim
Fallback when no obtainable origin for SpriteComponent gizmo
Rename Name -> DisplayName so there's no conflict on KeybindPanel