Jump to content
Eternal Lands Official Forums
Xaphier

OpenGL 2

Recommended Posts

After a lot of RL trouble and no Internet at home, I had now enough time to push a newer version of the OpenGL 2 client to github. Lots of code changes, many new features and hopefully less bugs. The main improvements are:

  • Supported are the plain old depth shadow maps using GL_EXT_framebuffer_object
  • Exponential Shadow Maps (ESM), because they can be filtered. OpenGL 3 hardware is needed for that.
  • Parallel Split Shadow Maps (PSSM), splitting the view range and using a shadow map for every split. Only used for ESM and also needs OpenGL 3 hardware, because texture arrays are used.
  • Filtering of the Shadow Maps to reduce noise and make the shadows smoother. Works only with ESM
  • Anti aliasing Shadow Maps, works only with ESM shadow maps and uses the hardware MSAA to make the shadows smoother.
  • Using a "shader builder" to generate the needed shaders at runtime. The shader source is than optimized using glsl-optimizer, because without that, too many driver crash, produce bad code or find some other excuse to not work
  • Improved static instancing, running much faster now and using multiple treads when compiled with OpenMP support
  • Improved state tracking to reduce OpenGL state changes
  • Support for Vertex Array Objects (VAO)

Hopefully you have fun trying it ;)

 

Source is at: https://github.com/xaphier/Eternal-Lands

Edited by Xaphier

Share this post


Link to post
Share on other sites

uhm how do I build on windows now?

 

do I need to fix the Makefile.win or is there a solution using cmake (which doesn't come with MinGW)?

It should work with MinGW & cmak. http://nuwen.net/mingw.html is a good mingw distro with most libs needed for the client. GLM is a header only library you get from here: http://glm.g-truc.net/

Edited by Xaphier

Share this post


Link to post
Share on other sites

Managed to start building (thanks Sir_Odie)

 

but got compile errors:

/engine/glsl_optimizer/mesa/main/dd.h:1015:22: Fehler: expected »)« before »ArrayElement«

/engine/glsl_optimizer/mesa/main/dd.h:1016:22: Fehler: expected »)« before »Color3f«

/engine/glsl_optimizer/mesa/main/dd.h:1017:22: Fehler: expected »)« before »Color3fv«

/engine/glsl_optimizer/mesa/main/dd.h:1018:22: Fehler: expected »)« before »Color4f«

/engine/glsl_optimizer/mesa/main/dd.h:1019:22: Fehler: expected »)« before »Color4fv«

...

seems GLAPIENTRYP is defined nowhere

Share this post


Link to post
Share on other sites

Hmm seems to fail compile :/

 

Scanning dependencies of target el_client
[ 65%] Building CXX object CMakeFiles/el_client.dir/sendvideoinfo.cpp.o
[ 65%] Building CXX object CMakeFiles/el_client.dir/eye_candy_wrapper.cpp.o
[ 65%] Building CXX object CMakeFiles/el_client.dir/user_menus.cpp.o
[ 65%] Building CXX object CMakeFiles/el_client.dir/quest_log.cpp.o
[ 66%] Building CXX object CMakeFiles/el_client.dir/achievements.cpp.o
[ 66%] Building CXX object CMakeFiles/el_client.dir/cal3d_wrapper.cpp.o
[ 66%] Building CXX object CMakeFiles/el_client.dir/context_menu.cpp.o
[ 66%] Building CXX object CMakeFiles/el_client.dir/optimizer.cpp.o
[ 67%] Building CXX object CMakeFiles/el_client.dir/elloggingwrapper.cpp.o
[ 67%] Building CXX object CMakeFiles/el_client.dir/engine.cpp.o
In file included from /home/xxx/Downloads/elcgl2/Eternal-Lands/engine/materialdescription.hpp:16:0,
                from /home/xxx/Downloads/elcgl2/Eternal-Lands/engine.cpp:29:
/home/xxx/Downloads/elcgl2/Eternal-Lands/engine/shader/shadertextureutil.hpp:15:29: fatal error: prerequisites.hpp: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/el_client.dir/engine.cpp.o] Error 1
make[1]: *** [CMakeFiles/el_client.dir/all] Error 2
make: *** [all] Error 2

 

Any idea ?

Share this post


Link to post
Share on other sites

Hmm seems to fail compile :/

 

Scanning dependencies of target el_client
[ 65%] Building CXX object CMakeFiles/el_client.dir/sendvideoinfo.cpp.o
[ 65%] Building CXX object CMakeFiles/el_client.dir/eye_candy_wrapper.cpp.o
[ 65%] Building CXX object CMakeFiles/el_client.dir/user_menus.cpp.o
[ 65%] Building CXX object CMakeFiles/el_client.dir/quest_log.cpp.o
[ 66%] Building CXX object CMakeFiles/el_client.dir/achievements.cpp.o
[ 66%] Building CXX object CMakeFiles/el_client.dir/cal3d_wrapper.cpp.o
[ 66%] Building CXX object CMakeFiles/el_client.dir/context_menu.cpp.o
[ 66%] Building CXX object CMakeFiles/el_client.dir/optimizer.cpp.o
[ 67%] Building CXX object CMakeFiles/el_client.dir/elloggingwrapper.cpp.o
[ 67%] Building CXX object CMakeFiles/el_client.dir/engine.cpp.o
In file included from /home/xxx/Downloads/elcgl2/Eternal-Lands/engine/materialdescription.hpp:16:0,
            	from /home/xxx/Downloads/elcgl2/Eternal-Lands/engine.cpp:29:
