start mapping amauthd_state

This commit is contained in:
2023-01-19 01:58:21 -05:00
parent 0fb6b0924e
commit 86e984b6d7
2 changed files with 25 additions and 43 deletions

View File

@ -8,7 +8,7 @@
#include "util/dprintf.h"
static struct amcus_config config;
// 16 0 5 6 9
void iauth_set_config(struct amcus_config *cfg)
{
memcpy(&config, cfg, sizeof(*cfg));
@ -16,6 +16,7 @@ void iauth_set_config(struct amcus_config *cfg)
static ULONG REF_COUNT = 0;
static bool is_init = true;
static int amauthd_state = 9;
static HRESULT STDMETHODCALLTYPE IAuth_QueryInterface(IAuth FAR *This, REFIID riid, void **ppvObj)
{
@ -36,13 +37,13 @@ static HRESULT STDMETHODCALLTYPE IAuth_QueryInterface(IAuth FAR *This, REFIID ri
static ULONG STDMETHODCALLTYPE IAuth_AddRef(IAuth FAR *This)
{
// dprintf("IAuth: AddRef\n");
dprintf("IAuth: AddRef\n");
return ++REF_COUNT;
}
static ULONG STDMETHODCALLTYPE IAuth_Release(IAuth FAR *This)
{
// dprintf("IAuth: Release\n");
dprintf("IAuth: Release\n");
return --REF_COUNT;
}
@ -53,6 +54,7 @@ static HRESULT STDMETHODCALLTYPE IAuth_Initialize(IAuth FAR *This, int64_t p0)
return 1;
}
is_init = true;
amauthd_state = 5;
return 0;
}
@ -63,6 +65,7 @@ static HRESULT STDMETHODCALLTYPE IAuth_Finalize(IAuth FAR *This)
return 1;
}
is_init = false;
amauthd_state = 0;
return 0;
}
@ -98,10 +101,7 @@ static HRESULT STDMETHODCALLTYPE IAuth_GetUpdaterState(IAuth FAR *This, struct a
{
// dprintf("IAuth: %s hit!\n", __func__);
memset(arr, 0, sizeof(*arr));
if (!is_init) {
return E_ACCESSDENIED;
}
// these work with taiko, pokken never hits this
char cacfg_ver[6];
wcstombs_s(NULL, cacfg_ver, sizeof(cacfg_ver), config.cacfg_game_ver, sizeof(config.cacfg_game_ver));
@ -114,13 +114,10 @@ static HRESULT STDMETHODCALLTYPE IAuth_GetUpdaterState(IAuth FAR *This, struct a
}
arr->Member0.Member0 = 15;
arr->Member0.Member4 = 0;
arr->Member0.Member8 = 2;
arr->Member0.MemberC = 1;
arr->Member0.Member10 = 0;
arr->Member18.Member0 = 9;
arr->Member18.Member4 = 0;
arr->Member18.Member8 = 2;
arr->Member18.MemberC = 1;
arr->Member18.Member10 = 27;
@ -132,34 +129,20 @@ static HRESULT STDMETHODCALLTYPE IAuth_GetUpdaterState(IAuth FAR *This, struct a
arr->Member18.cacfg_ver_decimal = ver_btm;
arr->Member18.app_ver_whole = ver_top;
arr->Member18.app_ver_decimal = ver_btm;
arr->Member18.Member2C = 0;
arr->Member18.Member2E = 0;
arr->Member18.Member30 = 0;
arr->Member18.Member34 = 0;
arr->Member18.Member38 = 0;
arr->Member18.Member40 = 0;
arr->Member18.Member48 = 0;
arr->Member18.Member50 = 0;
arr->Member18.Member58 = 0;
arr->Member18.Member60 = 1;
arr->Member18.Member64 = 0;
arr->Member18.Member68 = 0;
arr->Member18.Member6C = 0;
arr->Member18.Member70 = 0;
arr->Member18.Member74 = 0;
arr->Member18.Member78 = 0;
arr->Member18.Member7C = 0;
arr->Member18.Member80 = 0;
arr->Member18.Member84 = 0;
arr->Member18.Member88 = 0;
arr->MemberA8 = 1;
arr->MemberB0 = 0;
arr->MemberB8 = 1;
arr->MemberBC = 3;
arr->MemberC0 = 9;
arr->clock_status = 1;
arr->network_mode = 1;
arr->cab_type = 3;
arr->amauth_init_state = amauthd_state;
arr->MemberC4 = 0;
if (amauthd_state == 5) {
amauthd_state = 6;
} else if (amauthd_state == 6) {
amauthd_state = 9;
}
return S_OK;
}
@ -197,7 +180,7 @@ static HRESULT STDMETHODCALLTYPE IAuth_GetCabinetConfig(IAuth FAR *This, struct
// Gets things like version and game id
static HRESULT STDMETHODCALLTYPE IAuth_GetVersionInfo(IAuth FAR *This, struct amcus_version_info *arr)
{
//dprintf("IAuth: %s hit!\n", __func__);
// dprintf("IAuth: %s hit!\n", __func__);
memset(arr, 0, sizeof(*arr));
if (!is_init) {
@ -363,7 +346,6 @@ static HRESULT STDMETHODCALLTYPE IAuth_Func21(IAuth FAR *This)
return S_OK;
}
// similar to 18 but different...
static HRESULT STDMETHODCALLTYPE IAuth_Func22(IAuth FAR *This)
{
dprintf("IAuth: %s hit!\n", __func__);
@ -371,7 +353,7 @@ static HRESULT STDMETHODCALLTYPE IAuth_Func22(IAuth FAR *This)
return S_OK;
}
// similar to 18 but different...
// Called after 30, p0 usually 0
static HRESULT STDMETHODCALLTYPE IAuth_Func23(IAuth FAR *This, int64_t p0)
{
dprintf("IAuth: %s hit! %I64d\n", __func__, p0);
@ -429,7 +411,7 @@ static HRESULT STDMETHODCALLTYPE IAuth_Func29(IAuth FAR *This)
return S_OK;
}
// no clue
// Called before 23, function unknown
static HRESULT STDMETHODCALLTYPE IAuth_Func30(IAuth FAR *This)
{
dprintf("IAuth: %s hit!\n", __func__);