#exult@irc.freenode.net logs for 27 Nov 2017 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage

[02:30:18] <-- Dominus has left IRC (Ping timeout: 260 seconds)
[02:30:29] --> Dominus has joined #exult
[02:30:30] --- ChanServ gives channel operator status to Dominus
[02:47:47] <-- Dark-Star has left IRC (Ping timeout: 246 seconds)
[03:12:30] --> Dark-Star has joined #exult
[06:54:23] --> ttarrant has joined #exult
[09:02:38] --> michael-kohlhaas has joined #exult
[16:56:56] <Dominus> wjp, if you ever have time to think your way through imagewin, I really need help :)
[16:56:58] <Dominus> for iOS it would be great to be able to enable HIGHDPI - see https://github.com/litchie/exult-ios/blob/master/ios/SDL2/docs/README-ios.md#notes----retina--high-dpi-and-window-sizes
[16:56:58] <Dominus> Adding SDL_WINDOW_ALLOW_HIGHDPI to our flags in imagewin.cc *does* enable it but our code cannot make use of it.
[16:56:58] <Dominus> With the code folowing tests I can see that a higher value is returned:
[16:57:19] <Dominus> int dw, dh;
[16:57:19] <Dominus> SDL_GL_GetDrawableSize(screen_window, &dw, &dh);
[16:57:19] <Dominus> SDL_GL_GetDrawableSize(screen_window, &dw, &dh);
[16:57:19] <Dominus> cout << "SDL_GL_GetDrawableSize w " << dw << " and " << dh <<std::endl;
[16:57:28] <Dominus> int gw, gh;
[16:57:28] <Dominus> SDL_GetRendererOutputSize(screen_renderer, &gw, &gh);
[16:57:28] <Dominus> cout << "SDL_GetRendererOutputSize w " << gw << " and h " << gh <<std::endl;
[16:58:02] <Dominus> with the HIGHDPI flag SDL_GL_GetDrawableSize w 2001 and 1125
[16:58:03] <Dominus> SDL_GetRendererOutputSize w 2001 and 1125
[16:58:04] <Dominus> without SDL_GL_GetDrawableSize w 667 and 375
[16:58:05] <Dominus> SDL_GetRendererOutputSize w 667 and h 375
[16:58:09] <Dominus> (on an iOS device)
[16:58:57] <Dominus> the Demos in https://github.com/litchie/exult-ios/tree/master/ios/SDL2/Xcode-iOS/Demos/src make use of it but... I'm a t a loss
[16:59:04] <Dominus> at a loss
[17:11:47] <wjp> in which way do you want to make use of it?
[17:48:52] <Dominus> Wjp: so that Exult uses the denser screen. As far as I understand it that return is points but should be double the pixel returned without dpi (or it's the other way round with points/pixels)
[17:50:03] <Dominus> So the useable res would be 1214x750
[17:56:39] <wjp> and nothing happens if you get that 2001x1125?
[18:05:30] <Dominus> I have no clue how to add those in our imagewin code other than that simple stuff to get those returns
[18:05:40] <Dominus> Those cout
[18:06:21] <wjp> I'm a bit surprised it would need anything
[18:10:34] <Dominus> The other code of us that determines available screen resolutions only gives the 667x375
[18:11:29] <Dominus> So it seems that Exult doesn't use the higher res for the actual coordinates
[18:11:54] <wjp> there seems to be an almost complete lack of documentation in SDL about this
[18:12:20] <wjp> but apparently it requires manually getting the "high" resolution, and also manually scaling coordinates in various places
[18:13:07] <Dominus> If I use 1314x750 in the cfg Exult will use that and it looks ok, but the actual game coordinates are 667x375 in the upper left corner
[18:17:16] <Dominus> As I understood other code that uses it, you need to convert the points to pixel again etc...
[18:18:02] <Dominus> google search on github with the allow highdpi flag name ;)
[18:19:14] <Dominus> But apparently no one but use still uses surface - they all use OpenGL and that makes it harder for me to understand
[18:58:46] --> Marzo has joined #exult
[19:30:14] <Dominus> wjp all of those three SDL_GL_GetDrawableSize(screen_window, &w, &h); SDL_GetRendererOutputSize(screen_renderer, &w, &h); SDL_GetWindowSize(screen_window, &w, &h); give the correct useable HighDPI size while SDL_DisplayMode gives the simple size
[19:30:57] <Dominus> the earlier 2001x1125 was because I was running it in the simulator for the iPhone X which has 3 times the simple size
[19:34:41] <ttarrant> Dominus, doesn't it scale it for you ?
[19:36:39] <Dominus> oh, yes it does but I can't use the available screen size. Especially at the normal iphone size you could use at least 2x scaling
[19:44:31] <ttarrant> Dominus, what I don't understand is why you need to specify "highdpi": why can't it just give you the real res right away
[19:45:00] <ttarrant> Dominus, how many "current" iOS devices cannot do highdp?
[19:55:40] <Dominus> Ttarrant: all current ios devices have retina displays
[19:56:01] <Dominus> Iphone 5 upwards
[19:56:03] <Dominus> (Or 4)
[19:57:04] <Dominus> I cannot give the real resolution because Exult's in game coordinates think it's a simple pixel size (667x375)
[19:57:47] <Dominus> If I use the real size it looks ok but coordinates do not match what you see
[20:00:10] <Dominus> So while Exult looks 1134x750, everything is in a 667x375 rectangle located at the upper left of the screen.
[20:00:23] <Dominus> Can't describe it better ;)
[20:01:09] <Dominus> It would be nice for OS X Retina displays as well ;)
[20:01:30] <Dominus> (And eventually for other OS running on a retina display)
[20:02:09] <ttarrant> Dominus, like my 4k screen
[20:02:19] <Dominus> Yes
[20:02:54] <ttarrant> Dominus, not a big fan of the "retina" term :)
[20:03:05] <Dominus> He he
[20:03:29] <Dominus> Yes, it's an odd term
[20:04:32] <ttarrant> Dominus, ideally, the actual resolution of the display should be unimportant: it should be a hardware-scaled surface
[20:05:16] <Dominus> Ideally ;)
[20:17:53] <-- RadoS has left IRC (Ping timeout: 240 seconds)
[20:18:10] --> RadoS has joined #exult
[20:21:44] <-- ttarrant has left IRC (Quit: Leaving)
[20:44:36] <-- michael-kohlhaas has left IRC (Remote host closed the connection)
[22:04:11] <-- Marzo has left IRC (Ping timeout: 246 seconds)
[23:14:37] <-- Lightkey has left IRC (Ping timeout: 240 seconds)
[23:15:43] <-- Dark-Star has left IRC (Ping timeout: 255 seconds)
[23:22:34] --> Dark-Star has joined #exult
[23:27:57] --> Lightkey has joined #exult