/home/xxx/Downloads/elcgl2/Eternal-Lands/engine/shader/shadertextureutil.hpp:15:29: fatal error: prerequisites.hpp: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/el_client.dir/engine.cpp.o] Error 1
make[1]: *** [CMakeFiles/el_client.dir/all] Error 2
make: *** [all] Error 2

 

Any idea ?

 

Ok, Hussam had the same problem like you groomsh and he just started the build process again and than it worked. I have no idea why it failed the first time for him.

 

Managed to start building (thanks Sir_Odie)

 

but got compile errors:

/engine/glsl_optimizer/mesa/main/dd.h:1015:22: Fehler: expected »)« before »ArrayElement«

/engine/glsl_optimizer/mesa/main/dd.h:1016:22: Fehler: expected »)« before »Color3f«

/engine/glsl_optimizer/mesa/main/dd.h:1017:22: Fehler: expected »)« before »Color3fv«

/engine/glsl_optimizer/mesa/main/dd.h:1018:22: Fehler: expected »)« before »Color4f«

/engine/glsl_optimizer/mesa/main/dd.h:1019:22: Fehler: expected »)« before »Color4fv«

...

seems GLAPIENTRYP is defined nowhere

Hm, will look at it

Share this post


Link to post
Share on other sites

I am getting this crash:

[Thread 0x7fffec582700 (LWP 22128) exited]
terminate called after throwing an instance of 'eternal_lands::OpenGlException'
 what():  std::exception

Program received signal SIGABRT, Aborted.
0x00007ffff4be63a5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff4be63a5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff4be9b0b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff528ed7d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff528cf26 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff528cf53 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff528d04e in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00000000006e564d in eternal_lands::HardwareBuffer::set_size(eternal_lands::HardwareBufferType, unsigned long, eternal_lands::HardwareBufferUsageType) ()
#7  0x000000000068fa8b in ec::Effect::build_particle_buffer(unsigned long) ()
#8  0x0000000000691977 in ec::EyeCandy::idle() ()
#9  0x0000000000504070 in ec_idle ()
#10 0x00000000005df990 in display_console_handler ()
#11 0x0000000000628c98 in draw_window ()
#12 0x0000000000628f66 in display_windows ()
#13 0x00000000005a929f in draw_scene ()
#14 0x00000000005d2d5d in start_rendering ()
#15 0x00000000004e67f2 in main ()

 

It has something to do with console ... happens randomly when i swotch off console.

Share this post


Link to post
Share on other sites

I am getting this crash:

[Thread 0x7fffec582700 (LWP 22128) exited]
terminate called after throwing an instance of 'eternal_lands::OpenGlException'
 what():  std::exception

Program received signal SIGABRT, Aborted.
0x00007ffff4be63a5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff4be63a5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff4be9b0b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff528ed7d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff528cf26 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff528cf53 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff528d04e in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00000000006e564d in eternal_lands::HardwareBuffer::set_size(eternal_lands::HardwareBufferType, unsigned long, eternal_lands::HardwareBufferUsageType) ()
#7  0x000000000068fa8b in ec::Effect::build_particle_buffer(unsigned long) ()
#8  0x0000000000691977 in ec::EyeCandy::idle() ()
#9  0x0000000000504070 in ec_idle ()
#10 0x00000000005df990 in display_console_handler ()
#11 0x0000000000628c98 in draw_window ()
#12 0x0000000000628f66 in display_windows ()
#13 0x00000000005a929f in draw_scene ()
#14 0x00000000005d2d5d in start_rendering ()
#15 0x00000000004e67f2 in main ()

 

It has something to do with console ... happens randomly when i swotch off console.

Ok, I hope I have now fixed all the windows compilation problems, some other bugs because of uninitialized vars and hopefully your crash groomsh. All in git now

Share this post


Link to post
Share on other sites

What client runtime files need to/should be copied to EL data dir from the git clone?

I assume the following directories?:

 

actor_defs

animations

languages (why?)

shaders

 

(see 'EDIT2' for why stuff got striked through)

 

 

EDIT:

[korrode@legion el-ogl2]$ ./el_client 
terminate called after throwing an instance of 'eternal_lands::FileNotFoundException'
 what():  std::exception
Aborted
[korrode@legion el-ogl2]$ gdb el_client 
GNU gdb (GDB) 7.3.1
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /opt/el-ogl2/el_client...(no debugging symbols found)...done.
(gdb) run
Starting program: /opt/el-ogl2/el_client 
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffeec7c700 (LWP 15374)]
[New Thread 0x7fffee47b700 (LWP 15375)]
terminate called after throwing an instance of 'eternal_lands::FileNotFoundException'
 what():  std::exception

Program received signal SIGABRT, Aborted.
0x00007ffff41c5965 in raise () from /lib/libc.so.6
(gdb) bt
#0  0x00007ffff41c5965 in raise () from /lib/libc.so.6
#1  0x00007ffff41c6ddb in abort () from /lib/libc.so.6
#2  0x00007ffff485a88d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#3  0x00007ffff4858a36 in ?? () from /usr/lib/libstdc++.so.6
#4  0x00007ffff4858a63 in std::terminate() () from /usr/lib/libstdc++.so.6
#5  0x00007ffff4858b5e in __cxa_throw () from /usr/lib/libstdc++.so.6
#6  0x00000000006e4ea3 in eternal_lands::FileSystem::get_file(boost::flyweights::flyweight<std::basic_string<wchar_t, std::char_traits<wchar_                  >, std::allocator<wchar_t> >, boost::parameter::void_, boost::parameter::void_, boost::parameter::void_, boost::parameter::void_, boost::para                  eter::void_> const&) ()
#7  0x00000000006e4f36 in eternal_lands::FileSystem::get_file_string(boost::flyweights::flyweight<std::basic_string<wchar_t, std::char_traits                  wchar_t>, std::allocator<wchar_t> >, boost::parameter::void_, boost::parameter::void_, boost::parameter::void_, boost::parameter::void_, boos                  ::parameter::void_> const&) ()
#8  0x000000000052daf5 in load_harvestable_list ()
#9  0x000000000057a976 in init_stuff ()
#10 0x00000000004fc9f7 in main ()
(gdb) 

