Batch #4990 by youko: 3 byte-identical, 19 confirmed by peer review. - fn_24228 ReadMessengerMembers: logic confirmed by peer review - fn_24229 ReadItemList: logic confirmed by peer review - fn_24230 ReadItemArray: logic confirmed by peer review - fn_24232 CSession::SetUnknown5BC0: logic confirmed by peer review - fn_24236 MessengerMember::Deserialize: logic confirmed by peer review - fn_24247 ClientItemLists::SetItems1750: logic confirmed by peer review - fn_24249 AppendBytes: logic confirmed by peer review - fn_24258 CMsgEffect::~CMsgEffect: logic confirmed by peer review - fn_24259 CSkill::~CSkill: logic confirmed by peer review - fn_24267 CGroundScope::SkillScopeType: logic confirmed by peer review - fn_24268 CSkill::GetTrapModelName: logic confirmed by peer review - fn_24269 CSkill::ReleaseModel: logic confirmed by peer review - fn_24270 CMsgEffect::UsesMsgEffect: logic confirmed by peer review - fn_24275 CGraffiSkill::ReleaseTexture: byte-identical - fn_24277 CArrowEffect::Reset: logic confirmed by peer review - fn_24278 CEffectMaker::Reset: byte-identical - fn_24279 CGraffiSkill::BuildTexture: logic confirmed by peer review - fn_24280 CArrowEffect::OnProcess: logic confirmed by peer review - fn_24281 CDummyEffectLauncher::OnProcess: logic confirmed by peer review - fn_24282 CEffectMaker::OnProcess: logic confirmed by peer review - fn_24283 CGraffiSkill::OnProcess: byte-identical - fn_24285 CMandraAttackEffect::OnProcess: logic confirmed by peer review Peer-reviewed-by: eAthena, willerthal, KWDev Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). Adds to the build: Source/Contents/Actors/GraffiSkill.cpp, Source/Contents/Effects/ArrowEffect.cpp, Source/Contents/Effects/DummyEffectLauncher.cpp, Source/Contents/Effects/MandraAttackEffect.cpp, Source/Contents/Effects/MsgEffect.cpp
30 lines
936 B
C++
30 lines
936 B
C++
#include "Contents/Effects/MandraAttackEffect.h"
|
|
|
|
#include "Resource/Sprites/ActionResource.h"
|
|
|
|
#include <windows.h>
|
|
#include <timeapi.h>
|
|
|
|
// OFFSET: 0x00E4C310
|
|
// FUNCTION: fn_24285
|
|
bool CMandraAttackEffect::OnProcess() {
|
|
float frame = static_cast<float>(static_cast<double>(timeGetTime() - this->render.unknown_008C) / 24.0);
|
|
float startFrame = this->startFrame;
|
|
if (startFrame > frame) {
|
|
this->render.visible = 0;
|
|
return true;
|
|
}
|
|
|
|
this->render.visible = 1;
|
|
if (!this->render.isMotionFinished) {
|
|
int frameCount = static_cast<int>(this->GetActRes()->FrameCount(this->render.previousAnimation));
|
|
float elapsed = (frame - startFrame) / this->render.speed;
|
|
this->render.curMotion = static_cast<int>(elapsed) % frameCount;
|
|
if (elapsed / frameCount >= 1.0f) {
|
|
this->render.isMotionFinished = true;
|
|
this->render.curMotion = frameCount - 1;
|
|
}
|
|
}
|
|
|
|
return !this->render.isMotionFinished;
|
|
}
|