-
Notifications
You must be signed in to change notification settings - Fork 123
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 window handling to its own class #121
Conversation
The following functionality should be tested:
|
@@ -957,8 +761,8 @@ Renderable *GraphicsManager::getGUIObjectAt(float x, float y) const { | |||
return 0; | |||
|
|||
// Map the screen coordinates to our OpenGL GUI screen coordinates | |||
x = x - (_width / 2.0f); | |||
y = (_height - y) - (_height / 2.0f); | |||
x = x - (WindowMan.getWindowWidth() / 2.0f); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor nitpick here: space alignment not needed anymore.
f402d7e
to
9655ff0
Compare
7e25e0c
to
a94e480
Compare
574e02a
to
b506023
Compare
fdc595f
to
087d7e2
Compare
1c99378
to
b737800
Compare
af0e96a
to
cec7176
Compare
Yeah, this looks good, IMHO. I like it. I especially like the use of an enum for the renderer type; that's probably what I should have done in the first place, yes. Two things I noticed (but are not a fault of your code, just general observations for the TODO list):
Do you want this to be merged now or should this wait for after @mirv-sillyfish's stuff? #123 rebases cleanly (with an automatic 3-way merge) on top of this change, but then needs a little fix in graphics.cpp to replace _width/_height by WindowMan.getWindowWidth()/WindowMan.getWindowHeight() to make it compile again. |
This class does a few things differently to their current implementation in GfxMan. Notably it fixes the following flaws in the current implementation: * Switching from FS to windowed mode didnt work * Resolution switching in FS mode didnt work * Max FSAA level would always be determined to be 16x * Error handling was missing or wrong
Merged with 287d2d8..812b1af. Thanks! :) I did, however, remove the SDL_WINDOW_RESIZABLE flag since it's currently not working anyway. I added "Let the user resize the xoreos window" as a TODO. If you have a working implementation, please do a PR for it. I'm really not sure how well it'll work though, what with OpenGL needing to be recreated for every change, but yeah, if I see it working, sure. Also note that Sonic, as a Nintendo DS game, is inherently fixed-size. Currently, the engine code even overrides a user config choice there. In the future, we might add something to scale the 2D images? But even that would probably work best in full integer steps. So an engine might explictly want to disable user scaling. I also added two issues, #131 (boundbox displacement while changing FSAA) and #132 (borked fullscreen resolution change, and added the progress bar thing as another TODO. |
No description provided.