Foundation
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions
libsm64.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>

Go to the source code of this file.

Classes

struct  SM64Surface
 
struct  SM64MarioInputs
 
struct  SM64ObjectTransform
 
struct  SM64SurfaceObject
 
struct  SM64MarioState
 
struct  SM64MarioGeometryBuffers
 
struct  SM64WallCollisionData
 
struct  SM64FloorCollisionData
 
struct  SM64SurfaceObjectTransform
 
struct  SM64SurfaceCollisionData
 

Macros

#define SM64_LIB_FN
 

Typedefs

typedef void(* SM64DebugPrintFunctionPtr) (const char *)
 
typedef void(* SM64PlaySoundFunctionPtr) (uint32_t soundBits, float *pos)
 

Enumerations

enum  { SM64_TEXTURE_WIDTH = 64 * 11 , SM64_TEXTURE_HEIGHT = 64 , SM64_GEO_MAX_TRIANGLES = 1024 }
 

Functions

SM64_LIB_FN void sm64_register_debug_print_function (SM64DebugPrintFunctionPtr debugPrintFunction)
 
SM64_LIB_FN void sm64_register_play_sound_function (SM64PlaySoundFunctionPtr playSoundFunction)
 
SM64_LIB_FN void sm64_global_init (const uint8_t *rom, uint8_t *outTexture)
 
SM64_LIB_FN void sm64_global_terminate (void)
 
SM64_LIB_FN void sm64_audio_init (const uint8_t *rom)
 
SM64_LIB_FN uint32_t sm64_audio_tick (uint32_t numQueuedSamples, uint32_t numDesiredSamples, int16_t *audio_buffer)
 
SM64_LIB_FN void sm64_static_surfaces_load (const struct SM64Surface *surfaceArray, uint32_t numSurfaces)
 
SM64_LIB_FN int32_t sm64_mario_create (float x, float y, float z)
 
SM64_LIB_FN void sm64_mario_tick (int32_t marioId, const struct SM64MarioInputs *inputs, struct SM64MarioState *outState, struct SM64MarioGeometryBuffers *outBuffers)
 
SM64_LIB_FN void sm64_mario_delete (int32_t marioId)
 
SM64_LIB_FN void sm64_set_mario_action (int32_t marioId, uint32_t action)
 
SM64_LIB_FN void sm64_set_mario_action_arg (int32_t marioId, uint32_t action, uint32_t actionArg)
 
SM64_LIB_FN void sm64_set_mario_animation (int32_t marioId, int32_t animID)
 
SM64_LIB_FN void sm64_set_mario_anim_frame (int32_t marioId, int16_t animFrame)
 
SM64_LIB_FN void sm64_set_mario_state (int32_t marioId, uint32_t flags)
 
SM64_LIB_FN void sm64_set_mario_position (int32_t marioId, float x, float y, float z)
 
SM64_LIB_FN void sm64_set_mario_angle (int32_t marioId, float x, float y, float z)
 
SM64_LIB_FN void sm64_set_mario_faceangle (int32_t marioId, float y)
 
SM64_LIB_FN void sm64_set_mario_velocity (int32_t marioId, float x, float y, float z)
 
SM64_LIB_FN void sm64_set_mario_forward_velocity (int32_t marioId, float vel)
 
SM64_LIB_FN void sm64_set_mario_invincibility (int32_t marioId, int16_t timer)
 
SM64_LIB_FN void sm64_set_mario_water_level (int32_t marioId, signed int level)
 
SM64_LIB_FN void sm64_set_mario_gas_level (int32_t marioId, signed int level)
 
SM64_LIB_FN void sm64_set_mario_health (int32_t marioId, uint16_t health)
 
SM64_LIB_FN void sm64_mario_take_damage (int32_t marioId, uint32_t damage, uint32_t subtype, float x, float y, float z)
 
SM64_LIB_FN void sm64_mario_heal (int32_t marioId, uint8_t healCounter)
 
SM64_LIB_FN void sm64_mario_kill (int32_t marioId)
 
SM64_LIB_FN void sm64_mario_interact_cap (int32_t marioId, uint32_t capFlag, uint16_t capTime, uint8_t playMusic)
 
