Jump to content

Map editor crash testing map (errno = 11)


Baelish
 Share

Recommended Posts

20 minutes ago, vladislavbelov said:

How did try to delete them all?

In map editor I selected all with "Move/Rotate object", I used it to select all maps and the I clicked "delete" on keyboard

23 minutes ago, vladislavbelov said:

Could you try to run it under gdb to see a resolved stack? (gdb -ex run pyrogenesis)

I try it, but same error

It says also:

(gdb) CCmpUnitMotion_System.cpp(434): Assertion failed: "it->second.pos.X.ToInt_RoundToZero() / PUSHING_GRID_SIZE < m_MovingUnits.width() && it->second.pos.Y.ToInt_RoundToZero() / PUSHING_GRID_SIZE < m_MovingUnits.height()"

Thread 1 "main" received signal SIGSEGV, Segmentation fault.
0x00005555557a6146 in ?? ()
Link to comment
Share on other sites

44 minutes ago, Baelish said:

In map editor I selected all with "Move/Rotate object", I used it to select all maps and the I clicked "delete" on keyboard

Could you try it for a map present in the game?

44 minutes ago, Baelish said:

I try it, but same error

It says also:

Does it show a resolved stack? Could you type bt there and press enter?

Link to comment
Share on other sites

2 hours ago, vladislavbelov said:

Could you try it for a map present in the game?

Already done, I had the same error

 

2 hours ago, vladislavbelov said:

Does it show a resolved stack? Could you type bt there and press enter?

I hope that I understand what to do:

(gdb) bt
#0  0x00005555557ab340 in ?? ()
#1  0x00005555557a62f1 in ?? ()
#2  0x00005555557a6dd9 in ?? ()
#3  0x00005555556cf637 in ?? ()
#4  0x000055555569afc2 in ?? ()
#5  0x00005555556a31ea in ?? ()
#6  0x00005555556f912b in ?? ()
#7  0x00005555558d61fc in ?? ()
#8  0x000055555561d6c0 in ?? ()
#9  0x00005555556051e7 in ?? ()
#10 0x00007ffff5f471ca in __libc_start_call_main (
    main=main@entry=0x5555556051b0, argc=argc@entry=1, 
    argv=argv@entry=0x7fffffffe0f8)
    at ../sysdeps/nptl/libc_start_call_main.h:58
#11 0x00007ffff5f47285 in __libc_start_main_impl (main=0x5555556051b0, argc=1, 
    argv=0x7fffffffe0f8, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fffffffe0e8)
    at ../csu/libc-start.c:360
#12 0x00005555556161f1 in ?? ()

 

Link to comment
Share on other sites

I've got important news: I tried to replace the .xml file with a new one previously set (I created a new map and replaced the .xml file) and it worked!

Map is now set with elevation and texture, but with no entity and other stuff, like sun or sea.

I suppose that I use too much trees or too near. It is only a theory. It can be a problem?

Edited by Baelish
Link to comment
Share on other sites

3 minutes ago, Baelish said:

I suppose that I use too much trees or too near. It is only a theory. It can be a problem?

We have the same assertion when there're entities placed too close to a map border, particularly their shape intersects the border. Known bug: https://trac.wildfiregames.com/ticket/6486

15 minutes ago, Baelish said:

I attach files of the map

Thank you, we'll use it for 6486 when there'll be a fix.

Maybe when you deleted all entities some of them remained behind/close to a map border.

Link to comment
Share on other sites

On 10/11/2023 at 11:08 PM, vladislavbelov said:

Post the results

Hi, I will resume quickly:

There are some entities beyond the limit.

1) I try to remove them with map editor, but isn't possible to select things in the black parts of the map (I mean the corners).

2) So I decide to manually remove from the .xml file all the entities with coordinate x or z higher than a certain number and to find this number I put some entities in the Cardinal points.

Both methods FAIL.

3) Finally I use same .pmp file and create a new .xml file and I start from zero. I recommend to backup .xml often in a different directory to restore it instead of restart from the beginning.

Well, how can I publish my new map?

P.S. Have the second method sense? Because maybe I damaged .xml, I believe that accidentally I remove something important: when I use that .xml map editor says that it's unusable.

Link to comment
Share on other sites

On 13/11/2023 at 1:01 AM, Baelish said:

1) I try to remove them with map editor, but isn't possible to select things in the black parts of the map (I mean the corners).

Indeed, maybe we need a tool to cleanup such entities.

On 13/11/2023 at 1:01 AM, Baelish said:

2) So I decide to manually remove from the .xml file all the entities with coordinate x or z higher than a certain number and to find this number I put some entities in the Cardinal points.

Just high values aren't enough because maps are circular. So ideally you need to find coordinates of a map center and remove all entities which are further than a map radius (maybe with some bias). (0, 0) isn't a map center but the one of its corners.

Link to comment
Share on other sites

21 hours ago, vladislavbelov said:

(0, 0) isn't a map center but the one of its corners.

Approximately, I find map center at (1024, 1024), but maybe it's wrong because my calculations aren't precise. About the radius, I agree but I don't find a method to remove entities in the corners quickly. I can build a tool in python that read x and z, square sum them and remove if radius is higher than 1008. Please confirm me if radius and center information are correct, because I need them to use a formula.

Edited by Baelish
Link to comment
Share on other sites

1 hour ago, Baelish said:

Approximately, I find map center at (1024, 1024), but maybe it's wrong because my calculations aren't precise. About the radius, I agree but I don't find a method to remove entities in the corners quickly. I can build a tool in python that read x and z, square sum them and remove if radius is higher than 1008. Please confirm me if radius and center information are correct, because I need them to use a formula.

It depends on a map size. I think the easiest way (without looking to the code) is to place 4 entities on an empty map with your size (their sum divided by 4 would be the center):

image.png

Another way to get a coordinate of some point is to place a camera there and print its current position:

Misc hacks > JS console > Enter warn(uneval(Engine.GetCameraPosition()));

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...