12
12
#include < unordered_set>
13
13
14
14
#include " ammo.h"
15
- #include " assign.h"
16
15
#include " cata_assert.h"
17
16
#include " catacharset.h"
18
17
#include " character.h"
@@ -240,10 +239,8 @@ void vpart_info::handle_inheritance( const vpart_info ©_from,
240
239
}
241
240
}
242
241
243
- void vpart_info::load ( const JsonObject &jo, const std::string & src )
242
+ void vpart_info::load ( const JsonObject &jo, const std::string_view src )
244
243
{
245
- const bool strict = src == " dda" ;
246
-
247
244
optional ( jo, was_loaded, " name" , name_ );
248
245
optional ( jo, was_loaded, " item" , base_item );
249
246
optional ( jo, was_loaded, " remove_as" , removed_item );
@@ -267,12 +264,8 @@ void vpart_info::load( const JsonObject &jo, const std::string &src )
267
264
optional ( jo, was_loaded, " color" , color, nc_color_reader{}, c_light_gray );
268
265
optional ( jo, was_loaded, " broken_color" , color_broken, nc_color_reader{}, c_light_gray );
269
266
optional ( jo, was_loaded, " comfort" , comfort, 0 );
270
- int legacy_floor_bedding_warmth = units::to_legacy_bodypart_temp_delta ( floor_bedding_warmth );
271
- assign ( jo, " floor_bedding_warmth" , legacy_floor_bedding_warmth, strict );
272
- floor_bedding_warmth = units::from_legacy_bodypart_temp_delta ( legacy_floor_bedding_warmth );
273
- int legacy_bonus_fire_warmth_feet = units::to_legacy_bodypart_temp_delta ( bonus_fire_warmth_feet );
274
- assign ( jo, " bonus_fire_warmth_feet" , legacy_bonus_fire_warmth_feet, strict );
275
- bonus_fire_warmth_feet = units::from_legacy_bodypart_temp_delta ( legacy_bonus_fire_warmth_feet );
267
+ optional ( jo, was_loaded, " floor_bedding_warmth" , floor_bedding_warmth, 0_C_delta );
268
+ optional ( jo, was_loaded, " bonus_fire_warmth_feet" , bonus_fire_warmth_feet, 0 .6_C_delta );
276
269
277
270
int enchant_num = 0 ;
278
271
for ( JsonValue jv : jo.get_array ( " enchantments" ) ) {
@@ -1687,19 +1680,22 @@ const std::vector<vpart_category> &vpart_category::all()
1687
1680
return vpart_categories_all;
1688
1681
}
1689
1682
1690
- void vpart_category::load ( const JsonObject &jo )
1683
+ void vpart_category::load_all ( const JsonObject &jo )
1691
1684
{
1692
1685
vpart_category def;
1693
-
1694
- assign ( jo, " id" , def.id_ );
1695
- assign ( jo, " name" , def.name_ );
1696
- assign ( jo, " short_name" , def.short_name_ );
1697
- assign ( jo, " priority" , def.priority_ );
1698
-
1686
+ def.load ( jo );
1699
1687
vpart_categories_all.push_back ( def );
1700
1688
}
1701
1689
1702
- void vpart_category::finalize ()
1690
+ void vpart_category::load ( const JsonObject &jo )
1691
+ {
1692
+ mandatory ( jo, false , " id" , id_ );
1693
+ mandatory ( jo, false , " name" , name_ );
1694
+ mandatory ( jo, false , " short_name" , short_name_ );
1695
+ mandatory ( jo, false , " priority" , priority_ );
1696
+ }
1697
+
1698
+ void vpart_category::finalize_all ()
1703
1699
{
1704
1700
std::sort ( vpart_categories_all.begin (), vpart_categories_all.end () );
1705
1701
}
0 commit comments