rodecomp/Source/Resource/BinkRuntime.h
ragnarok-clanker 94d7af3c89 Decompile 14 functions in Source/UI/Window/UIVideoWnd.cpp, Source/UI/Window/UIVideoWnd.h, ...
Batch #4320 by eAthena: 3 byte-identical, 11 confirmed by peer review.

- fn_17437 UIVideoWnd::UIVideoWnd: logic confirmed by peer review
- fn_17439 UIVideoWnd::`scalar deleting destructor': logic confirmed by peer review
- fn_17440 UIVideoWnd::Slot02: byte-identical
- fn_17441 UIVideoWnd::Slot15: logic confirmed by peer review
- fn_17442 UIVideoSkipButton::Paint: logic confirmed by peer review
- fn_17443 UIVideoWnd::Paint: logic confirmed by peer review
- fn_17444 UIVideoWnd::Slot19: logic confirmed by peer review
- fn_17445 UIVideoWnd::SendMsg: logic confirmed by peer review
- fn_17446 UIWaitDBSaveWnd::UIWaitDBSaveWnd: logic confirmed by peer review
- fn_17448 UIWaitDBSaveWnd::Slot15: logic confirmed by peer review
- fn_17449 UIWaitDBSaveWnd::Slot18: byte-identical
- fn_17450 UIWaitDBSaveWnd::Paint: logic confirmed by peer review
- fn_17451 UIWaitDBSaveWnd::Slot27: byte-identical
- fn_17452 UIWaitDBSaveWnd::Slot19: logic confirmed by peer review

Peer-reviewed-by: youko, Lumen, tayoba, Snow, KWDev, Bruwuno
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
Adds to the build: Source/UI/Window/UIVideoWnd.cpp, Source/UI/Dialogs/UIWaitDBSaveWnd.cpp
2026-10-30 03:42:21 +00:00

38 lines
1.5 KiB
C++

#ifndef RAGNAROK_SOURCE_RESOURCE_BINKRUNTIME_H
#define RAGNAROK_SOURCE_RESOURCE_BINKRUNTIME_H
#include <cstddef>
#include <cstdint>
#include <windows.h>
struct BinkHandle {
/* 0000 */ std::uint32_t width;
/* 0004 */ std::uint32_t height;
/* 0008 */ std::uint32_t frames;
/* 000C */ std::uint32_t frame;
/* 0010 */ unsigned char unknown_0010[0xDC];
/* 00EC */ std::int32_t paused;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(offsetof(BinkHandle, frames) == 0x08);
static_assert(offsetof(BinkHandle, frame) == 0x0C);
static_assert(offsetof(BinkHandle, paused) == 0xEC);
#endif
extern "C" {
__declspec(dllimport) BinkHandle* WINAPI BinkOpen(const char* name, std::uint32_t flags);
__declspec(dllimport) void WINAPI BinkClose(BinkHandle* handle);
__declspec(dllimport) char* WINAPI BinkGetError();
__declspec(dllimport) std::int32_t WINAPI BinkWait(BinkHandle* handle);
__declspec(dllimport) std::int32_t WINAPI BinkDoFrame(BinkHandle* handle);
__declspec(dllimport) std::int32_t WINAPI BinkShouldSkip(BinkHandle* handle);
__declspec(dllimport) void WINAPI BinkNextFrame(BinkHandle* handle);
__declspec(dllimport) std::int32_t WINAPI BinkCopyToBuffer(
BinkHandle* handle, void* destination, std::int32_t pitch, std::uint32_t height, std::uint32_t x, std::uint32_t y, std::uint32_t flags
);
__declspec(dllimport) std::int32_t WINAPI BinkPause(BinkHandle* handle, std::int32_t pause);
__declspec(dllimport) void WINAPI BinkSetVolume(BinkHandle* handle, std::uint32_t track, std::int32_t volume);
}
#endif