rodecomp/Source/Contents/EffectResourceSwitcher.cpp
ragnarok-clanker 16cf1dce90 Decompile 29 functions in Source/Contents/Skills/SkillInfo.cpp, Source/Contents/EffectResourceSwitcher.cpp, ...
Batch #2141 by ragnarok-clanker: 0 byte-identical, 29 confirmed by peer review.

- fn_08336 CSkillAction_RA_UNLIMIT::Slot11: logic confirmed by peer review
- fn_08340 CSkillAction_AG_ENERGY_CONVERSION::Slot08: logic confirmed by peer review
- fn_08342 CSkillAction_CD_DIVINUS_FLOS::Slot08: logic confirmed by peer review
- fn_08343 CSkillAction_CD_DIVINUS_FLOS::Slot11: logic confirmed by peer review
- fn_08345 CSkillAction_SHC_ENCHANTING_SHADOW::Slot08: logic confirmed by peer review
- fn_08349 CSkillAction_SHC_IMPACT_CRATER::Slot11: logic confirmed by peer review
- fn_08350 CSkillAction_SHC_IMPACT_CRATER::Slot16: logic confirmed by peer review
- fn_08352 CSkillAction_SHC_CROSS_SLASH::Slot11: logic confirmed by peer review
- fn_08353 CSkillAction_SHC_CROSS_SLASH::Slot16: logic confirmed by peer review
- fn_08355 CSkillAction_SHC_DANCING_KNIFE::Slot08: logic confirmed by peer review
- fn_08356 CSkillAction_SHC_DANCING_KNIFE::Slot16: logic confirmed by peer review
- fn_08363 CSkillAction_SHC_SHADOW_EXCEED::Slot08: logic confirmed by peer review
- fn_08373 CSkillAction_ABC_CHASING_BREAK::Slot16: logic confirmed by peer review
- fn_08376 CSkillAction_ABC_CHASING_SHOT::Slot08: logic confirmed by peer review
- fn_08378 CSkillAction_ABC_CHASING_SHOT::Slot15: logic confirmed by peer review
- fn_08379 CSkillAction_ABC_CHASING_SHOT::Slot16: logic confirmed by peer review
- fn_08381 CSkillAction_ABC_HIT_AND_SLIDING::Slot16: logic confirmed by peer review
- fn_08382 CSkillAction_ABC_ABYSS_FLAME::Slot08: logic confirmed by peer review
- fn_08383 CSkillAction_ABC_ABYSS_FLAME::Slot11: logic confirmed by peer review
- fn_08384 CSkillAction_ABC_ABYSS_FLAME::Slot16: logic confirmed by peer review
- fn_08386 CSkillAction_ABC_ABYSS_FLAME_ATK::Slot11: logic confirmed by peer review
- fn_08387 CSkillAction_ABC_ABYSS_FLAME_ATK::Slot16: logic confirmed by peer review
- fn_08388 CSkillAction_EM_PSYCHIC_STREAM::Slot08: logic confirmed by peer review
- fn_08389 CSkillAction_EM_PSYCHIC_STREAM::Slot11: logic confirmed by peer review
- fn_08390 CSkillAction_EM_PSYCHIC_STREAM::Slot16: logic confirmed by peer review
- fn_08392 CSkillAction_IQ_BLAZING_FLAME_BLAST::Slot08: logic confirmed by peer review
- fn_08394 CSkillAction_IQ_BLAZING_FLAME_BLAST::Slot16: logic confirmed by peer review
- fn_08344 CSkillAction_CD_DIVINUS_FLOS::Slot16: logic confirmed by peer review
- fn_06989 CEZ2STREffectMgr::EffectId: logic confirmed by peer review

Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-29 14:22:12 +00:00

168 lines
2.9 KiB
C++

