creature: move Creature_Neck to trx

This commit is contained in:
Marcin Kurczewski 2025-04-08 17:38:07 +02:00
parent f0104c568f
commit 3dfb3085d9
4 changed files with 15 additions and 17 deletions

View file

@ -448,6 +448,20 @@ void Creature_Head(ITEM *const item, const int16_t required)
CLAMP(creature->head_rotation, -M_HEAD_ARC, M_HEAD_ARC);
}
void Creature_Neck(ITEM *const item, const int16_t required)
{
CREATURE *const creature = item->data;
if (creature == nullptr) {
return;
}
int16_t change = required - creature->neck_rotation;
CLAMP(change, -M_MAX_HEAD_CHANGE, M_MAX_HEAD_CHANGE);
creature->neck_rotation += change;
CLAMP(creature->neck_rotation, -M_HEAD_ARC, M_HEAD_ARC);
}
int16_t Creature_Effect(
const ITEM *const item, const BITE *const bite,
int16_t (*const spawn)(

View file

@ -13,6 +13,7 @@ void Creature_Mood(const ITEM *item, const AI_INFO *info, bool violent);
int16_t Creature_Turn(ITEM *item, int16_t max_turn);
void Creature_Tilt(ITEM *item, int16_t angle);
void Creature_Head(ITEM *item, int16_t required);
void Creature_Neck(ITEM *item, int16_t required);
extern bool Creature_IsHostile(const ITEM *item);
extern void Creature_Collision(

View file

@ -21,8 +21,6 @@
#include <libtrx/utils.h>
#define MAX_X_ROT (20 * DEG_1) // = 3640
#define MAX_HEAD_CHANGE (5 * DEG_1) // = 910
#define HEAD_ARC 0x3000 // = 12288
#define FLOAT_SPEED 32
#define TARGET_TOLERANCE 0x400000
@ -358,20 +356,6 @@ bool Creature_Animate(
return true;
}
void Creature_Neck(ITEM *const item, const int16_t required)
{
CREATURE *const creature = item->data;
if (creature == nullptr) {
return;
}
int16_t change = required - creature->neck_rotation;
CLAMP(change, -MAX_HEAD_CHANGE, MAX_HEAD_CHANGE);
creature->neck_rotation += change;
CLAMP(creature->neck_rotation, -HEAD_ARC, HEAD_ARC);
}
void Creature_Float(const int16_t item_num)
{
ITEM *const item = Item_Get(item_num);

View file

@ -6,7 +6,6 @@
int32_t Creature_CheckBaddieOverlap(int16_t item_num);
void Creature_Die(int16_t item_num, bool explode);
void Creature_Neck(ITEM *item, int16_t required);
void Creature_Float(int16_t item_num);
void Creature_Underwater(ITEM *item, int32_t depth);
int32_t Creature_Vault(