Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Functions | Variables
amp.inc.c File Reference

Functions

void bhv_homing_amp_init (void)
 Homing amp initialization function. More...
 
static void check_amp_attack (void)
 Amps' attack handler, shared by both types of amp. More...
 
static void homing_amp_appear_loop (void)
 Unhide the amp and grow until normal size, then begin chasing Mario. More...
 
static void homing_amp_chase_loop (void)
 Chase Mario. More...
 
static void homing_amp_give_up_loop (void)
 Give up on chasing Mario. More...
 
static void amp_attack_cooldown_loop (void)
 Cool down after a successful attack, shared by both types of amp. More...
 
void bhv_homing_amp_loop (void)
 Homing amp update function. More...
 
void bhv_circling_amp_init (void)
 Circling amp initialization function. More...
 
static void fixed_circling_amp_idle_loop (void)
 Main update function for fixed amps. More...
 
static void circling_amp_idle_loop (void)
 Main update function for regular circling amps. More...
 
void bhv_circling_amp_loop (void)
 Circling amp update function. More...
 

Variables

static struct ObjectHitbox sAmpHitbox
 Behavior for bhvHomingAmp and bhvCirclingAmp. More...
 

Function Documentation

◆ amp_attack_cooldown_loop()

static void amp_attack_cooldown_loop ( void  )
static

Cool down after a successful attack, shared by both types of amp.

◆ bhv_circling_amp_init()

void bhv_circling_amp_init ( void  )

Circling amp initialization function.

◆ bhv_circling_amp_loop()

void bhv_circling_amp_loop ( void  )

Circling amp update function.

This calls the main update functions for both types of circling amps, and calls the common amp cooldown function when the amp is cooling down.

◆ bhv_homing_amp_init()

void bhv_homing_amp_init ( void  )

Homing amp initialization function.

◆ bhv_homing_amp_loop()

void bhv_homing_amp_loop ( void  )

Homing amp update function.

◆ check_amp_attack()

static void check_amp_attack ( void  )
static

Amps' attack handler, shared by both types of amp.

◆ circling_amp_idle_loop()

static void circling_amp_idle_loop ( void  )
static

Main update function for regular circling amps.

◆ fixed_circling_amp_idle_loop()

static void fixed_circling_amp_idle_loop ( void  )
static

Main update function for fixed amps.

Fixed amps are a sub-species of circling amps, with circle radius 0.

◆ homing_amp_appear_loop()

static void homing_amp_appear_loop ( void  )
static

Unhide the amp and grow until normal size, then begin chasing Mario.

◆ homing_amp_chase_loop()

static void homing_amp_chase_loop ( void  )
static

Chase Mario.

◆ homing_amp_give_up_loop()

static void homing_amp_give_up_loop ( void  )
static

Give up on chasing Mario.

Variable Documentation

◆ sAmpHitbox

struct ObjectHitbox sAmpHitbox
static
Initial value:
= {
40,
1,
0,
0,
40,
50,
50,
60,
}
#define INTERACT_SHOCK
Definition: interaction.h:35

Behavior for bhvHomingAmp and bhvCirclingAmp.

These are distinct objects; one chases (homes in on) Mario, while the other circles around a fixed location with a radius of 200, 300, 400, or 0 (stationary).