Fixed saving lockup caused by incorrect fields in message queue struct, updated RT64

This commit is contained in:
Mr-Wiseguy 2023-12-17 15:39:46 -05:00
parent 971d728169
commit 73db5cb6d8
3 changed files with 4 additions and 6 deletions

@ -1 +1 @@
Subproject commit a6b71d8697aec4f27204d1b6928d92e443eeb51e Subproject commit a475f5ad6fc8328cf995366ee80eb5ba80f8ee20

View File

@ -87,8 +87,8 @@ void Actor_Draw(PlayState* play, Actor* actor) {
u32 cur_transform_id = u32 cur_transform_id =
(actorIdByte0(actor) << 0) | (actorIdByte0(actor) << 0) |
(actorIdByte1(actor) << 8); (actorIdByte1(actor) << 8);
gEXMatrixGroup(POLY_OPA_DISP++, cur_transform_id, G_EX_PUSH, G_MTX_MODELVIEW, G_EX_COMPONENT_INTERPOLATE, G_EX_COMPONENT_INTERPOLATE, G_EX_COMPONENT_INTERPOLATE); gEXMatrixGroup(POLY_OPA_DISP++, cur_transform_id, G_EX_PUSH, G_MTX_MODELVIEW, G_EX_COMPONENT_INTERPOLATE, G_EX_COMPONENT_INTERPOLATE, G_EX_COMPONENT_INTERPOLATE, G_EX_COMPONENT_SKIP,G_EX_ORDER_AUTO);
gEXMatrixGroup(POLY_XLU_DISP++, cur_transform_id, G_EX_PUSH, G_MTX_MODELVIEW, G_EX_COMPONENT_INTERPOLATE, G_EX_COMPONENT_INTERPOLATE, G_EX_COMPONENT_INTERPOLATE); gEXMatrixGroup(POLY_XLU_DISP++, cur_transform_id, G_EX_PUSH, G_MTX_MODELVIEW, G_EX_COMPONENT_INTERPOLATE, G_EX_COMPONENT_INTERPOLATE, G_EX_COMPONENT_INTERPOLATE, G_EX_COMPONENT_SKIP,G_EX_ORDER_AUTO);
if (actor->colorFilterTimer != 0) { if (actor->colorFilterTimer != 0) {
s32 colorFlag = COLORFILTER_GET_COLORFLAG(actor->colorFilterParams); s32 colorFlag = COLORFILTER_GET_COLORFLAG(actor->colorFilterParams);

View File

@ -106,9 +106,7 @@ typedef struct OSMesgQueue {
PTR(OSThread) blocked_on_send; /* Linked list of threads blocked on sending to this queue */ PTR(OSThread) blocked_on_send; /* Linked list of threads blocked on sending to this queue */
s32 validCount; /* Number of messages in the queue */ s32 validCount; /* Number of messages in the queue */
s32 first; /* Index of the first message in the ring buffer */ s32 first; /* Index of the first message in the ring buffer */
uint8_t lock; /* Lock flag used to implement a spinlock */ s32 msgCount; /* Size of message buffer */
uint8_t pad; /* Explicit padding (would be compiler-inserted otherwise) */
s16 msgCount; /* Size of message buffer (s32 in the original libultra, but s16 here to make room for the lock flag) */
PTR(OSMesg) msg; /* Pointer to circular buffer to store messages */ PTR(OSMesg) msg; /* Pointer to circular buffer to store messages */
} OSMesgQueue; } OSMesgQueue;