Some issue loading harvestable list?

 

 

EDIT2:

Ok so, unlike previously, when #data_dir points to a location that doesn't exist, rather than using the working the directory the client crashes out.

 

Also the client was segfaulting if i copied all the directories i listed earlier from the git pull to the EL data dir. Instead I did only the shaders directory and now the client runs.

 

EDIT3:

Client runs but a couple of immediately noticeable issues:

 

The green 'flecks' that appear when you click to walk to a location (and the red ones when u click to attack an entity and the yellow ones when you try to walk with range-lock enabled) are not appearing.

 

Names, etc. are darker than before (too dark rly):

elogl2_bug1.jpg

 

My tests were with no ~/.elc already existing, so completely stock/default client settings.

 

DETAILS OF MY SYSTEM:

Arch Linux x86-64 (uses a static, non-rolling repo snapshot... however this snapshot was created only days ago so it's basically an up-to-date Arch system).

 

Linux legion 3.1.2-1-ARCH #1 SMP PREEMPT Tue Nov 22 09:17:56 CET 2011 x86_64 AMD Athlon 64 X2 Dual Core Processor 6000+ AuthenticAMD GNU/Linux

 

nVidia GeForce GTX 460 SE

extra/nvidia 290.10-1 [installed]

 

XFCE 4.8 (window manager NOT in compositing mode)

 

 

 

EDIT4:

Setting "Shadow map count" above zero:

elogl2_bug2.jpg

elogl2_bug3.jpg

 

Also note the transparency issues with textures on 2d objects. (Is there some more client data i need?)

 

Also, I turned on "Poor Man" and it fixed the dark names issue, though i cannot as yet find the setting that was causing it... i've turned everything back on and the names remain fine (i have yet to restart the client though).

 

 

EDIT5:

Restarting the client has bought back the dark names.

I (re-)grabbed the data from the files Radu posted, but doesn't seem to have affected much of anything.

Edited by Korrode

Share this post


Link to post
Share on other sites

Ok compiling works now.

But it still fails linking.

 

We're passing flags to windres but it only accepts includes (-I) and definitions (-D).

So CMakeLists.txt needs to be changed to make sure to use add_definitions only with definitions.

 

[100%] Building RC object CMakeFiles/el_client.dir/elc_private.rc.obj
C:\MinGW\bin\windres.exe  -O coff -IC:\MinGW\include -IC:\MinGW\include\SDL -IC:\MinGW\include\AL -IC:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\engine    -Wall -ffast-math -march=native -fopenmp -mwindows -DUSE_PCH=1 -DWINDOWS -DWINVER=0x500 -DCUSTOM_LOOK -DCUSTOM_UPDATE -DFUZZY_PATHS -DNEW_SOUND -DPNG_SCREENSHOT -DTEXT_ALIASES -DUSE_INLINE -DBANDWIDTH_SAVINGS -DANIMATION_SCALING -DENCYCL_NAVIGATION -DFSAA -DNEW_NEW_CHAR_WINDOW -DNEW_TEXTURES -DVEGETATION -DELC C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\elc_private.rc CMakeFiles\el_client.dir\elc_private.rc.obj

C:\MinGW\bin\windres.exe: invalid option -- W
Usage: C:\MinGW\bin\windres.exe [option(s)] [input-file] [output-file]
The options are:
 -i --input=<file>            Name input file
 -o --output=<file>           Name output file
 -J --input-format=<format>   Specify input format
 -O --output-format=<format>  Specify output format
 -F --target=<target>         Specify COFF target
    --preprocessor=<program>  Program to use to preprocess rc file
    --preprocessor-arg=<arg>  Additional preprocessor argument
 -I --include-dir=<dir>       Include directory when preprocessing rc file
 -D --define <sym>[=<val>]    Define SYM when preprocessing rc file
 -U --undefine <sym>          Undefine SYM when preprocessing rc file
 -v --verbose                 Verbose - tells you what it's doing
 -c --codepage=<codepage>     Specify default codepage
 -l --language=<val>          Set language when reading rc file
    --use-temp-file           Use a temporary file instead of popen to read
                              the preprocessor output
    --no-use-temp-file        Use popen (default)
 -r                           Ignored for compatibility with rc
 @<file>                      Read options from <file>
 -h --help                    Print this help message
 -V --version                 Print version information
FORMAT is one of rc, res, or coff, and is deduced from the file name
extension if not specified.  A single file name is an input file.
No input-file is stdin, default rc.  No output-file is stdout, default rc.
C:\MinGW\bin\windres.exe: supported targets: pe-i386 pei-i386 elf32-i386 elf32-little elf32-big srec symbolsrec verilog tekhex binary ihex
mingw32-make[2]: *** [CMakeFiles/el_client.dir/elc_private.rc.obj] Error 1
mingw32-make[2]: Leaving directory `C:/Users/xxx/Documents/NetBeansProjects/Eternal-Lands-GL2/build'
mingw32-make[1]: *** [CMakeFiles/el_client.dir/all] Error 2
mingw32-make[1]: Leaving directory `C:/Users/xxx/Documents/NetBeansProjects/Eternal-Lands-GL2/build'
mingw32-make: *** [all] Error 2

Share this post


Link to post
Share on other sites

Got another crash (in TD storage, when i tried to switch off the console):

[New Thread 0x7fffe3fff700 (LWP 30131)]
terminate called after throwing an instance of 'eternal_lands::OpenGlException'
 what():  std::exception

Program received signal SIGABRT, Aborted.
0x00007ffff4be63a5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff4be63a5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff4be9b0b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff528ed7d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff528cf26 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff528cf53 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff528d04e in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00000000006e57a3 in eternal_lands::HardwareBuffer::HardwareBuffer() ()
#7  0x0000000000676af4 in ec::ImpactEffect::ImpactEffect(ec::EyeCandy*, bool*, ec::Vec3*, ec::Vec3, ec::ImpactEffect::ImpactType, unsigned short, float) ()
#8  0x00000000004fe349 in ec_create_impact_blood ()
#9  0x00000000005b3903 in get_actor_damage ()
#10 0x000000000056b014 in process_message_from_server ()
#11 0x00000000005d2dbc in start_rendering ()
#12 0x00000000004e69d2 in main ()

 

PS: running latest git

Edited by groomsh

Share this post


Link to post
Share on other sites

when I fix the windres issue manually and build debug it crashes.

 

bt:

#0  0x762b416f in msvcrt!_assert () from C:\Windows\system32\msvcrt.dll
#1  0x00755373 in boost::shared_ptr<eternal_lands::GlobalVars>::operator-> (this=0xa45218)
   at c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../include/boost/smart_ptr/shared_ptr.hpp:418
#2  0x00412e14 in set_shadow_map_size (value=1)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\engine.cpp:1320
#3  0x00478ab7 in change_el_shadow_map_size (var=0x80276c, value=1)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\elconfig.c:240
#4  0x0047a767 in check_var (str=0x22f91d "shadow_map_size= 1\n", type=INI_FILE_VAR)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\elconfig.c:1445
#5  0x0047e3ef in read_el_ini () at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\elconfig.c
#6  0x004a2972 in read_config () at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\init.c:171
#7  0x004a3c05 in init_stuff () at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\init.c:634
#8  0x004ba8ab in Main (argc=2, argv=0x67de458)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\main.c:430
#9  0x004baafa in WinMain@16 (hInst=0x400000, hPrev=0x0, lpCmd=0x30297c "el_client.exe", nShow=10)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\main.c:509
#10 0x0068bf22 in main (argc=-1879045950, argv=0x90909090, __p__environ=0x850ff685) at ../mingw/main.c:73

Share this post


Link to post
Share on other sites

It fails to compile for me. My system is a recently updated Gentoo.

 

rick@lapis ~/el-stuff/xaphier/Eternal-Lands $ make

Scanning dependencies of target glsl_optimizer

[ 0%] Building CXX object engine/glsl_optimizer/CMakeFiles/glsl_optimizer.dir/glsl/opt_dead_code_local.cpp.o

[ 0%] Building CXX object engine/glsl_optimizer/CMakeFiles/glsl_optimizer.dir/glsl/lower_if_to_cond_assign.cpp.o

[ 0%] Building CXX object engine/glsl_optimizer/CMakeFiles/glsl_optimizer.dir/glsl/s_expression.cpp.o

In file included from /home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/core.h:49:0,

from /home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/glsl/s_expression.h:29,

from /home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/glsl/s_expression.cpp:26:

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/mtypes.h:85:9: error: 'GLuint64' does not name a type

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/mtypes.h:1855:4: error: 'GLbitfield64' does not name a type

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/mtypes.h:2726:4: error: 'GLuint64' does not name a type

In file included from /home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/mtypes.h:3092:0,

from /home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/core.h:49,

from /home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/glsl/s_expression.h:29,

from /home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/glsl/s_expression.cpp:26:

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:930:18: error: 'GLuint64' has not been declared

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:932:18: error: 'GLuint64' has not been declared

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1015:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1016:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1017:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1018:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1019:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1020:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1021:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1022:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1023:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1024:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1025:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1026:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1027:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1028:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1029:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1030:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1031:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1032:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1033:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1034:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1035:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1036:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1037:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1038:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1039:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1040:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1041:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1042:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1043:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1044:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1045:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1046:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1047:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1048:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1049:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1050:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1051:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1052:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1053:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1054:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1055:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1056:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1057:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1058:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1059:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1060:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1061:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1062:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1064:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1065:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1066:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1067:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1068:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1069:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1070:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1071:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1073:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1074:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1075:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1076:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1077:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1078:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1079:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1080:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1083:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1084:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1085:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1086:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1087:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1088:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1089:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1091:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1092:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1093:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1094:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1095:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1096:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1097:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1101:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1107:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1108:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1110:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1113:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1117:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1121:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1126:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1132:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1134:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1137:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1153:10: error: expected ')' before '*' token

/home/rick/el-stuff/xaphier/Eternal-Lands/engine/glsl_optimizer/mesa/main/dd.h:1154:10: error: expected ')' before '*' token

make[2]: *** [engine/glsl_optimizer/CMakeFiles/glsl_optimizer.dir/glsl/s_expression.cpp.o] Error 1

make[1]: *** [engine/glsl_optimizer/CMakeFiles/glsl_optimizer.dir/all] Error 2

make: *** [all] Error 2

Share this post


Link to post
Share on other sites

getting random crashes, they seem related to casting spells

 

Program received signal SIGSEGV, Segmentation fault.
0x0053b961 in ec::Effect::draw_particle (this=0x11c73eb0, size=0.0189888906, texture=25, r=0.602520823,
   g=0.204039127, b=0.217726678, alpha=0.469031841, pos=..., burn=0)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\eye_candy\eye_candy.cpp:224
224                             buffer[index * 10 + 0] = r;
(gdb) bt
#0  0x0053b961 in ec::Effect::draw_particle (this=0x11c73eb0, size=0.0189888906, texture=25, r=0.602520823,
   g=0.204039127, b=0.217726678, alpha=0.469031841, pos=..., burn=0)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\eye_candy\eye_candy.cpp:224
