Hi. I got lost in a giant underground science lab; while wandering it’ll eventually crash. I’m at revision 284d56f187f1694e5f6458a0c3182625997d1572.
Program received signal SIGSEGV, Segmentation fault.
0x08311295 in map::generate (this=0xbfbc0ae4, g=0x29701000, om=0x2970415c,
x=210, y=292, turn=112212) at mapgen.cpp:198
198 float size = (float)closest_city->s;
(gdb) bt
#0 0x08311295 in map::generate (this=0xbfbc0ae4, g=0x29701000, om=0x2970415c,
x=210, y=292, turn=112212) at mapgen.cpp:198
#1 0x08bbcfd9 in map::loadn (this=0x2972ba94, g=0x29701000, worldx=210,
worldy=282, gridx=0, gridy=10, update_vehicles=true) at map.cpp:3093
#2 0x08bbd1ba in map::shift (this=0x2972ba94, g=0x29701000, wx=210, wy=281,
sx=0, sy=1) at map.cpp:2947
#3 0x08839002 in game::update_map (this=0x29701000, x=@0xbfbfde04,
y=@0xbfbfde08) at game.cpp:7943
#4 0x0883c788 in game::plmove (this=0x29701000, x=60, y=60) at game.cpp:7493
#5 0x0885a2c3 in game::handle_action (this=0x29701000) at game.cpp:1464
#6 0x0885f9b5 in game::do_turn (this=0x29701000) at game.cpp:679
#7 0x089f642b in main (argc=0, argv=0xbfbfe43c) at main.cpp:70
(gdb) f 0
#0 0x08311295 in map::generate (this=0xbfbc0ae4, g=0x29701000, om=0x2970415c,
x=210, y=292, turn=112212) at mapgen.cpp:198
198 float size = (float)closest_city->s;
(gdb) list
193 }
194
195 // This attempts to scale density of zombies inversely with distance from the nearest city.
196 // In other words, make city centers dense and perimiters sparse.
197 city *closest_city = &om->cities[om->closest_city(point(overx, overy))];
198 float size = (float)closest_city->s;
199 float dist = (float)rl_dist(overx, overy, closest_city->x, closest_city->y);
200 float density = log(1 + (size - dist) / size);
201 draw_map(terrain_type, t_north, t_east, t_south, t_west, t_above, turn, g, density);
202
(gdb) p closest_city
$1 = (city *) 0xfffffff4
Then I checked a bit more… the om->cities vector is empty (not supposed to I guess?) and overmap::closest_city() must have returned -1… No idea how to fix it.