fp: Add monkeys and carrying to portal

This commit is contained in:
2023-10-08 01:29:50 +11:00
parent 7e1bcee5df
commit 631579d29b
32 changed files with 393 additions and 89 deletions
+25
View File
@@ -754,6 +754,31 @@ FP_GameFindClosestEntityResult FP_Game_FindClosestEntityWithType(FP_Game *game,
return result;
}
static FP_GameFindClosestEntityResult FP_Game_FindClosestEntityWithType(FP_Game *game, FP_GameEntityHandle src, FP_GameEntityHandle *entities, Dqn_usize size)
{
FP_GameFindClosestEntityResult result = {};
result.dist_squared = DQN_F32_MAX;
result.pos = Dqn_V2_InitNx1(DQN_F32_MAX);
Dqn_V2 src_pos = FP_Game_CalcEntityWorldPos(game, src);
DQN_FOR_UINDEX (index, size) {
FP_GameEntityHandle entity_handle = entities[index];
FP_GameEntity *entity = FP_Game_GetEntity(game, entity_handle);
if (FP_Game_IsNilEntity(entity))
continue;
Dqn_V2 pos = FP_Game_CalcEntityWorldPos(game, entity->handle);
Dqn_f32 dist = Dqn_V2_LengthSq_V2x2(pos, src_pos);
if (dist < result.dist_squared) {
result.pos = pos;
result.dist_squared = dist;
result.entity = entity->handle;
}
}
return result;
}
static bool FP_Game_CanEntityAttack(FP_GameEntity *entity, uint64_t current_time_ms)
{
bool result = (current_time_ms - entity->last_attack_timestamp) >= entity->attack_cooldown_ms;