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 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
58 int GetOpenStatus(int world, int course);
59 int GetClearStatus(int world, int course);
60 int GetCurrentPlayResultStatus();
61 int GetCurrentPlayResultStatus(int world, int course, int pathNode);
62
63 bool IsCourseOmoteClear(int world, int course);
64 bool IsCourseUraClear(int world, int course);
65 bool IsCourseOtasukeClear(int world, int course);
66 bool IsCourseClear(int world, int course);
67 bool IsCourseFirstOmoteClear(int world, int course, int pathNode);
68 bool IsCourseFirstUraClear(int world, int course, int pathNode);
69 bool IsCourseFailed(int world, int course, int pathNode);
70 bool IsCourseFirstClear(int world, int course);
71 bool IsCourseOtasukeClearSimple(int world, int course);
72 bool IsCourseOmoteClearSimple(int world, int course);
73 bool IsCourseUraClearSimple(int world, int course);
74 bool IsCourseUraOtasukeClearSimple(int world, int course);
75
76 int getPointDir(const mVec3_c &v1, const mVec3_c &v2);
77 int getEnemyRevivalCount(int, int);
78
79 nw4r::math::VEC3 getModelNodePos(const m3d::bmdl_c *model, int nodeId);
80
81 static ForceInCourseList_t sc_ForceList[] = {
82 {WORLD_7, "F7C0", WORLD_7, dCsvData_c::c_CASTLE_ID, 4, "W7C0", mVec3_c(2160.0f, -30.0f, -478.0f)}
83 };
84
85 static int c_StartPointKinokoHouseID = dCsvData_c::c_START_ID;
86};
A three-dimensional floating point vector.
Definition m_vec.hpp:122