Add SM74's geo_choose_area

This commit is contained in:
MysterD 2022-04-10 03:07:55 -07:00
parent 0e4ab8ec64
commit 45c8f9f46f
3 changed files with 9 additions and 0 deletions

View File

@ -1382,6 +1382,7 @@ static const void* sDynosBuiltinFuncs[] = {
define_builtin(geo_mario_set_player_colors), define_builtin(geo_mario_set_player_colors),
define_builtin(geo_movtex_draw_water_regions_ext), define_builtin(geo_movtex_draw_water_regions_ext),
define_builtin(lvl_init_or_update), define_builtin(lvl_init_or_update),
define_builtin(geo_choose_area_ext),
}; };
const void* DynOS_Builtin_Func_GetFromName(const char* aDataName) { const void* DynOS_Builtin_Func_GetFromName(const char* aDataName) {

View File

@ -237,6 +237,13 @@ Gfx *geo_switch_area(s32 callContext, struct GraphNode *node) {
return NULL; return NULL;
} }
Gfx *geo_choose_area_ext(UNUSED s32 callContext, struct GraphNode *node, UNUSED Mat4 mtx) {
struct GraphNodeSwitchCase *switchCase;
switchCase = (struct GraphNodeSwitchCase *) node;
switchCase->selectedCase = sWarpDest.areaIdx-1;
return NULL;
}
void obj_update_pos_from_parent_transformation(Mat4 a0, struct Object *a1) { void obj_update_pos_from_parent_transformation(Mat4 a0, struct Object *a1) {
f32 spC = a1->oParentRelativePosX; f32 spC = a1->oParentRelativePosX;
f32 sp8 = a1->oParentRelativePosY; f32 sp8 = a1->oParentRelativePosY;

View File

@ -79,6 +79,7 @@ Gfx *geo_switch_area(s32 callContext, struct GraphNode *node, UNUSED void *conte
Gfx *geo_switch_anim_state(s32 callContext, struct GraphNode *node); Gfx *geo_switch_anim_state(s32 callContext, struct GraphNode *node);
Gfx *geo_switch_area(s32 callContext, struct GraphNode *node); Gfx *geo_switch_area(s32 callContext, struct GraphNode *node);
#endif #endif
Gfx *geo_choose_area_ext(s32 callContext, UNUSED struct GraphNode *node, Mat4 mtx);
void obj_update_pos_from_parent_transformation(Mat4 a0, struct Object *a1); void obj_update_pos_from_parent_transformation(Mat4 a0, struct Object *a1);
void obj_apply_scale_to_matrix(struct Object *obj, Mat4 dst, Mat4 src); void obj_apply_scale_to_matrix(struct Object *obj, Mat4 dst, Mat4 src);
void create_transformation_from_matrices(Mat4 a0, Mat4 a1, Mat4 a2); void create_transformation_from_matrices(Mat4 a0, Mat4 a1, Mat4 a2);