Fix build without wasm feature enabled

This commit is contained in:
2023-01-03 12:58:23 +01:00
parent df47976d97
commit bd804ea280
3 changed files with 18 additions and 12 deletions

View File

@@ -11,11 +11,10 @@ use project_root::get_project_root;
use serde_json::Value;
use pkmn_lib::defines::LevelInt;
use pkmn_lib::dynamic_data::Gen7BattleStatCalculator;
use pkmn_lib::dynamic_data::Gen7DamageLibrary;
use pkmn_lib::dynamic_data::Gen7MiscLibrary;
use pkmn_lib::dynamic_data::{DynamicLibrary, DynamicLibraryImpl};
use pkmn_lib::script_implementations::wasm::script_resolver::WebAssemblyScriptResolver;
use pkmn_lib::dynamic_data::{EmptyScriptResolver, Gen7BattleStatCalculator, ScriptResolver};
use pkmn_lib::static_data::{
AbilityImpl, AbilityLibrary, AbilityLibraryImpl, BattleItemCategory, DataLibrary, EffectParameter, Form, FormImpl,
GrowthRateLibrary, GrowthRateLibraryImpl, ItemImpl, ItemLibrary, ItemLibraryImpl, LearnableMoves,
@@ -77,8 +76,7 @@ pub fn load_library() -> LoadResult {
);
let t1 = chrono::Utc::now();
let mut resolver = WebAssemblyScriptResolver::new();
load_wasm(&path, resolver.as_mut());
let script_resolver = load_script_resolver(&path);
let t2 = chrono::Utc::now();
let wasm_load_time = t2 - t1;
@@ -87,7 +85,7 @@ pub fn load_library() -> LoadResult {
Box::new(Gen7BattleStatCalculator::new()),
Box::new(Gen7DamageLibrary::new(false)),
Box::new(Gen7MiscLibrary::new()),
resolver,
script_resolver,
));
LoadResult {
@@ -352,13 +350,21 @@ pub fn load_species(
species_library
}
fn load_wasm(path: &String, library: &mut WebAssemblyScriptResolver) {
#[cfg(not(feature = "wasm"))]
fn load_script_resolver(path: &String) -> Box<dyn ScriptResolver> {
Box::new(EmptyScriptResolver::default())
}
#[cfg(feature = "wasm")]
fn load_script_resolver(path: &String) -> Box<dyn ScriptResolver> {
let mut resolver = pkmn_lib::script_implementations::wasm::script_resolver::WebAssemblyScriptResolver::new();
let file = File::open(path.to_string() + "gen7_scripts.wasm").unwrap();
let mut reader = BufReader::new(file);
let mut buffer = Vec::new();
reader.read_to_end(&mut buffer).unwrap();
library.load_wasm_from_bytes(&buffer);
library.finalize();
resolver.load_wasm_from_bytes(&buffer);
resolver.finalize();
resolver
}
fn parse_form(