Jump to content
Eternal Lands Official Forums
Roja

Map Editor Download

Recommended Posts

If you want to make your own guild map then you need to download the newest map editor.

 

Download it and install it directly into your Eternal Lands directory. Do not let your unzip program create a new folder for it to go in. Instead, when you download it save it directly into your EL folder and choose "extract here". if you're on windows the default path would be here: C:/Program Files/Eternal Lands/

 

Map Editor Download Link for Windows

 

 

Linux map editor? If you can compile it and give me one I'll post a link for that here ;)

 

*Notes on some changes:

-Now all maps are saved as .elm.gz which the map editor can open/save to.

-If you want to delete ground tiles, you can now hold down shift in delete tile mode and "paint" delete them, making it easier/faster

**There is a bug if you delete tiles in the m minimap mode-it will delete the height map as well! So do not use this unless you want a null height map!

Share this post


Link to post
Share on other sites

woohoo!!

 

thanks roja :laugh:

 

but it doesn't run :(

 

no error messages, just gives me a second of hourglass icon and then nothing..

 

winxp pro

Edited by DibClark

Share this post


Link to post
Share on other sites

seems it doesn't start because of this:

 

[09:44:50] : "el.ini"

[09:44:50] Failure reading mapedit.ini

 

copied mapedit.ini from current client to the folder, then it starts just fine.

Share this post


Link to post
Share on other sites
seems it doesn't start because of this:

 

[09:44:50] : "el.ini"

[09:44:50] Failure reading mapedit.ini

 

copied mapedit.ini from current client to the folder, then it starts just fine.

 

