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
38 lines
1.5 KiB
C++
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
|