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>
5#include <game/bases/d_wm_csv_data.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 /// @unofficial
34 enum PointType_e {
35 POINT_TYPE_INTERSECTION,
36 POINT_TYPE_PATH,
37 POINT_TYPE_START_NODE,
38 POINT_TYPE_REGULAR_COURSE,
39 POINT_TYPE_OTHER
40 };
41
43 int mNodeWorld;
44 const char *mNodeName;
45 int mWorld;
46 int mLevel;
47 int mEntrance;
48 const char *mLevelNode;
49 mVec3_c mNodePos;
50 };
51
52 int GetCourseTypeFromCourseNo(int courseNo);
53 int GetCourseNoFromPointName(const char *pointName);
54 bool isKoopaShipAnchor();
55 u8 getStartPointKinokoHouseKindNum();
56 bool isStartPointKinokoHouseStar();
57 bool isStartPointKinokoHouseRed();
58
59 int GetOpenStatus(int world, int course);
60 int GetClearStatus(int world, int course);
61 int GetCurrentPlayResultStatus();
62 int GetCurrentPlayResultStatus(int world, int course, int pathNode);
63
64 bool IsCourseOmoteClear(int world, int course);
65 bool IsCourseUraClear(int world, int course);
66 bool IsCourseOtasukeClear(int world, int course);
67 bool IsCourseClear(int world, int course);
68 bool IsCourseFirstOmoteClear(int world, int course, int pathNode);
69 bool IsCourseFirstUraClear(int world, int course, int pathNode);
70 bool IsCourseFailed(int world, int course, int pathNode);
71 bool IsCourseFirstClear(int world, int course);
72 bool IsCourseOtasukeClearSimple(int world, int course);
73 bool IsCourseOmoteClearSimple(int world, int course);
74 bool IsCourseUraClearSimple(int world, int course);
75 bool IsCourseUraOtasukeClearSimple(int world, int course);
76
77 int getPointDir(const mVec3_c &v1, const mVec3_c &v2);
78 int getEnemyRevivalCount(int, int);
79
80 nw4r::math::VEC3 GetModelNodePos(const m3d::bmdl_c *model, int nodeId);
81
82 static ForceInCourseList_t sc_ForceList[] = {
83 {WORLD_7, "F7C0", WORLD_7, dCsvData_c::c_CASTLE_ID, 4, "W7C0", mVec3_c(2160.0f, -30.0f, -478.0f)}
84 };
85
86 static int c_StartPointKinokoHouseID = dCsvData_c::c_START_ID;
87};
A three-dimensional floating point vector.
Definition m_vec.hpp:122