All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix crash when destroying a furniture/avatar while it is moving
- Fix furniture sprite z-ordering
- Fix avatar not respecting the hidden layers of the look
- Fix furniture not cleaning up properly when
.destroy()
is called
-
Avatars
- Added ability to display effects for an avatar. To use, set the
avatar.effect
property - Improved avatar loading by only loading the required libraries for a specific avatar
- Added ability to display effects for an avatar. To use, set the
-
Event handling
- Added
onPointerOver
andonPointerOut
event handling for Avatars and Furniture - Added ability to skip event handling for certain kinds of room objects while propagating.
Use this in an event handler:
event.skip(FURNITURE, AVATAR)
orevent.skipExcept(TILE_CURSOR)
- Added
- Change furniture visualization handling for better testability
- Reorganize stories in storybook
- Deprecate
BasicFurnitureVisualization
in favor ofStaticFurnitureVisualization
- Remove use of
offsets.json
for avatars - Remove
resumePropagation
for events - Disable animation queueing for avatars and furnitures
move
/walk
methods
- Animation transitions
- TileCursor not cleaned up properly
- Move
canvas
package to normaldependencies
inpackage.json
- Double click handling
- Improve event handling
- Hit detection for spritesheet textures
- Direction of furniture not changing
- Door wall not hiding when
hideWalls
is set totrue
onActiveTileChange
not firing
- Add
onActiveWallChange
- useful for handling wall item placement - Add
onPointerDown
&onPointerUp
for furnitures and avatars - Support unpadded tilemaps
- Secure WebSocket support for
shroom proxy
(thanks @somekindadude)
-
Mouse events now don't trigger
onTileClick
whenstopPropagation
is called on a avatar or furniture above it -
BREAKING:: Asset dumping & loading
Assets now get dumped into
.shroom
files, instead of individual files. Rerun theshroom dump
command to regenerate those assets. -
Allow skipping the download on
shroom dump
when omitting the--url
parameter
- Temporarily disable landscapes because of performance issues
- Display of avatar when rendering certain clothing items
- Fix exception in
avatar.destroy()
shroom proxy
command: Proxy & translate WebSocket messages to something the emulator will understand This enables you to communicate with the emulator through websockets, without making any adjustments to the emulator itself.- Option to hide tile cursor in a room with
room.hideTileCursor
- BaseFurniture now has a onLoad callback, which gets called after the furniture is fully loaded
- Add
headDirection
option foravatar.walk()
- Add corner stairs (thanks @tuttarealstep)
- Add
skipCaching
option toBaseAvatar
to skip unnecessary caching from the AvatarLoader (thanks @somekindadude)
- Providing no direction in
avatar.walk()
doesn't modify the avatars direction now
- Display of furniture with special layer offsets for a direction
- Fix coloring of clothing when changing the look
- Avatar displaying behind bed while laying
- Furniture default coloring not being applied
- Fix some furniture layers not showing
- Fix furniture not displaying at all when one asset fails to load
- Customizable furniture visualizations through
furniture.visualization = /*...*/
- Option to not render body when using
BaseAvatar
(thanks @somekindadude) - Option to specify
headRotation
for avatars (thanks @somekindadude)
- Improve tilemap parsing to handle carriage return in string
- Furniture animations getting stuck
- Avatar zIndex not respected for HitDetection
- Fix directions for furniture with out of order directions in
visualization.bin
- Fix behaviors called before
BaseFurniture
initialized - Fix tile cursor displaying above furniture
- Avatar
onClick
andonDoubleClick
not firing - Wall border hiding for some room models where they shouldn't
- Add Avatar placeholder when loading
- Furniture will now only use valid directions
screenPosition
property forAvatar
- Add
BaseAvatar
for rendering avatars without a room - Add
BaseFurniture
for rendering furniture without a room - Add
onActiveTileChange
events for detecing hovered tile (useful for furniture placement preview) - Add ability to share a shroom instance with multiple applications through
Shroom.createShared
- Furniture will now only use valid directions
- Change default wall color to use the original
- Improve asset dumping behavior (thanks @thereis)
- Fix bug in AvatarSprites when updating without being mounted
- Fix wall display for some room models
- Fix alpha for furniture
- Tile Cursor now shows above flooring items
- Fix
RoomCamera
drag stopping when going over dom elements - Fix
RoomCamera
drag passing through other PIXI elements - Fix Avatar hair clipping through hats
- Fix Avatar sleeves for some T-Shirts because library wasn't detected
- Fix animations for some furnitures
- Fix wall border showing for tiles on a higher level than the wall (thanks @tuttarealstep)
-
Furniture property for alpha (thanks @sindreslungaard)
-
Avatar Refactor
Large parts of the avatar rendering has been refactored to match the vanilla flash rendering of avatars. This means:
- Easy handling of all actions through
addAction
,removeAction
andhasAction
- Loading and display of avatar items
- Easy handling of all actions through
-
Expose
MouseEvent
in hit detection through themouseEvent
property -
Expose data in
index.bin
throughextradata
on furniture -
Expose valid directions through
validDirections
on furniture
- Parsing of walls
- Cause of random crashes during asset extraction
- Fixed cache issue when loading colored furniture
- Tile Map Parser: Allow doors in first column of tilemap
- Furniture fetching by id differentiates between wall and floor items
- Ability to fetch furniture by id
- Improve furniture movement animations performance
- Z-Ordering of furniture on the same tile
- Highlight State for Furniture
-
BREAKING: Tile Map Parsing behavior
Tile map parsing is now equal to how the original tilemaps work. That means each row and column should be padded with an empty (
x
) tile. So for example:00 00
becomes
xxx x00 x00
- Regression where landscapes for some walls don't work
Room
improvementsremoveRoomObject
method to remove an object from a roomroomObjects
to access all present room objects
- Ability to dump and use furniture when revision is not set
- Add
move
method for movingFloorFurniture
andAvatar
objects - Add
RoomCamera
class for handling drag, drop & snapback for aRoom
(thanks @mtwzim)
roomHeight
&roomWidth
now return the actual height and width of the room
- Cross Origin issue with
HitTexture
- Ability to set landscapes, which are seen through windows
- Click handling on furniture when a sprite is mirrored
- Furniture loading of colored items (i.e.
rare_dragonlamp*4
)
- Door visualization for room
- BREAKING: Figure assets dumping behavior.
Figure images now get dumped into a separate subdirectory corresponding to the library name. You will need to delete your old
figure
folder and rerun theshroom dump
command to regenerate those resources.
- Furniture & Avatar textures when display is scaled