summaryrefslogtreecommitdiff
path: root/src/d/d_kyeff.cpp
blob: fc8551f2d32e066b10b3409b0b422de5986fcae0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
//
// Generated By: dol2asm
// Translation Unit: d/d_kyeff
//

#include "d/d_kyeff.h"
#include "Z2AudioLib/Z2EnvSeMgr.h"
#include "d/com/d_com_inf_game.h"
#include "d/kankyo/d_kankyo.h"
#include "dol2asm.h"
#include "dolphin/types.h"

//
// Types:
//

struct kankyo_class {};

//
// Forward References:
//

extern "C" static void dKyeff_Draw__FP8dKyeff_c();
extern "C" void execute__8dKyeff_cFv();
extern "C" static void dKyeff_Execute__FP8dKyeff_c();
extern "C" static bool dKyeff_IsDelete__FP8dKyeff_c();
extern "C" static void dKyeff_Delete__FP8dKyeff_c();
extern "C" static void dKyeff_Create__FP12kankyo_class();
extern "C" extern char const* const d_d_kyeff__stringBase0;
extern "C" extern void* g_profile_KYEFF[10 + 1 /* padding */];

//
// External References:
//

extern "C" void dKyw_wether_init__Fv();
extern "C" void dKyw_wether_delete__Fv();
extern "C" void dKyw_wether_move__Fv();
extern "C" void dKyw_wether_move_draw__Fv();
extern "C" void dKyw_wether_draw__Fv();
extern "C" void dKy_FiveSenses_fullthrottle_dark__Fv();
extern "C" void framework__10Z2EnvSeMgrFv();
extern "C" extern void* g_fopKy_Method[5 + 1 /* padding */];
extern "C" extern dScnKy_env_light_c g_env_light;
extern "C" extern Z2EnvSeMgr g_mEnvSeMgr;

//
// Declarations:
//

/* 801ADD00-801ADD38 1A8640 0038+00 2/2 0/0 0/0 .text            dKankyo_DayProc__Fv */
void dKankyo_DayProc() {
    dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[91]);
}

static int dKyeff_Draw(dKyeff_c* ptr) {
    dKyw_wether_draw();
    return 1;
}

/* 801ADD5C-801ADDB4 1A869C 0058+00 1/1 0/0 0/0 .text            execute__8dKyeff_cFv */
int dKyeff_c::execute() {
    if (strcmp(dComIfGp_getStartStageName(), "Name")) {
        dKyw_wether_move();
    }
    dKyw_wether_move_draw();
    dKy_FiveSenses_fullthrottle_dark();
    mDoAud_mEnvse_framework();
    return 1;
}

static int dKyeff_Execute(dKyeff_c* ptr) {
    return ptr->execute();
}

static int dKyeff_IsDelete(dKyeff_c* ptr) {
    return 1;
}

static int dKyeff_Delete(dKyeff_c* ptr) {
    dKyw_wether_delete();
    return 1;
}

/* ############################################################################################## */
/* 80453E58-80453E5C 002458 0004+00 1/1 0/0 0/0 .sdata2          @3804 */
SECTION_SDATA2 static u8 lit_3804[4] = {
    0x00,
    0x00,
    0x00,
    0x00,
};

/* 80453E5C-80453E60 00245C 0004+00 1/1 0/0 0/0 .sdata2          @3805 */
SECTION_SDATA2 static f32 lit_3805 = 1.0f;

/* 80453E60-80453E68 002460 0008+00 1/1 0/0 0/0 .sdata2          @3812 */
SECTION_SDATA2 static f64 lit_3812 = 4503601774854144.0 /* cast s32 to float */;

/* 80453E68-80453E6C 002468 0004+00 1/1 0/0 0/0 .sdata2          @3843 */
SECTION_SDATA2 static f32 lit_3843 = 7.0f / 10.0f;

/* 80453E6C-80453E70 00246C 0004+00 1/1 0/0 0/0 .sdata2          @3844 */
SECTION_SDATA2 static f32 lit_3844 = 15.0f;

/* 801ADE00-801ADEA0 1A8740 00A0+00 1/0 0/0 0/0 .text            dKyeff_Create__FP12kankyo_class */
// float data
#ifdef NONMATCHING
static int dKyeff_Create(kankyo_class* kankyo) {
    OSCalendarTime time;

    dKyw_wether_init();
    if (!strcmp(dComIfGp_getStartStageName(), "Name")) {
        OSTicksToCalendarTime(OSGetTime(), &time);
        g_env_light.mWind.vec.set(1.0f, 0.0f, 0.0f);
        g_env_light.mWind.pow = 0.7f;
        g_env_light.mDaytime = time.hours * 15.0f;
    }
    return cPhs_COMPLEATE_e;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int dKyeff_Create(kankyo_class* param_0) {
    nofralloc
#include "asm/d/d_kyeff/dKyeff_Create__FP12kankyo_class.s"
}
#pragma pop
#endif

/* ############################################################################################## */
/* 803BC158-803BC16C -00001 0014+00 1/0 0/0 0/0 .data            l_dKyeff_Method */
SECTION_DATA static void* l_dKyeff_Method[5] = {
    (void*)dKyeff_Create__FP12kankyo_class, (void*)dKyeff_Delete__FP8dKyeff_c,
    (void*)dKyeff_Execute__FP8dKyeff_c,     (void*)dKyeff_IsDelete__FP8dKyeff_c,
    (void*)dKyeff_Draw__FP8dKyeff_c,
};

/* 803BC16C-803BC198 -00001 0028+04 0/0 0/0 1/0 .data            g_profile_KYEFF */
SECTION_DATA extern void* g_profile_KYEFF[10 + 1 /* padding */] = {
    (void*)0xFFFFFFFD,
    (void*)0x000CFFFD,
    (void*)0x03110000,
    (void*)&g_fpcLf_Method,
    (void*)0x000000F8,
    (void*)NULL,
    (void*)NULL,
    (void*)&g_fopKy_Method,
    (void*)0x00050000,
    (void*)&l_dKyeff_Method,
    /* padding */
    NULL,
};

/* 80394F38-80394F38 021598 0000+00 0/0 0/0 0/0 .rodata          @stringBase0 */