SM64_LIB_FN void sm64_mario_extend_cap (int32_t marioId, uint16_t capTime)
 
SM64_LIB_FN bool sm64_mario_attack (int32_t marioId, float x, float y, float z, float hitboxHeight)
 
SM64_LIB_FN uint32_t sm64_surface_object_create (const struct SM64SurfaceObject *surfaceObject)
 
SM64_LIB_FN void sm64_surface_object_move (uint32_t objectId, const struct SM64ObjectTransform *transform)
 
SM64_LIB_FN void sm64_surface_object_delete (uint32_t objectId)
 
SM64_LIB_FN int32_t sm64_surface_find_wall_collision (float *xPtr, float *yPtr, float *zPtr, float offsetY, float radius)
 
SM64_LIB_FN int32_t sm64_surface_find_wall_collisions (struct SM64WallCollisionData *colData)
 
SM64_LIB_FN float sm64_surface_find_ceil (float posX, float posY, float posZ, struct SM64FloorCollisionData **pceil)
 
SM64_LIB_FN float sm64_surface_find_floor_height_and_data (float xPos, float yPos, float zPos, struct SM64FloorCollisionData **floorGeo)
 
SM64_LIB_FN float sm64_surface_find_floor_height (float x, float y, float z)
 
SM64_LIB_FN float sm64_surface_find_floor (float xPos, float yPos, float zPos, struct SM64FloorCollisionData **pfloor)
 
SM64_LIB_FN float sm64_surface_find_water_level (float x, float z)
 
SM64_LIB_FN float sm64_surface_find_poison_gas_level (float x, float z)
 
SM64_LIB_FN void sm64_seq_player_play_sequence (uint8_t player, uint8_t seqId, uint16_t arg2)
 
SM64_LIB_FN void sm64_play_music (uint8_t player, uint16_t seqArgs, uint16_t fadeTimer)
 
SM64_LIB_FN void sm64_stop_background_music (uint16_t seqId)
 
SM64_LIB_FN void sm64_fadeout_background_music (uint16_t arg0, uint16_t fadeOut)
 
SM64_LIB_FN uint16_t sm64_get_current_background_music ()
 
SM64_LIB_FN void sm64_play_sound (int32_t soundBits, float *pos)
 
SM64_LIB_FN void sm64_play_sound_global (int32_t soundBits)
 
SM64_LIB_FN void sm64_set_sound_volume (float vol)
 
SM64_LIB_FN int32_t sm64_pole_create (float x, float y, float z, float height, float downOffset, int16_t pitch, int16_t roll)
 
SM64_LIB_FN void sm64_pole_destroy (int32_t poleHandle)
 
SM64_LIB_FN void sm64_mario_attach_to_pole (int32_t marioId, int32_t poleHandle, int32_t grabFast)
 
SM64_LIB_FN int32_t sm64_mario_get_action (int32_t marioId)
 

Macro Definition Documentation

◆ SM64_LIB_FN

#define SM64_LIB_FN

Typedef Documentation

◆ SM64DebugPrintFunctionPtr

typedef void(* SM64DebugPrintFunctionPtr) (const char *)

◆ SM64PlaySoundFunctionPtr

typedef void(* SM64PlaySoundFunctionPtr) (uint32_t soundBits, float *pos)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SM64_TEXTURE_WIDTH 
SM64_TEXTURE_HEIGHT 
SM64_GEO_MAX_TRIANGLES 

Function Documentation

◆ sm64_audio_init()

SM64_LIB_FN void sm64_audio_init ( const uint8_t *  rom)
extern

◆ sm64_audio_tick()

SM64_LIB_FN uint32_t sm64_audio_tick ( uint32_t  numQueuedSamples,
uint32_t  numDesiredSamples,
int16_t *  audio_buffer 
)
extern

◆ sm64_fadeout_background_music()

SM64_LIB_FN void sm64_fadeout_background_music ( uint16_t  arg0,
uint16_t  fadeOut 
)
extern

◆ sm64_get_current_background_music()

SM64_LIB_FN uint16_t sm64_get_current_background_music ( )
extern

◆ sm64_global_init()

SM64_LIB_FN void sm64_global_init ( const uint8_t *  rom,
uint8_t *  outTexture 
)
extern

