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/bases/d_wm_csv_data.hpp>
5
6namespace dWmLib {
7 enum Direction3D_e {
8 DIR3D_UP,
9 DIR3D_DOWN,
10 DIR3D_FRONT,
11 DIR3D_BACK,
12 DIR3D_LEFT,
13 DIR3D_RIGHT
14 };
15
16 /// @unofficial
17 enum CourseType_e {
18 COURSE_TYPE_NORMAL,
19 COURSE_TYPE_GHOST,
20 COURSE_TYPE_TOWER,
21 COURSE_TYPE_CASTLE,
22 COURSE_TYPE_KINOKO,
23 COURSE_TYPE_JUNCTION,
24 COURSE_TYPE_CANNON,
25 COURSE_TYPE_STAGE_37,
26 COURSE_TYPE_KOOPA_SHIP,
27 COURSE_TYPE_KINOKO_START,
28 COURSE_TYPE_PEACH_CASTLE,
29 COURSE_TYPE_INVALID
30 };
31
32 /// @unofficial
33 enum PointType_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 bool isKoopaShipAnchor();
53 u8 getStartPointKinokoHouseKindNum();
54 bool isStartPointKinokoHouseStar();
55 bool isStartPointKinokoHouseRed();
56
57 int GetOpenStatus(int world, int course);
58 int GetClearStatus(int world, int course);
59 int GetCurrentPlayResultStatus();
60 int GetCurrentPlayResultStatus(int world, int course, int pathNode);
61
62 bool IsCourseOmoteClear(int world, int course);
63 bool IsCourseUraClear(int world, int course);
64 bool IsCourseOtasukeClear(int world, int course);
65 bool IsCourseClear(int world, int course);
66 bool IsCourseFirstOmoteClear(int world, int course, int pathNode);
67 bool IsCourseFirstUraClear(int world, int course, int pathNode);
68 bool IsCourseFailed(int world, int course, int pathNode);
69 bool IsCourseFirstClear(int world, int course);
70 bool IsCourseOtasukeClearSimple(int world, int course);
71 bool IsCourseOmoteClearSimple(int world, int course);
72 bool IsCourseUraClearSimple(int world, int course);
73 bool IsCourseUraOtasukeClearSimple(int world, int course);
74
75 int getPointDir(const mVec3_c &v1, const mVec3_c &v2);
76 int getEnemyRevivalCount(int, int);
77
78 static ForceInCourseList_t sc_ForceList[] = {
79 {WORLD_7, "F7C0", WORLD_7, dCsvData_c::c_CASTLE_ID, 4, "W7C0", mVec3_c(2160.0f, -30.0f, -478.0f)}
80 };
81
82 static int c_StartPointKinokoHouseID = dCsvData_c::c_START_ID;
83};
A three-dimensional floating point vector.
Definition m_vec.hpp:107