X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world_gen.h;h=54857f59137ea40c3c34f84ad6004cb8ebcf49aa;hb=88b191de24adac2a2f9aa57d001dcf17e12f788e;hp=030af6b8ac11628a1b9e26b3d66985ddc7eb2f59;hpb=b9dedb4dd2a1e94ae76a3986716ee3c57e568213;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world_gen.h b/world_gen.h index 030af6b..54857f5 100644 --- a/world_gen.h +++ b/world_gen.h @@ -1,3 +1,7 @@ +/* + * Copyright (C) 2021-2022 Mt.ZERO Software, Harry Godden - All Rights Reserved + */ + #ifndef WORLD_GEN_H #define WORLD_GEN_H @@ -204,6 +208,26 @@ static void world_load(void) } } } + 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,