New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds Background/Sprite transparent property to Proto2ES #1279

Closed
wants to merge 1 commit into
base: master
from

Conversation

Projects
None yet
2 participants
@RobertBColton
Copy link
Member

RobertBColton commented Jun 12, 2018

This is just one of many ways in which this can be addressed, so don't go merging this all willy nilly without thinking about it. Anyway, the stance this pull request takes is: "yes, we are going to support the transparent option even though GMS deprecates it and uses PNG." If we were not going to support it, this pull request would instead remove the transparency only for GMK projects (since EGM/GMX/YYP all use png).

After thinking a lot about this, I decided to do it this way and see what people think. The feature does make it easier to make a game using retro spritesheets, or if the user really does want, to continue using old image formats that do not support transparency (for better compression). We don't even have to support this in the UI either, this is just the easiest way to implement this functionality in a single place for what I am calling our new "asset pipeline" in Proto2ES. What bothers me however, is that we duplicate this logic as well as a lot of image reading logic, I am now discovering, in the engine for sprite_add and loading sprites from the exe. I am talking about how sprites remove their transparency with sprite_add ex post facto, which is less efficient than just doing it when reading the sprite.

Regardless, here's some examples of the feature working with emake games now (yes the monsters chase you in the FPS game now too, that was fixed in #1218).
FPS Example With Transparent Support
Platform Engine With Transparent Support
Game of Life With Transparent Support
Destructible Blocks With Transparent Support

@codecov

This comment has been minimized.

Copy link

codecov bot commented Jun 12, 2018

Codecov Report

Merging #1279 into master will increase coverage by <.01%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1279      +/-   ##
==========================================
+ Coverage      11%   11.01%   +<.01%     
==========================================
  Files         166      166              
  Lines       17283    17283              
==========================================
+ Hits         1902     1903       +1     
+ Misses      15381    15380       -1
Impacted Files Coverage Δ
ENIGMAsystem/SHELL/Platforms/xlib/XLIBmain.cpp 30% <0%> (+1%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 624d84c...965943e. Read the comment docs.

@faissaloo

This comment has been minimized.

Copy link
Contributor

faissaloo commented Jun 12, 2018

Since GMX deprecates rather than removing we should use this solution because it ensures compatibility and I find disabling an option that still functions based on file format to be kind of janky.

@RobertBColton

This comment has been minimized.

Copy link
Member

RobertBColton commented Oct 20, 2018

Ok, Josh doesn't want to continue supporting this forever, so I am going to redo this pull request on latest master with the same fix in the GMK reader only.

@RobertBColton RobertBColton deleted the proto-transparent-fix branch Oct 20, 2018

@RobertBColton

This comment has been minimized.

Copy link
Member

RobertBColton commented Oct 20, 2018

To clarify: Josh wants to bring transparency back later for egm using a KNN algorithm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment