Releases
r6
Compare
Sorry, something went wrong.
No results found
Added lots more examples, warnings, and tips to docs.
More successful bug hunting!
UI now intercepts and blocks tap input (no more ui + abilities firing on same tap!)
Player control has undergone a significant change to decouple the player entity and input (see ig.PlayerManager)
Hellovetica pixel font replaced with modified Impact++ version called Helloplusplus (includes extra characters such as numbers)
added COLLISION.ALLOW_FIXED to allow control of fixed to fixed collisions
added CREATURE.MOVE_TO_PREY_SETTINGS
added CREATURE.MOVE_TO_PREDATOR_SETTINGS
added CREATURE.MOVE_TO_TETHER_SETTINGS
added CREATURE.MOVE_TO_WANDER_SETTINGS
deprecated STATIC and moved to a property of ig.EntityExtended.PERFORMANCE
deprecated MOVABLE and moved to a property of ig.EntityExtended.PERFORMANCE
deprecated DYNAMIC and moved to a property of ig.EntityExtended.PERFORMANCE
removed NEEDS_BOUNDS
Z_INDEX_OVERLAY renamed Z_INDEX_BELOW_ALL
added SCALE_MIN, SCALE_MAX to general, entity, ui, and font config
core properties of the game (such as layers) are now guaranteed to be ready regardless of init order
shapesPasses is now a plain object that takes property:value pairs instead of an array
added playerManager and playerManagerClass properties (see ig.PlayerManager)
getPlayer will no longer search for player by class unless canSearchForPlayerByClass is enabled (defaults to true)
getPlayer will no longer search for player by type unless canSearchForPlayerByType is enabled (defaults to true)
changed all instances of respondInput to handleInput
methods that get entities now account for whether an entity is hidden
resize is now called after each level is built to account for config screen size changes
entities now each have their own collision map result property, collisionMapResult, to reduce garbage
collision map result's .collision.slope is now guaranteed to be a boolean, instead of changing between boolean and object
collision map result's .collision.slope object is now stored in the result's .slope property
major bug fixes for collision map checks
entities should no longer get stuck at corners of a slope and a flat tile
entities should no longer fall through one way tiles when coming down a slope
slope assistance velocity is now added to the entity's position instead of velocity
added pause and unpause methods
fixed invalid positions when keeping camera in level
removed, timer pausing now handled by entity during pause method (override when you have your own timers to pause)
entities always update the current animation, even when off screen, so animation overrides always complete as expected
changed first parameter of animRelease to name to allow for releasing only when override matches name
shifted original first parameter of animRelease, silent, to second parameter
added frame and stop options to animOverride method
added collisionMapResult property to hold collision map collision results
removed needsBounds,bounds, getBounds, boundsDraw, and getBoundsDraw as they are ignored in all calculations and are causing confusion
distance methods now account for fixed entities
entities now set movingY correctly in top-down mode (thanks @Pattentrick for finding)
one way collision check now properly accounts for the velocity of both entities, instead of ignoring one way's velocity
added hidden property and hide / unhide methods
setting grounded is now handled differently internally for top down mode
last is now always contains last position instead of current
colliding with an entity that functions as a moving platform now works as expected in all cases
removed onPaused and onUnpaused signals for better stability (was causing issues with entities that persisted between levels)
removed updateCleanup method
removed checkStop method
intersectWith method now sets intersecting property, make sure to call parent when you override this method!
all properties modified by collision checks should now be reset via the cleanupCollision method (called automatically before new collisions)
added flipWith property to moveTo settings object, which controls whether following entity flips with the followed entity
In addition to per entity scaling, entities now have scaleMin and scaleMax properties to clamp scaling
Added scaleToSystemScale for entities that should scale themselves based on system scale on a ratio other than 1:1
fixed incorrect examples in docs
added clearPath method for better control of path clearing
fixed incorrect invulnerability modifying alpha when character has alpha other than 1
characters should climb properly again
collides defaults to lite instead of active
removed holdActivate input response from default input handling
ig.PlayerManager now handles basic input to action for the player character
player now only handles input to the basic interaction ability
new abstracted way to control characters, allowing you to easily swap the character the player controls with input!
playerManager's handleInput covers move, jump, and climb by default, and attempts to call the managed entity's handleInput method
added settings to disable default gesture input handling in case you need hold or swipe
collides defaults to lite instead of passive
added detectHiddenPrey and detectHiddenPredator to control finding hidden entities
added unspawnSilently to allow unspawned entities to play death animation
added onSpawnedAlland onUnspawnedAll signals
added spawnAtFirstTarget for cases when you have several targets to move to, but you always want to start at first
removed all loop methods in place of using ig.Spawner respawn system
to properly loop, set duration === -1 and optionally respawnDelay
added propertiesTarget to check for truthy values of properties in spawn targets to complete tutorial
added getCanTrigger method to find out if the trigger can be triggered
added autoComplete to allow triggers to manually call complete (fixes confusing behavior where complete is called twice)
added teardownWhenComplete to defer teardown until deactivate or cleanup
canOpen renamed getCanOpen
canClose renamed getCanClose
added 'blocked' property for cases when a switch is not broken but blocked by external factors
animation name for when locked renamed from lock to locked
removed execute
added activate convenience method
added setEntity convenience method
added setEntityOptions convenience method
added setEntityTarget convenience method
added setEntityTargetFirst convenience method
added getUsing convenience method
typeTargetable and groupTargetable now match only when target has ALL types/groups matching instead of any one
target is now checked after setup cast instead of before
removed check for invalid target as is already doing that in target check
abilities can now target any type or group if typeTargetable === 0 and groupTargetable === 0
added once property (default false) to control whether ability keeps activated === true after activate
added activateStrict property (default true) to double check distance after all activate casting
execute deprecated
activate now does what execute used to do (to be more in line with rest of library)
i.e. use abilities by calling activate instead of execute
activateComplete now does what activate used to do
deactivate now does what deactivateSetup used to do (to be more in line with rest of library)
i.e. deactivate abilities by calling deactivate instead of deactivateSetup
deactivateComplete now does what deactivate used to do
abilities now check if in use (i.e. casting or channelling) to avoid chain executions that would block proper use
entityTarget now automatically retained when ability is channelled
retainTargetChannel removed
isEntityTargetable now accounts for and returns false when ability entity and entityTarget are in same group
groupTargetable overrides isEntityTargetable to allow for same group targets
cast now looks for animation settings in castSettings.animSettings instead of castSettings itself
animation is now casted during setup instead of when passed
settings changed from activateCastSettings to activateSetupCastSettings
renamed to ig.EntityAbilityActivate
moved onActivated and onDeactivated to ig.UIInteractive
added enabled state
added activateComplete and deactivateComplete, which are called during activate/deactivate if element is enabled
added onActivated and onDeactivated signals, called during their respective complete methods
added simple buttons with automatic animation handling!
removed properties animNameActivate and animNameDeactivate in preference of using overriding animation
refactored to use activateComplete and deactivateComplete due to ig.UIInteractive changes
now uses media/buttons_states.png (don't forget to copy over the new media)
added property autoRefreshText to update text elements when their text properties are changed
automatically updates message (UIText element) when text property changed
now properly discards inner edges, instead of outer, when options.discardEdgesInner === true
now properly ignores climbables when options.ignoreClimbables === true
now properly ignores one ways when options.ignoreOneWays === true
sortByDistance much more accurate, slightly less performant
pathfinding greatly improved for slopes (thanks @afflicto for finding), around walls, and entities
fixed pathfinding bug that was finding paths through unwalkable areas
fixed pathfinding bug that was randomly delaying characters from finding paths (thanks @Pattentrick for finding)
pathfinding should be much smoother as characters no longer make small unnecessary adjustments (thanks @Pattentrick for finding)
getNodeAt renamed getGridNode
getWorldNodeAt renamed getNode (to be more inline with ImpactJS)
isPointInGrid renamed isGridPointInGrid
isWorldPointInGrid renamed isPointInGrid
isWalkableAt renamed isGridWalkable
isWorldWalkableAt renamed isWalkable
getWalkableNodeAt renamed getGridWalkableNode
getWorldWalkableNodeAt renamed getWalkableNode
getWorldWalkableNodeChain renamed getWalkableNodeChain
ig.pathfinding.Node renamed ig.PathNode
pathfinding node's parent renamed prevNode
removed pauseSignaller, paused instead through entity pause method
You can’t perform that action at this time.