Jump to content
Eternal Lands Official Forums
snoops

800x480 resolution

Recommended Posts

I play el on my eeepc, and I was wondering if there is any way to get it to run at 800x480, or is that something that has to be programmed into the client?
Wow, EL works on and eeepc all the more reason to get one! :whistle: A new resolution has to be programmed into the client, however, the code change is relatively simple. A recent patch added 1400x1050 so a new patch could be based on that. If you can make and test a patch yourself, go ahead and submit it. Someone else could add the resolution but might be unable to test the full-screen mode at least. In any case, you might want to re-post to the programming forum.

 

I have made the additions to the neccessary files, compiled and tested and it works beautifully.

Only thing is, I don't know where to start to make a patch.

Is it worth me figuring that out, or is someone already working on a custom resolution patch?

IMO that would be better, I would give it a shot but it is too much for my limited C abilities.

Share this post


Link to post
Share on other sites
I have made the additions to the neccessary files, compiled and tested and it works beautifully.

Only thing is, I don't know where to start to make a patch.

Assuming that you obtained the client via CVS, then run "cvs update" (to make sure you have the most up-to-date copy of everything) and finally "cvs diff -u" to make the patch. Save the output of the diff as a .patch file or .diff and add it to the Berlios patches.

 

If you post here when you have done it one of us dev's will take a look at it when we get the chance.

Share this post


Link to post
Share on other sites
Assuming that you obtained the client via CVS, then run "cvs update" (to make sure you have the most up-to-date copy of everything) and finally "cvs diff -u" to make the patch. Save the output of the diff as a .patch file or .diff and add it to the Berlios patches.

 

Thanks

 

If you post here when you have done it one of us dev's will take a look at it when we get the chance.

 

It is done

Share this post


Link to post
Share on other sites
If you post here when you have done it one of us dev's will take a look at it when we get the chance.

It is done

Generally, people post a link to the patch to make it easy to find, but its all good. The patch can be found here: https://developer.berlios.de/patch/?func=de...p;group_id=1256

 

