SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
RailGraphEdge.cpp
1#include "Game/Map/RailGraphEdge.hpp"
2#include "Game/Util.hpp"
3
4RailGraphEdge::RailGraphEdge() {
5 _4 = -1;
6 mDistance = 0.0f;
7 _8 = -1;
8 _C = -1;
9 _10 = -1;
10 mPointArg0 = -1;
11 mPointArg1 = -1;
12 mPointArg2 = -1;
13 mPointArg3 = -1;
14 mPointArg4 = -1;
15 mPointArg5 = -1;
16 mPointArg6 = -1;
17 mPointArg7 = -1;
18}
19
20void RailGraphEdge::clearConnectInfo() {
21 _4 = -1;
22 mDistance = 0.0f;
23 _8 = -1;
24 _C = -1;
25 _10 = -1;
26}
27
28s32 RailGraphEdge::getNextNode(s32 a1) const {
29 s32 node = _4;
30
31 if (node == a1) {
32 return _8;
33 }
34
35 if (_8 != a1) {
36 return -1;
37 }
38
39 return node;
40}
41
42s32 RailGraphEdge::getNextEdge(s32 a1) const {
43 if (_4 == a1) {
44 return _C;
45 }
46
47 if (_8 == a1) {
48 return _10;
49 }
50
51 return -1;
52}
53
54void RailGraphEdge::setNextEdge(s32 a1, s32 a2) {
55 if (_4 == a2) {
56 _C = a1;
57 }
58 else if (_8 == a2) {
59 _10 = a1;
60 }
61}
62
63void RailGraphEdge::setArgs(const JMapInfo *pInfo, s32 a2) {
64 pInfo->getValue<s32>(a2, "point_arg0", &mPointArg0);
65 pInfo->getValue<s32>(a2, "point_arg1", &mPointArg1);
66 pInfo->getValue<s32>(a2, "point_arg2", &mPointArg2);
67 pInfo->getValue<s32>(a2, "point_arg3", &mPointArg3);
68 pInfo->getValue<s32>(a2, "point_arg4", &mPointArg4);
69 pInfo->getValue<s32>(a2, "point_arg5", &mPointArg5);
70 pInfo->getValue<s32>(a2, "point_arg6", &mPointArg6);
71 pInfo->getValue<s32>(a2, "point_arg7", &mPointArg7);
72}