Forward all IDCMP messages that were seen during tests

This commit is contained in:
deadwood 2024-03-25 16:23:50 +01:00
parent f9e636ee69
commit 0f68a09f76
2 changed files with 41 additions and 2 deletions

View File

@ -323,6 +323,32 @@ bug("abiv0_DoIO: STUB\n");
}
MAKE_PROXY_ARG_2(DoIO)
void abiv0_SendIO(struct IORequestV0 *iORequest, struct ExecBaseV0 *SysBaseV0)
{
bug("abiv0_SendIO: STUB\n");
}
MAKE_PROXY_ARG_2(SendIO)
struct IORequestV0 *abiv0_CheckIO(struct IORequestV0 *iORequest, struct ExecBaseV0 *SysBaseV0)
{
bug("abiv0_CheckIO: STUB\n");
return NULL;
}
MAKE_PROXY_ARG_2(CheckIO)
LONG abiv0_AbortIO(struct IORequestV0 *iORequest, struct ExecBaseV0 *SysBaseV0)
{
bug("abiv0_AbortIO: STUB\n");
return 0;
}
MAKE_PROXY_ARG_2(AbortIO)
LONG abiv0_WaitIO(struct IORequestV0 *iORequest, struct ExecBaseV0 *SysBaseV0)
{
bug("abiv0_WaitIO: STUB\n");
return 0;
}
MAKE_PROXY_ARG_2(WaitIO)
MAKE_PROXY_ARG_6(MakeLibrary)
MAKE_PROXY_ARG_2(AddResource)
@ -424,6 +450,10 @@ struct ExecBaseV0 *init_exec()
__AROS_SETVECADDRV0(abiv0SysBase,112, (APTR32)(IPTR)proxy_DeleteMsgPort);
__AROS_SETVECADDRV0(abiv0SysBase, 75, (APTR32)(IPTR)proxy_CloseDevice);
__AROS_SETVECADDRV0(abiv0SysBase,110, execfunctable[109]); // DeleteIORequest
__AROS_SETVECADDRV0(abiv0SysBase, 77, (APTR32)(IPTR)proxy_SendIO);
__AROS_SETVECADDRV0(abiv0SysBase, 78, (APTR32)(IPTR)proxy_CheckIO);
__AROS_SETVECADDRV0(abiv0SysBase, 80, (APTR32)(IPTR)proxy_AbortIO);
__AROS_SETVECADDRV0(abiv0SysBase, 79, (APTR32)(IPTR)proxy_WaitIO);
return abiv0SysBase;
}

View File

@ -228,7 +228,9 @@ static struct MessageV0 *Intuition_Translate(struct Message *native)
if (native == NULL)
return NULL;
if (imsg->Class == IDCMP_CLOSEWINDOW)
if (imsg->Class == IDCMP_CLOSEWINDOW || imsg->Class == IDCMP_INTUITICKS || imsg->Class == IDCMP_MOUSEMOVE ||
imsg->Class == IDCMP_REFRESHWINDOW || imsg->Class == IDCMP_MOUSEBUTTONS || imsg->Class == IDCMP_NEWSIZE ||
imsg->Class == IDCMP_CHANGEWINDOW)
{
struct IntuiMessageV0 *v0msg = abiv0_AllocMem(sizeof(struct IntuiMessageV0), MEMF_CLEAR, Intuition_SysBaseV0);
@ -236,13 +238,20 @@ static struct MessageV0 *Intuition_Translate(struct Message *native)
if (imsg->IDCMPWindow == g_nativewindow)
v0msg->IDCMPWindow = (APTR32)(IPTR)g_v0window;
v0msg->Code = imsg->Code;
v0msg->Qualifier = imsg->Qualifier;
v0msg->MouseX = imsg->MouseX;
v0msg->MouseY = imsg->MouseY;
v0msg->Seconds = imsg->Seconds;
v0msg->Micros = imsg->Micros;
/* Store original message in Node of v0msg for now */
*((IPTR *)&v0msg->ExecMessage.mn_Node) = (IPTR)imsg;
return (struct MessageV0 *)v0msg;
}
bug("Intuition_Translate - missing code\n");
bug("Intuition_Translate - missing code for class %d\n", imsg->Class);
return NULL;
}