document baeyes.c, bainput.c, and basfx.c
This commit is contained in:
122
src/core2/baeyes.c
Normal file
122
src/core2/baeyes.c
Normal file
@@ -0,0 +1,122 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
typedef struct{
|
||||
f32 duration;
|
||||
u8 state;
|
||||
} BaEyes;
|
||||
|
||||
BaEyes baEyes[4];
|
||||
|
||||
/* .code */
|
||||
f32 baeyes_getEyePosition(s32 id){
|
||||
switch (id) {
|
||||
case 0:
|
||||
return func_8029DFC8();
|
||||
case 1:
|
||||
return func_8029DFD4();
|
||||
case 2:
|
||||
return 0.0f;
|
||||
case 3:
|
||||
return 0.0f;
|
||||
default:
|
||||
return 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void baeyes_setEyePosition(s32 id, f32 position){
|
||||
switch(id){
|
||||
case 0:
|
||||
func_8029E0C4(position);
|
||||
break;
|
||||
case 1:
|
||||
func_8029E0D0(position);
|
||||
break;
|
||||
case 2:
|
||||
break;
|
||||
case 3:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void baeyes_reset(void){
|
||||
int i;
|
||||
for(i = 0; i < 4; i++){
|
||||
baEyes[i].duration = 1.0f;
|
||||
baEyes[i].state = 0;
|
||||
baeyes_setEyePosition(i, 0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void baeyes_blinkSingleEye(s32 id, f32 arg1){
|
||||
baEyes[id].state = 1;
|
||||
baEyes[id].duration = arg1;
|
||||
}
|
||||
|
||||
void baeyes_closeSingleEye(s32 id, f32 arg1){
|
||||
baEyes[id].state = 5;
|
||||
baEyes[id].duration = arg1;
|
||||
}
|
||||
|
||||
|
||||
void baeyes_close(void){
|
||||
baeyes_closeSingleEye(0, 0.09f);
|
||||
baeyes_closeSingleEye(1, 0.09f);
|
||||
}
|
||||
|
||||
void baeyes_openSingleEye(s32 id, f32 arg1){
|
||||
baEyes[id].state = 4;
|
||||
baEyes[id].duration = arg1;
|
||||
}
|
||||
|
||||
void baeyes_open(void){
|
||||
baeyes_openSingleEye(0, 0.034f);
|
||||
baeyes_openSingleEye(1, 0.034f);
|
||||
}
|
||||
|
||||
void baeyes_update(void){
|
||||
f32 dt;
|
||||
f32 eye_position;
|
||||
int i;
|
||||
|
||||
dt = time_getDelta();
|
||||
for(i = 0; i < 4; i++){
|
||||
eye_position = baeyes_getEyePosition(i);
|
||||
switch(baEyes[i].state){
|
||||
case 1://L80292F78
|
||||
eye_position += dt/baEyes[i].duration;
|
||||
if(1.0 < eye_position){
|
||||
eye_position = 1.0f;
|
||||
baEyes[i].state = 2;
|
||||
}
|
||||
baeyes_setEyePosition(i, eye_position);
|
||||
break;
|
||||
case 2://L80292FB4
|
||||
baEyes[i].state = 3;
|
||||
break;
|
||||
case 3://L80292FBC
|
||||
case 4://L80292FBC
|
||||
eye_position -= dt/baEyes[i].duration;
|
||||
if(eye_position < 0.0){
|
||||
eye_position = 0.0f;
|
||||
baEyes[i].state = 0;
|
||||
}
|
||||
baeyes_setEyePosition(i, eye_position);
|
||||
break;
|
||||
case 5://L80292FF8
|
||||
eye_position += dt/baEyes[i].duration;
|
||||
if(1.0 < eye_position){
|
||||
eye_position = 1.0f;
|
||||
baEyes[i].state = 0;
|
||||
}
|
||||
baeyes_setEyePosition(i, eye_position);
|
||||
break;
|
||||
case 0://L8029302C
|
||||
default://L8029302C
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user