Decompile fn_22417 (CSoundMaker::Draw)

Batch #1018 by ragnarok-clanker: 1 byte-identical, 0 confirmed by peer review.

- fn_22417 CSoundMaker::Draw: byte-identical

Merged automatically: every function is byte-identical to the original.
Adds to the build: Source/Contents/Sound/SoundMaker.cpp
This commit is contained in:
ragnarok-clanker 2026-10-27 09:30:10 +00:00
commit a996ad893b
3 changed files with 69 additions and 0 deletions

View file

@ -0,0 +1,21 @@
#include "Contents/Sound/SoundMaker.h"
#include "Contents/Sound/SoundMgr.h"
#include "Resource/World/WorldResource.h"
#include "Utility/Math/AffineMatrix.h"
#include "Utility/Math/ScalarConversion.h"
#include <cmath>
#include <windows.h>
#include <timeapi.h>
// OFFSET: 0x00DA1E30
// OFFSET: 0x00DA3A60
// OFFSET: 0x00DA4960
// FUNCTION: fn_22417
void CSoundMaker::Draw(int) {
}
// OFFSET: 0x00DA56E0

View file

@ -0,0 +1,47 @@
#ifndef RAGNAROK_SOURCE_CONTENTS_SOUND_SOUNDMAKER_H
#define RAGNAROK_SOURCE_CONTENTS_SOUND_SOUNDMAKER_H
#include "Contents/Actors/RenderObject.h"
#include <cstddef>
struct SoundMakerContext {
CRenderObject* const& localPlayer;
};
class CSoundMaker : public CRenderObject {
public:
CSoundMaker(ResourceMgr& resources, JobNames& names, SoundMakerContext& context);
~CSoundMaker() override = default;
bool Update() override;
void SendObjectMessage(
CGameObject* sender, int message, int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m
) override;
void Draw(int argument) override;
/* 0138 */ std::string file;
/* 0150 */ float volume;
/* 0154 */ int width;
/* 0158 */ int height;
/* 015C */ float range;
/* 0160 */ float radius;
/* 0164 */ std::uint32_t lastTick;
/* 0168 */ std::uint32_t cycle;
private:
alignas(8) SoundMakerContext* m_context;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(offsetof(CSoundMaker, file) == 0x138);
static_assert(offsetof(CSoundMaker, volume) == 0x150);
static_assert(offsetof(CSoundMaker, width) == 0x154);
static_assert(offsetof(CSoundMaker, height) == 0x158);
static_assert(offsetof(CSoundMaker, range) == 0x15C);
static_assert(offsetof(CSoundMaker, radius) == 0x160);
static_assert(offsetof(CSoundMaker, lastTick) == 0x164);
static_assert(offsetof(CSoundMaker, cycle) == 0x168);
static_assert(sizeof(CSoundMaker) == 0x178);
#endif
#endif

View file

@ -380,6 +380,7 @@
"Source/Contents/Skills/SkillTreeScript.cpp": 4,
"Source/Contents/SkinInfo.cpp": 3,
"Source/Contents/Sound/SoundConfiguration.cpp": 4,
"Source/Contents/Sound/SoundMaker.cpp": 4,
"Source/Contents/Sound/SoundMgr.cpp": 4,
"Source/Contents/Store/MCStoreInfoBackup.cpp": 4,
"Source/Contents/Store/MCStoreInfoBackupAsyncWork.cpp": 4,