Move Damage to Game/ and add more DamageInfoMgr members

Damage stuff seems to be considered game code rather than KingSystem
code based on the function order in the executable and on the fact
that the Damage code uses other components that are known to be
in Game/U-King rather than in KingSystem.
This commit is contained in:
Léo Lam
2021-01-22 16:52:26 +01:00
parent 0d9117c1b8
commit 5328fd2782
12 changed files with 149 additions and 126 deletions
+53
View File
@@ -0,0 +1,53 @@
#include "Game/Damage/dmgStruct20.h"
namespace uking::dmg {
void Struct20::reset() {
mField_8 = 0;
mField_C = 0;
mField_10 = 0;
mField_14 = -1;
mField_18 = -1;
}
void Struct20::combineMaybe(Struct20Base* other) {
Struct20* otherStruct = sead::DynamicCast<Struct20>(other);
if (!otherStruct) {
return;
}
mField_8 += otherStruct->mField_8;
mField_C += otherStruct->mField_C;
mField_10 += otherStruct->mField_10;
if (mField_18 < otherStruct->mField_18) {
mField_14 = otherStruct->mField_14;
mField_18 = otherStruct->mField_18;
}
}
void Struct20_2::reset() {
mField_1C = 0;
mField_30 = false;
Struct20::reset();
}
void Struct20_2::combineMaybe(Struct20Base* other) {
Struct20_2* otherStruct = sead::DynamicCast<Struct20_2>(other);
if (!otherStruct) {
Struct20::combineMaybe(other);
return;
}
mField_1C |= otherStruct->mField_1C;
Struct20::combineMaybe(other);
if (mField_18 == otherStruct->mField_18 && otherStruct->mField_30) {
mField_30 = true;
mField_20 = otherStruct->mField_20;
mField_24 = otherStruct->mField_24;
mField_28 = otherStruct->mField_28;
mField_2C = otherStruct->mField_2C;
}
}
} // namespace uking::dmg