5,153 Commits over 1,583 Days - 0.14cph!
Add tests
Unit test PackageLoader2 fast hotloading, regular
GameMenu games can have a Main method instead of a menu
Add PackageLoader2.
- Doesn't have TypeLibrary inside
- Wraps HotloadManager
- Clear separation between loading the assembly and loading into typelibrary etc
- only used by Tools + GameMenu right now
- I broke fast hotload
Round the chunks in Graphics.Draw so when drawing Triangles they don't end up hanging over the chunk boundary
Add Draw.SolidTriangle
Enable fast hotload again
Log stack traces
Handle badly defined GameResource more gracefully
Fix not correctly rebuilding .editor.dll when recompiling dependant game dll
Tools replaces and uses GameMenu PackageLoader/HotloadManager
Add TypeIcon, TypeName, TypeTitle to SerializedObject,
Clean layout separator style
Fix editor sometimes loading base tools package in the wrong order
NavigationMesh available out of game
* Supports runtime generation
* Pathfinding all in c#
* Save/Load navmesh
* Added Triangle struct
Tweak navmesh generation params that I don't understand
Add NavigationMesh.Node.Triangles/ClosestPoint/Distance
Triangle math
Create TriangleTest.cs
More connection setup
Navmesh connections in c#
Start feeding NavArea to managed
generation stub
Save/Load
Rename to NavigationMesh to avoid conflict
Draw the navmesh using Gizmo.Draw
navlib in engine2
Mixed mode navmesh base
Editor folders (#1265)
- A folder named Editor in your game project's code folder will become an Editor project
- Editor projects can access both the editor and the game addon
- Editor projects are not sandboxed
- These access the GameMenu instance - not client or server
- To avoid conflicts, some editor apis changed.
- - Cookies => EditorCookies
- - TypeLibrary => EditorTypeLibrary
- - Event=> EditorEvent
Use GameMenu Resource library if inside Tools context
Lets make this all easier on everyone by allowing only one Editor folder
Don't bother loading menu addon into tools
█▅▅▅ ▇▄▇ █▆▌▌▅▊▄.█▌▌▅▌▊█▄▌▊ ▉▌ ▆▍▋█▋ ▄▄▆█▅█▆▊▆▄ ▅▇█▅█▅▅▉▊▆▍█
█▅█▇█ ▊█▌▇▋▌▄ ▋▄█ ▉▇▇▊█▉▊ / ▇▊▇█▄▋▅ █▄▆▌ ▊▊▅ ▍▋▍▊ ▅█▊▇▉█ █▇ ▋▉▆ ▆▉▉▌▌▌▌
▄▍▉▋▋ ▍▊▉▆▅█▆▊ ▊█▄▇▅▍▍ ▄▌▄ ▋▍▊▅▌▊▆▋ + ▋ ▇▅▊ ▄▄▇ ▋▊▋▄▆▆▍█
▍▊▌▉▆ ▋▌▌ ▋▅▍▌ ▋▅▋▋▌▍▇ + ▊▍█▍▇ ▍▍▇▆▅ ▍▊ ▌▋▉ ▊▉▄▄ & ▄▍▌█ ▇▉▅▆
▊▊▍ ▄▅▆▌▇█ █▊█▊▆! - ▇▊▋▋█▄ ▅▆█▆▋▌▌▇
▋▉▄▇▆://▋▆▋▇▅.▌▇▍▇▅▆▌▊█.▌▊▆/▋▊▄▄▅█/▆▋▇▇█▉▊▌/█▆▅▍▄▊▇▊_▍▅.▅▋▄
▆▇▅▇▄▋█ ▌█▇▆▊ ▌▉ ▊▋▉ ▍█ ▋▆▋ ▊█▉▋▍▍ ▄▊▍▌▇▇ ▄█▆▍▇. ▋▅▄▄ ▍▌▆▅▅▊ ▌█▅▋!
▍▌█▊▊▋ ▆▌▉▋ ▋██▆▉█▆ ▉▉▉▊▉▅▋▊▊▆▊
▋▆▆▆▌ ▅██ ▉▋▉▆▅▍▊ ▆▆▉█ ▄▉▊█▆▌▉▄ ▇▊▊▄ ▄▉▉ ▄▆██ ▊▆▋▄ ▍▉▍▇█ ▋▍▍ █▅▅▅ ▄▅▋▄█▆ ▅▄▋▌▋▉▊▉ ▌▇▌ ▋▍▅▆█ ▋▍ ▆▉▅▆█▋ ▆▌▌▇ `[█▌▉█( "▄▇▅▋▇▄", "▌█▊▌▍ ▊▅▊▆▄▌▊", "█▌▌▌▅▌▊_▄▊▌▋▇▄" )]` ▍▋█ ▋▉▍▉ ▅▊ ▅▌▍▆▇ ▋▊▉▉▋█▌█▋ ▉▆▆▆▅▆ ▇▍▊▇▌▍▌ ▊▍▋▄ ▇█▋ ▊▄▍ ▍▉▌▇▅▆▍ ▌▅▉▄▌▉▇ ▋▇▌▆▆▅.
▉▇█ ▌▍▉▌▋▄█▋▄▉ ▆▇▋▆▍▆▊▋ █▊█▌▌██ ▇▍ ▉██▌▇▉▅▄▇▊█▅▋▋▋▍▇▆ & ▍▍▅_▍▄▉█▅▋
* ▍▄▅ ▄██▅▌▆▊▊▌::▋▊▅▉▊▆▉▊▍(), ▊▌▉▆█▇▌▊█::▌█▆▋▅▄▆▉▄▋▊▌▉▇▊▇▆( ▇▍▇ █▇▍ )
* █▌▇▆▉▌▍▄▇▆▌▌▅▊▍█▅▆: ▄▆▋▄▄▅█ ▌▌▆▄▌▆▍█▉▌ ▍▌▋▋▊▄▊▇▊
* ▋▉█ / ▋▆▌_▋▅▇▅▅█: ▌▆▋▊▄▋▄ █▍▌▇▊▌▄▊█ ▉█▆ ▅▊▇▇▍▇ ▅▍▅▄▅▉ ▇▇▇▅▉▄▄▊▆ ▉▌▋▌▆▌ ▌.▆
* ▆▇▊▍▍▄▋█▌▌▇▍▋▍▇▌▆▍▇ █▌▄▇█▋▍ ▉▌▊▉▊▉ ▆▋▌ ▋▉▊
█▆▊▋▋▆ ▋▋█▉█▌▊▆██▇ ▆▍ ▅▅▍ ▉▍▌▇▅▋ ▊▍▅▊▇▊▉▄ ▌▅▆▅▋▄▉▍
! ▇▋▌█▅▌█▊▋▇█: █▋▊▍█▅▄▄ ██▌▉▄▋ █▉▅▍▌▇ ▄█▊▊▄ █▊ ▊▌'▉ ▉▍▍▅▄▇ ▅▆▌▍▋▄▄█ █▅▌ ▊▋▆▆▊▌▍▇ ▄▅▄▌▍
| | █▇▅▌▍▍ | ▊▌▊▄█▍▅▌▊ | ▍▇▅▅▌▊▄ |
|---------------|---------|-----------|---------|
| ▍▊▆▌▄▍▋.*/* | ✅ | ✅ | ✅ |
| ▄▆▄█▌▉▇.*/* | ✅ | ✅ | ❌ |
| ▍▅▉▉▉▍.*/* | ❌ | ❌ | ❌ |
▄▊▋▇▉▍▇█▊▍▍ ▄▇██▉▊▄▌▊ (#▅▉▌▇)
▉▆▇▆▄ ▅▊▉▆▋▍ '▆▌▍▇▅▉' ▇▇▆▄ ▇▉▄▍█▉-█▋▌▋█▌▇
▌▇▉▄▇ > ▉▇█▋▉█▅▊▊▋▋
▄▌▅▉▇▅ > ▊▆▇▊▉▆▌█▍██▉
Switch TypeLibrary to EditorTypeLibrary
Init Sandbox.Client last so it gets all appropriate the callbacks
Tool projects can access Sandbox.Game, shuffled editor namespaces to avoid conflicts
Publishing a package ignores Editor folders properly
Load the editor.dll in tools
Load Sandbox.Tools in same context as Sandbox.GameMenu
PackageLoader can have a parent
GameMenu's PackageLoader has Tools as its parent
Fix NativeRenderWidget camera not scaling camera size for DPI
Sandbox.Tools references Sandbox.GameMenu, Sandbox.Game
Tweak how assemblies are registered in TypeLibrary, so we can pass assemblies from other contexts
Namespace clarification
If GameMenu fails to load, return to the main menu
UpdateEditorCompiler
Don't try to load editor assemblies, cuz that won't work
Generate csproj for editor folder
Game compiling ignores editor folders
Project generation supports excluding folders
SceneCamera.ViewportRect to Rect
Lets use the flags for ClearFlags, it's gonna be cleaner in the UI
Prefab editor 2 (#1262)
Cleans up prefab editor. Makes it possible to make prefabs without using the entity system.
Validate constructors as part of AccessControl
▌▄▊ ▋▉▉▇▉█▍▌▌▌▋.▌▅▇▇▅█, ▉▊▆▄ ▌▊▆ ▊█▅█▌▉▋▄ & ▉▍▍▊▌▄ ▄▅▆▆█ ▉▍ ▇#
▉▊▅█▋▆ ▅▋▉▌▍ ▇▋▅▆▉▄ ▇▅▋▇▆▇▋ ▆▇ ██▄▌█▄▇
▇▍▉▇ ▇▋█▌▋▇▄ ▊▉▇▍▍▋ ▆▅█▅ ▍▇▆▇▅▇▋▋▋▋█▍▄▇▆▋▅▊▉▊▍▊▌ ▆▅ ▋▄▉▉▆ ▊▆▊▅▇▊ ▆▍▆█▊▅▄ ▊▊▋▉▍▋
▆▉▉▉▋▆ ▇█▄▆▇▇
▆▆█▅▅://▆▌▍▉█.▆█▅▄▌▊▆▊▇.▆▄▌/▇▋▄▋▌▌/▄▅▆▊▌▄█▌/▉███▊▍_▅▋▆▄_█▋█▋▆▇▍.▅▇▇
▌▋▄█ █▍▍ █▆▉▊▄▊▍▄ ▋▆▍▊▄▋▉█▍▆▄ █▇▌▌▋▊ ▋▄▄▌.
▇▍▍▊▄▋ █▋█▇▅▉ + ▊▉▅▍▉▆ ▊▆▆▅▅▇
█▉▉▇ ▋▍▇▉▍▆▇ ▆▍▍▍▄▅▋ ▉▌ ▍▍▋ ▇▋▋▅██▋
! ▊▆▋▊▅▉▅▅▍ ▉▄▉▉█▅▌ ▄▉▇▉▅ ▉▊▆█▉▌▅ ▉▍▌▌▅▅.▊▅█▆▋█▌▄▋▍▌▇▇▆▆ ▍▊▉ ▅▌▉▄▊.▉▅▊▊▄
▉▍▋▆██▌▄: ▇▋▌ ▌▋▅▋▊█ ▄▅▉▍ ▊ ▆▆▊▆▊▉█
▍▅▅ ▋▌█▋▆ ▉▌▍█▆▉ ▍▋▇▅▇▆▄▄▅▉ (#▄▄▌▊)
* █▊▆ (▋▆▉█▊▊▅▌ / ▊▄▇▌▅▅▅ / ▊▅▇█▇▅▆ / ▆█▍▍▊▊).▋▊▄▌▍▊
* ▅▅▊ ▅▆▄▅ ▆▋▆▋▅▍.▇▍▇▊▇▍ ▇▄▉▄▅▉▊▄▉ ▄▄▍█▍█▄
* ▄▍▄▅█▅▌▉▍▊▋▄▇▊
* ▇▍▋▌▊▊▊▄▉▉▉▍▊▅
* ▊▇▆▆█▆▌▇▊▅▉▅▆▄
* ▄█▋▊▋▌▋▄▅▊▆▌
* █▍██▉█▉▋ (+ ▌▊ / █▉ / ▉▄)
▌▍▇'▊ ▇█▇▉ ▄▅▌▍▆ ▌█▊▅▊▍▊ ▌▍▍▆▉ ▄▊▉▆█
▍▆▅: ▋▄▋▋▉▇ ▌█▌▍▆▊▊ (#▅▋▆▅)
█▌▊▍▅▌ ▄▅▄ ▆▌▌▇▉▅▉▋█▋▋ ▍▊▆▅▅▄▍ ▋▉▌ ▍ ▍▆▄▍▅ ▊▅▊▅ ▋▊▉, ▄▍▊ █▇▄▄▌▋▍▉ ▆▌▉█▌▄ ▌▆▉▅▇▍▊ ▇▊▄▍-▊▌▊, ▄▆▄▆▅▉▉▊▊█/▍▅▍▋▋▄▉▅▇ ▉▆█▄▇▋▍ ▍▅▋▍▅ ▆▌▆▉▍▋▇▆ ▇/ ▉▆▊▄-▅▅▍▍▉▉▉▋▆ ▇▇▊▆▋█▆▉, █▍▊ ▇▋▇▋▅▌▆▆▌▄ ▄ ▄▋▄▅▊ ▍▄▊ ▅█▇▍▉ ▍▌▋▄▌▄▋▅ ▇▍ ▊█▌▆▋▋▆▇▍▆▆▇▌▅ (▉▌▆█▋▋▆▄ ▋▋▌ ▇▄▆▇▌▆▍▊ ▌▇▋'▌ ▋▇▌▌▅ █▊ ▆▉▄▉ █▄▋).
▆▇▉ ▊▊▊▄ ██▊▄ ▄▄▍ ▇▊▍▌▌▄▉▅▍▍▅▉▄█▆▆█▌▆▄▍▊▄▅▊▄▋▇▌
▆▌▄▇ ▋▍▍▄▋▉▄▆▅() █▊ ▉▅▉▉▆▅▅▅ ▋▄▄▋▉▌ ▅▌▆▆▆ ▊▅▄▅▇▉▆ ▆▋ ▆▅▌▌▅█▉ ▉█▆▅▋ ▄▊▇▇▊▆▇▆, ▉▋▌▍▌ ▋▉▉▍▆▄▍▍█▍/▊▅▅▉▅▆▊▇-▍▅▉▊▉ ▋▌▊▇▌▍▅
▉▇▌▄█ ▌▄▉▆▆▅ ▋▉ ▊▋▅▉▊▆▍▍█.▌▌▆▄▄▌▅▉▊ ▄▍▇█ ▆▇▅▄▆▅▄▄▋ ▍▌▅▌ ▄▊▅▊ ▊▄▅▄▉▍▋█▌ ▆█▋ ▉▅▋▆▆█▋ ▇▊▄▋
▍▇▄▍█▍▆ ▋█▇▄ █▍▅▇▋▇▇▊ █▍ "▊▇▆▌", ▄▌▊▉ ▌▋▄▊▆▆▋ █▄ ▆▉▊█ ▍▇▉ ▋▌▄▌ ▋▇▄▍▊▌▇ ▍▌▅█▄▊▆▉▊▍▌ - ▊▍▊▆ ▇▅▅▋ █▊ ▍▊▄ ▆▌▋
▋█▋▄ `▄▇▍▋-▊▍▌█▄▆`, `▇▋▊▍▅▅-▆▉▄▌▌▌█` ▊▄▅ `▄▆▆▌-█▄▌▌▌▆▍` ▍▉▇▆▊▋▆ ▆▆▄▅▄▊, █▆ █▌▆▅ ▍▆ ▋█▍▊ ▆▅▋▆▍ ▋▅▌▅
▇▍▋'▊ ▆▄▆█▋▅▍▅▉▇ ▅▊▄▊▊ ▇▋▅▅█▊▇▉█▍▇ ▇▄ ▅█▅▆▊▆▍▅▋▌-▍▇▄█ ▋▋ `▊▊▌▅█`
▉█▅▌▆▍ ▍█▌██▌▍▍▄▆.▌▍▋▊▉▊▍▆▋ █▅▉▌▌▇█▅▉▊, ▄▍██▆▄▊▍
▇█▉▄ █▊▉▋▊▅ █▍▍▉▌ ▄▌▌▇▊▄▅▄▊█ ▇▄▆ █▉▉▊▌ ▊▉ ▌▆▇▋ ▍▇▄▋▇
▋▉▋ ▉▅▇▉█ ▊▄▌▅.▇▍▊▅▊▆ ▆▄▉▋▅▆ ▍▄▌█ ▅█▇▍█▋▌ ▌▉▉▅.▄▍▅▄.▌▋██▇▊▉▆▄▌▊▋▍▇▉▉ (▄▉▅▆▅▊▍▋/▊▄▌▉▅▅#▆▄▇▋)
▆█▉▉▉▌▉ ▅▆▄▌▍▍ (#▉▄▍▄)
█▌▌▌▅▌▊ ▌▆ ▌▍▅▍▊▉▇▅ ▄▄▄ ▉▄▆▋▍ █▍ ▍▊▅▆▉▅ ▄▋▆▉▍▅ ▊▌ ▋▆▍▊▄ ▇█▆▊▋█ ▍▍ ▉█▉▅▌ ▋▍▋▅ ▅▉█ ▄▌▍ ▇▌ ▆▍█▅
▋▋▇▅▍▄ █▊▄▇▌▉ ▅▉▆▊▇▄▇▋_▅▊▅▇▅ ▍▉▉▍▋
▉█▉▌▌▊ ▆▄▌▋█▄ ▅▋▊▍▌▆▊▋, ▉▅▉▋▄▄ ▊▍ ▍▍█ ▌▋▆ ▌█ ▍▇▋ ▊▇▆▅▊▆▄▉█▋
▆▄▇▍▆▆ ▇▌▌▌▋▄ ▇▅▌▆▉ ▇▌▌▆▍ (▉█▍▇ ▆▍ ▍█▍▉ ▅▆▋▍▅▍▉▄?)
▉▉▅▉▄▉▄▅▆█▋: ▋▊▊█ ▆▉▌▍▌▍ ▇▍▇▌ ▅▌▄▇▍▄▊ ▋▌▆▋ ▌▄█▇▆▅▊ █▋▆▌█▋█
▇▇▍▊▄ ▅▉▋▊ ▌▋ ▍▋▇▇▅▍▌ (█▊▇█▇▉, ▊▌▊█▊▉▆█▇, ▍▉▋▊▄▋▄▆▅▇ - ▉▊▆▇▇▅ ▊▇▄▄ ▅▅ ▍▍▇▄▅█▄▄)
▄▊▇▊▌▋ ▉█▌▄▇█▆▄▋▍█▉.▇▇▄▆▆▇▅▌▊▋▆▄▊ (▉▅▄▇▍▇)
▉▉▊▊▅█▍ ▋▊▌▌▅ █▉▉▅▋▄ ▌█▍█ ▄▄▋▆▋
▇▋▆▆▋ ▌▉▌▄▋▊ '▌▋▆▉▉▍' ▌▊▋▉ ▄██▍▉█-▇▄█▉▌▌-▋
▉▄█▊▄ ▇▍▊▉█
Nicer component selection, categories, icons
Allow no root object, root object dictates entity or gameobject workflow
Add PhysicsBody.GameObject (for non entity)
Cleanup editor ui
Fix up editor for entity workflow
Using abs here tries to use stdlib and it's not linked, use V_fabsf instead
Add VerticalLayout, clean up layout system
Fix not loading entity prefabs
Fix editor FirstPersonCamera not obeying dpi scaling
Cleaner selection
Add EntityPrefab.JsonValue (replaces Value, which is still there for backcompat)
Add Json.ToNode, Json.FromNode
Serialize/Deserialize [Property]'s on IPrefabComponent manually
Changing prefab interface names
TypeSerializedObject handles editing value types from multiple TypeSerializedObject's
Float and integer controls have draggers
Fix ControlWidget.Create sometimes selecting wrong types
Add AnglesControlWidget
RotationControlWidget
Added TransformControlWidget
Add MarginControlWidget
Add RectControlWidget
Add BoolControlWidget
Add non inherited variant of GetTypesWithAttribute
Integer editors
Added TypeLibrary.GetEnumDescription
Enum/Flags controls
Fix error on startup
Color.TryParse fixed
Added ColorControlWidget