summaryrefslogtreecommitdiff
path: root/src/d/d_a_horse_static.cpp
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2024-10-10 07:29:58 -0700
committerGitHub <noreply@github.com>2024-10-10 08:29:58 -0600
commit12eb254d769d84743b5cc6cd5424057c57eaf0ad (patch)
tree4509be332b2ccfc6fe939f47740d68f7746eca3e /src/d/d_a_horse_static.cpp
parent2fd702c0ac170a789af879b8b92a82d4dcc9080c (diff)
switch to dtk setup (#2203)
* switch to dtk setup * some cleanup / fixes * cleanup d_a_alink literals * Restore doxygen, update CI & README.md (#1) * Fix build image ref (#2) --------- Co-authored-by: Luke Street <luke@street.dev>
Diffstat (limited to 'src/d/d_a_horse_static.cpp')
-rw-r--r--src/d/d_a_horse_static.cpp56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/d/d_a_horse_static.cpp b/src/d/d_a_horse_static.cpp
new file mode 100644
index 0000000000..9d7b0f2fe3
--- /dev/null
+++ b/src/d/d_a_horse_static.cpp
@@ -0,0 +1,56 @@
+//
+// Generated By: dol2asm
+// Translation Unit: d/actor/d_a_horse_static
+//
+
+#include "d/d_a_horse_static.h"
+#include "d/actor/d_a_e_wb.h"
+#include "d/actor/d_a_tag_hstop.h"
+
+BOOL e_wb_class::checkWait() {
+ return field_0x5b4 == 0x2A;
+}
+
+void e_wb_class::setPlayerRideNow() {
+ mActionID = ACT_PL_RIDE_NOW;
+ field_0x5b4 = 0;
+ field_0x6be |= 3;
+}
+
+void e_wb_class::setPlayerRide() {
+ mActionID = ACT_PL_RIDE;
+ field_0x5b4 = 0;
+ field_0x6be |= 3;
+
+ mZ2Ride.setLinkRiding(true);
+}
+
+void e_wb_class::getOff() {
+ if (!checkDownDamage() || mActionID == ACT_PL_RIDE_NOW) {
+ mActionID = 0;
+ } else {
+ field_0x692 = 0;
+ }
+
+ field_0x5b4 = 0;
+ field_0x6be &= ~3;
+ mZ2Ride.setLinkRiding(false);
+}
+
+BOOL e_wb_class::checkDownDamage() {
+ return mActionID != ACT_PL_RIDE && mActionID != 0x66 && mActionID != ACT_S_DAMAGE;
+}
+
+BOOL e_wb_class::checkNormalRideMode() const {
+ return mActionID != 0x66 || field_0x5b4 < 1;
+}
+
+void e_wb_class::setRunRideMode() {
+ if (mActionID == ACT_PL_RIDE) {
+ field_0x5b4 = 0;
+ mActionID = ACT_S_DAMAGE;
+ field_0x692 = 0x65;
+ }
+}
+
+daTagHstop_c* daTagHstop_c::m_top; \ No newline at end of file