Jump to content
Eternal Lands Official Forums


  • Content count

  • Joined

  • Last visited

Everything posted by Xaphier

  1. SDL 2.0

    Is here anyone interested in making el compile with SDL 2.0? The main advantage of SDL 2.0 is better OpenGL support (OpenGL 3.0, OpenGL ES, debug context etc.).
  2. SDL 2.0

    Looks like it is stable now, it is also in release candidate modus, with prebuild binraries. Would be nice if someone can help getting it into place for el, since than a full el client for android is not far away.
  3. Next version of EL

    This is the next test version of the el OpenGL 2 client. I won't bore you with technical details, if you are interested, just ask. Things that got changed or are new: Terrain Shadows Animations I did my best to make it run on different systems, minimum OpenGL version needed is 2.1 The sources are "Version Alpha" tag, you can get them from here: https://github.com/x...rnal-Lands/tags There is a new map on the test server. With the el OpenGL 2 client, you will see the new terrain on it. To enter the map, go to the teleporter at IP 112,167 Have fun trying
  4. Next version of EL

    Thanks for the feedback Burn, I will try to commit some fixes for that this week
  5. Next version of EL

    Ok, the OpenMP should now behave when disabled and some other small fixes.
  6. 2 Questions about the coming client

    Thanks Burn, that is exactly what I meant. Sorry for my bad explanation, all the current maps will work without changes, but for the new features, like the 3d terrain etc. there is no automatic conversion.
  7. Next version of EL

    Yes, all the GOMP/omp stuff comes from OpenMP. Ok, will look at that today and hope to fix it
  8. Next version of EL

    Sorry for my late reply, was too busy with RL. Hopefully the segfaults are fixed now, will look into the other problems these days.
  9. 2 Questions about the coming client

    Since the new 3d terrain works totally different, there is no automated conversion from 2d tile based ground to 3d. The new 3d terrain is also not a simple height map for displacing, it is a vector displacement, so overhangs are possible. The maps must all be hand converted because of that, since many small objects are no longer needed. The sources are freely aviable, for binary builds for windows it's best to ask Sir_Odie, since I am busy enough with the coding The old maps all work/can be loaded. The new map format has support for multiple tile levels etc. and there is automatic conversion implemented, so old maps work without problem.
  10. Next version of EL

    Thanks for all the testing. The new IP is only for testing, the walk map is not working, so strange walking stuff has to be expected. The animation of the tree is not final and has some side effects I think I found and fixed the multi threading bug. I still don't know why always OpenMP is used
  11. Sounds interesting, will have a look at it soon. Perhaps it's easier to port to OpenGL 2.x/3.x and OpenGL ES 2.x/3.x
  12. SDL 2.0

    As far as I can see, there is no problem using SDL_net with SDL 2.0
  13. Android client

    Would be nice to see the el code able to compile with SDL 2.0 and SDL 1.2
  14. Android client

    Porting from OpenGL to OpenGL ES is not trivial. First, you need different function for context creation. Second, only using OpenGL ES 2.0 or newer is a wise move for el, because the similarities between OpenGL 2.x/3.x and OpenGL ES 2/3 are big enough to make the game look similar. The problem is, OpenGL ES 2.0 does not support any fixed function stuff, so all old OpenGL 1.x stuff needs to go. For the el2 client, this is done for nearly all 3d parts, only the sky is not ported, but will be done hopefully soon The GUI and the font rendering need a total rewrite to work for OpenGL 3.1+ core profiles or OpenGL ES 2.x and this is some work, but I don't know when I have time for that. So, it is unlikely that there will be an el client for OpenGL ES this year
  15. android client?

    yes, thinking on it. I hope to get the el 2 client working for android, but first I need to finish it. Than I can check it's compatibility for OpenGL ES 2.0 (should be no problem) and than I can look at the android specific parts.
  16. zlib problems with compiling EL (patch)

    Hopefully I found a working fix for everyone, is in sources now for current el client and the new opengl 2 one
  17. cpu load yesterday vs today

    Thanks and merged
  18. I made a small patch for SDL-1.2.15 so it creates and OpenGL 3.3 debug context (or a normal OpenGL context if it fails with the other one). The debug context is useful, because you can use GL_ARB_debug_output (the el 2 client use it) to get much better OpenGL errors. diff -dur src-orig/video/x11/SDL_x11gl.c src/video/x11/SDL_x11gl.c --- src-orig/video/x11/SDL_x11gl.c 2012-01-19 07:30:06.000000000 +0100 +++ src/video/x11/SDL_x11gl.c 2012-06-07 22:11:20.942600730 +0200 @@ -264,10 +264,52 @@ #if SDL_VIDEO_OPENGL_GLX /* We do this to create a clean separation between X and GLX errors. */ - XSync( SDL_Display, False ); - glx_context = this->gl_data->glXCreateContext(GFX_Display, - glx_visualinfo, NULL, True); - XSync( GFX_Display, False ); + XSync(SDL_Display, False); + + GLXContext temp_context = this->gl_data->glXCreateContext(GFX_Display, glx_visualinfo, NULL, True); + + if (!temp_context) + { + SDL_SetError("Could not create GL context"); + return(-1); + } + else + { + int attribs[] = { + GLX_CONTEXT_MAJOR_VERSION_ARB, 3, + GLX_CONTEXT_MINOR_VERSION_ARB, 3, + GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB, + GLX_CONTEXT_FLAGS_ARB, GLX_CONTEXT_DEBUG_BIT_ARB, + 0 + }; + + //Get a pointer to the context creation function for GL 3.0 + PFNGLXCREATECONTEXTATTRIBSARBPROC glXCreateContextAttribs = (PFNGLXCREATECONTEXTATTRIBSARBPROC)glXGetProcAddress((GLubyte*)"glXCreateContextAttribsARB"); + if (!glXCreateContextAttribs) + { + SDL_SetError("GL 3.x is not supported"); + glx_context = temp_context; + } + else + { + //Create a GL 3.0 context + GLXFBConfig *framebuffer_config = NULL; + int fbcount = 0; + framebuffer_config = glXChooseFBConfig(GFX_Display, DefaultScreen(GFX_Display), NULL, &fbcount); + if (!framebuffer_config) + { + SDL_SetError("No good framebuffers found. GL 3.0 disabled"); + glx_context = temp_context; + } + else + { + glx_context = glXCreateContextAttribs(GFX_Display, framebuffer_config[0], NULL, True, attribs); + glXDestroyContext(GFX_Display, temp_context); + } + } + } + + XSync(SDL_Display, False); if ( glx_context == NULL ) { SDL_SetError("Could not create GL context");
  19. Next version of EL

    The health-/mana bar & actor names are too dark, yes. I was not able to fix that, had also other stuff to fix with higher priority . You can enable and than disable poor man every time you start the client as a work around for now.
  20. Next version of EL

    Hopefully option N & L in a few days Short answer: yes
  21. Next version of EL

    The el OpenGL 2 client loads data also from the el-config-dir/updates/data so you can place files there without mixing stuff with the normal el client. For *nix, this is ~/.elc/updates/data The data files needed are in the repository in the dir data Because the glm library had a few bugs, the version is now needed gcc-4.6 is tested and works, gcc-4.7 and clang 3.0/3.1 don't work. I hope to get that fixed. Fixed now, tested with gcc-4.7 and clang 3.1 send log files to: el.3d.source@googlemail.com
  22. New logging

    The current git version has more logging and better control of what is logged. Now have have: error warning info debug debug_verbose as log levels. The log levels can be changed also per command line, using: --log_level=error|warning|info|debug|debug_verbose -ll=e|w|i|d|dv or setting the log level to debug_verbos with --debug There is also now a new FEATURE RELEASE_MODE. When used, default logging is set to info, else debug_verbose is used. Only information is logged if the log level of the information is equal of lower than the general log level. That mean, everything is logged at log level debug_verbose and only errors at log level error
  23. Doing a readme.txt in Git

    Perhaps groomsh planed to make more build info file or it was too late when it was added. I changed to to INSTALL.TXT, thanks
  24. Doing a readme.txt in Git

    Groomsh added a BUILD.ubuntu file explaining how to build the client, should work for most debian systems.
  25. Apitrace

    Apitrace is a nice tool to trace and replay the OpenGL stream. It can help to simplify testing a lot, because it is possible to inspect the stream and replay it on a different system. That means we can test many OpenGL rendering features on different systems without the need of an el client & el client data. Anyone interested? Apitrace website: https://github.com/apitrace/apitrace/ Windows binaries: https://github.com/a...trace/downloads Sources that are compatible to the windows binaries: https://github.com/a...e/apitrace/tags PS: An apitrace of the current OpenGL 2 el client with some grass (Needs OpenGL 3.3 this trace): http://dl.dropbox.com/u/25835928/el_client.trace.xz