New bunch of lil' pesky bugs to smash (efd1f174fd68fbba594321e32b4b9a3ac1cbdd9d)

Clean install from github. Linux tynycore, on vbox. Last commit is in topic subject.
First of all - “nothing” is back! I mean over-map type. I thought it’s fixed already, but hey. It’s good to have old friends around, you know :slight_smile:
Second: ran into reproducible error message popping up. Reads "DEBUG: centadodecamonant (phew, i managed to write it!) doesn’t exist in grid; within add_spawn (20, 1, 4, 9) (<-numbers can be quite random)… It pops up near a mega store (some over-map tiles away) AND there is a evac shelter too (“safe zone” conflict?). The closer to the shelter - the more of it, to the point when i tired of pressing spacebar.
Third: that shelter have basement (obviously). If i try to descend there, it’s segfaults. Let’s load, debug and catch some info, shall we?

program received signal SIGSEGV, sigmentation fault.
0x80d2e53 in std::vector<spawn_point, std::allocator<spawn_point> >:: push back (this=0x1691),
__x= …)
at tmp/tcloop/gcc/usr/local/bin/…/lib/gcc/i686-pc-linux-gnu/4.4.3/…/…/…/…/include/c++/4.4.3/bits/stl_vector.h:735 –
735 if (this-> _M_impl._M_finish != this _M_impl._M_end_of_storage)

(gdb) backtrace
#0 0x080d2e53 in std::vector<spawn_point, std::alocator<spawn_point> >::push_back (this=0x1691 __x=…)
at tmp/tcloop/gcc/usr/local/bin/…/lib/gcc/i686-pc-linux-gnu/4.4.3/…/…/…/…/include/c++/4.4.3/bits/stl_vector.h:735
#1 0x080a9b87 in map::add_spawn (this=0xbfbfdf34, type=mon_zombie, count=1 x=9, y=8,
firendly=false, faction_id=-1, mission_id=-1, name=…) at mapgen.cpp:6888
#2 0x08a9d56 in map::add_spawn (this=0xbfbfdf34, mon=0xa71fb38 at mapgen.cpp:6909
#3 0x086ce9e7 in game::vertical_move (this=0xb73e7008, movez=-1, force=false) at game.cpp:7446
#4 0x086a662c in game::get_input (this=0xb73e7008, timeout_ms=34590) at game.cpp:1450
#5 0x086a25c0 in game::do_turn (this=0xb73e7008) at game.cpp:674
#6 0x0831d053 in main (argc=0, argv=0xbfc824f8) at main.cpp:75
(dgb)

pheeew… i hope this is useful somehow.

More:
when trying to pick up used arrow: stack of arrow in inventory: 78. Totals: weight 179/196/785, Volume 82/116, items 40/52
"You’re carrying too many items!" Huh!? :slight_smile:

Hi! That centadodecamonant thing was mine; it’s a bit of sillyness to make it easy to find in the code, and a band-aid to cover up the real issue while preventing a crash. The real issue is that the map sometimes becomes corrupted near overmap boundaries. So I’m insisting that you were near an overmap boundary when it crashed :slight_smile: I could be wrong, but that’s the only time i noticed that the centadodecamonants become a problem.

I had thought that map::shift was causing all of the problems, but apparently not here. It looks like the submap list is corrupted in some way. Do you remember which border of the overmap you were next to?

Hi. I don’t know where the boundary actually is, or how to determine that… But i remember where i saw that “nothing” (and problems began). It’s kinda close of my starting shelter, and literally in between two cities that are very close one to another.
I can’t upload picture of the map, it’s says something about “upload path not accessible” :frowning:

Here we go. Vertical line marks approximate area, where it did happen.

P.S. I keep wondering, whats “centadodecamonant” could probably mean… :slight_smile:

‘Nothing’ generally signifies a border between overmaps, so it’s probably that.

Well, after some time screwing around (crossing that line forth and back) i found a way to not crash entering that basement. And debug message stopped apearing after some spacebar smacking. Dunno how, but your “centadodecamonant”-thing to prevent crash actually works. I wouldn’t report it, if i was aware of such “band-aids” :slight_smile:

quadrant means 1 in 4. Whales used “nonant,” 1 in 9, to mean something similar to submaps. The scope of nonants expanded to something like 121, which is silly, so I called them centadodecamonants.

yeah, that’s an overmap border. Even though you’re on the right side of the boundary, your map actually belongs to the left, as that’s where your map’s origin (corner) is. There’s nothing wrong with that, but there are unfortunately a bunch of cases that have to be worked out.

edit: ‘nothing’ means that you’re in a submap that isn’t loaded.

edit: Your messing with it is very revealing. This means that map::shift isn’t loading the submaps properly when you travel west across an overmap border. Maybe it only happens when @ is in one overmap and the map belongs to the next one over?

Maybe. But i noticed, that map doesn’t display ‘@’ for several tiles, when i cross the boundary. At the same place. It looks like there is a border, ~5 tiles wide between over-map tiles, and there is always that “nothing”. It’s here no matter what you do. Hmmm… it’s just a wild guess, but i think that zone doesn’t belong to either submap at all. If it were - it would become loaded when i go far enough into submap, but that doesn’t happen.