More updates are here!
Worked a bit on the engine. When using client.topScreenDraw or diob.overScreenDraw you can now use the settings 'composite' and 'alpha' where alpha, which determines how visible the thing being drawn is, is a value between 0 and 1 and composite, which determines how the item being drawn will be drawn, can be the following: source-over, source-atop, source-in, source-out, destination-over, destination-atop, destination-in, destination-out, lighter, copy, xor, multiply, screen, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, hue, saturation, color, luminosity. Also added the options 'strokeRect', 'clearRect', 'fillPath, and 'strokePath'; see the documentation for more information on them. And you can now give new top screens a settings object which determines how things work. Currently the only setting is scaleNearest which you can also learn about in the documentation.
Added a new client-side only diob event function called diob.onScreenRelocated(pClient) for when a diob that is on the screen changes position. And diob.onScreenRender(pClient) which is called on the client-side every time the screen is drawn.
Added a new color system to the engine. All diobs now have a color variable which can be set to a hex, rgb, rgba, or color matrix value to add a color filter to the appearance of the diob. There is also now a client.color variable which applies a color filter in the same way, but to the entire screen. Also added a diob.setAppearance(pDiob) function which allows you to pass another diob (or a basic object with certain variables) in to change multiple appearance-related variables of the main diob to match the passed in diob. See the documentation for more information.
Redesigned the way tiles are handled by the engine which greatly improves performance of the game when the screen is not moving. Single screen games will benefit the most. I have even more plans to improve performance by improving the tile system, but for now this is a step in the right direction.
Added a new client-side only client function called client.getWebTag(pID) that lets you grab a reference to a web tag so you can mess with it using VS code.
Also added a client overlay system. You can add overlays to a client like any other diob and those overlays will always appear on the screen. You can offset them with xPos and yPos, along with all other overlays now.
Added a new plane system which allows you to put diobs on planes together to have them drawn in the groups as well as a composite variable which determines how the diobs are drawn. See the documentation for more information.
Polished up the general style around the website a bit.
Spent a good week and many hours working on a standalone IDE with offline capabilities. Hopefully I will have it done soon.
Stay tuned for more updates!
Worked a bit on the engine. When using client.topScreenDraw or diob.overScreenDraw you can now use the settings 'composite' and 'alpha' where alpha, which determines how visible the thing being drawn is, is a value between 0 and 1 and composite, which determines how the item being drawn will be drawn, can be the following: source-over, source-atop, source-in, source-out, destination-over, destination-atop, destination-in, destination-out, lighter, copy, xor, multiply, screen, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, hue, saturation, color, luminosity. Also added the options 'strokeRect', 'clearRect', 'fillPath, and 'strokePath'; see the documentation for more information on them. And you can now give new top screens a settings object which determines how things work. Currently the only setting is scaleNearest which you can also learn about in the documentation.
Added a new client-side only diob event function called diob.onScreenRelocated(pClient) for when a diob that is on the screen changes position. And diob.onScreenRender(pClient) which is called on the client-side every time the screen is drawn.
Added a new color system to the engine. All diobs now have a color variable which can be set to a hex, rgb, rgba, or color matrix value to add a color filter to the appearance of the diob. There is also now a client.color variable which applies a color filter in the same way, but to the entire screen. Also added a diob.setAppearance(pDiob) function which allows you to pass another diob (or a basic object with certain variables) in to change multiple appearance-related variables of the main diob to match the passed in diob. See the documentation for more information.
Redesigned the way tiles are handled by the engine which greatly improves performance of the game when the screen is not moving. Single screen games will benefit the most. I have even more plans to improve performance by improving the tile system, but for now this is a step in the right direction.
Added a new client-side only client function called client.getWebTag(pID) that lets you grab a reference to a web tag so you can mess with it using VS code.
Also added a client overlay system. You can add overlays to a client like any other diob and those overlays will always appear on the screen. You can offset them with xPos and yPos, along with all other overlays now.
Added a new plane system which allows you to put diobs on planes together to have them drawn in the groups as well as a composite variable which determines how the diobs are drawn. See the documentation for more information.
Polished up the general style around the website a bit.
Spent a good week and many hours working on a standalone IDE with offline capabilities. Hopefully I will have it done soon.
Stay tuned for more updates!