Quellcode durchsuchen

resource: use DATA_COMPILER_ENSURE()

Daniele Bartolini vor 5 Jahren
Ursprung
Commit
fbd5986c2d

+ 3 - 2
src/resource/level_resource.cpp

@@ -83,8 +83,9 @@ namespace level_resource_internal
 		}
 
 		UnitCompiler uc(opts);
-		if (uc.compile_multiple_units(obj["units"]) != 0)
-			return -1;
+		s32 err = 0;
+		err = uc.compile_multiple_units(obj["units"]);
+		DATA_COMPILER_ENSURE(err == 0, opts);
 
 		Buffer unit_blob = uc.blob();
 

+ 4 - 4
src/resource/material_resource.cpp

@@ -289,13 +289,13 @@ namespace material_resource_internal
 
 		if (json_object::has(obj, "textures"))
 		{
-			if (parse_textures(obj["textures"], texdata, names, dynblob, opts) != 0)
-				return -1;
+			s32 err = parse_textures(obj["textures"], texdata, names, dynblob, opts);
+			DATA_COMPILER_ENSURE(err == 0, opts);
 		}
 		if (json_object::has(obj, "uniforms"))
 		{
-			if (parse_uniforms(obj["uniforms"], unidata, names, dynblob, opts) != 0)
-				return -1;
+			s32 err = parse_uniforms(obj["uniforms"], unidata, names, dynblob, opts);
+			DATA_COMPILER_ENSURE(err == 0, opts);
 		}
 
 		MaterialResource mr;

+ 25 - 12
src/resource/package_resource.cpp

@@ -174,18 +174,31 @@ namespace package_resource_internal
 		if (json_object::has(obj, "shader"))           sjson::parse_array(shader, obj["shader"]);
 		if (json_object::has(obj, "sprite_animation")) sjson::parse_array(sprite_animation, obj["sprite_animation"]);
 
-		if (compile_resources(resources_set, opts, "texture", texture) != 0) return -1;
-		if (compile_resources(resources_set, opts, "lua", script) != 0) return -1;
-		if (compile_resources(resources_set, opts, "sound", sound) != 0) return -1;
-		if (compile_resources(resources_set, opts, "mesh", mesh) != 0) return -1;
-		if (compile_resources(resources_set, opts, "unit", unit) != 0) return -1;
-		if (compile_resources(resources_set, opts, "sprite", sprite) != 0) return -1;
-		if (compile_resources(resources_set, opts, "material", material) != 0) return -1;
-		if (compile_resources(resources_set, opts, "font", font) != 0) return -1;
-		if (compile_resources(resources_set, opts, "level", level) != 0) return -1;
-		if (compile_resources(resources_set, opts, "physics_config", phyconf) != 0) return -1;
-		if (compile_resources(resources_set, opts, "shader", shader) != 0) return -1;
-		if (compile_resources(resources_set, opts, "sprite_animation", sprite_animation) != 0) return -1;
+		s32 err = 0;
+		err = compile_resources(resources_set, opts, "texture", texture);
+		DATA_COMPILER_ENSURE(err == 0, opts);
+		err = compile_resources(resources_set, opts, "lua", script);
+		DATA_COMPILER_ENSURE(err == 0, opts);
+		err = compile_resources(resources_set, opts, "sound", sound);
+		DATA_COMPILER_ENSURE(err == 0, opts);
+		err = compile_resources(resources_set, opts, "mesh", mesh);
+		DATA_COMPILER_ENSURE(err == 0, opts);
+		err = compile_resources(resources_set, opts, "unit", unit);
+		DATA_COMPILER_ENSURE(err == 0, opts);
+		err = compile_resources(resources_set, opts, "sprite", sprite);
+		DATA_COMPILER_ENSURE(err == 0, opts);
+		err = compile_resources(resources_set, opts, "material", material);
+		DATA_COMPILER_ENSURE(err == 0, opts);
+		err = compile_resources(resources_set, opts, "font", font);
+		DATA_COMPILER_ENSURE(err == 0, opts);
+		err = compile_resources(resources_set, opts, "level", level);
+		DATA_COMPILER_ENSURE(err == 0, opts);
+		err = compile_resources(resources_set, opts, "physics_config", phyconf);
+		DATA_COMPILER_ENSURE(err == 0, opts);
+		err = compile_resources(resources_set, opts, "shader", shader);
+		DATA_COMPILER_ENSURE(err == 0, opts);
+		err = compile_resources(resources_set, opts, "sprite_animation", sprite_animation);
+		DATA_COMPILER_ENSURE(err == 0, opts);
 
 		// Generate resource list
 		auto cur = hash_set::begin(resources_set);

+ 17 - 17
src/resource/shader_resource.cpp

