From 9d68fa3d7a642cb6403a678e2d46e3cc2fb7cb44 Mon Sep 17 00:00:00 2001 From: smea Date: Mon, 17 Mar 2014 18:38:20 +0100 Subject: [PATCH] APT && HID && GSP : don't ignore errors yo --- libctru/include/ctr/APT.h | 2 +- libctru/include/ctr/GSP.h | 2 +- libctru/include/ctr/HID.h | 4 ++-- libctru/source/APT.c | 14 +++++++++----- libctru/source/GSP.c | 5 ++--- libctru/source/HID.c | 13 ++++++++----- 6 files changed, 23 insertions(+), 17 deletions(-) diff --git a/libctru/include/ctr/APT.h b/libctru/include/ctr/APT.h index 505d7cd..06a24f9 100644 --- a/libctru/include/ctr/APT.h +++ b/libctru/include/ctr/APT.h @@ -16,7 +16,7 @@ typedef enum{ extern Handle aptEvents[3]; -void aptInit(NS_APPID appID); +Result aptInit(NS_APPID appID); void aptExit(); void aptOpenSession(); void aptCloseSession(); diff --git a/libctru/include/ctr/GSP.h b/libctru/include/ctr/GSP.h index db31ab1..b38bd23 100644 --- a/libctru/include/ctr/GSP.h +++ b/libctru/include/ctr/GSP.h @@ -3,7 +3,7 @@ #define GSP_REBASE_REG(r) ((r)-0x1EB00000) -void gspInit(); +Result gspInit(); void gspExit(); Result GSPGPU_AcquireRight(Handle *handle, u8 flags); diff --git a/libctru/include/ctr/HID.h b/libctru/include/ctr/HID.h index 7487651..79a5e8a 100644 --- a/libctru/include/ctr/HID.h +++ b/libctru/include/ctr/HID.h @@ -28,10 +28,10 @@ typedef enum extern Handle hidMemHandle; extern vu32* hidSharedMem; -void hidInit(u32* sharedMem); +Result hidInit(u32* sharedMem); void hidExit(); Result HIDUSER_GetInfo(Handle* handle, Handle* outMemHandle); -Result HIDUSER_Init(Handle* handle); +Result HIDUSER_EnableAccelerometer(Handle* handle); #endif diff --git a/libctru/source/APT.c b/libctru/source/APT.c index 753219d..63ece7f 100644 --- a/libctru/source/APT.c +++ b/libctru/source/APT.c @@ -94,26 +94,30 @@ void aptEventHandler(u32 arg) svc_exitThread(); } -void aptInit(NS_APPID appID) +Result aptInit(NS_APPID appID) { + Result ret=0; + //initialize APT stuff, escape load screen srv_getServiceHandle(NULL, &aptuHandle, "APT:U"); - APT_GetLockHandle(&aptuHandle, 0x0, &aptLockHandle); + if((ret=APT_GetLockHandle(&aptuHandle, 0x0, &aptLockHandle)))return ret; svc_closeHandle(aptuHandle); currentAppId=appID; aptOpenSession(); - APT_Initialize(NULL, currentAppId, &aptEvents[0], &aptEvents[1]); + if((ret=APT_Initialize(NULL, currentAppId, &aptEvents[0], &aptEvents[1])))return ret; aptCloseSession(); aptOpenSession(); - APT_Enable(NULL, 0x0); + if((ret=APT_Enable(NULL, 0x0)))return ret; aptCloseSession(); aptOpenSession(); - APT_NotifyToWait(NULL, currentAppId); + if((ret=APT_NotifyToWait(NULL, currentAppId)))return ret; aptCloseSession(); + + return 0; } void aptExit() diff --git a/libctru/source/GSP.c b/libctru/source/GSP.c index 310707a..8e59b0d 100644 --- a/libctru/source/GSP.c +++ b/libctru/source/GSP.c @@ -8,10 +8,9 @@ Handle gspGpuHandle=0; -void gspInit() +Result gspInit() { - //do stuff with GPU... - srv_getServiceHandle(NULL, &gspGpuHandle, "gsp::Gpu"); + return srv_getServiceHandle(NULL, &gspGpuHandle, "gsp::Gpu"); } void gspExit() diff --git a/libctru/source/HID.c b/libctru/source/HID.c index 58eaf5f..c94d2c1 100644 --- a/libctru/source/HID.c +++ b/libctru/source/HID.c @@ -11,17 +11,20 @@ Handle hidMemHandle; vu32* hidSharedMem; -void hidInit(u32* sharedMem) +Result hidInit(u32* sharedMem) { if(!sharedMem)sharedMem=(u32*)HID_SHAREDMEM_DEFAULT; + Result ret=0; - srv_getServiceHandle(NULL, &hidHandle, "hid:USER"); + if((ret=srv_getServiceHandle(NULL, &hidHandle, "hid:USER")))return ret; - HIDUSER_GetInfo(NULL, &hidMemHandle); + if((ret=HIDUSER_GetInfo(NULL, &hidMemHandle)))return ret; hidSharedMem=sharedMem; svc_mapMemoryBlock(hidMemHandle, (u32)hidSharedMem, 0x1, 0x10000000); - HIDUSER_Init(NULL); + if((ret=HIDUSER_EnableAccelerometer(NULL)))return ret; + + return 0; } void hidExit() @@ -45,7 +48,7 @@ Result HIDUSER_GetInfo(Handle* handle, Handle* outMemHandle) return cmdbuf[1]; } -Result HIDUSER_Init(Handle* handle) +Result HIDUSER_EnableAccelerometer(Handle* handle) { if(!handle)handle=&hidHandle; u32* cmdbuf=getThreadCommandBuffer();