Added enum bossTaskStatus and updated bossGetTaskState.

This commit is contained in:
yellows8 2016-12-25 01:00:49 -05:00
parent 88da2f456b
commit 435fad724b
2 changed files with 9 additions and 4 deletions

View File

@ -39,6 +39,11 @@ typedef struct
u8 property_x3e[0x200]; u8 property_x3e[0x200];
} bossContext; } bossContext;
typedef enum {
BOSSTASKSTATUS_STARTED = 0x2,
BOSSTASKSTATUS_ERROR = 0x7,
} bossTaskStatus;
/** /**
* @brief Initializes BOSS. * @brief Initializes BOSS.
* @param programID programID to use, 0 for the current process. Not used internally unless BOSSP is available. * @param programID programID to use, 0 for the current process. Not used internally unless BOSSP is available.
@ -90,11 +95,11 @@ Result bossDeleteTask(const char *taskID, u32 unk);
* @brief Returns task state. * @brief Returns task state.
* @param taskID BOSS taskID. * @param taskID BOSS taskID.
* @param inval Unknown, normally 0? * @param inval Unknown, normally 0?
* @param out0 Output field. * @param status Output status, see bossTaskStatus.
* @param out1 Output field. * @param out1 Output field.
* @param out2 Output field. * @param out2 Output field.
*/ */
Result bossGetTaskState(const char *taskID, s8 inval, u8 *out0, u32 *out1, u8 *out2); Result bossGetTaskState(const char *taskID, s8 inval, u8 *status, u32 *out1, u8 *out2);
/** /**
* @brief This loads the current state of PropertyID 0x0 for the specified task. * @brief This loads the current state of PropertyID 0x0 for the specified task.

View File

@ -170,7 +170,7 @@ Result bossDeleteTask(const char *taskID, u32 unk)
return ret; return ret;
} }
Result bossGetTaskState(const char *taskID, s8 inval, u8 *out0, u32 *out1, u8 *out2) Result bossGetTaskState(const char *taskID, s8 inval, u8 *status, u32 *out1, u8 *out2)
{ {
Result ret = 0; Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer(); u32 *cmdbuf = getThreadCommandBuffer();
@ -187,7 +187,7 @@ Result bossGetTaskState(const char *taskID, s8 inval, u8 *out0, u32 *out1, u8 *o
if(R_SUCCEEDED(ret)) if(R_SUCCEEDED(ret))
{ {
if(out0)*out0 = cmdbuf[2]; if(status)*status = cmdbuf[2];
if(out1)*out1 = cmdbuf[3]; if(out1)*out1 = cmdbuf[3];
if(out2)*out2 = cmdbuf[4]; if(out2)*out2 = cmdbuf[4];
} }