+/*
+ * Copyright (C) 2021-2022 Mt.ZERO Software, Harry Godden - All Rights Reserved
+ */
+
#ifndef WORLD_GEN_H
#define WORLD_GEN_H
+/*
+ * FUTURE:
+ * If we have multiple levels, write an unloader
+ */
+
#include "world.h"
static void world_add_all_if_material( m4x3f transform, scene *pscene,
}
}
}
+ else if( pnode->classtype == k_classtype_achievement_box )
+ {
+ world.achievement_zones =
+ buffer_reserve( world.achievement_zones,
+ world.achievement_zones_count,
+ &world.achievement_zones_cap, 1,
+ sizeof(struct achievement_zone) );
+
+ struct achievement_zone *zone = &world.achievement_zones[
+ world.achievement_zones_count ++ ];
+
+
+ struct classtype_achievement_box *box = mdl_get_entdata(mworld,pnode);
+
+ mdl_node_transform( pnode, zone->transform );
+ m4x3_invert_full( zone->transform, zone->inv_transform );
+ vg_strncpy( mdl_pstr(mworld, box->pstr_name), zone->name, 31 );
+ zone->name[31] = 0x00;
+ zone->triggered = 0;
+ }
}
world.instance_cache = buffer_fix( world.instance_cache,