IDE:
- added
* The fill option contiguous has been added to the map editor when filling with regions
* ctrl+shift+z will now redo in the map editor and icon editor
* the Join Server feature in the offline IDE will now save your last input each time you open the project
* A basic exe can now be made in the offline IDE for projects
- fixed
* copy/paste/select all should now work when editing an interface element variable in the interface editor
* interface elements with float scales should now properly scale in the interface editor
* editing atlasName, iconName, and iconState variables in the interface editor should now save
* selected areas in the icon editor will no longer duplicate when changing between icons
* opening an icon atlas for the first time should now display the frames of the first icon correctly
* selecting random state in the map editor should now work properly when used on empty tiles
* for (init; condition; expression, extra expression) will no longer throw a build error
* renaming an open tab should now update the file list name display
* Export All and Export Folder now works properly for custom files
Engine:
- added
* new Icon.createSprite(pAtlas, pIcon, pState, pFrame) function which returns a new sprite with a texture using the specified icon data
* new Icon.createGraphics() function which returns a special graphics sprite
* new Client.refreshInterface(pPlane) function which refreshes all interfaces on pPlane plane
* resolution property added to textStyle that lets you pick the pixel resolution for the text
* resolution property added to screenView that lets you pick the pixel resolution for the entire game
* alpha property added to textStyle which determines the alpha of the text
* new Math.remap(pVal, pLow1, pHigh1, pLow2, pHigh2) function that remaps value ranges
* new World/preventAutoHost variable that can be set to true to prevent the server from automatically hosting when running the server
* new World.hostServer(pPort) function which can be called to manually host the server
* new Diob.getScreenPos(pO) function which grabs the position of the diob on the screen on the client side
* input type interface elements can now use placeholder and tabIndex properties for textStyle
* new Client/onChunkShow(pChunk) event function called when a chunk enters view
* new Client/onChunkHide(pChunk) event function called when a chunk leaves view
* new Diob/preventInterest variable which will cause the diob to update and send packets to clients on its map instead of just clients within view
* Movable.moveSettings may now have stepCard set in order to only allow cardinal directions to be set when moving
* Resource.getResourcePath now takes a third pLocal parameter which has it return local path to the resource
* new ease functions added to Diob/setTransition known as elasticIn, elasticOut, elasticInOut, backIn, backOut, backInOut
* new function to create a map from text called Map.createMapFromText(pName, pText, pFunc)
* new World/allowServerTransitions variable that can be set to allow server-side transitions
* new Sound.newSound(pName, pData, pDataType) function for creating new sounds during runtime
* new World.openSteamAPI() function which initializes Steam API when running from an exe and allows calling the API
- changed
* general performance improvements throughout the engine
* moved interface to the same renderer as maps
* Diob/setTransition() can now be used with any numeric variable
* Diob/setTransition() will now instantly set the end value on the server unless World/allowServerTransitions is set
* the pEase argument of Diob/setTransition() can now be a function to use for easing
* Diob/setSpriteData() will now take in textures
* World/pingDelay default value changed from 10000 to 60000
* mouseOpacity 2 for interface elements will now take origin into account
* Client.getInterfaceElementsFromScreen() will now take origin into account
* Client no longer inherits from Diob
* all values defined under Object will now apply to all Objects
* diob.overScreenDraw() now accepts a callback function
* World/onPost now has a fourth argument that is a callback function to be called to return information
* World/onMessage now has a third argument that is a callback function to be called to return information
* Client.removeInterfaceElement(pInterface, pEl, pSave) will now delete the element on removal by default but has a new pSave option
- fixed
* overlays now properly have a default plane of 1
* non-linear transitions should no longer be cut short
* right-click should no longer call onMouseClick twice
* fixed an issue where tiles would not properly load in after changing mapView
* fixed an issue where black lines would appear on the map
* fixed an issue where tile map chunks would not be removed from the screen
* interface element onNew will now properly call before Client/onInterfaceLoaded
* various animations were sometimes getting stuck in memory
* removing invisibility should now allow the diob to be renderable
* Diob.setPattern should now work properly on interfaces
* using diob.getInterfaceName() will no longer throw an error if the diob is not on an interface
* adding an interface element that already exists to an interface will no longer call onNew again
* Sound/onEnded will now have the proper this set
* playing the same sound twice at the same time should now work properly
- added
* The fill option contiguous has been added to the map editor when filling with regions
* ctrl+shift+z will now redo in the map editor and icon editor
* the Join Server feature in the offline IDE will now save your last input each time you open the project
* A basic exe can now be made in the offline IDE for projects
- fixed
* copy/paste/select all should now work when editing an interface element variable in the interface editor
* interface elements with float scales should now properly scale in the interface editor
* editing atlasName, iconName, and iconState variables in the interface editor should now save
* selected areas in the icon editor will no longer duplicate when changing between icons
* opening an icon atlas for the first time should now display the frames of the first icon correctly
* selecting random state in the map editor should now work properly when used on empty tiles
* for (init; condition; expression, extra expression) will no longer throw a build error
* renaming an open tab should now update the file list name display
* Export All and Export Folder now works properly for custom files
Engine:
- added
* new Icon.createSprite(pAtlas, pIcon, pState, pFrame) function which returns a new sprite with a texture using the specified icon data
* new Icon.createGraphics() function which returns a special graphics sprite
* new Client.refreshInterface(pPlane) function which refreshes all interfaces on pPlane plane
* resolution property added to textStyle that lets you pick the pixel resolution for the text
* resolution property added to screenView that lets you pick the pixel resolution for the entire game
* alpha property added to textStyle which determines the alpha of the text
* new Math.remap(pVal, pLow1, pHigh1, pLow2, pHigh2) function that remaps value ranges
* new World/preventAutoHost variable that can be set to true to prevent the server from automatically hosting when running the server
* new World.hostServer(pPort) function which can be called to manually host the server
* new Diob.getScreenPos(pO) function which grabs the position of the diob on the screen on the client side
* input type interface elements can now use placeholder and tabIndex properties for textStyle
* new Client/onChunkShow(pChunk) event function called when a chunk enters view
* new Client/onChunkHide(pChunk) event function called when a chunk leaves view
* new Diob/preventInterest variable which will cause the diob to update and send packets to clients on its map instead of just clients within view
* Movable.moveSettings may now have stepCard set in order to only allow cardinal directions to be set when moving
* Resource.getResourcePath now takes a third pLocal parameter which has it return local path to the resource
* new ease functions added to Diob/setTransition known as elasticIn, elasticOut, elasticInOut, backIn, backOut, backInOut
* new function to create a map from text called Map.createMapFromText(pName, pText, pFunc)
* new World/allowServerTransitions variable that can be set to allow server-side transitions
* new Sound.newSound(pName, pData, pDataType) function for creating new sounds during runtime
* new World.openSteamAPI() function which initializes Steam API when running from an exe and allows calling the API
- changed
* general performance improvements throughout the engine
* moved interface to the same renderer as maps
* Diob/setTransition() can now be used with any numeric variable
* Diob/setTransition() will now instantly set the end value on the server unless World/allowServerTransitions is set
* the pEase argument of Diob/setTransition() can now be a function to use for easing
* Diob/setSpriteData() will now take in textures
* World/pingDelay default value changed from 10000 to 60000
* mouseOpacity 2 for interface elements will now take origin into account
* Client.getInterfaceElementsFromScreen() will now take origin into account
* Client no longer inherits from Diob
* all values defined under Object will now apply to all Objects
* diob.overScreenDraw() now accepts a callback function
* World/onPost now has a fourth argument that is a callback function to be called to return information
* World/onMessage now has a third argument that is a callback function to be called to return information
* Client.removeInterfaceElement(pInterface, pEl, pSave) will now delete the element on removal by default but has a new pSave option
- fixed
* overlays now properly have a default plane of 1
* non-linear transitions should no longer be cut short
* right-click should no longer call onMouseClick twice
* fixed an issue where tiles would not properly load in after changing mapView
* fixed an issue where black lines would appear on the map
* fixed an issue where tile map chunks would not be removed from the screen
* interface element onNew will now properly call before Client/onInterfaceLoaded
* various animations were sometimes getting stuck in memory
* removing invisibility should now allow the diob to be renderable
* Diob.setPattern should now work properly on interfaces
* using diob.getInterfaceName() will no longer throw an error if the diob is not on an interface
* adding an interface element that already exists to an interface will no longer call onNew again
* Sound/onEnded will now have the proper this set
* playing the same sound twice at the same time should now work properly