Changelog¶
Every change to RPG Map Editor, newest first. The same list ships with the asset as Assets/CreativeSpore/RpgMapEditor/changelog.txt.
v1.6.1¶
- ADDED a warning to the map inspector when the map object is moved, rotated or scaled away from the world origin, where painting, drawing and collisions stop lining up. Move To Origin puts it back, and Undo reverts that
- FIXED the door teleporters in the demo scenes doing nothing in the editor unless the demo scenes were in Build Settings. In play mode they now load the scene straight from the project, as the demo scene menu does. A scene that cannot be found logs a warning instead of leaving a stray teleporter on the player, and Link With Target now also applies to doors that lead to another scene
- FIXED painting that was not committed yet being dropped without a word when the Tileset or Map Data field changed, or on Reload Map or Import Map. The inspector now asks whether to save it first
- FIXED Import Map... keeping the old size in the Settings tab, so Apply New Dimensions resized the imported map back, and the import never being saved into the Map Data asset
- FIXED the Scene view going on painting after you switched from the Paint tab to Settings or Data, with no brush shown
- FIXED the Paint button of the Scene view overlay ignoring Smart Brush and always painting on the selected layer
- FIXED the preview of a Shift + right drag copy showing the layers below the selected one, which the copy leaves out
- FIXED Remove Tileset leaving the collision settings of the sub tilesets in later slots on the wrong tiles. The dialog also says now that, on maps using the tileset, tiles painted from those slots change
- CHANGED the painting help (F1) to describe the selected layer and Smart Brush, and fixed "Are your sure?" in the Clear Layer dialog
- FIXED PlayerController throwing a NullReferenceException in a scene of your own. It needed a Camera2DController in the scene, a Shadow Sprite and a Weapon Sprite, and a Bullet Prefab before a fire key was pressed. All four are optional now: without a Camera2DController the player leaves your camera alone, and without a Bullet Prefab the fire keys only turn the character
- CHANGED the Scripts/RpgFramework and Samples folders so they can be deleted if you only want the map editor. The Directional Animation Character menu item moved into RpgFramework, and Camera2DController now looks for the player by the Player tag instead of by PlayerController
- CHANGED the welcome window's Getting Started card. Open Online Manual opens the new manual, and the introduction no longer mentions the Control key, which does nothing in the Scene view
- CHANGED the manual. It was rewritten from scratch for this version and is now online at https://www.creativespore.com/docs/rpg-map-editor/, with a new PDF copy in the Documentation folder built from the same pages. The RPG Map Framework guide is now its Gameplay Framework section, and RPG Map Framework.pdf is a one-page note pointing there
- CHANGED the demo scene menu so it no longer covers the in-game map editor's tile palette. The FPS counters are gone, and so is the Reset button: press R to reload the scene, as before
- FIXED an IndexOutOfRangeException when painting on the bottom row of a map 124 tiles high, or any other multiple of 62, or in the bottom right corner of a map that many tiles wide. On those maps, painting in the last column also rebuilt a part of the map it did not touch
- ADDED an RPG Map Editor overlay to the Scene view with the brush position, the selected tile, the paint tools and the painting help. It replaces the box that was drawn in the top left corner, where Unity's own tool overlay covered it. Like any overlay you can move it, dock it or collapse it, and it only shows while a map is selected
- FIXED buttons of other windows not responding while painting, the Cancel button of the New Scene window for example. The button reacted to the click but never ran
- FIXED the editor redrawing the inspector and the Scene view nonstop while the Paint tab was open, even with the mouse still
- FIXED the collision legend shown while holding Shift in the Paint tab being cut off
- FIXED Remove Tileset in the tileset window coming undone. It cleared the slot but never wrote the atlas image, so the tiles came back on the next reimport. It now saves the image, like Accept does, and asks before removing anything
- CHANGED DemoPathFindingBehavior, the script of the pathfinding demo, to the CreativeSpore.RpgMapEditor namespace like every other script in the asset. Your own code that names it needs that namespace
- ADDED a Quick Start section to the welcome window. Start Painting asks where to save a new Map Data asset, then opens a new scene with a map that uses the demo tileset, selected and already on the Paint tab. Open Demo Scene opens the first demo, and Add Demos to Build Settings adds the five demo scenes for a player build without touching the scenes already listed
- FIXED the tileset window rejecting a sheet with a message that only gave a pixel size. It now says where the sheet belongs: a 512x512 image dropped on an autotileset is a B to E sheet, so it goes in a Normal Tileset slot. It also recognises sheets made for 48 pixel tiles. A correct sheet that Unity had scaled on import (512x384 rounded up to 512x512 by the default texture settings) is now accepted, and every field shows its size with a tooltip about what goes in it
- FIXED a new AutoTileMap showing two unlabelled Create buttons and nothing else. The inspector now says which asset is missing and what the buttons do, offers Use Demo Tileset, and tells you when the tileset has no atlas yet. The Settings tab and the layer list have tooltips. GameObject > RpgMapEditor > AutoTileMap selects the map it creates, pressing Cancel in the Map Data save dialog no longer shows an error, and the Scene view no longer throws a 'Getting control 0's position' error when a map finishes loading
- CHANGED RpgInput.GetAxis to log a warning, once per axis name, when an axis other than Horizontal, Vertical or Mouse ScrollWheel is read with the Input System package. It used to return 0 without saying why
- FIXED play mode with Enter Play Mode Options set to skip the domain reload. Values left over from the previous session are now reset, including the one that could stop every teleporter from working in the next session
- FIXED disabling an NPCBasicAI or CompanionAI component leaving the character walking, even when it was switched off in the middle of a step. The AI now stops with the component, the character stops on the spot and its walk animation pauses
- FIXED fog of war running one more update loop every time a map with a fog layer was reloaded
- FIXED a memory leak in the in-game map editor. The palette made a new background texture every time it was drawn
- FIXED tile collision on tilesets whose tiles are taller or shorter than they are wide. The collision row was computed from the tile width
- REMOVED FULLHTMLCodeDocumentation.rar from the Documentation folder. Updating does not delete a copy you already have
- FIXED compile errors in RPG Map Editor after importing Super Tilemap Editor into the same project. Two pathfinding scripts had the same file ids as scripts in Super Tilemap Editor, so importing it wrote its code over ours. The pathfinding code now lives in RpgPathFinding.cs and RpgMapPathFinding.cs. PathFinding.cs and MapPathFinding.cs stay in the package as empty files, so updating overwrites the old code instead of declaring it twice
- FIXED Save Changes After Playing overwriting map assets. With it on, leaving play mode or loading another scene wrote the map back into its Map Data asset even if nothing had been painted, and any fog of war uncovered while playing stayed uncovered for good. It now writes only when a tile was changed during play. The option is off for new maps and shows a warning while it is on. Maps already in your scenes keep the value they had
- FIXED painting lost when scripts recompiled before you pressed Commit. Uncommitted changes are now saved into the Map Data asset before a recompile, before the scene closes and before play mode starts, and the Paint tab tells you when there are uncommitted changes
- FIXED the editor scripts failing to compile in a project without the 2D Sprite package, which took every editor feature of the asset down with them. The Directional Animation Controller inspector now shows a warning with an Install button when the package is missing
- FIXED Show Map Editor On Play not being undoable and not being kept as a prefab override. It has a tooltip now, plus a reminder that the in-game map editor also shows in player builds
- CHANGED saving a map to write only its Map Data asset. Reordering a layer used to save every modified asset in the project
- FIXED the scene menu in the demo scenes. It could not switch scenes or reset the current one unless you had added every demo scene to Build Settings by hand, and pressing Play on the pathfinding demo jumped straight to the first demo because the menu did not list it. In the editor the menu now loads the demo scenes directly. A player build still needs them in Build Settings, and the menu says so in the console instead of failing
- FIXED the tileset palette showing up as a blank area in the AutoTileMap inspector. It only happened on displays running above 100% scaling, which is why it was so hard to track down. The palette was drawn as the background of a copy of a built in editor style, and Unity keeps a separate high resolution background on those styles that was winning over the tileset image. The palette is now drawn directly, the same way the tileset window has always drawn it
- FIXED a memory leak in the tileset palette. The inspector and the tileset window rebuilt the palette texture whenever anything in them changed, and never released the previous one. A long painting session would slowly eat memory
- FIXED a memory leak when a map is loaded. Building the minimap made one scratch thumbnail per sub tileset and then left every one of them in memory
- FIXED an error thrown by the tile palette and the collision editor after removing a sub tileset. The selected index was left pointing past the end of the list. A tileset with no sub tilesets now shows a short message telling you to add one instead of failing
- CHANGED minimum Unity version to 2022.3. The asset is tested on 2022.3.62f2 and Unity 6
- REMOVED the compatibility branches for Unity 4 and Unity 5. Scene loading, shadow casting, texture import settings and the scene loaded callback now call the current API directly
- REMOVED EditorCompatibilityUtils. It only existed to pick between Handles.DotCap and Handles.DotHandleCap, so the scripts call Handles directly now
- REMOVED the startup fix that renamed tileset and map assets saved with a .prefab extension before Unity 2018.3. It needed an older editor to run, so it could never do anything here
- REMOVED the legacy character animation kit: CharAnimationController, its inspector, the Char. Animation window and the GameObject > RpgMapEditor > Legacy > Character menu item. Use DirectionalAnimation and the Directional Animation Character menu item instead. If a scene still has a CharAnimationController on a character, replace it before upgrading
- REMOVED the eTileLayer enum, deprecated since multiple layer support arrived in 1.5.0. Layers are addressed by their index in AutoTileMap.MapLayers
v1.6.0¶
- ADDED support for the new Input System package. Every input call goes through the RpgInput wrapper, so the asset runs with Active Input Handling set to Input Manager (Old), Input System Package (New) or Both. On Both the old manager is used, so the axes a project already configured keep working
- FIXED compile error in Unity 6 caused by a SerializeField attribute on the CurrentFrame property of CharAnimationController
- FIXED obsolete FindObjectOfType warnings, replaced with FindAnyObjectByType
- FIXED obsolete TextureImporter.spritesheet warnings in the Directional Animation Controller inspector. Character sheet slicing and pivot updates now use the ISpriteEditorDataProvider API, and the sprite name to file id table is rewritten with the rects so sprite references survive the reimport
- CHANGED minimum Unity version to 2022.2, needed by FindAnyObjectByType and the sprite data provider API
v1.5.6¶
- ADDED Atlas material property to Tileset inspector
- FIXED issue with AutoTileData asset extension in Unity 2018.3 (or any version using the new prefab system). In order for the fix to work, you need to open the project in a previous version.
- FIXED compatibility issues with Unity 2018.3
- FIXED issue when selecting tiles from the tileset inspector when the tilemap cell size has been changed. Tiles in the brush were bigger than usual.
- FIXED small issue with Camera2DController when catching the Camera component
v1.5.5¶
- ADDED CreateTileSprite to RPGMapHelper class to create an sprite from a tile
- ADDED StopFrameIdx to DirectionalAnimation to select the frame used when the animation stops playing (-1 will stop the animation in the current frame)
- FIXED some exceptions when during a collision event the contacts array is empty
- FIXED some namespace issues when using the tool with other CreativeSpore tools
- FIXED allow changing the layer Id of a tilemap. Now it is not set back to Default on play.
v1.5.4.1¶
- ADDED new GameObject option to create a Directional Animation Character and moved old character option to legacy
- FIXED issue with CharAnimationWindow when setting Tile.realtimeSinceStartup to avoid warning error
- FIXED issue when creating an atlas for an auto tileset because of the import setting option Non Power Of 2 was set to Nearest by default, modifying the texture width and height
v1.5.4¶
- Added alpha texture in the in game tilemap editor (thanks to bilsimser)
- Improved TouchFollowBehaviour and MapPathFindingBehaviour making the movement smoother
- Fixed warnings using Handles in Unity 5.6
- Fixed lights when using diffuse material
- Fixed issue in Unity5.5 when using serialization mode Force Text
- Fixed bug with TouchFollowBehaviour when clicking not reachable position while moving to the previous target position
- Fixed jittering issue when moving the player
- Fixed issue with GetAutotile when the returned value is modified
- Fixed a problem when changing the default material of a tileset, in the build the material was always the Sprite/Default
v1.5.3¶
- Fixed An atlas texture can now be set to Sprite/multiple to make sprites from it.
- Fixed issues with Path Finding when FPS was high (using Fast Quatilty in the Editor)
- Fixed issues with FollowerAI
- Fixed touch player controller
- Fixed player flickering when using the touch controller
- Fixed bugs related with high FPS rate
v1.5.2¶
- Added SetAnim(string name) to DirectionalAnimation
- Added OnAnimationLoopOver event to DirectionalAnimation
- Fixed bug in the DirectionalAnimationController triggering in some cases an out of bounds exception
- Fixed Unity 5.4 warnings about OnLevelWasLoaded
- Fixed some Unity5 compatibility issues
v1.5.1¶
- Fixed issue when adding or removing sub-tilesets from a tileset, the colliders were gone
- Added support for 2D collider check in CompanionAI and NPCBasicAI
- Added PlayerTileMovement controller for a movement based on tiles
v1.5.0¶
- RPG Framework scripts moved to folder Scripts/RpgFramework
- Added new animation controller for characters: Directional Animator
- All characters, including vehicles now use the new directinal animator
- Improvements in all character behaviours and AI behaviours
- Added new AI behaviours: CompanionAI and NPCBasicAI
- Improved teleporter setup with a new option, link with target, so the target teleported is linked with the source
- Added a farm scene example with NPCs, animals and vehicles
- Renamed demo scenes and added scene selector to all of them
- Added edit collider button to PhysicCharBehaviour
v1.4.3¶
- Added CellSize parameter to the tilemap to change the size of a tile in the scene
- Added method RpgMapHelper.GetTileCenterPosition
- Fixed TouchFollowBehaviour to be more precise
- Added TeleportOnEnter to teleporter to allow teleporting on enter event
- Added activation key parameter to teleporter and fixed input management
- Fixed fast player direction change when moving player using path finding
- Fixed pixel perfect camera according to real camera height
v1.4.2¶
- Added a toolbar for painting, erase and display help
- Added teleporter prefab for scene or map transition
- Added persistence to player object to allow transitions between scenes
- Added framework manual
- Added support for Unity 5.3
- Fixed some minor gui exceptions