void player_activity::deserialize(JsonIn &jsin) { JsonObject data = jsin.get_object(); int tmptype; int tmpinv; if ( !data.read( "type", tmptype ) || type >= NUM_ACTIVITIES ) { debugmsg( "Bad activity data:\n%s", data.str().c_str() ); } type = activity_type(tmptype); data.read( "moves_left", moves_left ); data.read( "index", index ); data.read( "invlet", tmpinv ); invlet = (char)tmpinv; data.read( "name", name ); data.read( "placement", placement ); values = data.get_int_array("values"); str_values = data.get_string_array("str_values"); }
void player_activity::deserialize(JsonIn &jsin) { JsonObject data = jsin.get_object(); int tmptype; int tmppos; if ( !data.read( "type", tmptype ) || type >= NUM_ACTIVITIES ) { debugmsg( "Bad activity data:\n%s", data.str().c_str() ); } if ( !data.read( "position", tmppos)) { tmppos = INT_MIN; // If loading a save before position existed, hope. } type = activity_type(tmptype); data.read( "moves_left", moves_left ); data.read( "index", index ); position = tmppos; data.read( "name", name ); data.read( "placement", placement ); values = data.get_int_array("values"); str_values = data.get_string_array("str_values"); }