@@ -722,32 +722,32 @@ namespace shader_resource_internal
 
 			if (json_object::has(obj, "render_states"))
 			{
-				if (parse_render_states(obj["render_states"]) != 0)
-					return -1;
+				s32 err = parse_render_states(obj["render_states"]);
+				DATA_COMPILER_ENSURE(err == 0, _opts);
 			}
 
 			if (json_object::has(obj, "sampler_states"))
 			{
-				if (parse_sampler_states(obj["sampler_states"]) != 0)
-					return -1;
+				s32 err = parse_sampler_states(obj["sampler_states"]);
+				DATA_COMPILER_ENSURE(err == 0, _opts);
 			}
 
 			if (json_object::has(obj, "bgfx_shaders"))
 			{
-				if (parse_bgfx_shaders(obj["bgfx_shaders"]) != 0)
-					return -1;
+				s32 err = parse_bgfx_shaders(obj["bgfx_shaders"]);
+				DATA_COMPILER_ENSURE(err == 0, _opts);
 			}
 
 			if (json_object::has(obj, "shaders"))
 			{
-				if (parse_shaders(obj["shaders"]) != 0)
-					return -1;
+				s32 err = parse_shaders(obj["shaders"]);
+				DATA_COMPILER_ENSURE(err == 0, _opts);
 			}
 
 			if (json_object::has(obj, "static_compile"))
 			{
-				if (parse_static_compile(obj["static_compile"]) != 0)
-					return -1;
+				s32 err = parse_static_compile(obj["static_compile"]);
+				DATA_COMPILER_ENSURE(err == 0, _opts);
 			}
 
 			return 0;
@@ -1176,11 +1176,11 @@ namespace shader_resource_internal
 				const RenderState rs_default;
 				const RenderState& rs = hash_map::get(_render_states, render_state, rs_default);
 
-				_opts.write(shader_name._id);                               // Shader name
-				_opts.write(rs.encode());                                   // Render state
-				compile_sampler_states(bgfx_shader.c_str());                // Sampler states
-				if (compile_bgfx_shader(bgfx_shader.c_str(), defines) != 0) // Shader code
-					return -1;
+				_opts.write(shader_name._id);                                // Shader name
+				_opts.write(rs.encode());                                    // Render state
+				compile_sampler_states(bgfx_shader.c_str());                 // Sampler states
+				s32 err = compile_bgfx_shader(bgfx_shader.c_str(), defines); // Shader code
+				DATA_COMPILER_ENSURE(err == 0, _opts);
 			}
 
 			return 0;
@@ -1355,8 +1355,8 @@ namespace shader_resource_internal
 	s32 compile(CompileOptions& opts)
 	{
 		ShaderCompiler sc(opts);
-		if (sc.parse(opts.source_path()) != 0)
-			return -1;
+		s32 err = sc.parse(opts.source_path());
+		DATA_COMPILER_ENSURE(err == 0, opts);
 
 		return sc.compile();
 	}

+ 7 - 6
src/resource/unit_compiler.cpp

@@ -353,8 +353,9 @@ s32 UnitCompiler::compile_unit_from_json(const char* json)
 	// offsets[  1] = { prefab = ..., ... }                    <- Prefab of the original unit
 	// offsets[  2] = { prefab = ..., ... }                    <- Prefab of the prefab of the original unit
 	// offsets[n-1] = { prefab = nil, ... }                    <- Root unit
-	if (collect_units(data, offsets, json) < 0)
-		return -1;
+	s32 err = 0;
+	err = collect_units(data, offsets, json);
+	DATA_COMPILER_ENSURE(err >= 0, _opts);
 
 	TempAllocator4096 ta;
 	JsonArray merged_components(ta);
@@ -499,8 +500,8 @@ s32 UnitCompiler::compile_unit_from_json(const char* json)
 			const StringId32 type = sjson::parse_string_id(component["type"]);
 
 			Buffer output(default_allocator());
-			if (compile_component(output, type, merged_components_data[cc]) != 0)
-				return -1;
+			err = compile_component(output, type, merged_components_data[cc]);
+			DATA_COMPILER_ENSURE(err == 0, _opts);
 
 			add_component_data(type, output, _num_units);
 		}
@@ -518,8 +519,8 @@ s32 UnitCompiler::compile_multiple_units(const char* json)
 
 	for (u32 i = 0; i < array::size(units); ++i)
 	{
-		if (compile_unit_from_json(units[i]) != 0)
-			return -1;
+		s32 err = compile_unit_from_json(units[i]);
+		DATA_COMPILER_ENSURE(err == 0, _opts);
 	}
 
 	return 0;

+ 2 - 2
src/resource/unit_resource.cpp

@@ -18,8 +18,8 @@ namespace unit_resource_internal
 		Buffer unit_data(default_allocator());
 
 		UnitCompiler uc(opts);
-		if (uc.compile_unit(opts.source_path()) != 0)
-			return -1;
+		s32 err = uc.compile_unit(opts.source_path());
+		DATA_COMPILER_ENSURE(err == 0, opts);
 
 		opts.write(uc.blob());
 		return 0;