woohoo thanks, alber :(

Edited by DibClark

Share this post


Link to post
Share on other sites

I updated the cvs with the latest changes (they already are in Roja's exe) for whoever wants to compile his own mapeditor. They correct HUGE bugs, so please recompile from cvs.

Share this post


Link to post
Share on other sites

There is a bug with the ctrl+b function when you click "ruins", there is no back feature, forcing you to restart the editor to back up. THis bug was in the old editor as well.

Share this post


Link to post
Share on other sites

Map editor for linux (please test and tell me if something doesn't work)

 

http://www.filefactory.com/file/b0fhd14/n/...or_linux.tar.gz

 

The archive includes the mapedit.ini and the updated browser.lst file; the data path in the .ini file is set to /usr/share/eternal-lands/

Extract the content where your EL data are, and run mapedit.x86.linux.bin to launch the map editor.

Share this post


Link to post
Share on other sites
Map editor for linux (please test and tell me if something doesn't work)

Map editor crashes when I'm loading 2d objects. When I'm loading 3d objects it vrites me "invalid 3d object"

i'm using linux.x86_64

 

I tried to compile by myself but it crashes when i'm loading 2d or 3d objects :(

Share this post


Link to post
Share on other sites

- did you extract the content of the archive to where EL is installed?

- did you edit the mapedit.ini file to point to where EL is installed?

- if you launch it from terminal, do you get any error message?

 

Sorry but atm I don't have a 64bit system where to test it

Share this post


Link to post
Share on other sites

I can reproduce the crash #data_dir in mapedit.ini is correct.

 

$ gdb ./mapedit.x86.linux.bin 
GNU gdb (GDB) 7.1
Copyright (C) 2010 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 "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/hussam/packages/el/map_editor/mapedit.x86.linux.bin...done.
(gdb) run
Starting program: /home/hussam/packages/el/map_editor/mapedit.x86.linux.bin 
[Thread debugging using libthread_db enabled]
[New Thread 0xafc80b70 (LWP 28060)]
[New Thread 0xaf03bb70 (LWP 28061)]
[New Thread 0xae83ab70 (LWP 28062)]
[Thread 0xae83ab70 (LWP 28062) exited]
[New Thread 0xae83ab70 (LWP 28063)]
[Thread 0xae83ab70 (LWP 28063) exited]

Program received signal SIGSEGV, Segmentation fault.
0x080682d5 in move_2d_object (object_id=0) at misc.c:394
394		obj_2d_list[object_id]->x_pos=scene_mouse_x;
(gdb) bt full
#0  0x080682d5 in move_2d_object (object_id=0) at misc.c:394
No locals.
#1  0x0805c3b4 in HandleEvent (event=0xbffff5e4) at events.c:853
	tool_bar_click = 0 '\000'
	done = 0
	ch = 0 '\000'
#2  0x080657f4 in start_rendering () at main.c:19
	event = {type = 4 '\004', active = {type = 4 '\004', gain = 0 '\000', 
		state = 0 '\000'}, key = {type = 4 '\004', which = 0 '\000', 
		state = 0 '\000', keysym = {scancode = 37 '%', sym = 3669720, 
		  mod = KMOD_NONE, unicode = 0}}, motion = {type = 4 '\004', 
		which = 0 '\000', state = 0 '\000', x = 37, y = 77, xrel = -296, 
		yrel = 55}, button = {type = 4 '\004', which = 0 '\000', 
		button = 0 '\000', state = 0 '\000', x = 37, y = 77}, jaxis = {
		type = 4 '\004', which = 0 '\000', axis = 0 '\000', value = 37}, 
	  jball = {type = 4 '\004', which = 0 '\000', ball = 0 '\000', 
		xrel = 37, yrel = 77}, jhat = {type = 4 '\004', which = 0 '\000', 
		hat = 0 '\000', value = 0 '\000'}, jbutton = {type = 4 '\004', 
		which = 0 '\000', button = 0 '\000', state = 0 '\000'}, resize = {
		type = 4 '\004', w = 5046309, h = 3669720}, expose = {
		type = 4 '\004'}, quit = {type = 4 '\004'}, user = {
		type = 4 '\004', code = 5046309, data1 = 0x37fed8, data2 = 0x0}, 
	  syswm = {type = 4 '\004', msg = 0x4d0025}}
---Type <return> to continue, or q <return> to quit---
	done = 0
	last_save_time = 0
#3  0x08065920 in Main (argc=1, argv=0xbffff704) at main.c:72
	logo = 1
	numtests = 1
	slowly = 1
#4  0x08065942 in main (argc=1, argv=0xbffff704) at main.c:80
No locals.

Share this post


Link to post
Share on other sites

Just been looking at getting the map editor working (fully) on Linux too. I'm rather confused. As the code stands there appears to be a problem with the way datadir is used. When you select any of the objects or particles , the resulting path is wrong. For example what should result in "./3dobjects/arch4.e3d" actually results in ".3dobjects/arch4.e3d" - note the missing "/" after the leading ".". This is because during start up, the datadir is always made to end in a "/". When objects etc are loaded, it is assumed it does not. This code is repeated when getting the paths to objects....

if(datadir_len > 0 && strncmp(selected_file, datadir, datadir_len) == 0) {
 /* add_e3d() wants a path relative to the data dir */
 file += datadir_len-1;
 *file = '.';
}

This code will always replace the trailing "/" with a "." and so lead to the wrong path. Changing the above code to "file += datadir_len-2" fixes the problem and loads the objects & particles properly. I think the crash above is simply due to the objects not loading correctly. The failure to load is not trapped correctly.

 

I have only tried this on Linux. It does not appear to be a problem in code that is only compiled for Linux so how come the windows version works OK. I cannot compile this on window to check the details. Could it be the file browser works differently on windows and returns a different path? What am I missing?

Share this post


Link to post
Share on other sites

The code above seems to be in the open_3d_obj_continued function, and it is out of the scope of the #defines for linux and gtk2, however, it seems never to be called in Windows. The open_3d_obj_continued fn is called from gui.c in the open_button_clicked function and also from the gtk callback in gui_callbacks.c (on_ok_button1_clicked) - both these are protected by #ifdef GTK2

 

The open_button_clicked function is set as a callback in the show_open_window function in gui.c, and the show_open_window function is only ever called from functions that are protected with #ifdef LINUX

 

 

So... under windows I think what happens is that there is no additional "*_continued" function needed due to the way the callbacks work wrt windows file choosers compared to the gtk file chooser under linux.

 

 

Ideally I would have thought that it would be cleaner if both used gtk so that a single code-base could be maintained although that would require bundling gtk libs with the windows version...

Share this post


Link to post
Share on other sites

i have exactly the same problem...

compiled map-editor from cvs (map-editor2 wont compile for me.. at least on 1st try).

all seem to work oki except the 3d objects. i get bad object cause it searches for .objectname instead of ./objectname

(example: FN: .3dobjects/arch5.e3d)

 

it seems map-editor is only usable under windows?

or i am missing something..

sorry if this has already been re-addressed on forum... i searched forum but was unable to find a solution..

 

it seems a pity if map-editor doesn't work for such a minor error.. seems prolly easy to fix.. i think..

 

tnx in advance :)

Edited by ghio

Share this post


Link to post
Share on other sites

Seems bluap has pointed the fix..

But i cant find on which .h or .c file this fix shall be applied to..

 

if(datadir_len > 0 && strncmp(selected_file, datadir, datadir_len) == 0) {
 /* add_e3d() wants a path relative to the data dir */
 file += datadir_len-1;
 *file = '.';
}

This code will always replace the trailing "/" with a "." and so lead to the wrong path. Changing the above code to "file += datadir_len-2" fixes the problem and loads the objects & particles properly. I think the crash above is simply due to the objects not loading correctly. The failure to load is not trapped correctly.

Share this post


Link to post
Share on other sites

I found a minor error in the browser.lst. Under Clothes-Rug-Tapestries/Rugs it has both the blue and green big rugs listed as Big Rug 1. No biggie. Just thought I'd mention it.

 

Hopefully helpful,

-- Hadrion

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

×