Files
Cesarus85--mjolnir-vr/source/models/model_animations.h
T
Stefan MaierandClaude Opus 5.5 1882ae06bf VR: arms that follow the hands, the left hand free or on the weapon
- The first-person arms' upper arms and forearms are turned (two-bone
  IK) to run from the player's shoulders, below the head, to the wrists,
  instead of floating with the weapon.
- The left wrist follows the left controller, its fingers with it,
  unless the grip closes at the weapon's foregrip (vr.two_hand_reach):
  then the hand holds the weapon, which aims along both hands.
- Left controller: grip holds the weapon, Y switches weapons, X is the
  flashlight, and held switches grenades.
- The first-person skeleton's nodes are logged once per weapon.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 21:25:07 +02:00

44 lines
1.1 KiB
C

/*
MODEL_ANIMATIONS.H
*/
#ifndef __MODEL_ANIMATIONS_H
#define __MODEL_ANIMATIONS_H
#pragma once
/* ---------- headers */
#include "models/model_animation_definitions.h"
/* ---------- prototypes/MODEL_ANIMATIONS.C */
void overlay_animation_apply_continuous_scaled(
struct animation const *animation,
real real_frame_index,
real animation_scale,
struct real_orientation *node_orientations);
void animation_graph_node_matrices_from_orientations(
long animation_graph_index,
struct real_matrix4x3 *node_matrices,
struct real_orientation const *node_orientations,
real_point3d const *origin,
real_vector3d const *forward,
real_vector3d const *up);
#ifdef HALO_ANDROID
/* an animation graph's nodes by name, and their parents (the VR arms,
interface/first_person_weapons.c) */
short animation_graph_node_count(
long animation_graph_index);
char const *animation_graph_node_name(
long animation_graph_index,
short node_index);
short animation_graph_node_parent(
long animation_graph_index,
short node_index);
short animation_graph_find_node(
long animation_graph_index,
char const *name);
#endif
#endif // __MODEL_ANIMATIONS_H