Skip to content
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

Move screen::Screen into Umbra as UmbraScreen #19

Open
odiminox opened this issue Nov 1, 2022 · 2 comments
Open

Move screen::Screen into Umbra as UmbraScreen #19

odiminox opened this issue Nov 1, 2022 · 2 comments

Comments

@odiminox
Copy link
Contributor

odiminox commented Nov 1, 2022

A useful generic helper class. The only treeburner specific code relates to method TCODImage* loadChapterPicture(bool big = false); and is only used by screen/end.cpp where it can be moved into

@odiminox odiminox changed the title Refactor screen::Screen into Umbra as UmbraScreen Move screen::Screen into Umbra as UmbraScreen Nov 1, 2022
@HexDecimal
Copy link
Contributor

I see what you mean, but there are still some issues I'd like to clear up. UmbraScreen would be redundant. Anything in the umbra:: namespace won't need an Umbra prefix. Also:

  • Screen needs to be changed to use SDL for events.
  • Permissions with these classes should be cleared up. There's a lot of weird stuff going on. I'd like to consult the C++ Core Guidelines on how to handle class permissions here.

@HexDecimal
Copy link
Contributor

Looking more closely at Screen the less I like the idea of porting it to Umbra. The internals are messy and the protected variables have leaked everywhere.

Pictures are hard-coded into Screen and there's a complicated fading system which has a lot of parts exposed. The fade system is probably fixable by making a public interface to the internal variables and then making those private.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants