Jump to content
Eternal Lands Official Forums
frogimus

Linux Map Editor

Recommended Posts

First, I apologize if this has already been answered somewhere. Most of my search terms are 3-letter words (map, CVS, etc) and are not allowed by forum configuration.

 

I cannot get the binary mapeditor to work on my 64-bit Linux machine. Is there a CVS of the latest editor I can compile myself? I've seen a lot of links to a dead (or re-numbered) thread.

 

Thanks for your time :P

Share this post


Link to post
Share on other sites

If you pulled the 'elc' module (EL Client) from CVS, there is a 'map_editor' module at the same location. You need both elc and map_editor, since the latter refers into '../elc' for some files. I managed to build the map editor from the HEAD on 32bit linux the other week -- a first for quite a while!

Share this post


Link to post
Share on other sites

First, I apologize if this has already been answered somewhere. Most of my search terms are 3-letter words (map, CVS, etc) and are not allowed by forum configuration.

 

I cannot get the binary mapeditor to work on my 64-bit Linux machine. Is there a CVS of the latest editor I can compile myself? I've seen a lot of links to a dead (or re-numbered) thread.

 

Thanks for your time :P

The Windows Map Editor has worked for me fine under AMD64 & Linux with Wine. Give that a try, not sure how successful it is with creating full-blown maps, but it at least runs.

Share this post


Link to post
Share on other sites

cvs -d:pserver:anonymous@cvs.elc.berlios.de:/cvsroot/elc login 

cvs -z3 -d:pserver:anonymous@cvs.elc.berlios.de:/cvsroot/elc co map_editor

Just press enter when you're asked for a password.

For more info, check the berlios page:

https://developer.berlios.de/cvs/?group_id=1256

 

EDIT: discalimer: although it compiles for me, I haven't actually tried it, so I can't tell you if it acually works

Share this post


Link to post
Share on other sites

Compiles and starts. I can load maps, 2d objects, ground tiles. But if I try to add a 3d object it segfaults once I click OK in the dialog box.

(mapedit.x86.linux.bin:18774): Gtk-WARNING **: idle activate multiple times without clearing the folder object first.
Segmentation fault

Sometimes it just segfaults without the gtk error. Not much time to debug right now.

 

edit: found a link but it is never answered. http://lists-archives.org/gtk/06045-filech...ject-first.html

It is listed as an active GTK+ bug here http://bugzilla.gnome.org/show_bug.cgi?id=447984

Edited by Drakos7

Share this post


Link to post
Share on other sites

This is what I get trying to compile the map_editor

In file included from ../elc/../map_editor/e3d.h:10,
			 from ../elc/../map_editor/global.h:57,
			 from ../elc/elconfig.c:16:
../elc/../map_editor/../elc/e3d_object.h:71: warning: unused parameter 'vertex_options'
../elc/elconfig.c: In function 'update_fbo':
../elc/elconfig.c:101: warning: implicit declaration of function 'have_extension'
../elc/elconfig.c:101: error: 'ext_framebuffer_object' undeclared (first use in this function)
../elc/elconfig.c:101: error: (Each undeclared identifier is reported only once
../elc/elconfig.c:101: error: for each function it appears in.)
../elc/elconfig.c:106: error: 'use_frame_buffer' undeclared (first use in this function)
../elc/elconfig.c:106: error: 'show_reflection' undeclared (first use in this function)
../elc/elconfig.c:109: warning: implicit declaration of function 'change_reflection_framebuffer_size'
../elc/elconfig.c:113: warning: implicit declaration of function 'free_reflection_framebuffer'
make: *** [elconfig.o] Error 1 

Share this post


Link to post
Share on other sites

Ok, the error I was getting was because I am on a different machine than usual. I had forgotten to install EL 1.4.0 on it because the office firewall prevents me from playing the game in the first place. Once I upgraded my files things worked just fine. Now I need to find a more recent map making tutorial...

Share this post


Link to post
Share on other sites

OK, I got it this far. Any ideas?

 

g++ -DLINUX -DMAP_EDITOR -DPARTICLE_SYS_SOUND -DNEW_CLIENT -DROTATE_PARTICLES -D			   EYE_CANDY -DSFX -DNEW_E3D_FORMAT -DPNG_NO_MMX_CODE -I/usr/include/gtk-2.0 -I/usr			   /lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/includ			   e/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include			   /freetype2 -I/usr/include/libpng12   -DGTK2 -I/usr/include/SDL -D_GNU_SOURCE=1 -			   D_REENTRANT  -I/usr/include/libxml2 -g -Wall -W  -c ../elc/eye_candy/eye_candy.c			   pp
../elc/eye_candy/eye_candy.h:805: warning: unused parameter ‘p’
../elc/eye_candy/eye_candy.h:1427: warning: unused parameter ‘usec’
../elc/eye_candy/eye_candy.cpp: In member function ‘virtual void ec::Shape::draw()’:
../elc/eye_candy/eye_candy.cpp:144: error: cast from ‘void*’ to ‘Uint32’ loses precision
../elc/eye_candy/eye_candy.cpp: At global scope:
../elc/eye_candy/eye_candy.cpp:820: warning: unused parameter ‘p’
../elc/eye_candy/eye_candy.cpp:825: warning: unused parameter ‘p’
../elc/eye_candy/eye_candy.cpp:889: warning: unused parameter ‘p’
make: *** [eye_candy.o] Error 1

Share this post


Link to post
Share on other sites

Thanks Grum. Much farther now. Now here is error output

 

g++ -DLINUX -DMAP_EDITOR -DPARTICLE_SYS_SOUND -DNEW_CLIENT -DROTATE_PARTICLES -DEYE_CANDY -DSFX -DNEW_E3D_FORMAT -DX86_64 -DPNG_NO_MMX_CODE -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   -DGTK2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -I/usr/include/libxml2 -g -Wall -W  -lSDL -lpthread -lGL -lGLU -lxml2 -lz -lm -lcal3d -lSDL_image -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -o mapedit.x86.linux.bin 2d_objects.o 3d_objects.o e3d_io.o elc_io.o md5.o asc.o colors.o browser.o draw_scene.o elconfig.o elwindows.o errors.o events.o font.o frustum.o gl_init.o global.o gui.o gui_callbacks.o init.o interface.o lights.o load_gl_extensions.o main.o map_io.o misc.o o3dow.o queue.o reflection.o shadows.o textures.o tile_map.o translate.o replace_window.o edit_window.o particles.o particles_window.o eye_candy_window.o eye_candy_wrapper.o eye_candy.o math_cache.o effect_lamp.o effect_candle.o effect_campfire.o effect_fountain.o effect_teleporter.o effect_firefly.o effect_sword.o effect_summon.o effect_selfmagic.o effect_targetmagic.o effect_ongoing.o effect_impact.o effect_smoke.o effect_bag.o effect_cloud.o effect_harvesting.o effect_wind.o effect_breath.o cal3d_wrapper.o
gui.o: In function `create_fileselection':
/home/frogimus/cvs/map_editor/gui.c:385: undefined reference to `gtk_type_check_object_cast'
/home/frogimus/cvs/map_editor/gui.c:386: undefined reference to `gtk_type_check_object_cast'
/home/frogimus/cvs/map_editor/gui.c:387: undefined reference to `gtk_type_check_object_cast'
/home/frogimus/cvs/map_editor/gui.c:389: undefined reference to `gtk_type_check_object_cast'
/home/frogimus/cvs/map_editor/gui.c:390: undefined reference to `gtk_type_check_object_cast'
gui.o:/home/frogimus/cvs/map_editor/gui.c:392: more undefined references to `gtk_type_check_object_cast' follow
gui.o: In function `create_fileselection':
/home/frogimus/cvs/map_editor/gui.c:399: undefined reference to `gtk_signal_connect'
/home/frogimus/cvs/map_editor/gui.c:402: undefined reference to `gtk_type_check_object_cast'
/home/frogimus/cvs/map_editor/gui.c:402: undefined reference to `gtk_signal_connect'
/home/frogimus/cvs/map_editor/gui.c:406: undefined reference to `gtk_type_check_object_cast'
gui_callbacks.o: In function `on_ok_button1_clicked':
/home/frogimus/cvs/map_editor/gui_callbacks.c:19: undefined reference to `gtk_type_check_object_cast'
misc.o: In function `open_3d_obj':
/home/frogimus/cvs/map_editor/misc.c:1325: undefined reference to `effect_selector'
/home/frogimus/cvs/map_editor/misc.c:1325: undefined reference to `gtk_type_check_object_cast'
/home/frogimus/cvs/map_editor/misc.c:1328: undefined reference to `effect_selector'
misc.o: In function `open_particles_obj':
/home/frogimus/cvs/map_editor/misc.c:1352: undefined reference to `gtk_type_check_object_cast'
misc.o: In function `open_eye_candy_obj':
/home/frogimus/cvs/map_editor/misc.c:1376: undefined reference to `gtk_type_check_object_cast'
misc.o: In function `open_2d_obj':
/home/frogimus/cvs/map_editor/misc.c:1400: undefined reference to `gtk_type_check_object_cast'
misc.o: In function `open_map_file':
/home/frogimus/cvs/map_editor/misc.c:1424: undefined reference to `gtk_type_check_object_cast'
misc.o: In function `save_map_file':
/home/frogimus/cvs/map_editor/misc.c:1448: undefined reference to `gtk_type_check_object_cast'
misc.o:/home/frogimus/cvs/map_editor/misc.c:1470: more undefined references to `gtk_type_check_object_cast' follow
eye_candy_window.o: In function `change_eye_candy_effect':
/home/frogimus/cvs/map_editor/eye_candy_window.cpp:59: undefined reference to `gtk_effect_list'

<snip> lines 60 - 206

/home/frogimus/cvs/map_editor/eye_candy_window.cpp:207: undefined reference to `gtk_effect_base_height_box'
eye_candy_window.o: In function `confirm_eye_candy_effect':
/home/frogimus/cvs/map_editor/eye_candy_window.cpp:226: undefined reference to `gtk_effect_win'
collect2: ld returned 1 exit status
make: *** [mapedit.x86.linux.bin] Error 1

Share this post


Link to post
Share on other sites

~/map_editor/main.c:46: undefined reference to `end_particles_list' 
~/map_editor/main.c:46: undefined reference to `end_particles_list'

I have noticed there's no prototype to it, neither in EL nor in the map editor.

Share this post


Link to post
Share on other sites

Update the client as well, that function is defined in particles.c from elc.

Share this post


Link to post
Share on other sites

Thx Grum! it compiled... but it's weird :blush:

it shows a white thing, and the buttons (I think that are the buttons) are just some blue squares on top.

mapeditorck3.th.jpg

Thx for the help so far.

Share this post


Link to post
Share on other sites

I think the problem is that the map editor is searching for the data files in the wrong directory. You'll have to edit mapedit.ini and point #data_dir to your EL installation directory.

Share this post


Link to post
Share on other sites

Any help for a newb on the command to compile the editor? I've tried most other commands with no luck.

 

I am running Ubuntu 7.04 and have compiled other packages without issue.

 

Thanks in advance!

 

Daegun

Share this post


Link to post
Share on other sites

Quick guide:

  • Check out the source code for both the client and the map editor:
    cvs -z3 -d:pserver:anonymous@cvs.elc.berlios.de:/cvsroot/elc co elc map_editor
    


  • make sure the client code is in a directory called elc in the same folder as the directory containing the map editor code (or make a symbolic link).
  • Copy Makefile.linux to a new file Makefile, and edit it for your system. Most likely, the only thing you will want to do is replace "-mcpu=i686" with "-mcpu=athlon64" if you're running on an amd64 system.
  • Enter
    make

    , and complain in the bugs or programming forum when you encounter an error :P (and include the error message!) Alternatively, if you don't have to make any changes to the makefile, you can skip step 2, and simply do a

    make -f Makefile.linux


Without further information on what you did and which errors you encounter, we cannot help you.

Share this post


Link to post
Share on other sites

Hi anyone know what is wrong with this?

[anamir@localhost map_editor]$ make
gcc -DLINUX -DMAP_EDITOR -DGL_GLEXT_PROTOTYPES   -DEYE_CANDY  -DSFX  -DNEW_E3D_FORMAT  -DCLUSTER_INSIDES  -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DGTK2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -I/usr/include/libxml2 -g -Wall -Wdeclaration-after-statement  -c -o 2d_objects.o 2d_objects.c
In file included from global.h:72,
			 from 2d_objects.c:4:
misc.h:99: error: redefinition of ‘min2i’
../elc/misc.h:255: error: previous definition of ‘min2i’ was here
misc.h:104: error: redefinition of ‘max2i’
../elc/misc.h:260: error: previous definition of ‘max2i’ was here
misc.h:109: error: redefinition of ‘min2u’
../elc/misc.h:265: error: previous definition of ‘min2u’ was here
misc.h:114: error: redefinition of ‘max2u’
../elc/misc.h:270: error: previous definition of ‘max2u’ was here
misc.h:119: error: redefinition of ‘min2f’
../elc/misc.h:275: error: previous definition of ‘min2f’ was here
misc.h:124: error: redefinition of ‘max2f’
../elc/misc.h:280: error: previous definition of ‘max2f’ was here
misc.h:129: error: redefinition of ‘clampu’
../elc/misc.h:290: error: previous definition of ‘clampu’ was here
misc.h:134: error: redefinition of ‘clampi’
../elc/misc.h:295: error: previous definition of ‘clampi’ was here
misc.h:139: error: redefinition of ‘clampf’
../elc/misc.h:300: error: previous definition of ‘clampf’ was here
make: ** [2d_objects.o] Erro 1

 

Im running this under Fedora 7 distro. Ty for any help

 

[]'s Anamir

 

P.S. I could compile with no error the client ... just in case u ask :-)

Edited by Anamir

Share this post


Link to post
Share on other sites

*scratches head*

Hmm, doesn't happen here. I'll have to do some bug hunting to see how misc.h from elc ends up in that file...

 

EDIT: okay, now I'm confused. The map editor's misc.h should already be included before global.h. How old are your elc and map_editor trees?

Edited by Grum

Share this post


Link to post
Share on other sites

I have a problem compiling the mapeditor too:

make -f Makefile.linux
gcc -DLINUX -DMAP_EDITOR  -DEYE_CANDY  -DSFX  -DNEW_E3D_FORMAT  -DCLUSTER_INSIDES  -DNEW_LIGHT_FORMAT -DPNG_NO_MMX_CODE -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   -DGTK2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -I/usr/include/libxml2 -g -Wall -Wdeclaration-after-statement  -c -o elconfig.o ../elc/elconfig.c
../elc/elconfig.c: In function ‘destroy_shadow_mapping’:
../elc/elconfig.c:192: warning: implicit declaration of function ‘free_shadow_framebuffer’
../elc/elconfig.c: In function ‘destroy_fbos’:
../elc/elconfig.c:214: warning: implicit declaration of function ‘free_reflection_framebuffer’
../elc/elconfig.c:215: warning: implicit declaration of function ‘minimap_free_framebuffer’
../elc/elconfig.c: In function ‘build_fbos’:
../elc/elconfig.c:225: error: ‘use_frame_buffer’ undeclared (first use in this function)
../elc/elconfig.c:225: error: (Each undeclared identifier is reported only once
../elc/elconfig.c:225: error: for each function it appears in.)
../elc/elconfig.c: In function ‘read_el_ini’:
../elc/elconfig.c:1839: warning: implicit declaration of function ‘open_file_config’
../elc/elconfig.c:1839: warning: initialization makes pointer from integer without a cast
../elc/elconfig.c: In function ‘write_el_ini’:
../elc/elconfig.c:1882: warning: assignment makes pointer from integer without a cast
../elc/elconfig.c:1900: warning: assignment makes pointer from integer without a cast
make: *** [elconfig.o] Fehler 1

 

What’s wrong? Am I still missing a header file?

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

×