map edit kinda overhauled
changes
map edit stuff
- the brush size is now 1 to 8 instead of 1 to 5. size 1 is one hex, size 2 is 7, size 3 is 19, etc.
Ctrl+scroll also changes the size - added Rect and Circle shapes alongside the brush. they work with Paint, Erase and Select. Rect uses opposite corners, Circle goes from a center out to the hex you release on. both apply on release
- paint previews are green, erase previews are red, and selection previews are yellow. selected tiles get a blue overlay
- added tool hotkeys:
Bfor Paint,Efor Erase andQfor Select -
Esccancels a drag. Rect and Circle do nothing if cancelled, while a brush stroke gets reverted instead of leaving half the changes behind - loading a map now prompts before discarding a dirty map, and successfully creating or loading a map clears the old undo history
selecting and editing multiple tiles
- Select now supports click and drag,
Shift+drag to add to the selection andCtrl+drag to remove from it - the toolbar shows the selection count and has Clear and Delete buttons. Delete removes all selected tiles in one undo step
- the Tile Editor can edit the type and walkability of the whole selection at once. when selected tiles differ, the controls show mixed values etc.
- material editing only appears when every selected tile shares a type. Override Current Type changes the material for every tile using that type, while Save as New Type assigns a matching type to the selection without changing every other tile using the old type
- brush strokes, Rect/Circle fills, deletes and bulk type or walkability changes are each grouped into one undo step. changing a type’s material itself is still not undoable….
the console….
- logging now has a sink system, so the same formatted log messages can go to different outputs
- the editor now has separate
LogsandObSLpanels. engine/application logs go toLogsnow, and script stdout goes toObSL - the panels have Clear and Copy buttons and keep the latest 2000 lines. the UI sink buffers incoming logs under a mutex before the editor consumes them
closing the editor
- closing the window now goes through a callback, so unsaved scene or project changes trigger the save/discard prompt instead of immediately closing
- removed the old global
Esc-to-quit shortcut. - ObSL’s
CloseWindow()no longer closes the editor while in Editor mode. it logs that it was called instead. in the runtime, it still closes the window
windows and smaller fixes
- enabled
/MPfor MSVC builds, and the editor/runtime targets use the Windows GUI subsystem so they don’t launch with a console window attached - atomic file writes now write the byte buffer explicitly and retry Windows file replacement when it fails with access-denied or sharing-violation errors, for up to about 2 seconds
- a bit of cleanup around collision pair sorting, const-correctness and naming
docs
updated the editor guide and screenshot to cover the new tools, shapes, selection controls, shortcuts and undo behavior. blah blah
…map editing is finally a lot less barebones…