[nightly, Windows]
問題:
画面を拡大するとクラッシュする。
再現方法:
1. pak64フォルダにbuilding.university-a.pakを入れる。
2. ランドマークツールで、university-aを建設する。
3. ゲーム画面を拡大する。
結果:
クラッシュする
Problem:
Zoom-in causes to crash.
1. Download building.university-a.pak and add it in pak64 folder.
2. Build university-a with curiosity builder tool.
3. Zoom-in map.
Result:
Crash.
sim.exe caused an Access Violation at location 7c951689 in module ntdll.dll Reading from location 2d6b2d6b.
Registers:
eax=088382a0 ebx=03b00000 ecx=2d6b2d6b edx=2d6b004e esi=08838298 edi=08853000
eip=7c951689 esp=0023e098 ebp=0023e0a4 iopl=0 nv up ei pl zr na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246
Call stack:
7C951689 ntdll.dll:7C951689 RtlInitializeCriticalSection
7C95A3F5 ntdll.dll:7C95A3F5 RtlReAllocateHeap
7C951937 ntdll.dll:7C951937 RtlInitializeCriticalSection
77BDC3C9 msvcrt.dll:77BDC3C9 free
77BDC3E7 msvcrt.dll:77BDC3E7 free
77BDC42E msvcrt.dll:77BDC42E malloc
0057EA07 sim4095d.exe:0057EA07 xmalloc(unsigned) simmem.cc:156
...
#endif
> void* const p = malloc(size);
#endif
if (!p) {
...
005E3EE2 sim4095d.exe:005E3EE2 recode_normal_img(unsigned) simgraph16.cc:1121
...
if (images[n].data == NULL) {
> images[n].data = MALLOCN(PIXVAL, images[n].len);
}
// now do normal recode
...
005EA567 sim4095d.exe:005EA567 display_img_aux(unsigned, short, short, signed char, int, int) simgraph16.cc:2401
...
if (images[n].recode_flags&FLAG_REZOOM) {
rezoom_img(n);
> recode_normal_img(n);
} else if (images[n].recode_flags&FLAG_NORMAL_RECODE) {
recode_normal_img(n);
...
0056260D sim4095d.exe:0056260D ding_t::display(int, int, bool) const simdings.cc:251
00606362 sim4095d.exe:00606362 local_display_dinge_bg(ding_t const*, short, short, bool) dingliste.cc:1076
...
const bool display_ding = !ding->is_moving();
if (display_ding) {
> ding->display(xpos, ypos, reset_dirty );
}
return display_ding;
...
0043EF34 sim4095d.exe:0043EF34 dingliste_t::display_dinge_bg(short, short, unsigned char, bool) const dingliste.cc:1096
...
for(uint8 n=start_offset; n<top; n++) {
> if (!local_display_dinge_bg(obj.some[n], xpos, ypos, reset_dirty)) {
return n;
}
...
00432451 sim4095d.exe:00432451 grund_t::display_dinge_bg(short, short, bool, bool, bool) const grund.cc:1138
...
// display background images of everything but vehicles
const uint8 start_offset=draw_ways ? 0 : offsets[flags/has_way1];
> return dinge.display_dinge_bg( xpos, ypos, start_offset, is_global );
}
else { // must be karten_boden
...
004313B3 sim4095d.exe:004313B3 grund_t::display_dinge_all(short, short, short, bool) const grund.cc:991
...
// display background
activate_ribi_clip(ribi_t::nordwest & ribi);
> const uint8 offset_vh = display_dinge_bg(xpos, ypos, is_global, true, visible);
if (visible) {
// display our vehicles
...
005885E6 sim4095d.exe:005885E6 planquadrat_t::display_dinge(short, short, short, bool, signed char, signed char) const simplan.cc:387
0058B5FB sim4095d.exe:0058B5FB karte_ansicht_t::display(bool) simview.cc:198
00577411 sim4095d.exe:00577411 intr_refresh_display(bool) simintr.cc:75
005B7333 sim4095d.exe:005B7333 karte_t::sync_step(long, bool, bool) simworld.cc:2637
...
DBG_DEBUG4("karte_t::sync_step", "display stuff");
// display new frame with water animation
> intr_refresh_display( false );
update_frame_sleep_time(delta_t);
}
...
00577528 sim4095d.exe:00577528 interrupt_check(char const*) simintr.cc:102
005C446B sim4095d.exe:005C446B karte_t::interactive(unsigned) simworld.cc:5591
...
dr_sleep( 9 );
}
> INT_CHECK( "karte_t::interactive()" );
}
DBG_DEBUG4("karte_t::interactive", "end of sleep");
...
0057E60F sim4095d.exe:0057E60F simu_main(int, char**) simmain.cc:1152
...
// run the loop
> welt->interactive(quit_month);
new_world = true;
...
005F0EF7 sim4095d.exe:005F0EF7 WinMain simsys_w16.cc:805
...
}
> simu_main(argc, argv);
timeEndPeriod(1);
...
005F1CCA sim4095d.exe:005F1CCA dr_play_sample(int, int) win32_sound.cc:103
...
last_sample_nr = sample_number;
}
> }
...
00401247 sim4095d.exe:00401247
004012B8 sim4095d.exe:004012B8
7C817077 kernel32.dll:7C817077 RegisterWaitForInputIdle