diff --git a/include/variables.h b/include/variables.h index 935a96076..2b63bab8a 100644 --- a/include/variables.h +++ b/include/variables.h @@ -2453,78 +2453,7 @@ extern UNK_TYPE2 D_801FBBCE; // extern UNK_TYPE1 D_801FBBD0; // extern UNK_TYPE1 D_801FBBD2; extern u8 D_801FBBD4; -extern Vec3f D_801FBBF0; -extern Linef Math3D_ColSphereTri_line; -extern Vec3f Math3D_ColSphereTri_point; -// extern UNK_TYPE1 D_801FBC28; -// extern UNK_TYPE1 D_801FBC2C; -// extern UNK_TYPE1 D_801FBC30; -// extern UNK_TYPE1 D_801FBC38; -// extern UNK_TYPE1 D_801FBC3A; -// extern UNK_TYPE1 D_801FBC3C; -// extern UNK_TYPE1 D_801FBC3E; -// extern UNK_TYPE1 D_801FBC40; -// extern UNK_TYPE1 D_801FBC42; -// extern UNK_TYPE1 D_801FBC44; -// extern UNK_TYPE1 D_801FBC46; -// extern UNK_TYPE1 D_801FBC48; -// extern UNK_TYPE1 D_801FBC58; -extern Vec3f Math3D_NormalVector_temp1; -extern Vec3f Math3D_NormalVector_temp2; -extern f32 D_801FBC8C; -extern f32 D_801FBC90; -extern f32 D_801FBC98; -extern f32 D_801FBCA4; -extern f32 D_801FBCAC; -extern f32 D_801FBCB0; -extern f32 D_801FBCB4; -extern f32 D_801FBCB8; -extern f32 D_801FBCBC; -extern f32 D_801FBCC0; -extern f32 D_801FBCC4; -extern f32 D_801FBCC8; -extern f32 D_801FBCCC; -extern f32 D_801FBCD0; -extern f32 D_801FBCD4; -extern f32 D_801FBCD8; -extern f32 D_801FBCDC; -// extern UNK_TYPE1 D_801FBCE0; -// extern UNK_TYPE1 D_801FBCE4; -// extern UNK_TYPE1 D_801FBCE8; -// extern UNK_TYPE1 D_801FBCF0; -// extern UNK_TYPE1 D_801FBCF4; -// extern UNK_TYPE1 D_801FBCF8; -// extern UNK_TYPE1 D_801FBD00; -// extern UNK_TYPE1 D_801FBD04; -// extern UNK_TYPE1 D_801FBD08; -// extern UNK_TYPE1 D_801FBD10; -// extern UNK_TYPE1 D_801FBD20; -// extern UNK_TYPE1 D_801FBD24; -// extern UNK_TYPE1 D_801FBD28; -// extern UNK_TYPE1 D_801FBD30; -// extern UNK_TYPE1 D_801FBD34; -// extern UNK_TYPE1 D_801FBD38; -// extern UNK_TYPE1 D_801FBD40; -// extern UNK_TYPE1 D_801FBD44; -// extern UNK_TYPE1 D_801FBD48; -// extern UNK_TYPE1 D_801FBD50; -// extern UNK_TYPE1 D_801FBD54; -// extern UNK_TYPE1 D_801FBD58; -extern Vec3f Math3D_UnitNormalVector_temp; -// extern UNK_TYPE1 D_801FBD70; -// extern UNK_TYPE1 D_801FBD74; -// extern UNK_TYPE1 D_801FBD78; -extern Vec3f D_801FBD80[2]; -extern Vec3f D_801FBD98; -extern Vec3f D_801FBDA4; -// extern UNK_TYPE1 D_801FBDB0; -// extern UNK_TYPE1 D_801FBDB4; -// extern UNK_TYPE1 D_801FBDB8; -// extern UNK_TYPE1 D_801FBDC0; -// extern UNK_TYPE1 D_801FBDD8; -// extern UNK_TYPE1 D_801FBDDC; -// extern UNK_TYPE1 D_801FBDE0; -extern Vec3f D_801FBDE8; + extern MtxF* sMatrixStack; extern MtxF* sCurrentMatrix; diff --git a/src/code/sys_math3d.c b/src/code/sys_math3d.c index 6d7cdc68c..18cf53631 100644 --- a/src/code/sys_math3d.c +++ b/src/code/sys_math3d.c @@ -3,6 +3,37 @@ #include "libc/math.h" #include "macros.h" +extern Vec3f Math3D_GetSphVsTriIntersectPoint_sphereCenter; +extern Linef Math3D_TriVsSphIntersect_triTestLine; +extern Vec3f Math3D_TriVsSphIntersect_sphereCenter; +extern Vec3f Math3D_TriVsSphIntersect_sphPlanePos; +extern Sphere16 topSphere; +extern Sphere16 bottomSphere; +extern Vec3f cylIntersectA; +extern Vec3f cylIntersectB; +extern Vec3f abDiff; +extern Vec3f acDiff; +extern Cylinderf cylf; +extern Spheref sphf; +extern Cylinderf caf; +extern Cylinderf cbf; +extern Vec3f triVtx0; +extern Vec3f triVtx1; +extern Vec3f triVtx2; +extern Vec3f Math3D_LineVsCube_intersectPoint; +extern Vec3f D_801FBD20; +extern Vec3f D_801FBD30; +extern Vec3f D_801FBD40; +extern Vec3f D_801FBD50; +extern Vec3f Math3D_DefPlane_normal; +extern Vec3f Math3D_TriChkLineSegParaXIntersect_planePos; +extern InfiniteLine planeIntersectLine; +extern Linef planeIntersectSeg; +extern Vec3f Math3D_TriChkLineSegParaZIntersect_planePos; +extern InfiniteLine Math3D_PlaneVsPlaneVsLineClosestPoint_planeIntersect; +extern Vec3f sphLinePerpendicularPoint; +extern Vec3f v0v1Center; + f32 Math3D_Normalize(Vec3f* vec) { f32 magnitude = Math3D_Vec3fMagnitude(vec); diff --git a/src/code/z_camera.c b/src/code/z_camera.c index 9c5ef3041..ff885b544 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -42,6 +42,8 @@ * -Y +Z -Y * */ + +#include "prevent_bss_reordering.h" #include "global.h" #include "z64quake.h" #include "z64shrink_window.h" diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt index f26cabc06..b5ae0f138 100644 --- a/tools/disasm/variables.txt +++ b/tools/disasm/variables.txt @@ -4119,78 +4119,36 @@ 0x801FBBD2:("D_801FBBD2","UNK_TYPE1","",0x1), 0x801FBBD4:("D_801FBBD4","UNK_TYPE1","",0x1), 0x801FBBE0:("sDmaBuffer","u32","[2]",0x8), - 0x801FBBF0:("D_801FBBF0","Vec3f","",0xc), - 0x801FBC00:("Math3D_ColSphereTri_line","Linef","",0x18), - 0x801FBC18:("Math3D_ColSphereTri_point","Vec3f","",0xc), - 0x801FBC28:("D_801FBC28","UNK_TYPE1","",0x1), - 0x801FBC2C:("D_801FBC2C","UNK_TYPE1","",0x1), - 0x801FBC30:("D_801FBC30","UNK_TYPE1","",0x1), - 0x801FBC38:("D_801FBC38","UNK_TYPE1","",0x1), - 0x801FBC3A:("D_801FBC3A","UNK_TYPE1","",0x1), - 0x801FBC3C:("D_801FBC3C","UNK_TYPE1","",0x1), - 0x801FBC3E:("D_801FBC3E","UNK_TYPE1","",0x1), - 0x801FBC40:("D_801FBC40","UNK_TYPE1","",0x1), - 0x801FBC42:("D_801FBC42","UNK_TYPE1","",0x1), - 0x801FBC44:("D_801FBC44","UNK_TYPE1","",0x1), - 0x801FBC46:("D_801FBC46","UNK_TYPE1","",0x1), - 0x801FBC48:("D_801FBC48","UNK_TYPE1","",0x1), - 0x801FBC58:("D_801FBC58","UNK_TYPE1","",0x1), - 0x801FBC68:("Math3D_SurfaceNorm_temp1","Vec3f","",0xc), - 0x801FBC78:("Math3D_SurfaceNorm_temp2","Vec3f","",0xc), - 0x801FBC8C:("D_801FBC8C","f32","",0x4), - 0x801FBC90:("D_801FBC90","f32","",0x4), - 0x801FBC98:("D_801FBC98","f32","",0x4), - 0x801FBCA4:("D_801FBCA4","f32","",0x4), - 0x801FBCAC:("D_801FBCAC","f32","",0x4), - 0x801FBCB0:("D_801FBCB0","f32","",0x4), - 0x801FBCB4:("D_801FBCB4","f32","",0x4), - 0x801FBCB8:("D_801FBCB8","f32","",0x4), - 0x801FBCBC:("D_801FBCBC","f32","",0x4), - 0x801FBCC0:("D_801FBCC0","f32","",0x4), - 0x801FBCC4:("D_801FBCC4","f32","",0x4), - 0x801FBCC8:("D_801FBCC8","f32","",0x4), - 0x801FBCCC:("D_801FBCCC","f32","",0x4), - 0x801FBCD0:("D_801FBCD0","f32","",0x4), - 0x801FBCD4:("D_801FBCD4","f32","",0x4), - 0x801FBCD8:("D_801FBCD8","f32","",0x4), - 0x801FBCDC:("D_801FBCDC","f32","",0x4), - 0x801FBCE0:("D_801FBCE0","UNK_TYPE1","",0x1), - 0x801FBCE4:("D_801FBCE4","UNK_TYPE1","",0x1), - 0x801FBCE8:("D_801FBCE8","UNK_TYPE1","",0x1), - 0x801FBCF0:("D_801FBCF0","UNK_TYPE1","",0x1), - 0x801FBCF4:("D_801FBCF4","UNK_TYPE1","",0x1), - 0x801FBCF8:("D_801FBCF8","UNK_TYPE1","",0x1), - 0x801FBD00:("D_801FBD00","UNK_TYPE1","",0x1), - 0x801FBD04:("D_801FBD04","UNK_TYPE1","",0x1), - 0x801FBD08:("D_801FBD08","UNK_TYPE1","",0x1), - 0x801FBD10:("D_801FBD10","UNK_TYPE1","",0x1), - 0x801FBD20:("D_801FBD20","UNK_TYPE1","",0x1), - 0x801FBD24:("D_801FBD24","UNK_TYPE1","",0x1), - 0x801FBD28:("D_801FBD28","UNK_TYPE1","",0x1), - 0x801FBD30:("D_801FBD30","UNK_TYPE1","",0x1), - 0x801FBD34:("D_801FBD34","UNK_TYPE1","",0x1), - 0x801FBD38:("D_801FBD38","UNK_TYPE1","",0x1), - 0x801FBD40:("D_801FBD40","UNK_TYPE1","",0x1), - 0x801FBD44:("D_801FBD44","UNK_TYPE1","",0x1), - 0x801FBD48:("D_801FBD48","UNK_TYPE1","",0x1), - 0x801FBD50:("D_801FBD50","UNK_TYPE1","",0x1), - 0x801FBD54:("D_801FBD54","UNK_TYPE1","",0x1), - 0x801FBD58:("D_801FBD58","UNK_TYPE1","",0x1), - 0x801FBD60:("Math3D_UnitNormalVector_temp","Vec3f","",0xc), - 0x801FBD70:("D_801FBD70","UNK_TYPE1","",0x1), - 0x801FBD74:("D_801FBD74","UNK_TYPE1","",0x1), - 0x801FBD78:("D_801FBD78","UNK_TYPE1","",0x1), - 0x801FBD80:("D_801FBD80","Vec3f","[2]",0x18), - 0x801FBD98:("D_801FBD98","Vec3f","",0xc), - 0x801FBDA4:("D_801FBDA4","Vec3f","",0xc), - 0x801FBDB0:("D_801FBDB0","UNK_TYPE1","",0x1), - 0x801FBDB4:("D_801FBDB4","UNK_TYPE1","",0x1), - 0x801FBDB8:("D_801FBDB8","UNK_TYPE1","",0x1), - 0x801FBDC0:("D_801FBDC0","UNK_TYPE1","",0x1), - 0x801FBDD8:("D_801FBDD8","UNK_TYPE1","",0x1), - 0x801FBDDC:("D_801FBDDC","UNK_TYPE1","",0x1), - 0x801FBDE0:("D_801FBDE0","UNK_TYPE1","",0x1), - 0x801FBDE8:("D_801FBDE8","Vec3f","",0xc), + 0x801FBBF0:("Math3D_GetSphVsTriIntersectPoint_sphereCenter","Vec3f","",0xc), + 0x801FBC00:("Math3D_TriVsSphIntersect_triTestLine","Linef","",0x18), + 0x801FBC18:("Math3D_TriVsSphIntersect_sphereCenter","Vec3f","",0xc), + 0x801FBC28:("Math3D_TriVsSphIntersect_sphPlanePos","Vec3f","",0xC), + 0x801FBC38:("topSphere","Sphere16","",0x8), + 0x801FBC40:("bottomSphere","Sphere16","",0x8), + 0x801FBC48:("cylIntersectA","Vec3f","",0xC), + 0x801FBC58:("cylIntersectB","Vec3f","",0xC), + 0x801FBC68:("abDiff","Vec3f","",0xc), + 0x801FBC78:("acDiff","Vec3f","",0xc), + 0x801FBC88:("cylf","Cylinderf","",0x18), + 0x801FBCA0:("sphf","Spheref","",0x10), + 0x801FBCB0:("caf","Cylinderf","",0x18), + 0x801FBCC8:("cbf","Cylinderf","",0x18), + 0x801FBCE0:("triVtx0","Vec3f","",0xC), + 0x801FBCF0:("triVtx1","Vec3f","",0xC), + 0x801FBD00:("triVtx2","Vec3f","",0xC), + 0x801FBD10:("Math3D_LineVsCube_intersectPoint","Vec3f","",0xC), + 0x801FBD20:("D_801FBD20","Vec3f","",0xC), + 0x801FBD30:("D_801FBD30","Vec3f","",0xC), + 0x801FBD40:("D_801FBD40","Vec3f","",0xC), + 0x801FBD50:("D_801FBD50","Vec3f","",0xC), + 0x801FBD60:("Math3D_DefPlane_normal","Vec3f","",0xC), + 0x801FBD70:("Math3D_TriChkLineSegParaXIntersect_planePos","Vec3f","",0xC), + 0x801FBD80:("planeIntersectLine","InfiniteLine","",0x18), + 0x801FBD98:("planeIntersectSeg","Linef","",0x18), + 0x801FBDB0:("Math3D_TriChkLineSegParaZIntersect_planePos","Vec3f","",0xC), + 0x801FBDC0:("Math3D_PlaneVsPlaneVsLineClosestPoint_planeIntersect","InfiniteLine","",0x18), + 0x801FBDD8:("sphLinePerpendicularPoint","Vec3f","",0xC), + 0x801FBDE8:("v0v1Center","Vec3f","",0xC), 0x801FBE00:("sMatrixStack","MtxF*","",0x4), 0x801FBE04:("sCurrentMatrix","MtxF*","",0x4), 0x801FBE10:("D_801FBE10","UNK_TYPE1","",0x1),