#include "Contents/EffectResourceSwitcher.h"
#include "Contents/Effects/Effect.h"
#include "Contents/Effects/EffectPrimitiveState.h"
#include <cctype>
#include <new>
#include <string>
// GLOBAL: gl_24485
template <>
CEZ2STREffectMgr* Singleton<CEZ2STREffectMgr>::s_instance = nullptr;
// OFFSET: 0x005A2110
// FUNCTION: fn_03083
void CEffect::Slot10(int) {
}
// OFFSET: 0x005A2120
// FUNCTION: fn_03084
void CEffect::Slot08(int, int, int) {
}
// OFFSET: 0x005A2130
// FUNCTION: fn_03085
void CEffect::Slot11(std::string) {
}
// OFFSET: 0x005A2170
// FUNCTION: fn_03089
vector3d CEffect::Slot25() {
return vector3d{0.0f, 0.0f, 0.0f};
}
// OFFSET: 0x005A2190
// FUNCTION: fn_03090
int CEffect::Slot28() {
return 0;
}
// OFFSET: 0x005A21C0
// FUNCTION: fn_03092
void CEffect::Slot01() {
}
// OFFSET: 0x005A22E0
// FUNCTION: fn_03094
void CEffect::Slot12() {
}
// OFFSET: 0x005A22F0
// FUNCTION: fn_03095
void CEffect::Slot07() {
}
// OFFSET: 0x005A2430
// FUNCTION: fn_03098
void CEffect::Slot04() {
}
// OFFSET: 0x005A2440
// FUNCTION: fn_03099
void CEffect::Slot00(int) {
}
// OFFSET: 0x005A2450
// FUNCTION: fn_03100
void CEffect::Slot23(int) {
}
// OFFSET: 0x005A2460
// FUNCTION: fn_03101
void CEffect::Slot24(int, int, int, int, int) {
}
// OFFSET: 0x005A2470
// FUNCTION: fn_03102
void CEffect::Slot26(int) {
}
// OFFSET: 0x005A2480
// FUNCTION: fn_03103
void CEffect::Slot27(int) {
}
// OFFSET: 0x005A2490
// FUNCTION: fn_03104
void CEffect::Slot21(int) {
}
// OFFSET: 0x005A24A0
// FUNCTION: fn_03105
void CEffect::Slot32() {
}
// OFFSET: 0x005A24B0
// FUNCTION: fn_03106
void CEffect::Slot15(int) {
}
// OFFSET: 0x005A24C0
// FUNCTION: fn_03107
void CEffect::Slot14(int) {
}
// OFFSET: 0x005A24D0
// FUNCTION: fn_03108
void CEffect::Slot17(int) {
}
// OFFSET: 0x005A24E0
// FUNCTION: fn_03109
void CEffect::Slot18(int) {
}
// OFFSET: 0x005A24F0
// FUNCTION: fn_03110
void CEffect::Slot19(int) {
}
// OFFSET: 0x005A2500
// FUNCTION: fn_03111
void CEffect::Slot22(int) {
}
// OFFSET: 0x005A2510
// FUNCTION: fn_03112
void CEffect::Slot13(int) {
}
// OFFSET: 0x005A2520
// FUNCTION: fn_03113
void EffectResourceSwitcher::Slot16(int argument) {
if (this->effect) {
this->effect->Slot16(argument);
}
}
// OFFSET: 0x005A2540
// FUNCTION: fn_03114
void CEffect::Slot20(int) {
}
// OFFSET: 0x005A2630
// FUNCTION: fn_03115
template <>
CEZ2STREffectMgr* Singleton<CEZ2STREffectMgr>::GetInstance() {
if (!s_instance) {
s_instance = new (std::nothrow) CEZ2STREffectMgr;
}
return s_instance;
}
// OFFSET: 0x00700A90
// FUNCTION: fn_06989
int CEZ2STREffectMgr::EffectId(const std::string& name) {
std::string key = name;
for (char& c : key) {
c = static_cast<char>(std::tolower(static_cast<unsigned char>(c)));
}
const auto found = this->effects.lower_bound(key);
if (found != this->effects.end() && key.compare(found->first) >= 0) {
return found->second.id + 10000;
}
return -1;
}