#1  0x00540e24 in ec::Particle::draw (this=0xdbb2930, usec=41000)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\eye_candy\eye_candy.cpp:1242
#2  0x0053bd4d in ec::Effect::build_particle_buffer (this=0x11c73eb0, time_diff=41000)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\eye_candy\eye_candy.cpp:272
#3  0x00546737 in ec::EyeCandy::idle (this=0xa47260)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\eye_candy\eye_candy.cpp:2763
#4  0x00413d4f in ec_idle ()
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\eye_candy_wrapper.cpp:480
#5  0x0046c500 in display_console_handler (win=0x8000208)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\consolewin.c:110
#6  0x00482bf8 in draw_window (win=0x8000208)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\elwindows.c:1251
#7  0x00483418 in display_window (win_id=2)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\elwindows.c:1436
#8  0x0047fa33 in display_windows (level=1)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\elwindows.c:76
#9  0x004764a1 in draw_scene () at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\draw_scene.c:129
#10 0x004b95b8 in start_rendering () at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\main.c:204
#11 0x004b9d3c in Main (argc=1, argv=0x660bc60)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\main.c:435
#12 0x004b9f6a in WinMain@16 (hInst=0x400000, hPrev=0x0, lpCmd=0x292964 "", nShow=10)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\main.c:510
#13 0x00692c7e in main (argc=Cannot access memory at address 0x0
) at ../mingw/main.c:73

