投稿者 トピック: [5003] 111.0で保存したセーブゲームが読み込めない  (参照数 4652 回)

z9999+

  • 管理人
  • 急行
  • *
  • 投稿: 381
rev5003 can't load savegame which was saved in 111.0.

引用
Message: simlinemgmt_t::rdwr():   number of lines=0
Message: spieler_t::rdwr():   player 3: loading 0 halts.
Message: spieler_t::int_undo():   undo tiles 0
Message: simlinemgmt_t::rdwr():   number of lines=0
FATAL ERROR: loadsave_t::rdwr_str()
string longer (12589) than allowed size (256)
Aborting program execution ...


コード: [選択]
sim.exe caused an Integer Divide By Zero at location 00560c63 in module sim.exe.

Registers:
eax=0000000f ebx=0049711a ecx=00000000 edx=00000000 esi=081ca2d8 edi=00000000
eip=00560c63 esp=0023df40 ebp=0023dfb8 iopl=0         nv up ei pl zr ac po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000256

Call stack:
00560C63  sim.exe:00560C63  log_t::fatal(char const*, char const*, ...)  log.cc:252
...
// generate a division be zero error, if the user request it
static int make_this_a_division_by_zero = 0;
> printf("%i", 15 / make_this_a_division_by_zero);
make_this_a_division_by_zero &= 0xFF;
}
...

0043E4B6  sim.exe:0043E4B6  loadsave_t::rdwr_str(char*, unsigned)  loadsave.cc:695
...
dbg->fatal( "loadsave_t::rdwr_str()","string longer (%i) than allowed size (%i)", len, size );
}
> read(s, len);
s[len] = '\0';
}
...

004EE750  sim.exe:004EE750  spieler_t::rdwr(loadsave_t*)  simplay.cc:733
...
void spieler_t::rdwr(loadsave_t *file)
{
> xml_tag_t sss( file, "spieler_t" );
sint32 halt_count=0;

...

004DC2F6  sim.exe:004DC2F6  ai_t::rdwr(loadsave_t*)  ai.cc:547
...
{
spieler_t::rdwr(file);
> if(  file->get_version()<111001  ) {
// do not know about ai_t
return;
...

004EAA8C  sim.exe:004EAA8C  ai_passenger_t::rdwr(loadsave_t*)  ai_passenger.cc:1383
...

// then check, if we have to do something or the game is too old ...
> if(file->get_version()<101000) {
// ignore saving, reinit on loading
if(  file->is_loading()  ) {
...

00559CD1  sim.exe:00559CD1  karte_t::laden(loadsave_t*)  simworld.cc:4537
...
if(  spieler[i]  ) {
spieler[i]->rdwr(file);
> settings.automaten[i] = spieler[i]->is_active();
}
else {
...

00558528  sim.exe:00558528  karte_t::laden(char const*)  simworld.cc:4184
...
laden(&file);

> if(  umgebung_t::networkmode  ) {
clear_command_queue();
}
...

« 最終編集: 2011/12/11 21:23 by z9999+ »

prissi

  • 各駅停車
  • *
  • 投稿: 45
Yes, spieler_t is saved twice. I reverted Dwachs change today.