◆ sm64_global_terminate()

SM64_LIB_FN void sm64_global_terminate ( void  )
extern

◆ sm64_mario_attach_to_pole()

SM64_LIB_FN void sm64_mario_attach_to_pole ( int32_t  marioId,
int32_t  poleHandle,
int32_t  grabFast 
)
extern

◆ sm64_mario_attack()

SM64_LIB_FN bool sm64_mario_attack ( int32_t  marioId,
float  x,
float  y,
float  z,
float  hitboxHeight 
)
extern

◆ sm64_mario_create()

SM64_LIB_FN int32_t sm64_mario_create ( float  x,
float  y,
float  z 
)
extern

◆ sm64_mario_delete()

SM64_LIB_FN void sm64_mario_delete ( int32_t  marioId)
extern

◆ sm64_mario_extend_cap()

SM64_LIB_FN void sm64_mario_extend_cap ( int32_t  marioId,
uint16_t  capTime 
)
extern

◆ sm64_mario_get_action()

SM64_LIB_FN int32_t sm64_mario_get_action ( int32_t  marioId)
extern

◆ sm64_mario_heal()

SM64_LIB_FN void sm64_mario_heal ( int32_t  marioId,
uint8_t  healCounter 
)
extern

◆ sm64_mario_interact_cap()

SM64_LIB_FN void sm64_mario_interact_cap ( int32_t  marioId,
uint32_t  capFlag,
uint16_t  capTime,
uint8_t  playMusic 
)
extern

◆ sm64_mario_kill()

SM64_LIB_FN void sm64_mario_kill ( int32_t  marioId)
extern

◆ sm64_mario_take_damage()

SM64_LIB_FN void sm64_mario_take_damage ( int32_t  marioId,
uint32_t  damage,
uint32_t  subtype,
float  x,
float  y,
float  z 
)
extern

◆ sm64_mario_tick()

SM64_LIB_FN void sm64_mario_tick ( int32_t  marioId,
const struct SM64MarioInputs inputs,
struct SM64MarioState outState,
struct SM64MarioGeometryBuffers outBuffers 
)
extern

◆ sm64_play_music()

SM64_LIB_FN void sm64_play_music ( uint8_t  player,
uint16_t  seqArgs,
uint16_t  fadeTimer 
)
extern

◆ sm64_play_sound()

SM64_LIB_FN void sm64_play_sound ( int32_t  soundBits,
float *  pos 
)
extern

◆ sm64_play_sound_global()

SM64_LIB_FN void sm64_play_sound_global ( int32_t  soundBits)
extern

◆ sm64_pole_create()

SM64_LIB_FN int32_t sm64_pole_create ( float  x,
float  y,
float  z,
float  height,
float  downOffset,
int16_t  pitch,
int16_t  roll 
)
extern

◆ sm64_pole_destroy()

SM64_LIB_FN void sm64_pole_destroy ( int32_t  poleHandle)
extern

◆ sm64_register_debug_print_function()

SM64_LIB_FN void sm64_register_debug_print_function ( SM64DebugPrintFunctionPtr  debugPrintFunction)
extern

◆ sm64_register_play_sound_function()

SM64_LIB_FN void sm64_register_play_sound_function ( SM64PlaySoundFunctionPtr  playSoundFunction)
extern

◆ sm64_seq_player_play_sequence()

SM64_LIB_FN void sm64_seq_player_play_sequence ( uint8_t  player,
uint8_t  seqId,
uint16_t  arg2 
)
extern

◆ sm64_set_mario_action()

SM64_LIB_FN void sm64_set_mario_action ( int32_t  marioId,
uint32_t  action 
)
extern

◆ sm64_set_mario_action_arg()

SM64_LIB_FN void sm64_set_mario_action_arg ( int32_t  marioId,
uint32_t  action,
uint32_t  actionArg 
)
extern

◆ sm64_set_mario_angle()

SM64_LIB_FN void sm64_set_mario_angle ( int32_t  marioId,
float  x,
float  y,
float  z 
)
extern

◆ sm64_set_mario_anim_frame()

SM64_LIB_FN void sm64_set_mario_anim_frame ( int32_t  marioId,
int16_t  animFrame 
)
extern