Share this post


Link to post
Share on other sites

Got another crash (in TD storage, when i tried to switch off the console):

[New Thread 0x7fffe3fff700 (LWP 30131)]
terminate called after throwing an instance of 'eternal_lands::OpenGlException'
 what():  std::exception

Program received signal SIGABRT, Aborted.
0x00007ffff4be63a5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff4be63a5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff4be9b0b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff528ed7d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff528cf26 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff528cf53 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff528d04e in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00000000006e57a3 in eternal_lands::HardwareBuffer::HardwareBuffer() ()
#7  0x0000000000676af4 in ec::ImpactEffect::ImpactEffect(ec::EyeCandy*, bool*, ec::Vec3*, ec::Vec3, ec::ImpactEffect::ImpactType, unsigned short, float) ()
#8  0x00000000004fe349 in ec_create_impact_blood ()
#9  0x00000000005b3903 in get_actor_damage ()
#10 0x000000000056b014 in process_message_from_server ()
#11 0x00000000005d2dbc in start_rendering ()
#12 0x00000000004e69d2 in main ()

 

PS: running latest git

 

 

when I fix the windres issue manually and build debug it crashes.

 

bt:

#0  0x762b416f in msvcrt!_assert () from C:\Windows\system32\msvcrt.dll
#1  0x00755373 in boost::shared_ptr<eternal_lands::GlobalVars>::operator-> (this=0xa45218)
   at c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../include/boost/smart_ptr/shared_ptr.hpp:418
#2  0x00412e14 in set_shadow_map_size (value=1)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\engine.cpp:1320
#3  0x00478ab7 in change_el_shadow_map_size (var=0x80276c, value=1)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\elconfig.c:240
#4  0x0047a767 in check_var (str=0x22f91d "shadow_map_size= 1\n", type=INI_FILE_VAR)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\elconfig.c:1445
#5  0x0047e3ef in read_el_ini () at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\elconfig.c
#6  0x004a2972 in read_config () at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\init.c:171
#7  0x004a3c05 in init_stuff () at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\init.c:634
#8  0x004ba8ab in Main (argc=2, argv=0x67de458)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\main.c:430
#9  0x004baafa in WinMain@16 (hInst=0x400000, hPrev=0x0, lpCmd=0x30297c "el_client.exe", nShow=10)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-GL2\main.c:509
#10 0x0068bf22 in main (argc=-1879045950, argv=0x90909090, __p__environ=0x850ff685) at ../mingw/main.c:73

 

 

getting random crashes, they seem related to casting spells

 

Program received signal SIGSEGV, Segmentation fault.
0x0053b961 in ec::Effect::draw_particle (this=0x11c73eb0, size=0.0189888906, texture=25, r=0.602520823,
   g=0.204039127, b=0.217726678, alpha=0.469031841, pos=..., burn=0)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\eye_candy\eye_candy.cpp:224
224                 			buffer[index * 10 + 0] = r;
(gdb) bt
#0  0x0053b961 in ec::Effect::draw_particle (this=0x11c73eb0, size=0.0189888906, texture=25, r=0.602520823,
   g=0.204039127, b=0.217726678, alpha=0.469031841, pos=..., burn=0)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\eye_candy\eye_candy.cpp:224
