summaryrefslogtreecommitdiff
path: root/src/d/d_cc_s.cpp
blob: 582b5689c1ea74a70f28953f716e8794e5e77d03 (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
//
// Generated by dtk
// Translation Unit: d_cc_s.cpp
//

#include "d/d_cc_s.h"
#include "d/d_cc_d.h"
#include "d/d_com_inf_game.h"

/* 800AD5B0-800AD5E4       .text Ct__4dCcSFv */
void dCcS::Ct() {
    cCcS::Ct();
    mMass_Mng.Ct();
}

/* 800AD5E4-800AD604       .text Dt__4dCcSFv */
void dCcS::Dt() {
    cCcS::Dt();
}

/* 800AD604-800AD748       .text ChkShieldFrontRange__4dCcSFP8cCcD_ObjP8cCcD_Obj */
bool dCcS::ChkShieldFrontRange(cCcD_Obj*, cCcD_Obj*) {
    /* Nonmatching */
}

/* 800AD748-800AD7D0       .text ChkShield__4dCcSFP8cCcD_ObjP8cCcD_ObjP12dCcD_GObjInfP12dCcD_GObjInf */
bool dCcS::ChkShield(cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, dCcD_GObjInf*) {
    /* Nonmatching */
}

/* 800AD7D0-800AD86C       .text CalcTgPlusDmg__4dCcSFP8cCcD_ObjP8cCcD_ObjP9cCcD_SttsP9cCcD_Stts */
void dCcS::CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*) {
    /* Nonmatching */
}

/* 800AD86C-800AD8EC       .text ChkAtTgHitAfterCross__4dCcSFbbPC12cCcD_GObjInfPC12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts */
bool dCcS::ChkAtTgHitAfterCross(bool, bool, const cCcD_GObjInf*, const cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*) {
    /* Nonmatching */
}

/* 800AD8EC-800ADA30       .text SetCoGObjInf__4dCcSFbbP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts */
void dCcS::SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*) {
    /* Nonmatching */
}

/* 800ADA30-800ADAD4       .text GetRank__4dCcSFUc */
int dCcS::GetRank(u8) {
    /* Nonmatching */
}

/* 800ADAD4-800ADEF0       .text SetPosCorrect__4dCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf */
void dCcS::SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32) {
    /* Nonmatching */
}

/* 800ADEF0-800ADFF8       .text CalcParticleAngle__4dCcSFP12dCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP5csXyz */
void dCcS::CalcParticleAngle(dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, csXyz*) {
    /* Nonmatching */
}

/* 800ADFF8-800AE308       .text ProcAtTgHitmark__4dCcSFbbP8cCcD_ObjP8cCcD_ObjP12dCcD_GObjInfP12dCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10dCcD_GSttsP10dCcD_GSttsP4cXyz */
void dCcS::ProcAtTgHitmark(bool, bool, cCcD_Obj* r6, cCcD_Obj* r7, dCcD_GObjInf* atInf, dCcD_GObjInf* tgInf,
                           cCcD_Stts* r10, cCcD_Stts* r30, dCcD_GStts*, dCcD_GStts* r4, cXyz* pos)
{
    if (atInf->ChkAtNoHitMark()) { return; }
    if (tgInf->ChkTgNoHitMark()) { return; }
    if (tgInf->GetTgHitMark() == 0xFF) { return; }
    if (!r4->ChkNoneActorPerfTblId()) { return; }
    
    if (!ChkShield(r6, r7, atInf, tgInf)) {
        if (atInf->GetAtHitMark() == 0) { return; }
        if (atInf->GetAtHitMark() == 1 && tgInf->GetTgHitMark() == 1) {
            dComIfGp_particle_set(dPa_name::ID_COMMON_STARS_BLOW, pos);
        } else {
            csXyz angle;
            CalcParticleAngle(atInf, r10, r30, &angle);
            if (atInf->GetAtHitMark() == 0xF) {
                dComIfGp_particle_set(0x10, pos);
                cXyz scale;
                scale.x = scale.y = scale.z = 2.0f;
                dComIfGp_particle_set(dPa_name::ID_COMMON_NORMAL_HIT, pos, &angle, &scale);
            } else if (atInf->GetAtHitMark() == 1) {
                dComIfGp_particle_set(dPa_name::ID_COMMON_NORMAL_HIT, pos, &angle);
            } else {
                dComIfGp_particle_set(atInf->GetAtHitMark(), pos, &angle);
            }
            dKy_SordFlush_set(*pos, 1);
        }
    } else {
        if (tgInf->GetTgHitMark() == 0) { return; }
        dKy_SordFlush_set(*pos, 0);
        csXyz angle;
        CalcParticleAngle(atInf, r10, r30, &angle);
        dComIfGp_particle_set(tgInf->GetTgHitMark(), pos, &angle);
    }
}

/* 800AE308-800AE5AC       .text SetAtTgGObjInf__4dCcSFbbP8cCcD_ObjP8cCcD_ObjP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GSttsP4cXyz */
void dCcS::SetAtTgGObjInf(bool, bool, cCcD_Obj*, cCcD_Obj*, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*, cXyz*) {
    /* Nonmatching */
}

/* 800AE5AC-800AE814       .text ChkCamera__4dCcSFR4cXyzR4cXyzfP10fopAc_ac_cP10fopAc_ac_c */
bool dCcS::ChkCamera(cXyz&, cXyz&, f32, fopAc_ac_c*, fopAc_ac_c*) {
    /* Nonmatching */
}

/* 800AE814-800AE818       .text MoveAfterCheck__4dCcSFv */
void dCcS::MoveAfterCheck() {
    /* Nonmatching */
}

/* 800AE818-800AE81C       .text DrawAfter__4dCcSFv */
void dCcS::DrawAfter() {
    /* Nonmatching */
}

/* 800AE81C-800AE83C       .text Move__4dCcSFv */
void dCcS::Move() {
    cCcS::Move();
}

/* 800AE83C-800AE878       .text Draw__4dCcSFv */
void dCcS::Draw() {
    DrawAfter();
    DrawClear();
    mMass_Mng.Clear();
}

/* 800AE878-800AE89C       .text MassClear__4dCcSFv */
void dCcS::MassClear() {
    mMass_Mng.Clear();
}

/* 800AE89C-800AE930       .text ChkNoHitGCo__4dCcSFP8cCcD_ObjP8cCcD_Obj */
bool dCcS::ChkNoHitGCo(cCcD_Obj* obj1, cCcD_Obj* obj2) {
    dCcD_GObjInf* inf1 = (dCcD_GObjInf*)obj1->GetGObjInf();
    dCcD_GObjInf* inf2 = (dCcD_GObjInf*)obj2->GetGObjInf();
    if ((inf1->ChkCoAtLasso() && !inf2->ChkCoTgLasso()) || (inf2->ChkCoAtLasso() && !inf1->ChkCoTgLasso())) {
        return true;
    }
    return false;
}

/* 800AE930-800AE938       .text ChkNoHitGAtTg__4cCcSFPC12cCcD_GObjInfPC12cCcD_GObjInfP10cCcD_GSttsP10cCcD_GStts */
bool cCcS::ChkNoHitGAtTg(const cCcD_GObjInf*, const cCcD_GObjInf*, cCcD_GStts*, cCcD_GStts*) {
    return false;
}