mirror of
https://gitea.tendokyu.moe/TeamTofuShop/segatools.git
synced 2026-09-22 22:37:59 +03:00
This is a follow-up to the previous PR. I realized I omitted the camera LED control interface, so I'm adding it now to complete the v1.02 API set. **Changes:** * Added `mai2_io_led_cam_set` to the 0x0102 API. * Wired IO4 GPIO outputs to forward code reader/player camera light states. * Updated `mai2hook.def` to export the new symbol. * Updated `MAI2_DLL_SYM_COUNT_V102` to reflect the additional symbol count. **Versioning Note:** Since the previous PR was just merged and v1.02 hasn't been officially released yet, I've opted to include this in the existing **0x0102** version rather than bumping to 0x0103. Reviewed-on: https://gitea.tendokyu.moe/TeamTofuShop/segatools/pulls/91 Co-authored-by: グローランプ <130208311+Gl0w1amp@users.noreply.github.com> Co-committed-by: グローランプ <130208311+Gl0w1amp@users.noreply.github.com>
31 lines
918 B
C
31 lines
918 B
C
#pragma once
|
|
|
|
#include <windows.h>
|
|
|
|
#include "mai2io/mai2io.h"
|
|
|
|
struct mai2_dll {
|
|
uint16_t api_version;
|
|
HRESULT (*init)(void);
|
|
HRESULT (*poll)(void);
|
|
void (*get_opbtns)(uint8_t *opbtn);
|
|
void (*get_gamebtns)(uint16_t *player1, uint16_t *player2);
|
|
HRESULT (*touch_init)(mai2_io_touch_callback_t callback);
|
|
void (*touch_set_sens)(uint8_t *bytes);
|
|
void (*touch_update)(bool player1, bool player2);
|
|
HRESULT (*led_init)(void);
|
|
void (*led_set_fet_output)(uint8_t board, const uint8_t *rgb);
|
|
void (*led_dc_update)(uint8_t board, const uint8_t *rgb);
|
|
void (*led_gs_update)(uint8_t board, const uint8_t *rgb);
|
|
void (*led_set_leds)(uint8_t board, const uint8_t *rgb);
|
|
void (*led_cam_set)(uint8_t state);
|
|
};
|
|
|
|
struct mai2_dll_config {
|
|
wchar_t path[MAX_PATH];
|
|
};
|
|
|
|
extern struct mai2_dll mai2_dll;
|
|
|
|
HRESULT mai2_dll_init(const struct mai2_dll_config *cfg, HINSTANCE self);
|