#1  0x00540e24 in ec::Particle::draw (this=0xdbb2930, usec=41000)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\eye_candy\eye_candy.cpp:1242
#2  0x0053bd4d in ec::Effect::build_particle_buffer (this=0x11c73eb0, time_diff=41000)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\eye_candy\eye_candy.cpp:272
#3  0x00546737 in ec::EyeCandy::idle (this=0xa47260)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\eye_candy\eye_candy.cpp:2763
#4  0x00413d4f in ec_idle ()
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\eye_candy_wrapper.cpp:480
#5  0x0046c500 in display_console_handler (win=0x8000208)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\consolewin.c:110
#6  0x00482bf8 in draw_window (win=0x8000208)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\elwindows.c:1251
#7  0x00483418 in display_window (win_id=2)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\elwindows.c:1436
#8  0x0047fa33 in display_windows (level=1)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\elwindows.c:76
#9  0x004764a1 in draw_scene () at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\draw_scene.c:129
#10 0x004b95b8 in start_rendering () at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\main.c:204
#11 0x004b9d3c in Main (argc=1, argv=0x660bc60)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\main.c:435
#12 0x004b9f6a in WinMain@16 (hInst=0x400000, hPrev=0x0, lpCmd=0x292964 "", nShow=10)
   at C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\main.c:510
#13 0x00692c7e in main (argc=Cannot access memory at address 0x0
) at ../mingw/main.c:73

Was a buffer mapping error when using eye_candy, should be fixed now, thanks for testing. Ofc more stuff changed, so have fun trying ;)

Share this post


Link to post
Share on other sites

Hey Xaphier, thx for the update ;)

 

I noticed few glitches and a crash:

[Thread 0x7fffecbb2700 (LWP 15898) exited]

Program received signal SIGSEGV, Segmentation fault.
0x000000000073f012 in eternal_lands::RStarTreeNode::calculate_enclosing_bounding_box() ()
(gdb) bt
#0  0x000000000073f012 in eternal_lands::RStarTreeNode::calculate_enclosing_bounding_box() ()
#1  0x000000000071c57b in eternal_lands::RStarTree::condense_tree(std::vector<boost::shared_ptr<eternal_lands::RStarTreeNode>, std::allocator<boost::shared_ptr<eternal_lands::RStarTreeNode> > >&, std::stack<boost::shared_ptr<eternal_lands::RStarTreeNode>, std::deque<boost::shared_ptr<eternal_lands::RStarTreeNode>, std::allocator<boost::shared_ptr<eternal_lands::RStarTreeNode> > > >&, boost::shared_ptr<eternal_lands::RStarTreeNode> const&) ()
#2  0x000000000071d857 in eternal_lands::RStarTree::remove(boost::shared_ptr<eternal_lands::BoundedObject> const&) ()
#3  0x00000000006baa7d in eternal_lands::Scene::remove_object(unsigned int) ()
#4  0x000000000059e244 in remove_bag ()
#5  0x0000000000566743 in process_message_from_server ()
#6  0x00000000005ce88c in start_rendering ()
#7  0x00000000004e27e2 in main ()

 

1. It looks like something is wrong with zoom level - i am not able to move around by clicking on ground, for example i was standing in EVTR at 290.360 looking south and clicked on tile right before me

and started walking to position 284,287 ... (mapwalking works without problems).

2. I am able to zoom inside my char (it looks a bit strange when you see only your cloak and boots :))

3. Health bar and name over other players/mobs moves around when i walk - this might be caused by point 1.

 

Using this version:

~/Downloads/elcgl2/Eternal-Lands$ git --no-pager log --max-count=1
commit 3a2b404f37954602750c92ef67455f109bff27a9
Author: Xaphier
Date:   Tue Dec 13 19:38:21 2011 +0100

    * Particle & eye-candy fix.

Share this post


Link to post
Share on other sites

Who all is compiling this under Linux?

 

I can compile git://git.berlios.de/elc and I can compile https://github.com/raduprv/Eternal-Lands, but I can't compile https://github.com/xaphier/Eternal-Lands.

 

...and yes, I am silly enough to check out all three.

 

My latest problem with compiling yours is as follows.

 

CMAKE:

-- Could NOT find Freetype (missing: FREETYPE_LIBRARY FREETYPE_INCLUDE_DIRS)

-- Could NOT find OpenMP (missing: OpenMP_C_FLAGS OpenMP_CXX_FLAGS)

(It seems to tolerate it and make the makefile anyways)

 

make:

In file included from /home/nathan/Eternal-Lands/engine/abstractframebuffer.cpp:9:

/home/nathan/Eternal-Lands/engine/texture.hpp:55: error: ‘GL_TEXTURE_CUBE_MAP_ARRAY’ was not declared in this scope

make[2]: *** [engine/CMakeFiles/elengine.dir/abstractframebuffer.cpp.o] Error 1

make[1]: *** [engine/CMakeFiles/elengine.dir/all] Error 2

make: *** [all] Error 2

Share this post


Link to post
Share on other sites

I am compiling on xubuntu 11.10 64bit ..

 

I have this freetype packages installed:

$ sudo apt-show-versions libfreetype6
libfreetype6/oneiric-security uptodate 2.4.4-2ubuntu1.1

$ sudo apt-show-versions libfreetype6-dev
libfreetype6-dev/oneiric-security uptodate 2.4.4-2ubuntu1.1

 

And this openMP packages:

(not sure if this one is used tho)

$ sudo apt-show-versions libgomp1
libgomp1/oneiric uptodate 4.6.1-9ubuntu3 

Share this post


Link to post
Share on other sites

I can't see water nor lava, maybe this from log file helps you to figure out whats wrong:

[12:25:50, C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\engine\logging.cpp:306] Git sha1: : b3dc49c267ecdf4ecfcb4fb79864dd25cc9fa6ad
...
[12:32:07, C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\engine\effect.cpp:265] Error: C:\Users\xxx\Documents\NetBeansProjects\Eternal-Lands-Xaphier\engine\glslprogram.cpp(115): Throw in function void eternal_lands::{anonymous}::GlslShaderObject::compile()
Dynamic exception type: eternal_lands::OpenGlException
std::exception::what: std::exception
[eternal_lands::errinfo_message_*] = Fragment shader failed to compile with the following errors:
ERROR: 0:26: error(#143) Undeclared identifier layer
ERROR: 0:26: error(#216) Vector field selection out of range 'y'
ERROR: 0:26: error(#202) No matching overloaded function found texture
ERROR: 0:26: error(#160) Cannot convert from 'const float' to 'highp 4-component vector of float'
ERROR: 0:31: error(#216) Vector field selection out of range 'y'
ERROR: 0:31: error(#202) No matching overloaded function found texture
ERROR: 0:31: error(#216) Vector field selection out of range 'a'
ERROR: 0:32: error(#202) No matching overloaded function found texture
ERROR: 0:32: error(#216) Vector field selection out of range 'rgb'
ERROR: 0:39: error(#164) l-value required assign "diffuse" (can't modify a uniform)
ERROR: error(#273) 10 compilation errors.  No code generated

[eternal_lands::errinfo_item_name_*] = lava
[eternal_lands::errinfo_vertex_shader_*] = #version 330
const int light_count = 0;
const int bone_count = 72;
const int shadow_map_count = 0;

attribute vec4 position;
attribute vec3 normal;

uniform mat4x3 world_matrix;
uniform mat4 projection_view_matrix;

varying vec3 world_position;
varying vec3 world_normal;

void main()
{

{
world_position = world_matrix * vec4(position.xyz, 1.0);
world_normal = normalize(mat3(world_matrix) * normal);
}

gl_Position = projection_view_matrix * vec4(world_position, 1.0);
}

[eternal_lands::errinfo_parameter_name_*] = lava
[eternal_lands::errinfo_fragment_shader_*] = #version 330
const int light_count = 0;
const int bone_count = 72;
const int shadow_map_count = 0;

uniform sampler2D diffuse_sampler_0;
uniform sampler2D diffuse_sampler_1;
uniform vec2 uv[3];
uniform vec4 diffuse;
uniform vec4 ambient;

varying vec3 world_position;
varying vec3 world_normal;

void main()
{
float specular;
vec3 fragment_color;

{
vec4 noise;
vec3 color;
vec2 tmp_uv[2];
float p;

noise = texture(diffuse_sampler_1, vec3(uv[0], layer.y));

tmp_uv[0] = 2.0 * (uv[1] + noise.xy * 2.0);
tmp_uv[1] = 2.0 * (uv[2] + noise.yz * 0.2);

p = texture(diffuse_sampler_1, vec3(tmp_uv[0], layer.y)).a;
color = texture(diffuse_sampler_0, vec3(tmp_uv[1], layer.x)).rgb;
color = color * p * 2.0 + color * color - 0.1;

color.bg += clamp(color.r - 2.0, 0.0, 1.0);
color.rb += clamp(color.g - 1.0, 0.0, 1.0);
color.rg += clamp(color.b - 1.0, 0.0, 1.0);

diffuse = vec4(color, 1.0);
}
{
specular = 1.0;
}

fragment_color = diffuse.rgb * ambient.rgb;
gl_FragColor.rgb = fragment_color;
gl_FragColor.a = 1.0;
}

 

shaders are up to date and got missing textures from the other test client

Share this post


Link to post
Share on other sites

I got the client compiled now. It turned out to be a problem with glew. It didn't define some of the needed things. I updated to a newer version of it, and that resolved the problem. In relation to this - I think glext.h in the client source is unused now. Glew defines __glext_h_ so even if glext.h got included it wouldn't do anything. Should the file be removed to avoid confusion?

 

I am having occasional segfaults when launching the client. Here is a backtrace from that:

 

Program received signal SIGSEGV, Segmentation fault.

[switching to Thread 0x7faec59fd710 (LWP 28742)]

0x00007faecba6def5 in memcpy () from /lib/libc.so.6

(gdb) bt full

#0 0x00007faecba6def5 in memcpy () from /lib/libc.so.6

No symbol table info available.

#1 0x00007faeccd6f85f in SDLNet_ResolveHost () from /usr/lib/libSDL_net-1.2.so.0

No symbol table info available.

#2 0x000000000081688d in http_get_file (server=0x2c8c4d0 "clothes-test.el-fd.org", path=0x2c8c550 "http://clothes-test.el-fd.org/updates192/files.lst", fp=0x27813c0)

at /home/rick/el-stuff/xaphier/Eternal-Lands/update.c:98

http_ip = {host = 4294967295, port = 0}

http_sock = (TCPsocket) 0xb46bdf

message = "\006", '\0' <repeats 15 times>, "\002\020", '\0' <repeats 166 times>, "\b\000\000\000\000\000\000\000hÉ\237Å®\177\000\000\000Ñ+Ì®\177\000\000\000\000\000\000\000\000\000\000 \001\000\000\000\000\000\000ØÈ\237Å®\177\000\000@¿+Ì®\177\000\000`Â+Ì®\177\000\000PÂ+Ì®\177\000\000x`+Ì®\177\000\000\000\000\000\000\000\000\000\000Ø`+Ì®\177\000\000ðd+Ì®\177", '\0' <repeats 51 times>, "Ñ+Ì®\177\000\000\030\000\000\000\000\000\000\000XÒ+Ì®\177\000\000\2201+Ì®\177\000\000\006", '\0' <repeats 15 times>, "\002\020", '\0' <repeats 166 times>, "\b\000\000\000®\177\000\000ØÊ\237"...

len = 0

got_header = 0

http_status = 0

#3 0x000000000081672c in http_get_file_thread_handler (specs=0x2c8c4d0) at /home/rick/el-stuff/xaphier/Eternal-Lands/update.c:98

spec = (struct http_get_struct *) 0x2c8c4d0

event = {type = 0 '\0', active = {type = 0 '\0', gain = 0 '\0', state = 0 '\0'}, key = {type = 0 '\0', which = 0 '\0', state = 0 '\0', keysym = {

scancode = 0 '\0', sym = 896112912, mod = KMOD_NONE, unicode = 0}}, motion = {type = 0 '\0', which = 0 '\0', state = 0 '\0', x = 0, y = 0, xrel = -26352,

yrel = 13673}, button = {type = 0 '\0', which = 0 '\0', button = 0 '\0', state = 0 '\0', x = 0, y = 0}, jaxis = {type = 0 '\0', which = 0 '\0', axis = 0 '\0',

value = 0}, jball = {type = 0 '\0', which = 0 '\0', ball = 0 '\0', xrel = 0, yrel = 0}, jhat = {type = 0 '\0', which = 0 '\0', hat = 0 '\0', value = 0 '\0'},

jbutton = {type = 0 '\0', which = 0 '\0', button = 0 '\0', state = 0 '\0'}, resize = {type = 0 '\0', w = 0, h = 896112912}, expose = {type = 0 '\0'}, quit = {

type = 0 '\0'}, user = {type = 0 '\0', code = 0, data1 = 0x35699910, data2 = 0x0}, syswm = {type = 0 '\0', msg = 0x35699910}}

#4 0x00007faecd19e999 in ?? () from /usr/lib/libSDL-1.2.so.0

No symbol table info available.

#5 0x00007faecd1d0e3c in ?? () from /usr/lib/libSDL-1.2.so.0

No symbol table info available.

#6 0x00007faeccf79894 in start_thread () from /lib/libpthread.so.0

No symbol table info available.

#7 0x00007faecbabe27d in clone () from /lib/libc.so.6

 

 

I was also having some graphics problems, but I plan to test some settings tonight before reporting further about that.

Edited by Quesar

Share this post


Link to post
Share on other sites

Xaphier,do you have any idea when/if there will be a make.default that works with your code?

 

I imagine it is too soon to put your work in the main branch in an active state due to added compile dependencies that your branch has, but I was curious. If we had a make.defaults with your code disabled by default, the people that want to test the other things could do it without the added dependencies and we could test yours after you push to the main branch.

Share this post


Link to post
Share on other sites

Xaphier,do you have any idea when/if there will be a make.default that works with your code?

 

I imagine it is too soon to put your work in the main branch in an active state due to added compile dependencies that your branch has, but I was curious. If we had a make.defaults with your code disabled by default, the people that want to test the other things could do it without the added dependencies and we could test yours after you push to the main branch.

Never. It's not done as #ifdef stuff. It's a new engine, with a new build system, in a new branch.

Share this post


Link to post
Share on other sites

[Thread 0x7fffecbb2700 (LWP 15898) exited]

Program received signal SIGSEGV, Segmentation fault.
0x000000000073f012 in eternal_lands::RStarTreeNode::calculate_enclosing_bounding_box() ()
(gdb) bt
#0  0x000000000073f012 in eternal_lands::RStarTreeNode::calculate_enclosing_bounding_box() ()
#1  0x000000000071c57b in eternal_lands::RStarTree::condense_tree(std::vector<boost::shared_ptr<eternal_lands::RStarTreeNode>, std::allocator<boost::shared_ptr<eternal_lands::RStarTreeNode> > >&, std::stack<boost::shared_ptr<eternal_lands::RStarTreeNode>, std::deque<boost::shared_ptr<eternal_lands::RStarTreeNode>, std::allocator<boost::shared_ptr<eternal_lands::RStarTreeNode> > > >&, boost::shared_ptr<eternal_lands::RStarTreeNode> const&) ()
#2  0x000000000071d857 in eternal_lands::RStarTree::remove(boost::shared_ptr<eternal_lands::BoundedObject> const&) ()
#3  0x00000000006baa7d in eternal_lands::Scene::remove_object(unsigned int) ()
#4  0x000000000059e244 in remove_bag ()
#5  0x0000000000566743 in process_message_from_server ()
#6  0x00000000005ce88c in start_rendering ()
#7  0x00000000004e27e2 in main ()

 

Your latest update fixed this for me \o/ :)

Currenlty using

commit b3dc49c267ecdf4ecfcb4fb79864dd25cc9fa6ad
Author: Xaphier
Date:   Wed Dec 14 13:05:17 2011 +0100

    * Better framebuffer checking.

Edited by groomsh

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

×