The International Simutrans Forum

 

Author Topic: [Bug v3.6] arrival_time of ware_t Objects is Overwritten when Loading Save Game  (Read 1456 times)

0 Members and 1 Guest are viewing this topic.

knightly

  • Guest
Hi James,

In haltestelle_t::rdwr() :

Quote

   // restoring all goods in the station
   char s[256];
   file->rdwr_str(s,256);
   while(*s) {
      file->rdwr_short(count, " ");
      if(count>0) {
         for(int i = 0; i < count; i++) {
            // add to internal storage (use this function, since the old categories were different)
            ware_t ware(welt,file);
            if(  ware.menge > 0 ) {
               add_ware_to_halt(ware);
            }
         }
      }
      file->rdwr_str(s,256);
   }


By adding ware_t objects to halts during save game loading using add_ware_to_halt(), their previously saved arrival_time will be overwritten with the world tick at load time :

Quote

void haltestelle_t::add_ware_to_halt(ware_t ware)
{
   //@author: jamespetts
   ware.arrival_time = welt->get_zeit_ms();

   ...


Online jamespetts gb

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 18393
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Thank you for spotting that! Now resolved for the next version.