NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
d_wm_lib.hpp
1#pragma once
3#include <game/mLib/m_vec.hpp>
4#include <game/mLib/m_3d/bmdl.hpp>
6
7namespace dWmLib {
8 enum Direction3D_e {
9 DIR3D_UP,
10 DIR3D_DOWN,
11 DIR3D_FRONT,
12 DIR3D_BACK,
13 DIR3D_LEFT,
14 DIR3D_RIGHT
15 };
16
17 /// @unofficial
18 enum CourseType_e {
19 COURSE_TYPE_NORMAL,
20 COURSE_TYPE_GHOST,
21 COURSE_TYPE_TOWER,
22 COURSE_TYPE_CASTLE,
23 COURSE_TYPE_KINOKO,
24 COURSE_TYPE_JUNCTION,
25 COURSE_TYPE_CANNON,
26 COURSE_TYPE_STAGE_37,
27 COURSE_TYPE_KOOPA_SHIP,
28 COURSE_TYPE_KINOKO_START,
29 COURSE_TYPE_PEACH_CASTLE,
30 COURSE_TYPE_INVALID
31 };
32
33 enum TypePoint_e {
34 POINT_TYPE_INTERSECTION,
35 POINT_TYPE_PATH,
36 POINT_TYPE_START_NODE,
37 POINT_TYPE_REGULAR_COURSE,
38 POINT_TYPE_OTHER
39 };
40
42 int mNodeWorld;
43 const char *mNodeName;
44 int mWorld;
45 int mLevel;
46 int mEntrance;
47 const char *mLevelNode;
48 mVec3_c mNodePos;
49 };
50
51 int GetCourseTypeFromCourseNo(int courseNo);
52 int GetCourseNoFromPointName(const char *pointName);
53 bool isKoopaShipAnchor();
54 u8 getStartPointKinokoHouseKindNum();
55 bool isStartPointKinokoHouseStar();
56 bool isStartPointKinokoHouseRed();
57 void GetStartPointNameFromRouteName(const char *routeName, char *pointName);
58 void GetEndPointNameFromRouteName(const char *routeName, char *pointName);
59
60 int GetOpenStatus(int world, int course);
61 int GetClearStatus(int world, int course);
62 int GetCurrentPlayResultStatus();
63 int GetCurrentPlayResultStatus(int world, int course, int pathNode);
64
65 bool IsCourseOmoteClear(int world, int course);
66 bool IsCourseUraClear(int world, int course);
67 bool IsCourseOtasukeClear(int world, int course);
68 bool IsCourseClear(int world, int course);
69 bool IsCourseFirstOmoteClear(int world, int course, int pathNode);
70 bool IsCourseFirstUraClear(int world, int course, int pathNode);
71 bool IsCourseFailed(int world, int course, int pathNode);
72 bool IsCourseFirstClear(int world, int course);
73 bool IsCourseOtasukeClearSimple(int world, int course);
74 bool IsCourseOmoteClearSimple(int world, int course);
75 bool IsCourseUraClearSimple(int world, int course);
76 bool IsCourseUraOtasukeClearSimple(int world, int course);
77
78 int getPointDir(const mVec3_c &v1, const mVec3_c &v2);
79 int getEnemyRevivalCount(int, int);
80
81 nw4r::math::VEC3 getModelNodePos(const m3d::bmdl_c *model, int nodeId);
82
83 static ForceInCourseList_t sc_ForceList[] = {
84 {WORLD_7, "F7C0", WORLD_7, dCsvData_c::c_CASTLE_ID, 4, "W7C0", mVec3_c(2160.0f, -30.0f, -478.0f)}
85 };
86
87 static int c_StartPointKinokoHouseID = dCsvData_c::c_START_ID;
88};
A three-dimensional floating point vector.
Definition m_vec.hpp:122