◆ sm64_set_mario_animation()

SM64_LIB_FN void sm64_set_mario_animation ( int32_t  marioId,
int32_t  animID 
)
extern

◆ sm64_set_mario_faceangle()

SM64_LIB_FN void sm64_set_mario_faceangle ( int32_t  marioId,
float  y 
)
extern

◆ sm64_set_mario_forward_velocity()

SM64_LIB_FN void sm64_set_mario_forward_velocity ( int32_t  marioId,
float  vel 
)
extern

◆ sm64_set_mario_gas_level()

SM64_LIB_FN void sm64_set_mario_gas_level ( int32_t  marioId,
signed int  level 
)
extern

◆ sm64_set_mario_health()

SM64_LIB_FN void sm64_set_mario_health ( int32_t  marioId,
uint16_t  health 
)
extern

◆ sm64_set_mario_invincibility()

SM64_LIB_FN void sm64_set_mario_invincibility ( int32_t  marioId,
int16_t  timer 
)
extern

◆ sm64_set_mario_position()

SM64_LIB_FN void sm64_set_mario_position ( int32_t  marioId,
float  x,
float  y,
float  z 
)
extern

◆ sm64_set_mario_state()

SM64_LIB_FN void sm64_set_mario_state ( int32_t  marioId,
uint32_t  flags 
)
extern

◆ sm64_set_mario_velocity()

SM64_LIB_FN void sm64_set_mario_velocity ( int32_t  marioId,
float  x,
float  y,
float  z 
)
extern

◆ sm64_set_mario_water_level()

SM64_LIB_FN void sm64_set_mario_water_level ( int32_t  marioId,
signed int  level 
)
extern

◆ sm64_set_sound_volume()

SM64_LIB_FN void sm64_set_sound_volume ( float  vol)
extern

◆ sm64_static_surfaces_load()

SM64_LIB_FN void sm64_static_surfaces_load ( const struct SM64Surface surfaceArray,
uint32_t  numSurfaces 
)
extern

◆ sm64_stop_background_music()

SM64_LIB_FN void sm64_stop_background_music ( uint16_t  seqId)
extern

◆ sm64_surface_find_ceil()

SM64_LIB_FN float sm64_surface_find_ceil ( float  posX,
float  posY,
float  posZ,
struct SM64FloorCollisionData **  pceil 
)
extern

◆ sm64_surface_find_floor()

SM64_LIB_FN float sm64_surface_find_floor ( float  xPos,
float  yPos,
float  zPos,
struct SM64FloorCollisionData **  pfloor 
)
extern

◆ sm64_surface_find_floor_height()

SM64_LIB_FN float sm64_surface_find_floor_height ( float  x,
float  y,
float  z 
)
extern

◆ sm64_surface_find_floor_height_and_data()

SM64_LIB_FN float sm64_surface_find_floor_height_and_data ( float  xPos,
float  yPos,
float  zPos,
struct SM64FloorCollisionData **  floorGeo 
)
extern

◆ sm64_surface_find_poison_gas_level()

SM64_LIB_FN float sm64_surface_find_poison_gas_level ( float  x,
float  z 
)
extern

◆ sm64_surface_find_wall_collision()

SM64_LIB_FN int32_t sm64_surface_find_wall_collision ( float *  xPtr,
float *  yPtr,
float *  zPtr,
float  offsetY,
float  radius 
)
extern

◆ sm64_surface_find_wall_collisions()

SM64_LIB_FN int32_t sm64_surface_find_wall_collisions ( struct SM64WallCollisionData colData)
extern

◆ sm64_surface_find_water_level()

SM64_LIB_FN float sm64_surface_find_water_level ( float  x,
float  z 
)
extern

◆ sm64_surface_object_create()

SM64_LIB_FN uint32_t sm64_surface_object_create ( const struct SM64SurfaceObject surfaceObject)
extern

◆ sm64_surface_object_delete()

SM64_LIB_FN void sm64_surface_object_delete ( uint32_t  objectId)
extern

◆ sm64_surface_object_move()

SM64_LIB_FN void sm64_surface_object_move ( uint32_t  objectId,
const struct SM64ObjectTransform transform 
)
extern