Looks good to me. (I haven't tested it however).

Share this post


Link to post
Share on other sites

I'll start working on a patch which keeps the most of the settings in one array to get rid of the massive case-switches. I think the current solution is very error prone when adding new dimensions.

Share this post


Link to post
Share on other sites
I'll start working on a patch which keeps the most of the settings in one array to get rid of the massive case-switches. I think the current solution is very error prone when adding new dimensions.

Agreed. That's a great idea. Thanks.

Share this post


Link to post
Share on other sites

Some windowed videomodes are adjusted and some are not. Can someone tell my why?

 

		   video mode				adjusted   difference
{ 640,  480, 32, { 0, 0}}, /*  2 */  640x480   0,0
{ 800,  600, 32, { 0, 0}}, /*  4 */  780x550   20,50
{1024,  768, 32, { 0, 0}}, /*  6 */  990x720   34,48
{1152,  864, 32, { 0, 0}}, /*  8 */ 1070x785   82,79
{1280, 1024, 32, { 0, 0}}, /* 10 */ 1250x990   30,34
{1600, 1200, 32, { 0, 0}}, /* 12 */ 1600x1200  0,0
{1280,  800, 32, { 0, 0}}, /* 14 */ 1240x780   40,20
{1440,  900, 32, { 0, 0}}, /* 16 */ 1420x810   20,90
{1680, 1050, 32, { 0, 0}}, /* 18 */ 1620x950   60,100
{1400, 1050, 32, { 0, 0}}, /* 20 */ 1400x1050  0,0

Edited by ago

Share this post


Link to post
Share on other sites
Some windowed videomodes are adjusted and some are not. Can someone tell my why?

 

		   video mode				adjusted   difference
{ 640,  480, 32, { 0, 0}}, /*  2 */  640x480   0,0
{ 800,  600, 32, { 0, 0}}, /*  4 */  780x550   20,50
{1024,  768, 32, { 0, 0}}, /*  6 */  990x720   34,48
{1152,  864, 32, { 0, 0}}, /*  8 */ 1070x785   82,79
{1280, 1024, 32, { 0, 0}}, /* 10 */ 1250x990   30,34
{1600, 1200, 32, { 0, 0}}, /* 12 */ 1600x1200  0,0
{1280,  800, 32, { 0, 0}}, /* 14 */ 1240x780   40,20
{1440,  900, 32, { 0, 0}}, /* 16 */ 1420x810   20,90
{1680, 1050, 32, { 0, 0}}, /* 18 */ 1620x950   60,100
{1400, 1050, 32, { 0, 0}}, /* 20 */ 1400x1050  0,0

From what I know, the history is that the adjustment is supposed to make the window with header & borders fit on a screen of the size specified. The amouont of the adjustment needed could vary depending on the persons settings that was putting it together. Other people didn't put in an adjustment ignoring the fact that the window would be larger then that size screen when it gets displayed. This is also made worse by different windows settings (like keeping the Start bar always on top, double height start bar, etc) that is being used.

 

Remember that the openGL size you request is the size within the window, not the size of the window.

Share this post


Link to post
Share on other sites

Ouch. So that makes it really difficult. There a zillions of X11 window managers out there with different decoration, the Windows theming engine can set different borders. Let's see if I can find a nice offset that is working for most people

Share this post


Link to post
Share on other sites
Ouch. So that makes it really difficult. There a zillions of X11 window managers out there with different decoration, the Windows theming engine can set different borders. Let's see if I can find a nice offset that is working for most people

We don't have to cover all of them, but atleast the default and/or common settings under windows should allow the window to fit.

Share this post


Link to post
Share on other sites

Awesome, thanks.

 

Just one thing (feel free to smack me if i start to sound too needy)

I run el in windowed mode and use alt+f11 in icewm to remove window borders, thus allowing me to have a "full-screen" el and retain the ability to alt-tab, switch desktops etc.

Now I have 55 pixels of wasted height

 

would it be possible to:

 

Have an option to turn off adjustment

or

Get the adjustment amount from the ini file

or

If i were to edit the code to set the adjustment to 0 may I have permission to run said modified client on the main server?

Share this post


Link to post
Share on other sites

I'll add an option to turn off the adjustment and for Windows I'll add code to calculate the adjustment from the real window borders and the task bar and stuff

Share this post


Link to post
Share on other sites
Also, it would be nice to have an 1024x600 mode, for the new netbooks out there.

 

1024x600 video modes patch

 

video mode adjustment changes

The changes include:

- video mode adjustment can be disabled

These are only for Windows:

- adjust for correct window decorations

- adjust to work area (exclude the taskbar and stuff)

- move the window if the new size would place parts of the window off screen

Share this post


Link to post
Share on other sites

I just modified the patch because it did not compile cleanly with gcc (I tested with VC only. Shame on me)

 

Additional changes:

- Fixed undeclared __max

- MonitorFromPoint is not available with w32api. Using MonitorFromWindow(NULL) instead

- MonitorFromWindow is only declared if target Windows version is Windows 98 or above

Share this post


Link to post
Share on other sites
Ouch. So that makes it really difficult. There a zillions of X11 window managers out there with different decoration, the Windows theming engine can set different borders. Let's see if I can find a nice offset that is working for most people

I know we already have too many options but how about making the border adjustment user definable. The new size for 1280x1024 does not fit the way I have panels on-screen as nicely as the old adjustment which is a bit annoying. I'm using Gnome on Linux BTW. Alternatively, someone else once suggest a fully user definable window size. That would be really useful.

Share this post


Link to post
Share on other sites
Alternatively, someone else once suggest a fully user definable window size. That would be really useful.

 

Why not add a user defined resolution?

Somebody actually might want 943x733 pixels ...

That's what I meant too! ;)

Share this post


Link to post
Share on other sites

Hm, I could add mode "0" as "userdefined" and add two more options for width and height.

 

I'd enable that mode for windowed mode only because selecting arbitrary numbers for full screen mode will not work in all cases and this could make life for regular users to difficult.

Plus I'd need to specify the bpp too :omg:

 

I'll also add code to place the initial window completly onscreen.

 

About the Windows98 thing: Do I have to put work into a Windows 95 compatibility? Or is that OS now unsupported?

 

And a last note: On my notebook I have frequent crashes in glDraw(Ranged)Elements on resizes if the Compile Vertex Array and/or the Vertex Buffer Objects are switched on. It works fine if they are off. I'd try to disable those options on screen resizes and turn them back on later but I've no clue if this could work or not. Is there anyone who's worked with th VBO code who can tell me if it is worth a try?

Edited by ago

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×