10#include <glm/vec3.hpp>
29 .filename =
"maps/map1.glb",
31 .loadScale = 39.3701f,
38 .name =
"rocket_projectile",
39 .filename =
"rocket_projectile.glb",
47 .filename =
"grenade.glb",
50 .renderScale = {20.0f, 20.0f, 20.0f},
55 .filename =
"grenade_he.glb",
58 .renderScale = {9.0f, 9.0f, 9.0f},
62 .name =
"sticky_grenade",
63 .filename =
"grenade_sticky.glb",
66 .renderScale = {0.4f, 0.4f, 0.4f},
71 .filename =
"grenade_fire.glb",
74 .renderScale = {600.0f, 600.0f, 600.0f},
79 .filename =
"medkit.glb",
82 .renderScale = {30.0f, 30.0f, 30.0f},
86 .name =
"shield_powerup",
87 .filename =
"shield_powerup.glb",
89 .loadTranslation = {2.7208f, -3.3826f, -0.2294f},
91 .renderScale = {20.0f, 20.0f, 20.0f},
95 .name =
"damage_powerup",
96 .filename =
"damage_powerup.glb",
99 .renderScale = {9.0f, 9.0f, 9.0f},
102inline const std::array<AssetDefinition, kRenderableWeaponTypeCount>
kWeaponAssets{{
103 {.name =
"weapon_rifle",
104 .filename =
"assault_rifle.glb",
107 .renderScale = {20.0f, 20.0f, 20.0f}},
108 {.name =
"weapon_rocket",
109 .filename =
"rocket_launcher.glb",
112 .renderScale = {200.0f, 200.0f, 200.0f}},
113 {.name =
"weapon_railgun",
114 .filename =
"rail_gun.glb",
117 .renderScale = {20.0f, 20.0f, 20.0f},
118 .renderRotationDegrees = {0.0f, 0.0f, 0.0f}},
119 {.name =
"weapon_energy",
120 .filename =
"energy_gun.glb",
123 .renderScale = {20.0f, 20.0f, 20.0f},
124 .renderRotationDegrees = {0.0f, 0.0f, 0.0f}},
125 {.name =
"weapon_shotgun",
126 .filename =
"shotgun.glb",
129 .renderScale = {20.0f, 20.0f, 20.0f},
130 .renderRotationDegrees = {0.0f, 0.0f, 0.0f}},
const AssetDefinition kStickyGrenadeModel
Definition AssetCatalog.hpp:61
const std::array< AssetDefinition, 0 > kPropAssets
Definition AssetCatalog.hpp:35
const std::array< AssetDefinition, kRenderableWeaponTypeCount > kWeaponAssets
Definition AssetCatalog.hpp:102
const AssetDefinition kDamagePowerupModel
Definition AssetCatalog.hpp:94
const AssetDefinition kShieldPowerupModel
Definition AssetCatalog.hpp:85
const AssetDefinition kHEGrenadeModel
Definition AssetCatalog.hpp:53
const std::array< AssetDefinition, 3 > kEffectAssets
Definition AssetCatalog.hpp:133
const AssetDefinition kMolotovModel
Definition AssetCatalog.hpp:69
const AssetDefinition kMedkitModel
Definition AssetCatalog.hpp:77
const AssetDefinition kMapAsset
Definition AssetCatalog.hpp:27
const AssetDefinition kGrenadeModel
Definition AssetCatalog.hpp:45
const AssetDefinition kRocketProjectile
Definition AssetCatalog.hpp:37
Central registry mapping named assets to renderer model indices.
AssetRole
Describes how a registered asset should be used.
Definition AssetRegistry.hpp:22
@ Entity
Dynamic entity model (player, weapon) — drawn via EntityRenderCmd only.
Definition AssetRegistry.hpp:25
@ Map
Static world geometry — rendered in scene pass, has collision.
Definition AssetRegistry.hpp:23
@ Effect
Procedural effect (glow sphere, beam) — drawn via EntityRenderCmd only.
Definition AssetRegistry.hpp:26
Weapon state component for armed entities.
Header-authored defaults for assets registered with AssetRegistry.
Definition AssetCatalog.hpp:14
glm::vec3 renderScale
Default Renderable scale.
Definition AssetCatalog.hpp:22
const char * name
Definition AssetCatalog.hpp:15
glm::vec3 loadTranslation
World translation used when loading static scene assets.
Definition AssetCatalog.hpp:18
float loadScale
Scale used when loading/uploading the model.
Definition AssetCatalog.hpp:19
bool flipUVs
True for assets whose source UV orientation needs flipping.
Definition AssetCatalog.hpp:20
const char * filename
Definition AssetCatalog.hpp:16
bool decomposeCollision
True to run V-HACD on non-convex collision sub-meshes.
Definition AssetCatalog.hpp:21
glm::vec3 renderTranslation
Default Renderable local translation.
Definition AssetCatalog.hpp:23
AssetRole role
Definition AssetCatalog.hpp:17
glm::vec3 renderRotationDegrees
Default Renderable local rotation in degrees.
Definition AssetCatalog.hpp:24