Jump to content

Map editor crash testing map (errno = 11)


Baelish
 Share

Recommended Posts

39 minutes ago, Baelish said:

I tried to remove all entities, to flat all map, but it crashes anyway.

How did try to delete them all?

40 minutes ago, Baelish said:

If you need more infos, i will answer quickly.

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

Link to comment
Share on other sites

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

24 minutes ago, vladislavbelov said:

there're entities placed too close to a map border, particularly their shape intersects the border.

Thank you very much, I will try to load old .xml file and remove entityes on 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

16 minutes ago, vladislavbelov said:

place 4 entities on an empty map with your size (their sum divided by 4 would be the center):

I had already done it and obtained that numbers for a giant map, now I'm working on the program and I hope that it will work

Link to comment
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
 Share

×
×
  • Create New...