Logging migration (forceLogDebug_printf) (#780)

* script changes - no arguments

* script changes with 2 arguments

* script changes with > 2 arguments

* script conversions with 1 argument - pt. 1

* script conversions with 1 argument - pt. 2

* script conversions with 1 argument - pt. 3

* script conversions with 1 argument - pt. 4

* script conversions with 1 argument - pt. 5

Pointer format hunting

* Fixed pointer format

* script conversions with 1 argument - final

* fixed conversion in non utf-8 file

* fixed conversion with capital letter

* actually fixed conversion with capital letter

* fixed another capital lettering issue

* Added conversions with LR removed

* removed LR from logs

* Converted logs that previously contained LR

* converted log that originally specified string length

* fixed log with commas in main text

* fixed multi-line log

* Fixed more logs with commas in main text

* Fixed unformatted pointer

* added conversion with float value

* converted lines with double parameters

* converted missed line

* corrected argument formatting

Co-authored-by: Crementif <26669564+Crementif@users.noreply.github.com>

* Fixed misspellings of "unhandled"

unhandeled -> unhandled

Co-authored-by: Crementif <26669564+Crementif@users.noreply.github.com>

---------

Co-authored-by: Crementif <26669564+Crementif@users.noreply.github.com>
This commit is contained in:
why-keith 2023-04-25 07:43:31 +01:00 committed by GitHub
parent f48ad6a1ca
commit caa57a3cfd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
98 changed files with 469 additions and 469 deletions

View File

@ -350,7 +350,7 @@ void GamePatch_scan()
hleAddr = hle_locate(ffl_floatArrayEndianSwap, NULL, sizeof(ffl_floatArrayEndianSwap)); hleAddr = hle_locate(ffl_floatArrayEndianSwap, NULL, sizeof(ffl_floatArrayEndianSwap));
if (hleAddr) if (hleAddr)
{ {
forceLogDebug_printf("HLE: Hook FFL float array endian swap function at 0x%08x", hleAddr); cemuLog_logDebug(LogType::Force, "HLE: Hook FFL float array endian swap function at 0x{:08x}", hleAddr);
sint32 functionIndex = hleIndex_h000000003; sint32 functionIndex = hleIndex_h000000003;
uint32 opcode = (1 << 26) | (functionIndex); // opcode for HLE: 0x1000 + FunctionIndex uint32 opcode = (1 << 26) | (functionIndex); // opcode for HLE: 0x1000 + FunctionIndex
memory_write<uint32>(hleAddr, opcode); memory_write<uint32>(hleAddr, opcode);
@ -360,7 +360,7 @@ void GamePatch_scan()
//hleAddr = hle_locate(xcx_enterCriticalSectionSignature, xcx_enterCriticalSectionMask, sizeof(xcx_enterCriticalSectionSignature)); //hleAddr = hle_locate(xcx_enterCriticalSectionSignature, xcx_enterCriticalSectionMask, sizeof(xcx_enterCriticalSectionSignature));
//if (hleAddr) //if (hleAddr)
//{ //{
// forceLogDebug_printf("HLE: Hook XCX enterCriticalSection function at 0x%08x", hleAddr); // cemuLog_logDebug(LogType::Force, "HLE: Hook XCX enterCriticalSection function at 0x{:08x}", hleAddr);
// hleIndex_h000000004 = osLib_getFunctionIndex("hle", "h000000004"); // hleIndex_h000000004 = osLib_getFunctionIndex("hle", "h000000004");
// sint32 functionIndex = hleIndex_h000000004; // sint32 functionIndex = hleIndex_h000000004;
// uint32 opcode = (1 << 26) | (functionIndex); // opcode for HLE: 0x1000 + FunctionIndex // uint32 opcode = (1 << 26) | (functionIndex); // opcode for HLE: 0x1000 + FunctionIndex
@ -387,7 +387,7 @@ void GamePatch_scan()
hleAddr = hle_locate(smash4_softlockFixV0Signature, smash4_softlockFixV0Mask, sizeof(smash4_softlockFixV0Signature)); hleAddr = hle_locate(smash4_softlockFixV0Signature, smash4_softlockFixV0Mask, sizeof(smash4_softlockFixV0Signature));
if (hleAddr) if (hleAddr)
{ {
forceLogDebug_printf("Smash softlock fix: 0x%08x", hleAddr); cemuLog_logDebug(LogType::Force, "Smash softlock fix: 0x{:08x}", hleAddr);
memory_writeU32(hleAddr+0x20, memory_readU32(hleAddr+0x1C)); memory_writeU32(hleAddr+0x20, memory_readU32(hleAddr+0x1C));
} }
@ -396,7 +396,7 @@ void GamePatch_scan()
hleAddr = hle_locate(pmcs_yellowPaintStarCrashV0Signature, nullptr, sizeof(pmcs_yellowPaintStarCrashV0Signature)); hleAddr = hle_locate(pmcs_yellowPaintStarCrashV0Signature, nullptr, sizeof(pmcs_yellowPaintStarCrashV0Signature));
if (hleAddr) if (hleAddr)
{ {
forceLogDebug_printf("Color Splash crash fix: 0x%08x", hleAddr); cemuLog_logDebug(LogType::Force, "Color Splash crash fix: 0x{:08x}", hleAddr);
uint32 funcAddr = PPCInterpreter_makeCallableExportDepr(hleExport_pmcs_yellowPaintStarCrashWorkaround); uint32 funcAddr = PPCInterpreter_makeCallableExportDepr(hleExport_pmcs_yellowPaintStarCrashWorkaround);
// set absolute jump // set absolute jump
uint32 opc = 0x48000000; uint32 opc = 0x48000000;

View File

@ -25,13 +25,13 @@ namespace HW_ACR
/* 0x0D00021C | Accesses VI register currently selected by VIADDR */ /* 0x0D00021C | Accesses VI register currently selected by VIADDR */
HWREG::ACR_VI_DATA ACR_VIDATA_R32(PAddr addr) HWREG::ACR_VI_DATA ACR_VIDATA_R32(PAddr addr)
{ {
forceLogDebug_printf("ACR_VIDATA read with selected reg %08x", g_acr.viAddr.get_ADDR()); cemuLog_logDebug(LogType::Force, "ACR_VIDATA read with selected reg {:08x}", g_acr.viAddr.get_ADDR());
return HWREG::ACR_VI_DATA(); return HWREG::ACR_VI_DATA();
} }
void ACR_VIDATA_W32(PAddr addr, HWREG::ACR_VI_DATA newValue) void ACR_VIDATA_W32(PAddr addr, HWREG::ACR_VI_DATA newValue)
{ {
forceLogDebug_printf("ACR_VIDATA write %08x with selected reg %08x", newValue.get_DATA(), g_acr.viAddr.get_ADDR()); cemuLog_logDebug(LogType::Force, "ACR_VIDATA write {:08x} with selected reg {:08x}", newValue.get_DATA(), g_acr.viAddr.get_ADDR());
} }
/* 0x0D000224 | Controls the selected VI register? */ /* 0x0D000224 | Controls the selected VI register? */

View File

@ -412,7 +412,7 @@ static void PPCInterpreter_DIVW(PPCInterpreter_t* hCPU, uint32 opcode)
sint32 b = hCPU->gpr[rB]; sint32 b = hCPU->gpr[rB];
if (b == 0) if (b == 0)
{ {
forceLogDebug_printf("Error: Division by zero! [%08X]\n", (uint32)hCPU->instructionPointer); cemuLog_logDebug(LogType::Force, "Error: Division by zero! [{:08x}]", (uint32)hCPU->instructionPointer);
b++; b++;
} }
hCPU->gpr[rD] = a / b; hCPU->gpr[rD] = a / b;

View File

@ -237,7 +237,7 @@ public:
lookupHash = ~lookupHash; lookupHash = ~lookupHash;
} }
forceLogDebug_printf("DSI exception at 0x%08x LR 0x%08x DataAddress %08x", hCPU->instructionPointer, hCPU->spr.LR, vAddr); cemuLog_logDebug(LogType::Force, "DSI exception at 0x{:08x} DataAddress {:08x}", hCPU->instructionPointer, vAddr);
generateDSIException(hCPU, vAddr); generateDSIException(hCPU, vAddr);
@ -378,12 +378,12 @@ public:
if (pAddr >= 0x01FFF000 && pAddr < 0x02000000) if (pAddr >= 0x01FFF000 && pAddr < 0x02000000)
{ {
debug_printf("Access u32 boot param block 0x%08x IP %08x LR %08x\n", pAddr, hCPU->instructionPointer, hCPU->spr.LR); debug_printf("Access u32 boot param block 0x%08x IP %08x LR %08x\n", pAddr, hCPU->instructionPointer, hCPU->spr.LR);
forceLogDebug_printf("Access u32 boot param block 0x%08x (org %08x) IP %08x LR %08x\n", pAddr, address, hCPU->instructionPointer, hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "Access u32 boot param block 0x{:08x} (org {:08x}) IP {:08x}", pAddr, address, hCPU->instructionPointer);
} }
if (pAddr >= 0xFFEB73B0 && pAddr < (0xFFEB73B0+0x40C)) if (pAddr >= 0xFFEB73B0 && pAddr < (0xFFEB73B0+0x40C))
{ {
debug_printf("Access cached u32 boot param block 0x%08x IP %08x LR %08x\n", pAddr, hCPU->instructionPointer, hCPU->spr.LR); debug_printf("Access cached u32 boot param block 0x%08x IP %08x LR %08x\n", pAddr, hCPU->instructionPointer, hCPU->spr.LR);
forceLogDebug_printf("Access cached u32 boot param block 0x%08x (org %08x) IP %08x LR %08x\n", pAddr, address, hCPU->instructionPointer, hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "Access cached u32 boot param block 0x{:08x} (org {:08x}) IP {:08x}", pAddr, address, hCPU->instructionPointer);
} }
if (pAddr >= 0x0c000000 && pAddr < 0x0d100000) if (pAddr >= 0x0c000000 && pAddr < 0x0d100000)

View File

@ -12,7 +12,7 @@
void PPCInterpreter_MFMSR(PPCInterpreter_t* hCPU, uint32 Opcode) void PPCInterpreter_MFMSR(PPCInterpreter_t* hCPU, uint32 Opcode)
{ {
forceLogDebug_printf("Rare instruction: MFMSR"); cemuLog_logDebug(LogType::Force, "Rare instruction: MFMSR");
if (hCPU->sprExtended.msr & MSR_PR) if (hCPU->sprExtended.msr & MSR_PR)
{ {
PPC_ASSERT(true); PPC_ASSERT(true);
@ -28,7 +28,7 @@ void PPCInterpreter_MFMSR(PPCInterpreter_t* hCPU, uint32 Opcode)
void PPCInterpreter_MTMSR(PPCInterpreter_t* hCPU, uint32 Opcode) void PPCInterpreter_MTMSR(PPCInterpreter_t* hCPU, uint32 Opcode)
{ {
forceLogDebug_printf("Rare instruction: MTMSR"); cemuLog_logDebug(LogType::Force, "Rare instruction: MTMSR");
if (hCPU->sprExtended.msr & MSR_PR) if (hCPU->sprExtended.msr & MSR_PR)
{ {
PPC_ASSERT(true); PPC_ASSERT(true);
@ -43,7 +43,7 @@ void PPCInterpreter_MTMSR(PPCInterpreter_t* hCPU, uint32 Opcode)
void PPCInterpreter_MTFSB1X(PPCInterpreter_t* hCPU, uint32 Opcode) void PPCInterpreter_MTFSB1X(PPCInterpreter_t* hCPU, uint32 Opcode)
{ {
forceLogDebug_printf("Rare instruction: MTFSB1X"); cemuLog_logDebug(LogType::Force, "Rare instruction: MTFSB1X");
int crbD, n1, n2; int crbD, n1, n2;
PPC_OPC_TEMPL_X(Opcode, crbD, n1, n2); PPC_OPC_TEMPL_X(Opcode, crbD, n1, n2);
if (crbD != 1 && crbD != 2) if (crbD != 1 && crbD != 2)
@ -212,7 +212,7 @@ void PPCInterpreter_BCLRX(PPCInterpreter_t* hCPU, uint32 Opcode)
if (hCPU->spr.CTR == 0) if (hCPU->spr.CTR == 0)
{ {
PPC_ASSERT(true); PPC_ASSERT(true);
forceLogDebug_printf("Decrementer underflow!\n"); cemuLog_logDebug(LogType::Force, "Decrementer underflow!");
} }
hCPU->spr.CTR--; hCPU->spr.CTR--;
} }
@ -331,7 +331,7 @@ void PPCInterpreter_EIEIO(PPCInterpreter_t* hCPU, uint32 Opcode)
void PPCInterpreter_SC(PPCInterpreter_t* hCPU, uint32 Opcode) void PPCInterpreter_SC(PPCInterpreter_t* hCPU, uint32 Opcode)
{ {
forceLogDebug_printf("SC executed at 0x%08x", hCPU->instructionPointer); cemuLog_logDebug(LogType::Force, "SC executed at 0x{:08x}", hCPU->instructionPointer);
// next instruction // next instruction
PPCInterpreter_nextInstruction(hCPU); PPCInterpreter_nextInstruction(hCPU);
} }
@ -352,7 +352,7 @@ void PPCInterpreter_ISYNC(PPCInterpreter_t* hCPU, uint32 Opcode)
void PPCInterpreter_RFI(PPCInterpreter_t* hCPU, uint32 Opcode) void PPCInterpreter_RFI(PPCInterpreter_t* hCPU, uint32 Opcode)
{ {
forceLogDebug_printf("RFI"); cemuLog_logDebug(LogType::Force, "RFI");
hCPU->sprExtended.msr &= ~(0x87C0FF73 | 0x00040000); hCPU->sprExtended.msr &= ~(0x87C0FF73 | 0x00040000);
hCPU->sprExtended.msr |= hCPU->sprExtended.srr1 & 0x87c0ff73; hCPU->sprExtended.msr |= hCPU->sprExtended.srr1 & 0x87c0ff73;
hCPU->sprExtended.msr |= MSR_RI; hCPU->sprExtended.msr |= MSR_RI;

View File

@ -163,7 +163,7 @@ void smdpArea_processCommand(smdpArea_t* smdpArea, smdpCommand_t* cmd)
{ {
cmd->ukn08 = 1; cmd->ukn08 = 1;
// cmd->ukn2C ? // cmd->ukn2C ?
forceLogDebug_printf("SMDP command received - todo"); cemuLog_logDebug(LogType::Force, "SMDP command received - todo");
smdpArea_pushResult(smdpArea, memory_getVirtualOffsetFromPointer(cmd)); smdpArea_pushResult(smdpArea, memory_getVirtualOffsetFromPointer(cmd));
} }
else else

View File

@ -500,7 +500,7 @@ void PPCRecompiler_init()
codeRegionEnd = (codeRegionEnd + PPC_REC_ALLOC_BLOCK_SIZE - 1) & ~(PPC_REC_ALLOC_BLOCK_SIZE - 1); codeRegionEnd = (codeRegionEnd + PPC_REC_ALLOC_BLOCK_SIZE - 1) & ~(PPC_REC_ALLOC_BLOCK_SIZE - 1);
uint32 codeRegionSize = codeRegionEnd - PPC_REC_CODE_AREA_START; uint32 codeRegionSize = codeRegionEnd - PPC_REC_CODE_AREA_START;
forceLogDebug_printf("Allocating recompiler tables for range 0x%08x-0x%08x", PPC_REC_CODE_AREA_START, codeRegionEnd); cemuLog_logDebug(LogType::Force, "Allocating recompiler tables for range 0x{:08x}-0x{:08x}", PPC_REC_CODE_AREA_START, codeRegionEnd);
for (uint32 i = 0; i < codeRegionSize; i += PPC_REC_ALLOC_BLOCK_SIZE) for (uint32 i = 0; i < codeRegionSize; i += PPC_REC_ALLOC_BLOCK_SIZE)
{ {

View File

@ -192,7 +192,7 @@ void _PPCRecRA_checkAndTryExtendRange(ppcImlGenContext_t* ppcImlGenContext, PPCR
{ {
if (routeDepth >= 64) if (routeDepth >= 64)
{ {
forceLogDebug_printf("Recompiler RA route maximum depth exceeded for function 0x%08x\n", ppcImlGenContext->functionRef->ppcAddress); cemuLog_logDebug(LogType::Force, "Recompiler RA route maximum depth exceeded for function 0x{:08x}", ppcImlGenContext->functionRef->ppcAddress);
return; return;
} }
route[routeDepth] = currentSegment; route[routeDepth] = currentSegment;

View File

@ -120,7 +120,7 @@ void LatteAsyncCommands_checkAndExecute()
} }
else else
{ {
forceLogDebug_printf("Texture not found for readback"); cemuLog_logDebug(LogType::Force, "Texture not found for readback");
} }
} }
else if (asyncCommand.type == ASYNC_CMD_DELETE_SHADER) else if (asyncCommand.type == ASYNC_CMD_DELETE_SHADER)

View File

@ -304,7 +304,7 @@ public:
{ {
if ((rangeBegin & 0xF)) if ((rangeBegin & 0xF))
{ {
forceLogDebug_printf("writeStreamout(): RangeBegin not aligned to 16. Begin %08x End %08x", rangeBegin, rangeEnd); cemuLog_logDebug(LogType::Force, "writeStreamout(): RangeBegin not aligned to 16. Begin {:08x} End {:08x}", rangeBegin, rangeEnd);
rangeBegin = (rangeBegin + 0xF) & ~0xF; rangeBegin = (rangeBegin + 0xF) & ~0xF;
rangeEnd = std::max(rangeBegin, rangeEnd); rangeEnd = std::max(rangeBegin, rangeEnd);
} }
@ -313,7 +313,7 @@ public:
// todo - add support for 4 byte granularity for streamout writes and cache // todo - add support for 4 byte granularity for streamout writes and cache
// used by Affordable Space Adventures and YWW Level 1-8 // used by Affordable Space Adventures and YWW Level 1-8
// also used by CoD Ghosts (8 byte granularity) // also used by CoD Ghosts (8 byte granularity)
//forceLogDebug_printf("Streamout write size is not aligned to 16 bytes"); //cemuLog_logDebug(LogType::Force, "Streamout write size is not aligned to 16 bytes");
rangeEnd &= ~0xF; rangeEnd &= ~0xF;
} }
//cemu_assert_debug((rangeEnd & 0xF) == 0); //cemu_assert_debug((rangeEnd & 0xF) == 0);

View File

@ -50,12 +50,12 @@ private:
} }
if (effectiveWidth < rtEffectiveSize.x) if (effectiveWidth < rtEffectiveSize.x)
{ {
forceLogDebug_printf("Framebuffer has color texture with smaller effective width (%d -> %d)", rtEffectiveSize.x, effectiveWidth); cemuLog_logDebug(LogType::Force, "Framebuffer has color texture with smaller effective width ({} -> {})", rtEffectiveSize.x, effectiveWidth);
rtEffectiveSize.x = effectiveWidth; rtEffectiveSize.x = effectiveWidth;
} }
if (effectiveHeight < rtEffectiveSize.y) if (effectiveHeight < rtEffectiveSize.y)
{ {
forceLogDebug_printf("Framebuffer has color texture with smaller effective height (%d -> %d)", rtEffectiveSize.y, effectiveHeight); cemuLog_logDebug(LogType::Force, "Framebuffer has color texture with smaller effective height ({} -> {})", rtEffectiveSize.y, effectiveHeight);
rtEffectiveSize.y = effectiveHeight; rtEffectiveSize.y = effectiveHeight;
} }
numViews++; numViews++;
@ -72,12 +72,12 @@ private:
} }
if (effectiveWidth < rtEffectiveSize.x) if (effectiveWidth < rtEffectiveSize.x)
{ {
forceLogDebug_printf("Framebuffer has depth texture with smaller effective width (%d -> %d)", rtEffectiveSize.x, effectiveWidth); cemuLog_logDebug(LogType::Force, "Framebuffer has depth texture with smaller effective width ({} -> {})", rtEffectiveSize.x, effectiveWidth);
rtEffectiveSize.x = effectiveWidth; rtEffectiveSize.x = effectiveWidth;
} }
if (effectiveHeight < rtEffectiveSize.y) if (effectiveHeight < rtEffectiveSize.y)
{ {
forceLogDebug_printf("Framebuffer has depth texture with smaller effective height (%d -> %d)", rtEffectiveSize.y, effectiveHeight); cemuLog_logDebug(LogType::Force, "Framebuffer has depth texture with smaller effective height ({} -> {})", rtEffectiveSize.y, effectiveHeight);
rtEffectiveSize.y = effectiveHeight; rtEffectiveSize.y = effectiveHeight;
} }
numViews++; numViews++;

View File

@ -638,7 +638,7 @@ LatteCMDPtr LatteCP_itDrawIndexAuto(LatteCMDPtr cmd, uint32 nWords, DrawPassCont
{ {
uint32 vsProgramCode = ((LatteGPUState.contextRegister[mmSQ_PGM_START_ES] & 0xFFFFFF) << 8); uint32 vsProgramCode = ((LatteGPUState.contextRegister[mmSQ_PGM_START_ES] & 0xFFFFFF) << 8);
uint32 vsProgramSize = LatteGPUState.contextRegister[mmSQ_PGM_START_ES + 1] << 3; uint32 vsProgramSize = LatteGPUState.contextRegister[mmSQ_PGM_START_ES + 1] << 3;
forceLogDebug_printf("Compute %d %08x %08x (unsupported)\n", count, vsProgramCode, vsProgramSize); cemuLog_logDebug(LogType::Force, "Compute {} {:08x} {:08x} (unsupported)", count, vsProgramCode, vsProgramSize);
} }
else else
{ {

View File

@ -611,7 +611,7 @@ bool LatteMRT::UpdateCurrentFBO()
{ {
if (_depthBufferSizeWarningCount < 100) if (_depthBufferSizeWarningCount < 100)
{ {
forceLogDebug_printf("Depth buffer size too small. Effective size: %dx%d Real size: %dx%d Mismatching texture: %08x %dx%d fmt %04x", effectiveWidth, effectiveHeight, depthBufferView->baseTexture->width, depthBufferView->baseTexture->height, depthBufferView->baseTexture->physAddress, depthBufferView->baseTexture->width, depthBufferView->baseTexture->height, (uint32)depthBufferView->baseTexture->format); cemuLog_logDebug(LogType::Force, "Depth buffer size too small. Effective size: {}x{} Real size: {}x{} Mismatching texture: {:08x} {}x{} fmt {:04x}", effectiveWidth, effectiveHeight, depthBufferView->baseTexture->width, depthBufferView->baseTexture->height, depthBufferView->baseTexture->physAddress, depthBufferView->baseTexture->width, depthBufferView->baseTexture->height, (uint32)depthBufferView->baseTexture->format);
_depthBufferSizeWarningCount++; _depthBufferSizeWarningCount++;
} }
} }
@ -721,7 +721,7 @@ void LatteRenderTarget_applyTextureColorClear(LatteTexture* texture, uint32 slic
{ {
if (texture->isDepth) if (texture->isDepth)
{ {
forceLogDebug_printf("Unsupported clear depth as color"); cemuLog_logDebug(LogType::Force, "Unsupported clear depth as color");
} }
else else
{ {

View File

@ -283,7 +283,7 @@ void LatteShader_UpdatePSInputs(uint32* contextRegisters)
#ifdef CEMU_DEBUG_ASSERT #ifdef CEMU_DEBUG_ASSERT
if (semanticMask[psSemanticId >> 3] & (1 << (psSemanticId & 7))) if (semanticMask[psSemanticId >> 3] & (1 << (psSemanticId & 7)))
{ {
forceLogDebug_printf("SemanticId already used"); cemuLog_logDebug(LogType::Force, "SemanticId already used");
} }
semanticMask[psSemanticId >> 3] |= (1 << (psSemanticId & 7)); semanticMask[psSemanticId >> 3] |= (1 << (psSemanticId & 7));
#endif #endif
@ -339,7 +339,7 @@ void LatteShader_CreateRendererShader(LatteDecompilerShader* shader, bool compil
(shader->baseHash == 0x15bc7edf9de2ed30 || shader->baseHash == 0x83a697d61a3b9202 || (shader->baseHash == 0x15bc7edf9de2ed30 || shader->baseHash == 0x83a697d61a3b9202 ||
shader->baseHash == 0x97bc44a5028381c6 || shader->baseHash == 0x24838b84d15a1da1)) shader->baseHash == 0x97bc44a5028381c6 || shader->baseHash == 0x24838b84d15a1da1))
{ {
forceLogDebug_printf("Filtered shader to avoid AMD crash"); cemuLog_logDebug(LogType::Force, "Filtered shader to avoid AMD crash");
shader->shader = nullptr; shader->shader = nullptr;
shader->hasError = true; shader->hasError = true;
return; return;
@ -357,7 +357,7 @@ void LatteShader_FinishCompilation(LatteDecompilerShader* shader)
{ {
if (shader->hasError) if (shader->hasError)
{ {
forceLogDebug_printf("LatteShader_finishCompilation(): Skipped because of error in shader %llx", shader->baseHash); cemuLog_logDebug(LogType::Force, "LatteShader_finishCompilation(): Skipped because of error in shader {:x}", shader->baseHash);
return; return;
} }
shader->shader->WaitForCompiled(); shader->shader->WaitForCompiled();

View File

@ -101,7 +101,7 @@ void LatteSurfaceCopy_copySurfaceNew(MPTR srcPhysAddr, MPTR srcMipAddr, uint32 s
// download destination texture if it matches known accessed formats // download destination texture if it matches known accessed formats
if (destinationTexture->width == 8 && destinationTexture->height == 8 && destinationTexture->tileMode == Latte::E_HWTILEMODE::TM_1D_TILED_THIN1) if (destinationTexture->width == 8 && destinationTexture->height == 8 && destinationTexture->tileMode == Latte::E_HWTILEMODE::TM_1D_TILED_THIN1)
{ {
forceLogDebug_printf("Texture readback after copy for Bayonetta 2 (phys: 0x%08x)", destinationTexture->physAddress); cemuLog_logDebug(LogType::Force, "Texture readback after copy for Bayonetta 2 (phys: 0x{:08x})", destinationTexture->physAddress);
LatteTextureReadback_Initate(destinationView); LatteTextureReadback_Initate(destinationView);
} }
} }

View File

@ -302,9 +302,9 @@ void LatteTexture_copyData(LatteTexture* srcTexture, LatteTexture* dstTexture, s
LatteTexture_getEffectiveSize(dstTexture, &effectiveWidth_src, &effectiveHeight_src, NULL, 0); LatteTexture_getEffectiveSize(dstTexture, &effectiveWidth_src, &effectiveHeight_src, NULL, 0);
debug_printf("texture_copyData(): Effective size mismatch\n"); debug_printf("texture_copyData(): Effective size mismatch\n");
forceLogDebug_printf("texture_copyData(): Effective size mismatch (due to texture rule)"); cemuLog_logDebug(LogType::Force, "texture_copyData(): Effective size mismatch (due to texture rule)");
forceLogDebug_printf("Destination: origResolution %04dx%04d effectiveResolution %04dx%04d fmt %04x mipIndex %d", srcTexture->width, srcTexture->height, effectiveWidth_dst, effectiveHeight_dst, (uint32)dstTexture->format, 0); cemuLog_logDebug(LogType::Force, "Destination: origResolution {:04}x{:04} effectiveResolution {:04}x{:04} fmt {:04x} mipIndex {}", srcTexture->width, srcTexture->height, effectiveWidth_dst, effectiveHeight_dst, (uint32)dstTexture->format, 0);
forceLogDebug_printf("Source: origResolution %04dx%04d effectiveResolution %04dx%04d fmt %04x mipIndex %d", srcTexture->width, srcTexture->height, effectiveWidth_src, effectiveHeight_src, (uint32)srcTexture->format, 0); cemuLog_logDebug(LogType::Force, "Source: origResolution {:04}x{:04} effectiveResolution {:04}x{:04} fmt {:04x} mipIndex {}", srcTexture->width, srcTexture->height, effectiveWidth_src, effectiveHeight_src, (uint32)srcTexture->format, 0);
return; return;
} }
catchOpenGLError(); catchOpenGLError();
@ -384,7 +384,7 @@ void LatteTexture_CopySlice(LatteTexture* srcTexture, sint32 srcSlice, sint32 sr
cemuLog_log(LogType::Force, "Source: {:08x} origResolution {:4}/{:4} effectiveResolution {:4}/{:4} fmt {:04x} mipIndex {} ratioW/H: {:.4}/{:.4}", srcTexture->physAddress, srcTexture->width, srcTexture->height, effectiveWidth_src, effectiveHeight_src, (uint32)srcTexture->format, srcMip, ratioWidth_src, ratioHeight_src); cemuLog_log(LogType::Force, "Source: {:08x} origResolution {:4}/{:4} effectiveResolution {:4}/{:4} fmt {:04x} mipIndex {} ratioW/H: {:.4}/{:.4}", srcTexture->physAddress, srcTexture->width, srcTexture->height, effectiveWidth_src, effectiveHeight_src, (uint32)srcTexture->format, srcMip, ratioWidth_src, ratioHeight_src);
cemuLog_log(LogType::Force, "Destination: {:08x} origResolution {:4}/{:4} effectiveResolution {:4}/{:4} fmt {:04x} mipIndex {} ratioW/H: {:.4}/{:.4}", dstTexture->physAddress, dstTexture->width, dstTexture->height, effectiveWidth_dst, effectiveHeight_dst, (uint32)dstTexture->format, dstMip, ratioWidth_dst, ratioHeight_dst); cemuLog_log(LogType::Force, "Destination: {:08x} origResolution {:4}/{:4} effectiveResolution {:4}/{:4} fmt {:04x} mipIndex {} ratioW/H: {:.4}/{:.4}", dstTexture->physAddress, dstTexture->width, dstTexture->height, effectiveWidth_dst, effectiveHeight_dst, (uint32)dstTexture->format, dstMip, ratioWidth_dst, ratioHeight_dst);
} }
//forceLogDebug_printf("If these textures are not meant to share data you can ignore this"); //cemuLog_logDebug(LogType::Force, "If these textures are not meant to share data you can ignore this");
return; return;
} }
// todo - store 'lastUpdated' value per slice/mip and copy it's value when copying the slice data // todo - store 'lastUpdated' value per slice/mip and copy it's value when copying the slice data
@ -877,7 +877,7 @@ VIEWCOMPATIBILITY LatteTexture_CanTextureBeRepresentedAsView(LatteTexture* baseT
if (baseTexture->isDepth && baseTexture->format != format) if (baseTexture->isDepth && baseTexture->format != format)
{ {
// depth view with different format // depth view with different format
forceLogDebug_printf("_createMapping(): Incompatible depth view format"); cemuLog_logDebug(LogType::Force, "_createMapping(): Incompatible depth view format");
return VIEW_NOT_COMPATIBLE; return VIEW_NOT_COMPATIBLE;
} }
@ -929,7 +929,7 @@ VIEWCOMPATIBILITY LatteTexture_CanTextureBeRepresentedAsView(LatteTexture* baseT
if (baseTexture->isDepth && baseTexture->format != format) if (baseTexture->isDepth && baseTexture->format != format)
{ {
// depth view with different format // depth view with different format
forceLogDebug_printf("_createMapping(): Incompatible depth view format"); cemuLog_logDebug(LogType::Force, "_createMapping(): Incompatible depth view format");
return VIEW_NOT_COMPATIBLE; return VIEW_NOT_COMPATIBLE;
} }
@ -1003,7 +1003,7 @@ LatteTextureView* LatteTexture_CreateMapping(MPTR physAddr, MPTR physMipAddr, si
{ {
if (format == Latte::E_GX2SURFFMT::INVALID_FORMAT) if (format == Latte::E_GX2SURFFMT::INVALID_FORMAT)
{ {
forceLogDebug_printf("LatteTexture_CreateMapping(): Invalid format"); cemuLog_logDebug(LogType::Force, "LatteTexture_CreateMapping(): Invalid format");
return nullptr; return nullptr;
} }
// note: When creating an existing texture, we only allow mip and slice expansion at the end // note: When creating an existing texture, we only allow mip and slice expansion at the end

View File

@ -818,7 +818,7 @@ void LatteTextureLoader_writeReadbackTextureToMemory(LatteTextureDefinition* tex
} }
else else
{ {
forceLogDebug_printf("Linear texture readback unsupported for format 0x%04x", (uint32)textureData->format); cemuLog_logDebug(LogType::Force, "Linear texture readback unsupported for format 0x{:04x}", (uint32)textureData->format);
debugBreakpoint(); debugBreakpoint();
} }
return; return;
@ -856,7 +856,7 @@ void LatteTextureLoader_writeReadbackTextureToMemory(LatteTextureDefinition* tex
} }
else else
{ {
forceLogDebug_printf("Texture readback unsupported format %04x for tileMode 0x%02x", (uint32)textureData->format, textureData->tileMode); cemuLog_logDebug(LogType::Force, "Texture readback unsupported format {:04x} for tileMode 0x{:02x}", (uint32)textureData->format, textureData->tileMode);
} }
} }

View File

@ -932,7 +932,7 @@ void LatteDecompiler_ParseTEXClause(LatteDecompilerShader* shaderContext, LatteD
} }
else else
{ {
forceLogDebug_printf("Unsupported tex instruction %d\n", inst0_4); cemuLog_logDebug(LogType::Force, "Unsupported tex instruction {}", inst0_4);
shaderContext->hasError = true; shaderContext->hasError = true;
break; break;
} }

View File

@ -310,7 +310,7 @@ void LatteDecompiler_analyzeTEXClause(LatteDecompilerShaderContext* shaderContex
{ {
if (texInstruction.textureFetch.textureIndex < 0 || texInstruction.textureFetch.textureIndex >= LATTE_NUM_MAX_TEX_UNITS) if (texInstruction.textureFetch.textureIndex < 0 || texInstruction.textureFetch.textureIndex >= LATTE_NUM_MAX_TEX_UNITS)
{ {
forceLogDebug_printf("Shader %llx has out of bounds texture access (texture %d)", shaderContext->shader->baseHash, (sint32)texInstruction.textureFetch.textureIndex); cemuLog_logDebug(LogType::Force, "Shader {:16x} has out of bounds texture access (texture {})", shaderContext->shader->baseHash, (sint32)texInstruction.textureFetch.textureIndex);
continue; continue;
} }
if( texInstruction.textureFetch.samplerIndex < 0 || texInstruction.textureFetch.samplerIndex >= 0x12 ) if( texInstruction.textureFetch.samplerIndex < 0 || texInstruction.textureFetch.samplerIndex >= 0x12 )
@ -984,7 +984,7 @@ void LatteDecompiler_analyze(LatteDecompilerShaderContext* shaderContext, LatteD
cemu_assert_debug(false); cemu_assert_debug(false);
} }
if(list_subroutineAddrs.empty() == false) if(list_subroutineAddrs.empty() == false)
forceLogDebug_printf("Todo - analyze shader subroutine CF stack"); cemuLog_logDebug(LogType::Force, "Todo - analyze shader subroutine CF stack");
// TF mode // TF mode
if (shaderContext->options->useTFViaSSBO && shaderContext->output->streamoutBufferWriteMask.any()) if (shaderContext->options->useTFViaSSBO && shaderContext->output->streamoutBufferWriteMask.any())
{ {

View File

@ -488,7 +488,7 @@ void LatteDecompiler_emitAttributeDecodeGLSL(LatteDecompilerShader* shaderContex
} }
else else
{ {
forceLogDebug_printf("_emitAttributeDecodeGLSL(): Unsupported fmt {:02x} nfa {} signed {} endian {}\n", attrib->format, attrib->nfa, attrib->isSigned, attrib->endianSwap); cemuLog_logDebug(LogType::Force, "_emitAttributeDecodeGLSL(): Unsupported fmt {:02x} nfa {} signed {} endian {}", attrib->format, attrib->nfa, attrib->isSigned, attrib->endianSwap);
} }
} }
else else

View File

@ -59,7 +59,7 @@ void LatteTextureViewGL::InitAliasView()
if (baseTexture->isDepth) if (baseTexture->isDepth)
{ {
// depth is handled differently // depth is handled differently
forceLogDebug_printf("Creating depth view"); cemuLog_logDebug(LogType::Force, "Creating depth view");
cemu_assert(format == texture->format); // todo cemu_assert(format == texture->format); // todo
glInternalFormat = texture->glInternalFormat; glInternalFormat = texture->glInternalFormat;
} }
@ -73,7 +73,7 @@ void LatteTextureViewGL::InitAliasView()
catchOpenGLError(); catchOpenGLError();
if (firstMip >= texture->maxPossibleMipLevels) if (firstMip >= texture->maxPossibleMipLevels)
{ {
forceLogDebug_printf("_createNewView: Out of bounds mip level requested"); cemuLog_logDebug(LogType::Force, "_createNewView: Out of bounds mip level requested");
glTextureView(glTexId, glTexTarget, texture->glId_texture, glInternalFormat, texture->maxPossibleMipLevels - 1, numMip, firstSlice, this->numSlice); glTextureView(glTexId, glTexTarget, texture->glId_texture, glInternalFormat, texture->maxPossibleMipLevels - 1, numMip, firstSlice, this->numSlice);
} }
else else

View File

@ -1075,7 +1075,7 @@ void OpenGLRenderer_texture_loadSlice_normal(LatteTexture* hostTextureGeneric, s
if (mipIndex < hostTexture->maxPossibleMipLevels) if (mipIndex < hostTexture->maxPossibleMipLevels)
glTexSubImage2D(GL_TEXTURE_2D, mipIndex, 0, 0, effectiveWidth, effectiveHeight, glFormatInfo.glSuppliedFormat, glFormatInfo.glSuppliedFormatType, pixelData); glTexSubImage2D(GL_TEXTURE_2D, mipIndex, 0, 0, effectiveWidth, effectiveHeight, glFormatInfo.glSuppliedFormat, glFormatInfo.glSuppliedFormatType, pixelData);
else else
forceLogDebug_printf("2D texture mip level allocated out of range"); cemuLog_logDebug(LogType::Force, "2D texture mip level allocated out of range");
} }
} }
else if (hostTexture->dim == Latte::E_DIM::DIM_1D) else if (hostTexture->dim == Latte::E_DIM::DIM_1D)
@ -1201,12 +1201,12 @@ void OpenGLRenderer::texture_clearSlice(LatteTexture* hostTextureGeneric, sint32
{ {
if (formatInfoGL.glIsCompressed) if (formatInfoGL.glIsCompressed)
{ {
forceLogDebug_printf("Unsupported clear for compressed texture"); cemuLog_logDebug(LogType::Force, "Unsupported clear for compressed texture");
return; // todo - create integer texture view to clear compressed textures return; // todo - create integer texture view to clear compressed textures
} }
if (hostTextureGeneric->isDepth) if (hostTextureGeneric->isDepth)
{ {
forceLogDebug_printf("Unsupported clear for depth texture"); cemuLog_logDebug(LogType::Force, "Unsupported clear for depth texture");
return; // todo - use depth clear return; // todo - use depth clear
} }
@ -1365,7 +1365,7 @@ void OpenGLRenderer::texture_copyImageSubData(LatteTexture* src, sint32 srcMip,
} }
else else
{ {
forceLogDebug_printf("_syncSlice() called with unhandled alternative format"); cemuLog_logDebug(LogType::Force, "_syncSlice() called with unhandled alternative format");
return; return;
} }
} }

View File

@ -467,7 +467,7 @@ void LatteDrawGL_prepareIndicesWithGPUCache(MPTR indexDataMPTR, _INDEX_TYPE inde
uint32 h = LatteDrawGL_calculateIndexDataHash(memory_getPointerFromPhysicalOffset(indexDataMPTR), cacheEntryItr->physSize); uint32 h = LatteDrawGL_calculateIndexDataHash(memory_getPointerFromPhysicalOffset(indexDataMPTR), cacheEntryItr->physSize);
if (cacheEntryItr->hash != h) if (cacheEntryItr->hash != h)
{ {
forceLogDebug_printf("IndexData hash changed"); cemuLog_logDebug(LogType::Force, "IndexData hash changed");
_decodeAndUploadIndexData(cacheEntryItr); _decodeAndUploadIndexData(cacheEntryItr);
cacheEntryItr->hash = h; cacheEntryItr->hash = h;
} }
@ -527,7 +527,7 @@ void LatteDrawGL_prepareIndicesWithGPUCache(MPTR indexDataMPTR, _INDEX_TYPE inde
void LatteDraw_handleSpecialState8_clearAsDepth() void LatteDraw_handleSpecialState8_clearAsDepth()
{ {
if (LatteGPUState.contextNew.GetSpecialStateValues()[0] == 0) if (LatteGPUState.contextNew.GetSpecialStateValues()[0] == 0)
forceLogDebug_printf("Special state 8 requires special state 0 but it is not set?"); cemuLog_logDebug(LogType::Force, "Special state 8 requires special state 0 but it is not set?");
// get depth buffer information // get depth buffer information
uint32 regDepthBuffer = LatteGPUState.contextRegister[mmDB_HTILE_DATA_BASE]; uint32 regDepthBuffer = LatteGPUState.contextRegister[mmDB_HTILE_DATA_BASE];
uint32 regDepthSize = LatteGPUState.contextRegister[mmDB_DEPTH_SIZE]; uint32 regDepthSize = LatteGPUState.contextRegister[mmDB_DEPTH_SIZE];

View File

@ -76,7 +76,7 @@ LatteTextureReadbackInfoGL::LatteTextureReadbackInfoGL(LatteTextureView* texture
} }
else else
{ {
forceLogDebug_printf("Unsupported texture readback format %04x\n", (uint32)textureView->format); cemuLog_logDebug(LogType::Force, "Unsupported texture readback format {:04x}", (uint32)textureView->format);
return; return;
} }
} }

View File

@ -173,7 +173,7 @@ RendererOutputShader::RendererOutputShader(const std::string& vertex_source, con
} }
else else
{ {
forceLogDebug_printf("RendererOutputShader() - todo for Vulkan"); cemuLog_logDebug(LogType::Force, "RendererOutputShader() - todo for Vulkan");
m_attributes[0].m_loc_texture_src_resolution = -1; m_attributes[0].m_loc_texture_src_resolution = -1;
m_attributes[0].m_loc_input_resolution = -1; m_attributes[0].m_loc_input_resolution = -1;
m_attributes[0].m_loc_output_resolution = -1; m_attributes[0].m_loc_output_resolution = -1;

View File

@ -407,6 +407,6 @@ VkSwapchainCreateInfoKHR SwapchainInfoVk::CreateSwapchainCreateInfo(VkSurfaceKHR
createInfo.presentMode = ChoosePresentMode(swapchainSupport.presentModes); createInfo.presentMode = ChoosePresentMode(swapchainSupport.presentModes);
createInfo.clipped = VK_TRUE; createInfo.clipped = VK_TRUE;
forceLogDebug_printf("vulkan presentation mode: %d", createInfo.presentMode); cemuLog_logDebug(LogType::Force, "vulkan presentation mode: {}", createInfo.presentMode);
return createInfo; return createInfo;
} }

View File

@ -528,7 +528,7 @@ void PipelineCompiler::InitInputAssemblyState(const Latte::LATTE_VGT_PRIMITIVE_T
inputAssembly.primitiveRestartEnable = false; inputAssembly.primitiveRestartEnable = false;
break; break;
default: default:
forceLogDebug_printf("Vulkan-Unsupported: Graphics pipeline with primitive mode %d created", primitiveMode); cemuLog_logDebug(LogType::Force, "Vulkan-Unsupported: Graphics pipeline with primitive mode {} created", primitiveMode);
cemu_assert_debug(false); cemu_assert_debug(false);
} }
} }

View File

@ -231,7 +231,7 @@ void VulkanPipelineStableCache::LoadPipelineFromCache(std::span<uint8> fileData)
vertexShader = LatteSHRC_FindVertexShader(cachedPipeline->vsHash.baseHash, cachedPipeline->vsHash.auxHash); vertexShader = LatteSHRC_FindVertexShader(cachedPipeline->vsHash.baseHash, cachedPipeline->vsHash.auxHash);
if (!vertexShader) if (!vertexShader)
{ {
forceLogDebug_printf("Vertex shader not found in cache"); cemuLog_logDebug(LogType::Force, "Vertex shader not found in cache");
return; return;
} }
} }
@ -241,7 +241,7 @@ void VulkanPipelineStableCache::LoadPipelineFromCache(std::span<uint8> fileData)
geometryShader = LatteSHRC_FindGeometryShader(cachedPipeline->gsHash.baseHash, cachedPipeline->gsHash.auxHash); geometryShader = LatteSHRC_FindGeometryShader(cachedPipeline->gsHash.baseHash, cachedPipeline->gsHash.auxHash);
if (!geometryShader) if (!geometryShader)
{ {
forceLogDebug_printf("Geometry shader not found in cache"); cemuLog_logDebug(LogType::Force, "Geometry shader not found in cache");
return; return;
} }
} }
@ -251,7 +251,7 @@ void VulkanPipelineStableCache::LoadPipelineFromCache(std::span<uint8> fileData)
pixelShader = LatteSHRC_FindPixelShader(cachedPipeline->psHash.baseHash, cachedPipeline->psHash.auxHash); pixelShader = LatteSHRC_FindPixelShader(cachedPipeline->psHash.baseHash, cachedPipeline->psHash.auxHash);
if (!pixelShader) if (!pixelShader)
{ {
forceLogDebug_printf("Pixel shader not found in cache"); cemuLog_logDebug(LogType::Force, "Pixel shader not found in cache");
return; return;
} }
} }

View File

@ -1967,7 +1967,7 @@ void VulkanRenderer::SubmitCommandBuffer(VkSemaphore signalSemaphore, VkSemaphor
if (nextCmdBufferIndex == m_commandBufferSyncIndex) if (nextCmdBufferIndex == m_commandBufferSyncIndex)
{ {
// force wait for the next command buffer // force wait for the next command buffer
forceLogDebug_printf("Vulkan: Waiting for available command buffer..."); cemuLog_logDebug(LogType::Force, "Vulkan: Waiting for available command buffer...");
WaitForNextFinishedCommandBuffer(); WaitForNextFinishedCommandBuffer();
} }
m_commandBufferIndex = nextCmdBufferIndex; m_commandBufferIndex = nextCmdBufferIndex;
@ -2085,7 +2085,7 @@ void VulkanRenderer::PipelineCacheSaveThread(size_t cache_size)
file.close(); file.close();
cache_size = size; cache_size = size;
forceLogDebug_printf("pipeline cache saved"); cemuLog_logDebug(LogType::Force, "pipeline cache saved");
} }
else else
{ {
@ -2123,7 +2123,7 @@ void VulkanRenderer::CreatePipelineCache()
file.read((char*)cacheData.data(), cacheData.size()); file.read((char*)cacheData.data(), cacheData.size());
file.close(); file.close();
forceLogDebug_printf("pipeline cache loaded"); cemuLog_logDebug(LogType::Force, "pipeline cache loaded");
} }
} }
@ -3168,7 +3168,7 @@ void VulkanRenderer::texture_clearSlice(LatteTexture* hostTexture, sint32 sliceI
auto imageObj = vkTexture->GetImageObj(); auto imageObj = vkTexture->GetImageObj();
imageObj->flagForCurrentCommandBuffer(); imageObj->flagForCurrentCommandBuffer();
forceLogDebug_printf("Compressed texture (%d/%d fmt %04x) unsupported clear", vkTexture->width, vkTexture->height, (uint32)vkTexture->format); cemuLog_logDebug(LogType::Force, "Compressed texture ({}/{} fmt {:04x}) unsupported clear", vkTexture->width, vkTexture->height, (uint32)vkTexture->format);
VkImageSubresourceLayers subresourceRange{}; VkImageSubresourceLayers subresourceRange{};
subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
@ -3418,7 +3418,7 @@ void VulkanRenderer::texture_copyImageSubData(LatteTexture* src, sint32 srcMip,
if (mipWidth < 4 || mipHeight < 4) if (mipWidth < 4 || mipHeight < 4)
{ {
forceLogDebug_printf("vkCmdCopyImage - blocked copy for unsupported uncompressed->compressed copy with dst smaller than 4x4"); cemuLog_logDebug(LogType::Force, "vkCmdCopyImage - blocked copy for unsupported uncompressed->compressed copy with dst smaller than 4x4");
return; return;
} }

View File

@ -894,14 +894,14 @@ void VulkanRenderer::surfaceCopy_copySurfaceWithFormatConversion(LatteTexture* s
// todo - if not, we have to use drawcall based copying // todo - if not, we have to use drawcall based copying
if (!LatteTexture_doesEffectiveRescaleRatioMatch(srcTextureVk, texSrcMip, dstTextureVk, texDstMip)) if (!LatteTexture_doesEffectiveRescaleRatioMatch(srcTextureVk, texSrcMip, dstTextureVk, texDstMip))
{ {
forceLogDebug_printf("surfaceCopy_copySurfaceViaDrawcall(): Mismatching dimensions"); cemuLog_logDebug(LogType::Force, "surfaceCopy_copySurfaceViaDrawcall(): Mismatching dimensions");
return; return;
} }
// check if bpp size matches // check if bpp size matches
if (srcTextureVk->GetBPP() != dstTextureVk->GetBPP()) if (srcTextureVk->GetBPP() != dstTextureVk->GetBPP())
{ {
forceLogDebug_printf("surfaceCopy_copySurfaceViaDrawcall(): Mismatching BPP"); cemuLog_logDebug(LogType::Force, "surfaceCopy_copySurfaceViaDrawcall(): Mismatching BPP");
return; return;
} }

View File

@ -470,7 +470,7 @@ namespace MMU
auto itr = g_mmioHandlerW32->find(address); auto itr = g_mmioHandlerW32->find(address);
if (itr == g_mmioHandlerW32->end()) if (itr == g_mmioHandlerW32->end())
{ {
//forceLogDebug_printf("[MMU] MMIO write u32 0x%08x from unhandeled address 0x%08x", value, address); //cemuLog_logDebug(LogType::Force, "[MMU] MMIO write u32 0x{:08x} from unhandled address 0x{:08x}", value, address);
return; return;
} }
return itr->second(address, value); return itr->second(address, value);
@ -482,7 +482,7 @@ namespace MMU
auto itr = g_mmioHandlerW16->find(address); auto itr = g_mmioHandlerW16->find(address);
if (itr == g_mmioHandlerW16->end()) if (itr == g_mmioHandlerW16->end())
{ {
//forceLogDebug_printf("[MMU] MMIO write u16 0x%04x from unhandeled address 0x%08x", (uint32)value, address); //cemuLog_logDebug(LogType::Force, "[MMU] MMIO write u16 0x{:04x} from unhandled address 0x{:08x}", (uint32)value, address);
return; return;
} }
return itr->second(address, value); return itr->second(address, value);
@ -497,7 +497,7 @@ namespace MMU
auto itr = g_mmioHandlerR32->find(address); auto itr = g_mmioHandlerR32->find(address);
if(itr == g_mmioHandlerR32->end()) if(itr == g_mmioHandlerR32->end())
{ {
//forceLogDebug_printf("[MMU] MMIO read u32 from unhandeled address 0x%08x", address); //cemuLog_logDebug(LogType::Force, "[MMU] MMIO read u32 from unhandled address 0x{:08x}", address);
return 0; return 0;
} }
return itr->second(address); return itr->second(address);
@ -509,7 +509,7 @@ namespace MMU
auto itr = g_mmioHandlerR16->find(address); auto itr = g_mmioHandlerR16->find(address);
if (itr == g_mmioHandlerR16->end()) if (itr == g_mmioHandlerR16->end())
{ {
//forceLogDebug_printf("[MMU] MMIO read u16 from unhandeled address 0x%08x", address); //cemuLog_logDebug(LogType::Force, "[MMU] MMIO read u16 from unhandled address 0x{:08x}", address);
return 0; return 0;
} }
return itr->second(address); return itr->second(address);

View File

@ -87,7 +87,7 @@ namespace HW_SI
HWREG::SICOMCSR SI_COMCSR_R32(PAddr addr) HWREG::SICOMCSR SI_COMCSR_R32(PAddr addr)
{ {
//forceLogDebug_printf("Read SICOMCSR"); //cemuLog_logDebug(LogType::Force, "Read SICOMCSR");
return g_si.registerState.sicomcsr; return g_si.registerState.sicomcsr;
} }

View File

@ -317,7 +317,7 @@ namespace iosu
FSCVirtualFile* fscFile = sFileHandleTable.GetByHandle(fileHandle); FSCVirtualFile* fscFile = sFileHandleTable.GetByHandle(fileHandle);
if (!fscFile) if (!fscFile)
{ {
forceLogDebug_printf("__FSACloseFile(): Invalid handle (0x%08x)", fileHandle); cemuLog_logDebug(LogType::Force, "__FSACloseFile(): Invalid handle (0x{:08x})", fileHandle);
return (FSStatus)FS_RESULT::ERR_PLACEHOLDER; return (FSStatus)FS_RESULT::ERR_PLACEHOLDER;
} }
// unregister file // unregister file
@ -587,7 +587,7 @@ namespace iosu
FSCVirtualFile* fscFile = sDirHandleTable.GetByHandle((sint32)cmd->cmdReadDir.dirHandle); FSCVirtualFile* fscFile = sDirHandleTable.GetByHandle((sint32)cmd->cmdReadDir.dirHandle);
if (!fscFile) if (!fscFile)
{ {
forceLogDebug_printf("CloseDir: Invalid handle (0x%08x)", (sint32)cmd->cmdReadDir.dirHandle); cemuLog_logDebug(LogType::Force, "CloseDir: Invalid handle (0x{:08x})", (sint32)cmd->cmdReadDir.dirHandle);
return (FSStatus)FS_RESULT::ERR_PLACEHOLDER; return (FSStatus)FS_RESULT::ERR_PLACEHOLDER;
} }
sDirHandleTable.ReleaseHandle(cmd->cmdReadDir.dirHandle); sDirHandleTable.ReleaseHandle(cmd->cmdReadDir.dirHandle);

View File

@ -309,7 +309,7 @@ namespace iosu
} }
else else
{ {
forceLogDebug_printf("ACPGetSaveDataTitleIdList(): Missing meta.xml for save %08x-%08x", titleIdHigh, titleIdLow); cemuLog_logDebug(LogType::Force, "ACPGetSaveDataTitleIdList(): Missing meta.xml for save {:08x}-{:08x}", titleIdHigh, titleIdLow);
} }
} }
fsc_close(fscDirIteratorTitleIdLow); fsc_close(fscDirIteratorTitleIdLow);

View File

@ -595,7 +595,7 @@ int iosuAct_thread()
} }
else else
{ {
forceLogDebug_printf("Gen UUID unknown mode %d", actCemuRequest->uuidName); cemuLog_logDebug(LogType::Force, "Gen UUID unknown mode {}", actCemuRequest->uuidName);
} }
actCemuRequest->setACTReturnCode(0); actCemuRequest->setACTReturnCode(0);
} }

View File

@ -239,7 +239,7 @@ namespace iosu
// task->result_buffer.resize(task->result_buffer.size() + writeByteSize); // task->result_buffer.resize(task->result_buffer.size() + writeByteSize);
//writeByteSize = min(writeByteSize, task->result_buffer.capacity() - task->processed_length); //writeByteSize = min(writeByteSize, task->result_buffer.capacity() - task->processed_length);
//forceLogDebug_printf("task_write_callback: %d (processed: %d)", writeByteSize, task->processed_length); //cemuLog_logDebug(LogType::Force, "task_write_callback: {} (processed: {})", writeByteSize, task->processed_length);
if (writeByteSize > 0) if (writeByteSize > 0)
{ {
//memcpy(task->result_buffer.data() + task->processed_length, ptr, writeByteSize); //memcpy(task->result_buffer.data() + task->processed_length, ptr, writeByteSize);
@ -252,7 +252,7 @@ namespace iosu
size_t task_download_header_callback(char* ptr, size_t size, size_t nitems, void* userdata) size_t task_download_header_callback(char* ptr, size_t size, size_t nitems, void* userdata)
{ {
//forceLogDebug_printf("\tHeader: %s", ptr); //cemuLog_logDebug(LogType::Force, "\tHeader: {}", ptr);
return size * nitems; return size * nitems;
} }
@ -292,7 +292,7 @@ namespace iosu
task->content_type = ContentType::kText; task->content_type = ContentType::kText;
else else
{ {
forceLogDebug_printf("task_header_callback: unknown content type > %s", type); cemuLog_logDebug(LogType::Force, "task_header_callback: unknown content type > {}", type);
} }
} }
else if (starts_with(ptr, "Last-Modified: ")) else if (starts_with(ptr, "Last-Modified: "))
@ -300,8 +300,8 @@ namespace iosu
// TODO timestamp (?) // TODO timestamp (?)
} }
//forceLogDebug_printf("task_header_callback: len %d (%d) and type %d", task->content_length, task->result_buffer.capacity(), task->content_type); //cemuLog_logDebug(LogType::Force, "task_header_callback: len {} ({}) and type {}", task->content_length, task->result_buffer.capacity(), task->content_type);
//forceLogDebug_printf("\t%s", ptr); //cemuLog_logDebug(LogType::Force, "\t{}", ptr);
return size * nitems; return size * nitems;
} }
@ -310,7 +310,7 @@ namespace iosu
auto task_settings = (TaskSetting*)param; auto task_settings = (TaskSetting*)param;
if (task_settings->taskType == kRawDlTaskSetting) if (task_settings->taskType == kRawDlTaskSetting)
{ {
forceLogDebug_printf("sslctx_function: adding client cert: %d", (int)task_settings->settings[TaskSetting::kClientCert]); cemuLog_logDebug(LogType::Force, "sslctx_function: adding client cert: {}", (int)task_settings->settings[TaskSetting::kClientCert]);
if (!iosuCrypto_addClientCertificate(sslctx, task_settings->settings[TaskSetting::kClientCert])) if (!iosuCrypto_addClientCertificate(sslctx, task_settings->settings[TaskSetting::kClientCert]))
assert_dbg(); assert_dbg();
@ -319,7 +319,7 @@ namespace iosu
{ {
if (task_settings->settings[location] != 0) if (task_settings->settings[location] != 0)
{ {
forceLogDebug_printf("sslctx_function: adding ca cert: %d", (int)task_settings->settings[location]); cemuLog_logDebug(LogType::Force, "sslctx_function: adding ca cert: {}", (int)task_settings->settings[location]);
if (!iosuCrypto_addCACertificate(sslctx, task_settings->settings[location])) if (!iosuCrypto_addCACertificate(sslctx, task_settings->settings[location]))
{ {
cemuLog_log(LogType::Force, "Failed to load CA certificate file"); cemuLog_log(LogType::Force, "Failed to load CA certificate file");
@ -457,7 +457,7 @@ namespace iosu
it->wait_state = TRUE; it->wait_state = TRUE;
return BUILD_NN_RESULT(NN_RESULT_LEVEL_SUCCESS, NN_RESULT_MODULE_NN_BOSS, 0); return BUILD_NN_RESULT(NN_RESULT_LEVEL_SUCCESS, NN_RESULT_MODULE_NN_BOSS, 0);
} }
forceLogDebug_printf("task run state: %d | exec: %d (tasks: %d)", it->turn_state, it->exec_count, g_boss.tasks.size()); cemuLog_logDebug(LogType::Force, "task run state: {} | exec: {} (tasks: {})", it->turn_state, it->exec_count, g_boss.tasks.size());
it->turn_state = kRunning; it->turn_state = kRunning;
it->exec_count++; it->exec_count++;
@ -601,25 +601,25 @@ namespace iosu
if (curl_result != CURLE_OK) if (curl_result != CURLE_OK)
{ {
#ifdef CEMU_DEBUG_ASSERT #ifdef CEMU_DEBUG_ASSERT
forceLogDebug_printf("curl error buff: %s", errbuf); cemuLog_logDebug(LogType::Force, "curl error buff: {}", errbuf);
#endif #endif
it->turn_state = kError; it->turn_state = kError;
it->wait_state = TRUE; it->wait_state = TRUE;
forceLogDebug_printf("task_run curl fail: %d", curl_result); cemuLog_logDebug(LogType::Force, "task_run curl fail: {}", curl_result);
return BUILD_NN_RESULT(NN_RESULT_LEVEL_FATAL, NN_RESULT_MODULE_NN_BOSS, 0); return BUILD_NN_RESULT(NN_RESULT_LEVEL_FATAL, NN_RESULT_MODULE_NN_BOSS, 0);
} }
else else
{ {
if (it->http_status_code != 200) if (it->http_status_code != 200)
{ {
forceLogDebug_printf("BOSS task_run: Received unexpected HTTP response code"); cemuLog_logDebug(LogType::Force, "BOSS task_run: Received unexpected HTTP response code");
} }
if (it->http_status_code == 404) if (it->http_status_code == 404)
{ {
// todo - is this correct behavior? // todo - is this correct behavior?
it->turn_state = kError; it->turn_state = kError;
it->wait_state = TRUE; it->wait_state = TRUE;
forceLogDebug_printf("task_run failed due to 404 error"); cemuLog_logDebug(LogType::Force, "task_run failed due to 404 error");
return BUILD_NN_RESULT(NN_RESULT_LEVEL_FATAL, NN_RESULT_MODULE_NN_BOSS, 0); return BUILD_NN_RESULT(NN_RESULT_LEVEL_FATAL, NN_RESULT_MODULE_NN_BOSS, 0);
} }
} }
@ -633,7 +633,7 @@ namespace iosu
break; break;
case ContentType::kText: case ContentType::kText:
forceLogDebug_printf("task_run returns text: %.*s", it->content_length, it->result_buffer.data()); cemuLog_logDebug(LogType::Force, "task_run returns text: {}", fmt::ptr(it->result_buffer.data()));
break; break;
} }
@ -653,7 +653,7 @@ namespace iosu
char targetFileName[TaskSetting::kFileNameLen + 1]{}; char targetFileName[TaskSetting::kFileNameLen + 1]{};
strncpy(targetFileName, (char*)&it->task_settings.settings[TaskSetting::kNbdlFileName], TaskSetting::kFileNameLen); strncpy(targetFileName, (char*)&it->task_settings.settings[TaskSetting::kNbdlFileName], TaskSetting::kFileNameLen);
forceLogDebug_printf("\tnbdl task target filename: \"%s\"", targetFileName); cemuLog_logDebug(LogType::Force, "\tnbdl task target filename: \"{}\"", targetFileName);
const bool hasFileName = targetFileName[0] != '\0'; const bool hasFileName = targetFileName[0] != '\0';
while (!it->queued_files.empty()) while (!it->queued_files.empty())
@ -704,7 +704,7 @@ namespace iosu
curl_result = curl_easy_perform(curl); curl_result = curl_easy_perform(curl);
if (curl_result != CURLE_OK) if (curl_result != CURLE_OK)
{ {
forceLogDebug_printf("task_run curl failed on file download (%d): %s > %s", curl_result, file.file_name.c_str(), file.url.c_str()); cemuLog_logDebug(LogType::Force, "task_run curl failed on file download ({}): {} > {}", curl_result, file.file_name, file.url);
if (hasFileName) if (hasFileName)
{ {
turnstate = kError; turnstate = kError;
@ -727,7 +727,7 @@ namespace iosu
if(it->processed_file_size != file.size) if(it->processed_file_size != file.size)
{ {
forceLogDebug_printf("task_run file download size mismatch: %s > %s > %d from %d bytes", file.file_name.c_str(), file.url.c_str(), it->processed_file_size, file.size); cemuLog_logDebug(LogType::Force, "task_run file download size mismatch: {} > {} > {} from {} bytes", file.file_name, file.url, it->processed_file_size, file.size);
if (hasFileName) if (hasFileName)
{ {
turnstate = kError; turnstate = kError;
@ -796,7 +796,7 @@ namespace iosu
} }
catch (const std::exception& ex) catch (const std::exception& ex)
{ {
forceLogDebug_printf("file error: %s", ex.what()); cemuLog_logDebug(LogType::Force, "file error: {}", ex.what());
} }
if (hasFileName) if (hasFileName)
@ -805,7 +805,7 @@ namespace iosu
} }
catch (const std::exception& ex) catch (const std::exception& ex)
{ {
forceLogDebug_printf("dir error: %s", ex.what()); cemuLog_logDebug(LogType::Force, "dir error: {}", ex.what());
} }
} }
@ -865,7 +865,7 @@ namespace iosu
{ {
if (timeout != 0 && (uint32)std::chrono::duration_cast<std::chrono::seconds>(tick_cached() - start).count() >= timeout) if (timeout != 0 && (uint32)std::chrono::duration_cast<std::chrono::seconds>(tick_cached() - start).count() >= timeout)
{ {
forceLogDebug_printf("task_wait: timeout reached -> %d seconds passed", timeout); cemuLog_logDebug(LogType::Force, "task_wait: timeout reached -> {} seconds passed", timeout);
return false; return false;
} }

View File

@ -45,7 +45,7 @@ namespace iosu
void notificationHandler(NexFriends::NOTIFICATION_TYPE type, uint32 pid) void notificationHandler(NexFriends::NOTIFICATION_TYPE type, uint32 pid)
{ {
forceLogDebug_printf("Friends::Notification %02x pid %08x", type, pid); cemuLog_logDebug(LogType::Force, "Friends::Notification {:02x} pid {:08x}", type, pid);
if(GetConfig().notification.friends) if(GetConfig().notification.friends)
{ {
std::unique_lock lock(g_friend_notification_mutex); std::unique_lock lock(g_friend_notification_mutex);
@ -174,7 +174,7 @@ namespace iosu
} }
else else
{ {
forceLogDebug_printf("IOSU_FPD: Failed to acquire nex token for friend server"); cemuLog_logDebug(LogType::Force, "IOSU_FPD: Failed to acquire nex token for friend server");
} }
} }
@ -542,7 +542,7 @@ namespace iosu
uint64 mid = _swapEndianU64(fpdCemuRequest->markFriendRequest.messageIdList.GetPtr()[i]); uint64 mid = _swapEndianU64(fpdCemuRequest->markFriendRequest.messageIdList.GetPtr()[i]);
if (mid == 0) if (mid == 0)
{ {
forceLogDebug_printf("MarkFriendRequestAsReceivedAsync - Invalid messageId"); cemuLog_logDebug(LogType::Force, "MarkFriendRequestAsReceivedAsync - Invalid messageId");
continue; continue;
} }
messageIds[count] = mid; messageIds[count] = mid;

View File

@ -17,7 +17,7 @@ sint32 iosuIoctl_pushAndWait(uint32 ioctlHandle, ioQueueEntry_t* ioQueueEntry)
{ {
if (ioctlHandle != IOS_DEVICE_ACT && ioctlHandle != IOS_DEVICE_ACP_MAIN && ioctlHandle != IOS_DEVICE_MCP && ioctlHandle != IOS_DEVICE_BOSS && ioctlHandle != IOS_DEVICE_NIM && ioctlHandle != IOS_DEVICE_FPD) if (ioctlHandle != IOS_DEVICE_ACT && ioctlHandle != IOS_DEVICE_ACP_MAIN && ioctlHandle != IOS_DEVICE_MCP && ioctlHandle != IOS_DEVICE_BOSS && ioctlHandle != IOS_DEVICE_NIM && ioctlHandle != IOS_DEVICE_FPD)
{ {
forceLogDebug_printf("Unsupported IOSU device %d", ioctlHandle); cemuLog_logDebug(LogType::Force, "Unsupported IOSU device {}", ioctlHandle);
cemu_assert_debug(false); cemu_assert_debug(false);
return 0; return 0;
} }

View File

@ -231,13 +231,13 @@ bool RPLLoader_ProcessHeaders(std::string_view moduleName, uint8* rplData, uint3
rplSectionEntryNew_t* fileinfoSection = rplLoaderContext->sectionTablePtr + ((uint32)rplLoaderContext->rplHeader.sectionTableEntryCount - 1); rplSectionEntryNew_t* fileinfoSection = rplLoaderContext->sectionTablePtr + ((uint32)rplLoaderContext->rplHeader.sectionTableEntryCount - 1);
if (fileinfoSection->fileOffset == 0 || (uint32)fileinfoSection->fileOffset >= rplSize || (uint32)fileinfoSection->type != SHT_RPL_FILEINFO) if (fileinfoSection->fileOffset == 0 || (uint32)fileinfoSection->fileOffset >= rplSize || (uint32)fileinfoSection->type != SHT_RPL_FILEINFO)
{ {
forceLogDebug_printf("RPLLoader: Last section not FILEINFO"); cemuLog_logDebug(LogType::Force, "RPLLoader: Last section not FILEINFO");
} }
// verify that section n-2 is CRCs // verify that section n-2 is CRCs
rplSectionEntryNew_t* crcSection = rplLoaderContext->sectionTablePtr + ((uint32)rplLoaderContext->rplHeader.sectionTableEntryCount - 2); rplSectionEntryNew_t* crcSection = rplLoaderContext->sectionTablePtr + ((uint32)rplLoaderContext->rplHeader.sectionTableEntryCount - 2);
if (crcSection->fileOffset == 0 || (uint32)crcSection->fileOffset >= rplSize || (uint32)crcSection->type != SHT_RPL_CRCS) if (crcSection->fileOffset == 0 || (uint32)crcSection->fileOffset >= rplSize || (uint32)crcSection->type != SHT_RPL_CRCS)
{ {
forceLogDebug_printf("RPLLoader: The section before FILEINFO must be CRCs"); cemuLog_logDebug(LogType::Force, "RPLLoader: The section before FILEINFO must be CRCs");
} }
// load FILEINFO section // load FILEINFO section
if (fileinfoSection->sectionSize < sizeof(RPLFileInfoData)) if (fileinfoSection->sectionSize < sizeof(RPLFileInfoData))
@ -430,7 +430,7 @@ bool RPLLoader_LoadSingleSection(RPLModule* rplLoaderContext, sint32 sectionInde
uint32 mappingOffset = (uint32)section->virtualAddress - (uint32)regionMappingInfo->baseAddress; uint32 mappingOffset = (uint32)section->virtualAddress - (uint32)regionMappingInfo->baseAddress;
if (mappingOffset >= 0x10000000) if (mappingOffset >= 0x10000000)
forceLogDebug_printf("Suspicious section mapping offset: 0x%08x", mappingOffset); cemuLog_logDebug(LogType::Force, "Suspicious section mapping offset: 0x{:08x}", mappingOffset);
uint32 sectionAddress = mappedAddress + mappingOffset; uint32 sectionAddress = mappedAddress + mappingOffset;
rplLoaderContext->sectionAddressTable2[sectionIndex].ptr = memory_getPointerFromVirtualOffset(sectionAddress); rplLoaderContext->sectionAddressTable2[sectionIndex].ptr = memory_getPointerFromVirtualOffset(sectionAddress);
@ -1018,7 +1018,7 @@ bool RPLLoader_FixImportSymbols(RPLModule* rplLoaderContext, sint32 symtabSectio
#ifdef CEMU_DEBUG_ASSERT #ifdef CEMU_DEBUG_ASSERT
if (nameOffset > 0) if (nameOffset > 0)
{ {
forceLogDebug_printf("export not found - force lookup in function exports"); cemuLog_logDebug(LogType::Force, "export not found - force lookup in function exports");
// workaround - force look up export in function exports // workaround - force look up export in function exports
char* exportNameData = (char*)((uint8*)ctxExportModule->exportFDataPtr - 8); char* exportNameData = (char*)((uint8*)ctxExportModule->exportFDataPtr - 8);
for (uint32 f = 0; f < ctxExportModule->exportFCount; f++) for (uint32 f = 0; f < ctxExportModule->exportFCount; f++)
@ -1304,7 +1304,7 @@ bool RPLLoader_ApplyRelocs(RPLModule* rplLoaderContext, sint32 relaSectionIndex,
} }
if (relocSymbolIndex >= symbolCount) if (relocSymbolIndex >= symbolCount)
{ {
forceLogDebug_printf("reloc with symbol index out of range 0x%04x", (uint32)relocSymbolIndex); cemuLog_logDebug(LogType::Force, "reloc with symbol index out of range 0x{:04x}", (uint32)relocSymbolIndex);
reloc++; reloc++;
continue; continue;
} }
@ -1313,7 +1313,7 @@ bool RPLLoader_ApplyRelocs(RPLModule* rplLoaderContext, sint32 relaSectionIndex,
if ((uint32)sym->sectionIndex >= (uint32)rplLoaderContext->rplHeader.sectionTableEntryCount) if ((uint32)sym->sectionIndex >= (uint32)rplLoaderContext->rplHeader.sectionTableEntryCount)
{ {
forceLogDebug_printf("reloc with sectionIndex out of range 0x%04x", (uint32)sym->sectionIndex); cemuLog_logDebug(LogType::Force, "reloc with sectionIndex out of range 0x{:04x}", (uint32)sym->sectionIndex);
reloc++; reloc++;
continue; continue;
} }
@ -1503,14 +1503,14 @@ void RPLLoader_BeginCemuhookCRC(RPLModule* rpl)
rawSize = decompressedSize; rawSize = decompressedSize;
if (rawSize >= 1024*1024*1024) if (rawSize >= 1024*1024*1024)
{ {
forceLogDebug_printf("RPLLoader-CRC: Cannot load section %d which is too large (%u bytes)", i, decompressedSize); cemuLog_logDebug(LogType::Force, "RPLLoader-CRC: Cannot load section {} which is too large ({} bytes)", i, decompressedSize);
cemu_assert_debug(false); cemu_assert_debug(false);
continue; continue;
} }
rawData = (uint8*)malloc(decompressedSize); rawData = (uint8*)malloc(decompressedSize);
if (rawData == nullptr) if (rawData == nullptr)
{ {
forceLogDebug_printf("RPLLoader-CRC: Failed to allocate memory for uncompressed section %d (%u bytes)", i, decompressedSize); cemuLog_logDebug(LogType::Force, "RPLLoader-CRC: Failed to allocate memory for uncompressed section {} ({} bytes)", i, decompressedSize);
cemu_assert_debug(false); cemu_assert_debug(false);
continue; continue;
} }
@ -1528,8 +1528,8 @@ void RPLLoader_BeginCemuhookCRC(RPLModule* rpl)
auto ret = inflate(&strm, Z_FULL_FLUSH); auto ret = inflate(&strm, Z_FULL_FLUSH);
if (ret != Z_OK && ret != Z_STREAM_END || strm.avail_in != 0 || strm.avail_out != 0) if (ret != Z_OK && ret != Z_STREAM_END || strm.avail_in != 0 || strm.avail_out != 0)
{ {
forceLogDebug_printf("RPLLoader-CRC: Unable to decompress section %d", i); cemuLog_logDebug(LogType::Force, "RPLLoader-CRC: Unable to decompress section {}", i);
forceLogDebug_printf("zRet %d availIn %d availOut %d", ret, (sint32)strm.avail_in, (sint32)strm.avail_out); cemuLog_logDebug(LogType::Force, "zRet {} availIn {} availOut {}", ret, (sint32)strm.avail_in, (sint32)strm.avail_out);
cemu_assert_debug(false); cemu_assert_debug(false);
free(rawData); free(rawData);
inflateEnd(&strm); inflateEnd(&strm);
@ -1630,7 +1630,7 @@ RPLModule* rpl_loadFromMem(uint8* rplData, sint32 size, char* name)
return nullptr; return nullptr;
} }
forceLogDebug_printf("Load %s Code-Offset: -0x%x", name, rpl->regionMappingBase_text.GetMPTR() - 0x02000000); cemuLog_logDebug(LogType::Force, "Load {} Code-Offset: -0x{:x}", name, rpl->regionMappingBase_text.GetMPTR() - 0x02000000);
// sdata (r2/r13) // sdata (r2/r13)
uint32 sdataBaseAddress = rpl->fileInfo.sdataBase1; // base + 0x8000 uint32 sdataBaseAddress = rpl->fileInfo.sdataBase1; // base + 0x8000
@ -2070,7 +2070,7 @@ bool RPLLoader_LoadFromVirtualPath(rplDependency_t* dependency, char* filePath)
uint8* rplData = fsc_extractFile(filePath, &rplSize); uint8* rplData = fsc_extractFile(filePath, &rplSize);
if (rplData) if (rplData)
{ {
forceLogDebug_printf("Loading: %s", filePath); cemuLog_logDebug(LogType::Force, "Loading: {}", filePath);
dependency->rplLoaderContext = rpl_loadFromMem(rplData, rplSize, filePath); dependency->rplLoaderContext = rpl_loadFromMem(rplData, rplSize, filePath);
free(rplData); free(rplData);
return true; return true;

View File

@ -21,7 +21,7 @@ public:
//OSThread_t* currentThread = coreinit::OSGetCurrentThread(); //OSThread_t* currentThread = coreinit::OSGetCurrentThread();
//cemu_assert_debug(thread == nullptr || currentThread == thread); //cemu_assert_debug(thread == nullptr || currentThread == thread);
// forceLogDebug_printf("push suspend count: %d", _swapEndianU32(thread->suspend) - m_suspendCount); // cemuLog_logDebug(LogType::Force, "push suspend count: {}", _swapEndianU32(thread->suspend) - m_suspendCount);
//__OSLockScheduler(); //__OSLockScheduler();
@ -46,7 +46,7 @@ public:
//thread = coreinitThread_getCurrentThread(ppcInterpreterCurrentInstance); //thread = coreinitThread_getCurrentThread(ppcInterpreterCurrentInstance);
// forceLogDebug_printf("pop suspend count: %d", _swapEndianU32(thread->suspend) + m_suspendCount); // cemuLog_logDebug(LogType::Force, "pop suspend count: {}", _swapEndianU32(thread->suspend) + m_suspendCount);
__OSLockScheduler(); __OSLockScheduler();
if (m_queue.empty()) if (m_queue.empty())

View File

@ -257,7 +257,7 @@ namespace coreinit
void coreinitExport_ENVGetEnvironmentVariable(PPCInterpreter_t* hCPU) void coreinitExport_ENVGetEnvironmentVariable(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("ENVGetEnvironmentVariable(\"%s\",0x08x,0x%x)\n", (char*)memory_getPointerFromVirtualOffset(hCPU->gpr[3]), hCPU->gpr[4], hCPU->gpr[5]); cemuLog_logDebug(LogType::Force, "ENVGetEnvironmentVariable(\"{}\",0x08x,0x{:x})", (char*)memory_getPointerFromVirtualOffset(hCPU->gpr[3]), hCPU->gpr[4], hCPU->gpr[5]);
char* envKeyStr = (char*)memory_getPointerFromVirtualOffset(hCPU->gpr[3]); char* envKeyStr = (char*)memory_getPointerFromVirtualOffset(hCPU->gpr[3]);
char* outputString = (char*)memory_getPointerFromVirtualOffset(hCPU->gpr[4]); char* outputString = (char*)memory_getPointerFromVirtualOffset(hCPU->gpr[4]);
sint32 outputStringMaxLen = (sint32)hCPU->gpr[5]; sint32 outputStringMaxLen = (sint32)hCPU->gpr[5];
@ -284,13 +284,13 @@ namespace coreinit
uint32 OSGetBootPMFlags() uint32 OSGetBootPMFlags()
{ {
forceLogDebug_printf("OSGetBootPMFlags() - placeholder"); cemuLog_logDebug(LogType::Force, "OSGetBootPMFlags() - placeholder");
return 0; return 0;
} }
uint32 OSGetSystemMode() uint32 OSGetSystemMode()
{ {
forceLogDebug_printf("OSGetSystemMode() - placeholder"); cemuLog_logDebug(LogType::Force, "OSGetSystemMode() - placeholder");
// if this returns 2, barista softlocks shortly after boot // if this returns 2, barista softlocks shortly after boot
return 0; return 0;
} }

View File

@ -249,7 +249,7 @@ namespace coreinit
if (existingAlarmItr != g_activeAlarms.end()) if (existingAlarmItr != g_activeAlarms.end())
{ {
// delete existing alarm // delete existing alarm
forceLogDebug_printf("__OSInitiateAlarm() called on alarm which was already active"); cemuLog_logDebug(LogType::Force, "__OSInitiateAlarm() called on alarm which was already active");
OSHostAlarmDestroy(existingAlarmItr->second); OSHostAlarmDestroy(existingAlarmItr->second);
g_activeAlarms.erase(existingAlarmItr); g_activeAlarms.erase(existingAlarmItr);
} }

View File

@ -184,7 +184,7 @@ namespace coreinit
void coreinitExport_OSCopyFromClipboard(PPCInterpreter_t* hCPU) void coreinitExport_OSCopyFromClipboard(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("OSCopyFromClipboard(0x%x,0x%x)\n", hCPU->gpr[3], hCPU->gpr[4]); cemuLog_logDebug(LogType::Force, "OSCopyFromClipboard(0x{:x},0x{:x})", hCPU->gpr[3], hCPU->gpr[4]);
ppcDefineParamMEMPTR(buffer, void, 0); ppcDefineParamMEMPTR(buffer, void, 0);
ppcDefineParamMEMPTR(size, uint32be, 1); ppcDefineParamMEMPTR(size, uint32be, 1);
bool r = OSCopyFromClipboard(buffer.GetPtr(), size.GetPtr()); bool r = OSCopyFromClipboard(buffer.GetPtr(), size.GetPtr());

View File

@ -48,7 +48,7 @@ namespace coreinit
void coreinitExport_IMGetAPDPeriod(PPCInterpreter_t* hCPU) void coreinitExport_IMGetAPDPeriod(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("IMGetAPDPeriod(0x%08x)\n", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "IMGetAPDPeriod(0x{:08x})", hCPU->gpr[3]);
// parameters: // parameters:
// r3 uint32* returns the number of seconds until auto-shutdown occurs // r3 uint32* returns the number of seconds until auto-shutdown occurs
memory_writeU32(hCPU->gpr[3], 600); memory_writeU32(hCPU->gpr[3], 600);
@ -57,7 +57,7 @@ namespace coreinit
void coreinitExport_IM_GetParameter(PPCInterpreter_t* hCPU) void coreinitExport_IM_GetParameter(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("IM_GetParameter()"); cemuLog_logDebug(LogType::Force, "IM_GetParameter()");
ppcDefineParamS32(imHandle, 0); // handle from IM_Open() ppcDefineParamS32(imHandle, 0); // handle from IM_Open()
ppcDefineParamS32(uknR4, 1); ppcDefineParamS32(uknR4, 1);
@ -81,7 +81,7 @@ namespace coreinit
void coreinitExport_IM_GetRuntimeParameter(PPCInterpreter_t* hCPU) void coreinitExport_IM_GetRuntimeParameter(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("IM_GetRuntimeParameter()"); cemuLog_logDebug(LogType::Force, "IM_GetRuntimeParameter()");
ppcDefineParamS32(parameterId, 0); ppcDefineParamS32(parameterId, 0);
ppcDefineParamStructPtr(output, void, 1); ppcDefineParamStructPtr(output, void, 1);

View File

@ -58,7 +58,7 @@ sint32 __depr__IOS_Ioctl(uint32 fd, uint32 request, void* inBuffer, uint32 inSiz
default: default:
{ {
// todo // todo
forceLogDebug_printf("Unsupported Ioctl command"); cemuLog_logDebug(LogType::Force, "Unsupported Ioctl command");
} }
} }
return 0; return 0;

View File

@ -119,7 +119,7 @@ void CafeInit()
} }
else else
{ {
forceLogDebug_printf("Unable to find end of rpx file name in arg string"); cemuLog_logDebug(LogType::Force, "Unable to find end of rpx file name in arg string");
} }
} }
// setup UGQR // setup UGQR

View File

@ -71,14 +71,14 @@ sint32 MCP_GetSysProdSettings(MCPHANDLE mcpHandle, SysProdSettings* sysProdSetti
void coreinitExport_MCP_GetSysProdSettings(PPCInterpreter_t* hCPU) void coreinitExport_MCP_GetSysProdSettings(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("MCP_GetSysProdSettings(0x%08x,0x%08x)", hCPU->gpr[3], hCPU->gpr[4]); cemuLog_logDebug(LogType::Force, "MCP_GetSysProdSettings(0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4]);
sint32 result = MCP_GetSysProdSettings(hCPU->gpr[3], (SysProdSettings*)memory_getPointerFromVirtualOffset(hCPU->gpr[4])); sint32 result = MCP_GetSysProdSettings(hCPU->gpr[3], (SysProdSettings*)memory_getPointerFromVirtualOffset(hCPU->gpr[4]));
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
void coreinitExport_MCP_TitleListByAppType(PPCInterpreter_t* hCPU) void coreinitExport_MCP_TitleListByAppType(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("MCP_TitleListByAppType(0x%08x,0x%08x,0x%08x,0x%08x,0x%08x)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6], hCPU->gpr[7]); cemuLog_logDebug(LogType::Force, "MCP_TitleListByAppType(0x{:08x},0x{:08x},0x{:08x},0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6], hCPU->gpr[7]);
ppcDefineParamU32(mcpHandle, 0); ppcDefineParamU32(mcpHandle, 0);
ppcDefineParamU32(appType, 1); ppcDefineParamU32(appType, 1);
@ -103,7 +103,7 @@ void coreinitExport_MCP_TitleListByAppType(PPCInterpreter_t* hCPU)
void coreinitExport_MCP_TitleList(PPCInterpreter_t* hCPU) void coreinitExport_MCP_TitleList(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("MCP_TitleList(...) unimplemented"); cemuLog_logDebug(LogType::Force, "MCP_TitleList(...) unimplemented");
ppcDefineParamU32(mcpHandle, 0); ppcDefineParamU32(mcpHandle, 0);
ppcDefineParamU32BEPtr(countOutput, 1); ppcDefineParamU32BEPtr(countOutput, 1);
ppcDefineParamStructPtr(titleList, MCPTitleInfo, 2); ppcDefineParamStructPtr(titleList, MCPTitleInfo, 2);
@ -125,7 +125,7 @@ void coreinitExport_MCP_TitleList(PPCInterpreter_t* hCPU)
void coreinitExport_MCP_TitleCount(PPCInterpreter_t* hCPU) void coreinitExport_MCP_TitleCount(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("MCP_TitleCount(): Untested"); cemuLog_logDebug(LogType::Force, "MCP_TitleCount(): Untested");
ppcDefineParamU32(mcpHandle, 0); ppcDefineParamU32(mcpHandle, 0);
mcpPrepareRequest(); mcpPrepareRequest();
@ -142,7 +142,7 @@ void coreinitExport_MCP_GetTitleInfo(PPCInterpreter_t* hCPU)
ppcDefineParamU64(titleId, 2); ppcDefineParamU64(titleId, 2);
ppcDefineParamStructPtr(titleList, MCPTitleInfo, 4); ppcDefineParamStructPtr(titleList, MCPTitleInfo, 4);
forceLogDebug_printf("MCP_GetTitleInfo() called"); cemuLog_logDebug(LogType::Force, "MCP_GetTitleInfo() called");
mcpPrepareRequest(); mcpPrepareRequest();
mcpRequest->requestCode = IOSU_MCP_GET_TITLE_INFO; mcpRequest->requestCode = IOSU_MCP_GET_TITLE_INFO;
@ -168,7 +168,7 @@ void coreinitExport_MCP_GetTitleInfoByTitleAndDevice(PPCInterpreter_t* hCPU)
ppcDefineParamStr(device, 4); // e.g. "odd" ppcDefineParamStr(device, 4); // e.g. "odd"
ppcDefineParamStructPtr(titleList, MCPTitleInfo, 5); ppcDefineParamStructPtr(titleList, MCPTitleInfo, 5);
forceLogDebug_printf("MCP_GetTitleInfoByTitleAndDevice() called (todo - device type support)"); cemuLog_logDebug(LogType::Force, "MCP_GetTitleInfoByTitleAndDevice() called (todo - device type support)");
mcpPrepareRequest(); mcpPrepareRequest();
mcpRequest->requestCode = IOSU_MCP_GET_TITLE_INFO; mcpRequest->requestCode = IOSU_MCP_GET_TITLE_INFO;
@ -180,7 +180,7 @@ void coreinitExport_MCP_GetTitleInfoByTitleAndDevice(PPCInterpreter_t* hCPU)
if (mcpRequest->titleListRequest.titleCount == 0) if (mcpRequest->titleListRequest.titleCount == 0)
{ {
forceLogDebug_printf("MCP_GetTitleInfoByTitleAndDevice() no title found"); cemuLog_logDebug(LogType::Force, "MCP_GetTitleInfoByTitleAndDevice() no title found");
osLib_returnFromFunction(hCPU, BUILD_NN_RESULT(NN_RESULT_LEVEL_STATUS, NN_RESULT_MODULE_MCP, 0)); // E-Shop/nn_vctl.rpl expects error to be returned when no title is found osLib_returnFromFunction(hCPU, BUILD_NN_RESULT(NN_RESULT_LEVEL_STATUS, NN_RESULT_MODULE_MCP, 0)); // E-Shop/nn_vctl.rpl expects error to be returned when no title is found
return; return;
} }
@ -194,7 +194,7 @@ namespace coreinit
void export_MCP_GetSystemVersion(PPCInterpreter_t* hCPU) void export_MCP_GetSystemVersion(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("MCP_GetSystemVersion(%d,0x%08x)", hCPU->gpr[3], hCPU->gpr[4]); cemuLog_logDebug(LogType::Force, "MCP_GetSystemVersion({},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4]);
ppcDefineParamU32(mcpHandle, 0); ppcDefineParamU32(mcpHandle, 0);
ppcDefineParamStructPtr(systemVersion, mcpSystemVersion_t, 1); ppcDefineParamStructPtr(systemVersion, mcpSystemVersion_t, 1);
@ -209,7 +209,7 @@ namespace coreinit
void export_MCP_Get4SecondOffStatus(PPCInterpreter_t* hCPU) void export_MCP_Get4SecondOffStatus(PPCInterpreter_t* hCPU)
{ {
// r3 = mcpHandle // r3 = mcpHandle
forceLogDebug_printf("MCP_Get4SecondOffStatus(...) placeholder"); cemuLog_logDebug(LogType::Force, "MCP_Get4SecondOffStatus(...) placeholder");
// if this returns 1 then Barista will display the warning about cold-shutdown ('Holding the POWER button for at least four seconds...') // if this returns 1 then Barista will display the warning about cold-shutdown ('Holding the POWER button for at least four seconds...')
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
} }
@ -230,7 +230,7 @@ namespace coreinit
*titleCount = 1; *titleCount = 1;
forceLogDebug_printf("MCP_TitleListByDevice() - placeholder"); cemuLog_logDebug(LogType::Force, "MCP_TitleListByDevice() - placeholder");
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
} }
@ -294,7 +294,7 @@ namespace coreinit
ppcDefineParamStructPtr(deviceList, MCPDevice_t, 2); ppcDefineParamStructPtr(deviceList, MCPDevice_t, 2);
ppcDefineParamU32(deviceListSize, 3); ppcDefineParamU32(deviceListSize, 3);
forceLogDebug_printf("MCP_DeviceList() - placeholder LR %08x", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "MCP_DeviceList()");
sint32 maxDeviceCount = deviceListSize / sizeof(MCPDevice_t); sint32 maxDeviceCount = deviceListSize / sizeof(MCPDevice_t);
@ -331,7 +331,7 @@ namespace coreinit
ppcDefineParamStructPtr(deviceList, MCPDevice_t, 2); ppcDefineParamStructPtr(deviceList, MCPDevice_t, 2);
ppcDefineParamU32(deviceListSize, 3); ppcDefineParamU32(deviceListSize, 3);
forceLogDebug_printf("MCP_FullDeviceList() - placeholder LR %08x", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "MCP_FullDeviceList()");
MCP_DeviceListEx(mcpHandle, deviceCount, deviceList, deviceListSize, true); MCP_DeviceListEx(mcpHandle, deviceCount, deviceList, deviceListSize, true);
@ -343,7 +343,7 @@ namespace coreinit
ppcDefineParamU32(mcpHandle, 0); ppcDefineParamU32(mcpHandle, 0);
ppcDefineParamU32BEPtr(unknownParam, 1); ppcDefineParamU32BEPtr(unknownParam, 1);
forceLogDebug_printf("MCP_UpdateCheckContext() - placeholder (might be wrong)"); cemuLog_logDebug(LogType::Force, "MCP_UpdateCheckContext() - placeholder (might be wrong)");
*unknownParam = 1; *unknownParam = 1;
@ -356,7 +356,7 @@ namespace coreinit
ppcDefineParamU32(mcpHandle, 0); ppcDefineParamU32(mcpHandle, 0);
ppcDefineParamMPTR(callbackMPTR, 1); ppcDefineParamMPTR(callbackMPTR, 1);
forceLogDebug_printf("MCP_TitleListUpdateGetNext() - placeholder/unimplemented"); cemuLog_logDebug(LogType::Force, "MCP_TitleListUpdateGetNext() - placeholder/unimplemented");
// this callback is to let the app know when the title list changed? // this callback is to let the app know when the title list changed?
@ -365,7 +365,7 @@ namespace coreinit
void export_MCP_GetOverlayAppInfo(PPCInterpreter_t* hCPU) void export_MCP_GetOverlayAppInfo(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("MCP_GetOverlayAppInfo(...) placeholder"); cemuLog_logDebug(LogType::Force, "MCP_GetOverlayAppInfo(...) placeholder");
ppcDefineParamU32(mcpHandle, 0); ppcDefineParamU32(mcpHandle, 0);
ppcDefineParamU32(appType, 1); ppcDefineParamU32(appType, 1);
ppcDefineParamU32(uknR5, 2); ppcDefineParamU32(uknR5, 2);
@ -554,7 +554,7 @@ void coreinitExport_UCReadSysConfig(PPCInterpreter_t* hCPU)
} }
else else
{ {
forceLogDebug_printf("Unsupported SCI value: %s Size %08x\n", ucParam->settingName, ucParam->ukn4_size); cemuLog_logDebug(LogType::Force, "Unsupported SCI value: {} Size {:08x}", ucParam->settingName, ucParam->ukn4_size);
} }
} }
osLib_returnFromFunction(hCPU, 0); // 0 -> success osLib_returnFromFunction(hCPU, 0); // 0 -> success

View File

@ -948,7 +948,7 @@ void export_MEMSetGroupIDForExpHeap(PPCInterpreter_t* hCPU)
void export_MEMGetGroupIDForExpHeap(PPCInterpreter_t* hCPU) void export_MEMGetGroupIDForExpHeap(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(heap, MEMHeapBase, 0); ppcDefineParamMEMPTR(heap, MEMHeapBase, 0);
forceLogDebug_printf("MEMGetGroupIDForExpHeap(0x%08x)", heap.GetMPTR()); cemuLog_logDebug(LogType::Force, "MEMGetGroupIDForExpHeap(0x{:08x})", heap.GetMPTR());
uint16 oldGroupId = MEMGetGroupIDForExpHeap(heap.GetPtr()); uint16 oldGroupId = MEMGetGroupIDForExpHeap(heap.GetPtr());
osLib_returnFromFunction(hCPU, oldGroupId); osLib_returnFromFunction(hCPU, oldGroupId);
} }

View File

@ -184,7 +184,7 @@ namespace coreinit
titleId == 0x0005000010135E00 // US titleId == 0x0005000010135E00 // US
) )
{ {
forceLogDebug_printf("Hack: Reduce available memory to simulate loaded RPLs"); cemuLog_logDebug(LogType::Force, "Hack: Reduce available memory to simulate loaded RPLs");
currentRPLAllocatorOffset += (48 * 1024 * 1024); // 48MB currentRPLAllocatorOffset += (48 * 1024 * 1024); // 48MB
} }
memAddr = currentRPLAllocatorOffset; memAddr = currentRPLAllocatorOffset;

View File

@ -96,7 +96,7 @@ namespace coreinit
{ {
ppcDefineParamU32(screenIndex, 0); ppcDefineParamU32(screenIndex, 0);
cemu_assert(screenIndex < 2); cemu_assert(screenIndex < 2);
forceLogDebug_printf("OSScreenFlipBuffersEx %d", screenIndex); cemuLog_logDebug(LogType::Force, "OSScreenFlipBuffersEx {}", screenIndex);
LatteGPUState.osScreen.screen[screenIndex].flipRequestCount++; LatteGPUState.osScreen.screen[screenIndex].flipRequestCount++;
_updateCurrentDrawScreen(screenIndex); _updateCurrentDrawScreen(screenIndex);
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);

View File

@ -19,7 +19,7 @@ namespace coreinit
ppcDefineParamU32(size, 0); ppcDefineParamU32(size, 0);
ppcDefineParamS32(alignment, 1); ppcDefineParamS32(alignment, 1);
MEMPTR<void> mem = OSAllocFromSystem(size, alignment); MEMPTR<void> mem = OSAllocFromSystem(size, alignment);
forceLogDebug_printf("OSAllocFromSystem(0x%x, %d) -> 0x%08x", size, alignment, mem.GetMPTR()); cemuLog_logDebug(LogType::Force, "OSAllocFromSystem(0x{:x}, {}) -> 0x{:08x}", size, alignment, mem.GetMPTR());
osLib_returnFromFunction(hCPU, mem.GetMPTR()); osLib_returnFromFunction(hCPU, mem.GetMPTR());
} }

View File

@ -346,7 +346,7 @@ namespace coreinit
if (thread->state != OSThread_t::THREAD_STATE::STATE_NONE && thread->state != OSThread_t::THREAD_STATE::STATE_MORIBUND) if (thread->state != OSThread_t::THREAD_STATE::STATE_NONE && thread->state != OSThread_t::THREAD_STATE::STATE_MORIBUND)
{ {
// unsure about this case // unsure about this case
forceLogDebug_printf("OSRunThread called on thread which cannot be ran"); cemuLog_logDebug(LogType::Force, "OSRunThread called on thread which cannot be ran");
__OSUnlockScheduler(); __OSUnlockScheduler();
return false; return false;
} }
@ -536,7 +536,7 @@ namespace coreinit
else if (thread->state != OSThread_t::THREAD_STATE::STATE_MORIBUND) else if (thread->state != OSThread_t::THREAD_STATE::STATE_MORIBUND)
{ {
// cannot join detached and active threads // cannot join detached and active threads
forceLogDebug_printf("Cannot join detached active thread"); cemuLog_logDebug(LogType::Force, "Cannot join detached active thread");
__OSUnlockScheduler(); __OSUnlockScheduler();
return false; return false;
} }

View File

@ -88,12 +88,12 @@ void dmaeExport_DMAESemaphore(PPCInterpreter_t* hCPU)
} }
else if (actionType == 0) // wait else if (actionType == 0) // wait
{ {
forceLogDebug_printf("DMAESemaphore: Unsupported wait operation"); cemuLog_logDebug(LogType::Force, "DMAESemaphore: Unsupported wait operation");
semaphore->fetch_sub(1); semaphore->fetch_sub(1);
} }
else else
{ {
forceLogDebug_printf("DMAESemaphore unknown action type %d", actionType); cemuLog_logDebug(LogType::Force, "DMAESemaphore unknown action type {}", actionType);
cemu_assert_debug(false); cemu_assert_debug(false);
} }

View File

@ -5,7 +5,7 @@ namespace drmapp
{ {
uint32 NupChkIsFinished(uint32 ukn) uint32 NupChkIsFinished(uint32 ukn)
{ {
forceLogDebug_printf("drmapp.NupChkIsFinished() - placeholder"); cemuLog_logDebug(LogType::Force, "drmapp.NupChkIsFinished() - placeholder");
return 1; return 1;
} }

View File

@ -171,21 +171,21 @@ namespace erreula
void export_IsDecideSelectButtonError(PPCInterpreter_t* hCPU) void export_IsDecideSelectButtonError(PPCInterpreter_t* hCPU)
{ {
if (g_errEula.buttonPressed) if (g_errEula.buttonPressed)
forceLogDebug_printf("IsDecideSelectButtonError: TRUE"); cemuLog_logDebug(LogType::Force, "IsDecideSelectButtonError: TRUE");
osLib_returnFromFunction(hCPU, g_errEula.buttonPressed); osLib_returnFromFunction(hCPU, g_errEula.buttonPressed);
} }
void export_IsDecideSelectLeftButtonError(PPCInterpreter_t* hCPU) void export_IsDecideSelectLeftButtonError(PPCInterpreter_t* hCPU)
{ {
if (g_errEula.buttonPressed) if (g_errEula.buttonPressed)
forceLogDebug_printf("IsDecideSelectLeftButtonError: TRUE"); cemuLog_logDebug(LogType::Force, "IsDecideSelectLeftButtonError: TRUE");
osLib_returnFromFunction(hCPU, g_errEula.buttonPressed); osLib_returnFromFunction(hCPU, g_errEula.buttonPressed);
} }
void export_IsDecideSelectRightButtonError(PPCInterpreter_t* hCPU) void export_IsDecideSelectRightButtonError(PPCInterpreter_t* hCPU)
{ {
if (g_errEula.rightButtonPressed) if (g_errEula.rightButtonPressed)
forceLogDebug_printf("IsDecideSelectRightButtonError: TRUE"); cemuLog_logDebug(LogType::Force, "IsDecideSelectRightButtonError: TRUE");
osLib_returnFromFunction(hCPU, g_errEula.rightButtonPressed); osLib_returnFromFunction(hCPU, g_errEula.rightButtonPressed);
} }
@ -205,7 +205,7 @@ namespace erreula
uint32 result = RESULTTYPE_NONE; uint32 result = RESULTTYPE_NONE;
if (g_errEula.buttonPressed || g_errEula.rightButtonPressed) if (g_errEula.buttonPressed || g_errEula.rightButtonPressed)
{ {
forceLogDebug_printf("GetResultType: FINISH"); cemuLog_logDebug(LogType::Force, "GetResultType: FINISH");
result = RESULTTYPE_FINISH; result = RESULTTYPE_FINISH;
} }

View File

@ -336,7 +336,7 @@ void _GX2SubmitToTCL()
// do nothing if called from non-main GX2 core // do nothing if called from non-main GX2 core
if (GX2::sGX2MainCoreIndex != coreIndex) if (GX2::sGX2MainCoreIndex != coreIndex)
{ {
forceLogDebug_printf("_GX2SubmitToTCL() called on non-main GX2 core"); cemuLog_logDebug(LogType::Force, "_GX2SubmitToTCL() called on non-main GX2 core");
return; return;
} }
if( gx2WriteGatherPipe.displayListStart[coreIndex] != MPTR_NULL ) if( gx2WriteGatherPipe.displayListStart[coreIndex] != MPTR_NULL )

View File

@ -22,13 +22,13 @@ void gx2Export_GX2InitColorBufferRegs(PPCInterpreter_t* hCPU)
uint32 pitchHeight = (surfaceInfo.height * surfaceInfo.pitch) >> 6; uint32 pitchHeight = (surfaceInfo.height * surfaceInfo.pitch) >> 6;
#ifdef CEMU_DEBUG_ASSERT #ifdef CEMU_DEBUG_ASSERT
if (colorBuffer->viewNumSlices != _swapEndianU32(1)) if (colorBuffer->viewNumSlices != _swapEndianU32(1))
forceLogDebug_printf("GX2InitColorBufferRegs(): With unsupported slice count %d", _swapEndianU32(colorBuffer->viewNumSlices)); cemuLog_logDebug(LogType::Force, "GX2InitColorBufferRegs(): With unsupported slice count {}", _swapEndianU32(colorBuffer->viewNumSlices));
if (surfaceInfo.pitch < 7) if (surfaceInfo.pitch < 7)
forceLogDebug_printf("GX2InitColorBufferRegs(): Pitch too small (pitch = %d)", surfaceInfo.pitch); cemuLog_logDebug(LogType::Force, "GX2InitColorBufferRegs(): Pitch too small (pitch = {})", surfaceInfo.pitch);
if ((surfaceInfo.pitch & 7) != 0) if ((surfaceInfo.pitch & 7) != 0)
forceLogDebug_printf("GX2InitColorBufferRegs(): Pitch has invalid alignment (pitch = %d)", surfaceInfo.pitch); cemuLog_logDebug(LogType::Force, "GX2InitColorBufferRegs(): Pitch has invalid alignment (pitch = {})", surfaceInfo.pitch);
if (pitchHeight == 0) if (pitchHeight == 0)
forceLogDebug_printf("GX2InitColorBufferRegs(): Invalid value (pitchHeight = %d)", pitchHeight); cemuLog_logDebug(LogType::Force, "GX2InitColorBufferRegs(): Invalid value (pitchHeight = {})", pitchHeight);
#endif #endif
uint32 cSize = ((surfaceInfo.pitch >> 3) - 1) & 0x3FF; uint32 cSize = ((surfaceInfo.pitch >> 3) - 1) & 0x3FF;
@ -220,7 +220,7 @@ void gx2Export_GX2SetDepthBuffer(PPCInterpreter_t* hCPU)
if( viewMip > 0 ) if( viewMip > 0 )
{ {
forceLogDebug_printf("GX2SetDepthBuffer: Unsupported non-zero mip (%d) Pointer: %08X Base: %08X", viewMip, regHTileDataBase, 0); cemuLog_logDebug(LogType::Force, "GX2SetDepthBuffer: Unsupported non-zero mip ({}) Pointer: {:08x} Base: {:08x}", viewMip, regHTileDataBase, 0);
} }
// setup depthbuffer info register // setup depthbuffer info register

View File

@ -208,7 +208,7 @@ void gx2Surface_GX2CopySurface(GX2Surface* srcSurface, uint32 srcMip, uint32 src
if( srcHwFormat != dstHwFormat ) if( srcHwFormat != dstHwFormat )
{ {
// mismatching format // mismatching format
forceLogDebug_printf("GX2CopySurface(): Format mismatch\n"); cemuLog_logDebug(LogType::Force, "GX2CopySurface(): Format mismatch");
return; return;
} }
@ -379,7 +379,7 @@ typedef struct
void gx2Export_GX2CopySurfaceEx(PPCInterpreter_t* hCPU) void gx2Export_GX2CopySurfaceEx(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("GX2CopySurfaceEx(0x%08x,%d,%d,0x%08x,%d,%d,%d,0x%08x,0x%08x)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6], hCPU->gpr[7], hCPU->gpr[8], hCPU->gpr[9], hCPU->gpr[10], memory_readU32(hCPU->gpr[1]+0x8)); cemuLog_logDebug(LogType::Force, "GX2CopySurfaceEx(0x{:08x},{},{},0x{:08x},{},{},{},0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6], hCPU->gpr[7], hCPU->gpr[8], hCPU->gpr[9], hCPU->gpr[10], memory_readU32(hCPU->gpr[1]+0x8));
GX2Surface* srcSurface = (GX2Surface*)memory_getPointerFromVirtualOffset(hCPU->gpr[3]); GX2Surface* srcSurface = (GX2Surface*)memory_getPointerFromVirtualOffset(hCPU->gpr[3]);
uint32 srcMip = hCPU->gpr[4]; uint32 srcMip = hCPU->gpr[4];
uint32 srcSlice = hCPU->gpr[5]; uint32 srcSlice = hCPU->gpr[5];
@ -394,7 +394,7 @@ void gx2Export_GX2CopySurfaceEx(PPCInterpreter_t* hCPU)
GX2Point_t* rectDst = (GX2Point_t*)memory_getPointerFromVirtualOffset(pointDstArrayMPTR); GX2Point_t* rectDst = (GX2Point_t*)memory_getPointerFromVirtualOffset(pointDstArrayMPTR);
for (sint32 i = 0; i < rectCount; i++) for (sint32 i = 0; i < rectCount; i++)
{ {
forceLogDebug_printf("rect left-top: %d/%d size: %d/%d", _swapEndianU32(rectSrc->left), _swapEndianU32(rectSrc->top), _swapEndianU32(rectSrc->right) - _swapEndianU32(rectSrc->left), _swapEndianU32(rectSrc->bottom) - _swapEndianU32(rectSrc->top)); cemuLog_logDebug(LogType::Force, "rect left-top: {}/{} size: {}/{}", _swapEndianU32(rectSrc->left), _swapEndianU32(rectSrc->top), _swapEndianU32(rectSrc->right) - _swapEndianU32(rectSrc->left), _swapEndianU32(rectSrc->bottom) - _swapEndianU32(rectSrc->top));
} }
#ifdef CEMU_DEBUG_ASSERT #ifdef CEMU_DEBUG_ASSERT

View File

@ -370,8 +370,8 @@ void GX2TilingAperature_RetileTexture(ActiveTilingAperature* tilingAperture, boo
} }
//double benchmarkTime = benchmarkTimer_stop(timerTilingStart); //double benchmarkTime = benchmarkTimer_stop(timerTilingStart);
//forceLogDebug_printf("TilingAperture res %04dx%04d fmt %04x tm %02x mip %d isWrite %d", (uint32)tilingAperture->surface.width, (uint32)tilingAperture->surface.height, (uint32)tilingAperture->surface.format, (uint32)tilingAperture->surface.tileMode, tilingAperture->mipLevel, doWrite?1:0); //cemuLog_logDebug(LogType::Force, "TilingAperture res {:04}x{:04} fmt {:04x} tm {:02x} mip {} isWrite {}", (uint32)tilingAperture->surface.width, (uint32)tilingAperture->surface.height, (uint32)tilingAperture->surface.format, (uint32)tilingAperture->surface.tileMode, tilingAperture->mipLevel, doWrite?1:0);
//forceLogDebug_printf("Tiling took %.4lfms", benchmarkTime); //cemuLog_logDebug(LogType::Force, "Tiling took {:.4}ms", benchmarkTime);
} }
void gx2Export_GX2AllocateTilingApertureEx(PPCInterpreter_t* hCPU) void gx2Export_GX2AllocateTilingApertureEx(PPCInterpreter_t* hCPU)

View File

@ -1105,7 +1105,7 @@ namespace H264
// end of sequence // end of sequence
break; break;
default: default:
forceLogDebug_printf("Unsupported NAL unit type %d", nal_unit_type); cemuLog_logDebug(LogType::Force, "Unsupported NAL unit type {}", nal_unit_type);
cemu_assert_unimplemented(); cemu_assert_unimplemented();
// todo // todo
break; break;

View File

@ -395,7 +395,7 @@ void parseNAL_ref_pic_list_modification(const h264State_seq_parameter_set_t& sps
} }
if (sliceHeader->pic_list_modification1Count > 0) if (sliceHeader->pic_list_modification1Count > 0)
{ {
forceLogDebug_printf("sliceHeader->pic_list_modification1Count non-zero is not supported"); cemuLog_logDebug(LogType::Force, "sliceHeader->pic_list_modification1Count non-zero is not supported");
cemu_assert_unimplemented(); cemu_assert_unimplemented();
} }
} }
@ -855,7 +855,7 @@ void h264Parse(h264ParserState_t* h264ParserState, h264ParserOutput_t* output, u
// seen in Cocoto Magic Circus 2 intro video // seen in Cocoto Magic Circus 2 intro video
break; break;
default: default:
forceLogDebug_printf("Unsupported NAL unit type %d", nal_unit_type); cemuLog_logDebug(LogType::Force, "Unsupported NAL unit type {}", nal_unit_type);
cemu_assert_debug(false); cemu_assert_debug(false);
// todo // todo
break; break;
@ -945,7 +945,7 @@ sint32 h264GetUnitLength(h264ParserState_t* h264ParserState, uint8* data, uint32
// end of sequence // end of sequence
break; break;
default: default:
forceLogDebug_printf("Unsupported NAL unit type %d", nal_unit_type); cemuLog_logDebug(LogType::Force, "Unsupported NAL unit type {}", nal_unit_type);
assert_dbg(); // todo - NAL 10 is used in DKC TF assert_dbg(); // todo - NAL 10 is used in DKC TF
// todo // todo
break; break;

View File

@ -228,7 +228,7 @@ uint32 SendOrderToWorker(CURL_t* curl, QueueOrder order, uint32 arg1 = 0)
OSThread_t* currentThread = coreinitThread_getCurrentThreadDepr(ppcInterpreterCurrentInstance); OSThread_t* currentThread = coreinitThread_getCurrentThreadDepr(ppcInterpreterCurrentInstance);
curl->curlThread = currentThread; curl->curlThread = currentThread;
// forceLogDebug_printf("CURRENTTHREAD: 0x%p -> %d",currentThread, order) // cemuLog_logDebug(LogType::Force, "CURRENTTHREAD: 0x{} -> {}",currentThread, order)
PPCConcurrentQueue<QueueMsg_t> callerQueue; PPCConcurrentQueue<QueueMsg_t> callerQueue;
ConcurrentQueue<QueueMsg_t> threadQueue; ConcurrentQueue<QueueMsg_t> threadQueue;
@ -270,9 +270,9 @@ uint32 SendOrderToWorker(CURL_t* curl, QueueOrder order, uint32 arg1 = 0)
QueueMsg_t sendMsg = {}; QueueMsg_t sendMsg = {};
sendMsg.order = QueueOrder_CBDone; sendMsg.order = QueueOrder_CBDone;
forceLogDebug_printf("QueueOrder_ReadCB size: %d nitems: %d", msg.read_cb.size, msg.read_cb.nitems); cemuLog_logDebug(LogType::Force, "QueueOrder_ReadCB size: {} nitems: {}", msg.read_cb.size, msg.read_cb.nitems);
sendMsg.result = PPCCoreCallback(curl->fread_func_set.GetMPTR(), tmp.GetMPTR(), msg.read_cb.size, msg.read_cb.nitems, curl->in_set.GetMPTR()); sendMsg.result = PPCCoreCallback(curl->fread_func_set.GetMPTR(), tmp.GetMPTR(), msg.read_cb.size, msg.read_cb.nitems, curl->in_set.GetMPTR());
forceLogDebug_printf("readcb size: %d", (sint32)sendMsg.result); cemuLog_logDebug(LogType::Force, "readcb size: {}", (sint32)sendMsg.result);
if (sendMsg.result > 0) if (sendMsg.result > 0)
memcpy(msg.read_cb.buffer, tmp.GetPointer(), sendMsg.result); memcpy(msg.read_cb.buffer, tmp.GetPointer(), sendMsg.result);
@ -362,7 +362,7 @@ CURLcode curl_global_init(uint32 flags)
void export_curl_multi_init(PPCInterpreter_t* hCPU) void export_curl_multi_init(PPCInterpreter_t* hCPU)
{ {
CURLMPtr result{ PPCCoreCallback(g_nlibcurl.calloc, 1, ppcsizeof<CURLM_t>()) }; CURLMPtr result{ PPCCoreCallback(g_nlibcurl.calloc, 1, ppcsizeof<CURLM_t>()) };
forceLogDebug_printf("curl_multi_init() -> 0x%08x", result.GetMPTR()); cemuLog_logDebug(LogType::Force, "curl_multi_init() -> 0x{:08x}", result.GetMPTR());
if (result) if (result)
{ {
memset(result.GetPtr(), 0, sizeof(CURLM_t)); memset(result.GetPtr(), 0, sizeof(CURLM_t));
@ -385,7 +385,7 @@ void export_curl_multi_add_handle(PPCInterpreter_t* hCPU)
if (result == CURLM_OK) if (result == CURLM_OK)
curlm->curl.push_back(curl.GetPtr()); curlm->curl.push_back(curl.GetPtr());
forceLogDebug_printf("curl_multi_add_handle(0x%08x, 0x%08x) -> 0x%x", curlm.GetMPTR(), curl.GetMPTR(), result); cemuLog_logDebug(LogType::Force, "curl_multi_add_handle(0x{:08x}, 0x{:08x}) -> 0x{:x}", curlm.GetMPTR(), curl.GetMPTR(), result);
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -401,7 +401,7 @@ void export_curl_multi_remove_handle(PPCInterpreter_t* hCPU)
curlm->curl.erase(std::remove(curlm->curl.begin(), curlm->curl.end(), (void*)curl.GetPtr()), curlm->curl.end()); curlm->curl.erase(std::remove(curlm->curl.begin(), curlm->curl.end(), (void*)curl.GetPtr()), curlm->curl.end());
} }
forceLogDebug_printf("curl_multi_remove_handle(0x%08x, 0x%08x) -> 0x%x", curlm.GetMPTR(), curl.GetMPTR(), result); cemuLog_logDebug(LogType::Force, "curl_multi_remove_handle(0x{:08x}, 0x{:08x}) -> 0x{:x}", curlm.GetMPTR(), curl.GetMPTR(), result);
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -415,7 +415,7 @@ void export_curl_multi_timeout(PPCInterpreter_t* hCPU)
CURLMcode result = ::curl_multi_timeout(curlm->curlm, &timeoutLE); CURLMcode result = ::curl_multi_timeout(curlm->curlm, &timeoutLE);
*timeoParam = (uint32)timeoutLE; *timeoParam = (uint32)timeoutLE;
forceLogDebug_printf("curl_multi_timeout(0x%08x, 0x%08x [%d]) -> 0x%x", curlm.GetMPTR(), timeoParam.GetMPTR(), timeoutLE, result); cemuLog_logDebug(LogType::Force, "curl_multi_timeout(0x{:08x}, 0x{:08x} [{}]) -> 0x{:x}", curlm.GetMPTR(), timeoParam.GetMPTR(), timeoutLE, result);
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -423,7 +423,7 @@ void export_curl_multi_cleanup(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(curlm, CURLM_t, 0); ppcDefineParamMEMPTR(curlm, CURLM_t, 0);
CURLMcode result = ::curl_multi_cleanup(curlm->curlm); CURLMcode result = ::curl_multi_cleanup(curlm->curlm);
forceLogDebug_printf("curl_multi_cleanup(0x%08x) -> 0x%x", curlm.GetMPTR(), result); cemuLog_logDebug(LogType::Force, "curl_multi_cleanup(0x{:08x}) -> 0x{:x}", curlm.GetMPTR(), result);
curlm->curl.clear(); curlm->curl.clear();
PPCCoreCallback(g_nlibcurl.free.GetMPTR(), curlm.GetMPTR()); PPCCoreCallback(g_nlibcurl.free.GetMPTR(), curlm.GetMPTR());
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
@ -434,14 +434,14 @@ void export_curl_multi_perform(PPCInterpreter_t* hCPU)
ppcDefineParamMEMPTR(curlm, CURLM_t, 0); ppcDefineParamMEMPTR(curlm, CURLM_t, 0);
ppcDefineParamMEMPTR(runningHandles, uint32be, 1); ppcDefineParamMEMPTR(runningHandles, uint32be, 1);
//forceLogDebug_printf("curl_multi_perform(0x%08x, 0x%08x)", curlm.GetMPTR(), runningHandles.GetMPTR()); //cemuLog_logDebug(LogType::Force, "curl_multi_perform(0x{:08x}, 0x{:08x})", curlm.GetMPTR(), runningHandles.GetMPTR());
//g_callerQueue = curlm->callerQueue; //g_callerQueue = curlm->callerQueue;
//g_threadQueue = curlm->threadQueue; //g_threadQueue = curlm->threadQueue;
int tempRunningHandles = 0; int tempRunningHandles = 0;
CURLMcode result = curl_multi_perform(curlm->curlm, &tempRunningHandles); CURLMcode result = curl_multi_perform(curlm->curlm, &tempRunningHandles);
*(runningHandles.GetPtr()) = tempRunningHandles; *(runningHandles.GetPtr()) = tempRunningHandles;
forceLogDebug_printf("curl_multi_perform(0x%08x, 0x%08x) -> 0x%x (running handles: %d) LR: 0x%08x", curlm.GetMPTR(), runningHandles.GetMPTR(), result, tempRunningHandles, hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "curl_multi_perform(0x{:08x}, 0x{:08x}) -> 0x{:x} (running handles: {})", curlm.GetMPTR(), runningHandles.GetMPTR(), result, tempRunningHandles);
//const uint32 result = SendOrderToWorker(curlm.GetPtr(), QueueOrder_MultiPerform); //const uint32 result = SendOrderToWorker(curlm.GetPtr(), QueueOrder_MultiPerform);
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
@ -531,10 +531,10 @@ void export_curl_multi_setopt(PPCInterpreter_t* hCPU)
result = ::curl_multi_setopt(curlm->curlm, (CURLMoption)option, parameter.GetMPTR()); result = ::curl_multi_setopt(curlm->curlm, (CURLMoption)option, parameter.GetMPTR());
break; break;
default: default:
forceLogDebug_printf("curl_multi_setopt(0x%08x, %d, 0x%08x) unsupported option", curlm.GetMPTR(), option, parameter.GetMPTR()); cemuLog_logDebug(LogType::Force, "curl_multi_setopt(0x{:08x}, {}, 0x{:08x}) unsupported option", curlm.GetMPTR(), option, parameter.GetMPTR());
} }
forceLogDebug_printf("curl_multi_setopt(0x%08x, %d, 0x%08x) -> 0x%x", curlm.GetMPTR(), option, parameter.GetMPTR(), result); cemuLog_logDebug(LogType::Force, "curl_multi_setopt(0x{:08x}, {}, 0x{:08x}) -> 0x{:x}", curlm.GetMPTR(), option, parameter.GetMPTR(), result);
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -546,7 +546,7 @@ void export_curl_multi_info_read(PPCInterpreter_t* hCPU)
CURLMsg* msg = ::curl_multi_info_read(curlm->curlm, msgsInQueue.GetPtr()); CURLMsg* msg = ::curl_multi_info_read(curlm->curlm, msgsInQueue.GetPtr());
forceLogDebug_printf("curl_multi_info_read - todo"); cemuLog_logDebug(LogType::Force, "curl_multi_info_read - todo");
if (msg) if (msg)
{ {
MEMPTR<CURLMsg_t> result{ PPCCoreCallback(g_nlibcurl.malloc.GetMPTR(), ppcsizeof<CURLMsg_t>()) }; MEMPTR<CURLMsg_t> result{ PPCCoreCallback(g_nlibcurl.malloc.GetMPTR(), ppcsizeof<CURLMsg_t>()) };
@ -568,7 +568,7 @@ void export_curl_multi_info_read(PPCInterpreter_t* hCPU)
else else
result->curl = nullptr; result->curl = nullptr;
forceLogDebug_printf("curl_multi_info_read(0x%08x, 0x%08x [%d]) -> 0x%08x (0x%x, 0x%08x, 0x%x)", curlm.GetMPTR(), msgsInQueue.GetMPTR(), *msgsInQueue.GetPtr(), cemuLog_logDebug(LogType::Force, "curl_multi_info_read(0x{:08x}, 0x{:08x} [{}]) -> 0x{:08x} (0x{:x}, 0x{:08x}, 0x{:x})", curlm.GetMPTR(), msgsInQueue.GetMPTR(), *msgsInQueue.GetPtr(),
result.GetMPTR(), msg->msg, result->curl.GetMPTR(), msg->data.result); result.GetMPTR(), msg->msg, result->curl.GetMPTR(), msg->data.result);
osLib_returnFromFunction(hCPU, result.GetMPTR()); osLib_returnFromFunction(hCPU, result.GetMPTR());
} }
@ -634,14 +634,14 @@ void export_curl_share_setopt(PPCInterpreter_t* hCPU)
default: default:
cemu_assert_unimplemented(); cemu_assert_unimplemented();
} }
forceLogDebug_printf("curl_share_setopt(0x%08x, 0x%x, 0x%08x) -> 0x%x", share.GetMPTR(), option, parameter.GetMPTR(), result); cemuLog_logDebug(LogType::Force, "curl_share_setopt(0x{:08x}, 0x{:x}, 0x{:08x}) -> 0x{:x}", share.GetMPTR(), option, parameter.GetMPTR(), result);
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
void export_curl_share_init(PPCInterpreter_t* hCPU) void export_curl_share_init(PPCInterpreter_t* hCPU)
{ {
CURLSHPtr result{ PPCCoreCallback(g_nlibcurl.calloc.GetMPTR(), (uint32)1, ppcsizeof<CURLSH_t>()) }; CURLSHPtr result{ PPCCoreCallback(g_nlibcurl.calloc.GetMPTR(), (uint32)1, ppcsizeof<CURLSH_t>()) };
forceLogDebug_printf("curl_share_init() -> 0x%08x", result.GetMPTR()); cemuLog_logDebug(LogType::Force, "curl_share_init() -> 0x{:08x}", result.GetMPTR());
if (result) if (result)
{ {
memset(result.GetPtr(), 0, sizeof(CURLSH_t)); memset(result.GetPtr(), 0, sizeof(CURLSH_t));
@ -656,7 +656,7 @@ void export_curl_share_cleanup(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(curlsh, CURLSH_t, 0); ppcDefineParamMEMPTR(curlsh, CURLSH_t, 0);
uint32 result = ::curl_share_cleanup(curlsh->curlsh); uint32 result = ::curl_share_cleanup(curlsh->curlsh);
forceLogDebug_printf("curl_share_cleanup(0x%08x) -> 0x%x", curlsh.GetMPTR(), result); cemuLog_logDebug(LogType::Force, "curl_share_cleanup(0x{:08x}) -> 0x{:x}", curlsh.GetMPTR(), result);
PPCCoreCallback(g_nlibcurl.free.GetMPTR(), curlsh.GetMPTR()); PPCCoreCallback(g_nlibcurl.free.GetMPTR(), curlsh.GetMPTR());
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
} }
@ -701,7 +701,7 @@ void export_curl_easy_init(PPCInterpreter_t* hCPU)
// Curl_open // Curl_open
CURLPtr result{ PPCCoreCallback(g_nlibcurl.calloc.GetMPTR(), (uint32)1, ppcsizeof<CURL_t>()) }; CURLPtr result{ PPCCoreCallback(g_nlibcurl.calloc.GetMPTR(), (uint32)1, ppcsizeof<CURL_t>()) };
forceLogDebug_printf("curl_easy_init() -> 0x%08x", result.GetMPTR()); cemuLog_logDebug(LogType::Force, "curl_easy_init() -> 0x{:08x}", result.GetMPTR());
if (result) if (result)
{ {
memset(result.GetPtr(), 0, sizeof(CURL_t)); memset(result.GetPtr(), 0, sizeof(CURL_t));
@ -732,18 +732,18 @@ void export_curl_easy_pause(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(curl, CURL_t, 0); ppcDefineParamMEMPTR(curl, CURL_t, 0);
ppcDefineParamS32(bitmask, 1); ppcDefineParamS32(bitmask, 1);
forceLogDebug_printf("curl_easy_pause(0x%08x, 0x%x)", curl.GetMPTR(), bitmask); cemuLog_logDebug(LogType::Force, "curl_easy_pause(0x{:08x}, 0x{:x})", curl.GetMPTR(), bitmask);
//const CURLcode result = ::curl_easy_pause(curl->curl, bitmask); //const CURLcode result = ::curl_easy_pause(curl->curl, bitmask);
const uint32 result = SendOrderToWorker(curl.GetPtr(), QueueOrder_Pause, bitmask); const uint32 result = SendOrderToWorker(curl.GetPtr(), QueueOrder_Pause, bitmask);
forceLogDebug_printf("curl_easy_pause(0x%08x, 0x%x) DONE", curl.GetMPTR(), bitmask); cemuLog_logDebug(LogType::Force, "curl_easy_pause(0x{:08x}, 0x{:x}) DONE", curl.GetMPTR(), bitmask);
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
void export_curl_easy_cleanup(PPCInterpreter_t* hCPU) void export_curl_easy_cleanup(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(curl, CURL_t, 0); ppcDefineParamMEMPTR(curl, CURL_t, 0);
forceLogDebug_printf("curl_easy_cleanup(0x%08x)", curl.GetMPTR()); cemuLog_logDebug(LogType::Force, "curl_easy_cleanup(0x{:08x})", curl.GetMPTR());
curlDebug_cleanup(curl.GetPtr()); curlDebug_cleanup(curl.GetPtr());
@ -761,7 +761,7 @@ void export_curl_easy_cleanup(PPCInterpreter_t* hCPU)
void export_curl_easy_reset(PPCInterpreter_t* hCPU) void export_curl_easy_reset(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(curl, CURL_t, 0); ppcDefineParamMEMPTR(curl, CURL_t, 0);
forceLogDebug_printf("curl_easy_reset(0x%08x)", curl.GetMPTR()); cemuLog_logDebug(LogType::Force, "curl_easy_reset(0x{:08x})", curl.GetMPTR());
// curl_apply_default_proxy_config(); // curl_apply_default_proxy_config();
::curl_easy_reset(curl->curl); ::curl_easy_reset(curl->curl);
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
@ -772,7 +772,7 @@ int ssl_verify_callback(int preverify_ok, X509_STORE_CTX* ctx)
if (preverify_ok) return preverify_ok; if (preverify_ok) return preverify_ok;
int err = X509_STORE_CTX_get_error(ctx); int err = X509_STORE_CTX_get_error(ctx);
if(err != 0) if(err != 0)
forceLogDebug_printf("ssl_verify_callback: Error %d but allow certificate anyway", err); cemuLog_logDebug(LogType::Force, "ssl_verify_callback: Error {} but allow certificate anyway", err);
X509_STORE_CTX_set_error(ctx, 0); X509_STORE_CTX_set_error(ctx, 0);
return 1; return 1;
} }
@ -857,7 +857,7 @@ size_t header_callback(char* buffer, size_t size, size_t nitems, void* userdata)
cemu_assert_debug((size*nitems) < 500); cemu_assert_debug((size*nitems) < 500);
memcpy(debug, buffer, size*nitems); memcpy(debug, buffer, size*nitems);
debug[size*nitems] = 0; debug[size*nitems] = 0;
forceLogDebug_printf("header_callback(0x%p, 0x%x, 0x%x, 0x%08x) [%s]", (void*)buffer, size, nitems, curl->writeheader.GetMPTR(), debug); cemuLog_logDebug(LogType::Force, "header_callback(0x{}, 0x{:x}, 0x{:x}, 0x{:08x}) [{}]", (void*)buffer, size, nitems, curl->writeheader.GetMPTR(), debug);
#endif #endif
return msg.result; return msg.result;
} }
@ -870,7 +870,7 @@ size_t write_callback(char* ptr, size_t size, size_t nmemb, void* userdata)
//StackAllocator<char> tmp(size * nmemb); //StackAllocator<char> tmp(size * nmemb);
//memcpy(tmp.GetPointer(), ptr, size * nmemb); //memcpy(tmp.GetPointer(), ptr, size * nmemb);
forceLogDebug_printf("write_callback(0x%p 0x%x, 0x%x, 0x%08x)", (void*)ptr, size, nmemb, curl->out.GetMPTR()); cemuLog_logDebug(LogType::Force, "write_callback(0x{} 0x{:x}, 0x{:x}, 0x{:08x})", (void*)ptr, size, nmemb, curl->out.GetMPTR());
if (g_callerQueue == nullptr || g_threadQueue == nullptr) if (g_callerQueue == nullptr || g_threadQueue == nullptr)
{ {
@ -898,7 +898,7 @@ int sockopt_callback(void* clientp, curl_socket_t curlfd, curlsocktype purpose)
{ {
CURL_t* curl = (CURL_t*)clientp; CURL_t* curl = (CURL_t*)clientp;
forceLogDebug_printf("sockopt_callback called!"); cemuLog_logDebug(LogType::Force, "sockopt_callback called!");
sint32 r = 0; sint32 r = 0;
@ -909,7 +909,7 @@ size_t read_callback(char* buffer, size_t size, size_t nitems, void* instream)
{ {
CURL_t* curl = (CURL_t*)instream; CURL_t* curl = (CURL_t*)instream;
forceLogDebug_printf("read_callback(0x%p, 0x%x, 0x%x, 0x%08x) [func: 0x%x]", (void*)buffer, size, nitems, curl->in_set.GetMPTR(), curl->fread_func_set.GetMPTR()); cemuLog_logDebug(LogType::Force, "read_callback(0x{}, 0x{:x}, 0x{:x}, 0x{:08x}) [func: 0x{:x}]", (void*)buffer, size, nitems, curl->in_set.GetMPTR(), curl->fread_func_set.GetMPTR());
if (g_callerQueue == nullptr || g_threadQueue == nullptr) if (g_callerQueue == nullptr || g_threadQueue == nullptr)
{ {
@ -925,14 +925,14 @@ size_t read_callback(char* buffer, size_t size, size_t nitems, void* instream)
msg.read_cb.size = (uint32)size; msg.read_cb.size = (uint32)size;
msg.read_cb.nitems = (uint32)std::min<uint32>(nitems, 0x4000); // limit this to 16KB which is the limit in nlibcurl.rpl (Super Mario Maker crashes on level upload if the size is too big) msg.read_cb.nitems = (uint32)std::min<uint32>(nitems, 0x4000); // limit this to 16KB which is the limit in nlibcurl.rpl (Super Mario Maker crashes on level upload if the size is too big)
forceLogDebug_printf("read_callback(0x%p, 0x%x, 0x%x, 0x%08x) [func: 0x%x] PUSH", (void*)buffer, size, nitems, curl->in_set.GetMPTR(), curl->fread_func_set.GetMPTR()); cemuLog_logDebug(LogType::Force, "read_callback(0x{}, 0x{:x}, 0x{:x}, 0x{:08x}) [func: 0x{:x}] PUSH", (void*)buffer, size, nitems, curl->in_set.GetMPTR(), curl->fread_func_set.GetMPTR());
g_callerQueue->push(msg, curl->curlThread); g_callerQueue->push(msg, curl->curlThread);
msg = g_threadQueue->pop(); msg = g_threadQueue->pop();
if (msg.order != QueueOrder_CBDone) if (msg.order != QueueOrder_CBDone)
cemu_assert_suspicious(); cemu_assert_suspicious();
forceLogDebug_printf("read_callback(0x%p, 0x%x, 0x%x, 0x%08x) DONE Result: %d", (void*)buffer, size, nitems, curl->in_set.GetMPTR(), msg.result); cemuLog_logDebug(LogType::Force, "read_callback(0x{}, 0x{:x}, 0x{:x}, 0x{:08x}) DONE Result: {}", (void*)buffer, size, nitems, curl->in_set.GetMPTR(), msg.result);
return msg.result; return msg.result;
} }
@ -958,7 +958,7 @@ int progress_callback(void* clientp, double dltotal, double dlnow, double ultota
if (msg.order != QueueOrder_CBDone) if (msg.order != QueueOrder_CBDone)
cemu_assert_suspicious(); cemu_assert_suspicious();
forceLogDebug_printf("progress_callback(%.02lf, %.02lf, %.02lf, %.02lf) -> %d", dltotal, dlnow, ultotal, ulnow, msg.result); cemuLog_logDebug(LogType::Force, "progress_callback({:.02}, {:.02}, {:.02}, {:.02}) -> {}", dltotal, dlnow, ultotal, ulnow, msg.result);
return msg.result; return msg.result;
} }
@ -993,7 +993,7 @@ void export_curl_easy_setopt(PPCInterpreter_t* hCPU)
case CURLOPT_URL: case CURLOPT_URL:
{ {
curlDebug_logEasySetOptStr(curl.GetPtr(), "CURLOPT_URL", (const char*)parameter.GetPtr()); curlDebug_logEasySetOptStr(curl.GetPtr(), "CURLOPT_URL", (const char*)parameter.GetPtr());
forceLogDebug_printf("curl_easy_setopt(%d) [%s]", option, parameter.GetPtr()); cemuLog_logDebug(LogType::Force, "curl_easy_setopt({}) [{}]", option, parameter.GetPtr());
result = ::curl_easy_setopt(curlObj, (CURLoption)option, parameter.GetPtr()); result = ::curl_easy_setopt(curlObj, (CURLoption)option, parameter.GetPtr());
break; break;
} }
@ -1001,7 +1001,7 @@ void export_curl_easy_setopt(PPCInterpreter_t* hCPU)
case CURLOPT_PROXY: case CURLOPT_PROXY:
case CURLOPT_USERAGENT: case CURLOPT_USERAGENT:
{ {
forceLogDebug_printf("curl_easy_setopt(%d) [%s]", option, parameter.GetPtr()); cemuLog_logDebug(LogType::Force, "curl_easy_setopt({}) [{}]", option, parameter.GetPtr());
result = ::curl_easy_setopt(curlObj, (CURLoption)option, parameter.GetPtr()); result = ::curl_easy_setopt(curlObj, (CURLoption)option, parameter.GetPtr());
break; break;
} }
@ -1009,7 +1009,7 @@ void export_curl_easy_setopt(PPCInterpreter_t* hCPU)
case CURLOPT_POSTFIELDS: case CURLOPT_POSTFIELDS:
{ {
curlDebug_logEasySetOptStr(curl.GetPtr(), "CURLOPT_POSTFIELDS", (const char*)parameter.GetPtr()); curlDebug_logEasySetOptStr(curl.GetPtr(), "CURLOPT_POSTFIELDS", (const char*)parameter.GetPtr());
forceLogDebug_printf("curl_easy_setopt(%d) [%s]", option, parameter.GetPtr()); cemuLog_logDebug(LogType::Force, "curl_easy_setopt({}) [{}]", option, parameter.GetPtr());
result = ::curl_easy_setopt(curlObj, (CURLoption)option, parameter.GetPtr()); result = ::curl_easy_setopt(curlObj, (CURLoption)option, parameter.GetPtr());
break; break;
} }
@ -1104,7 +1104,7 @@ void export_curl_easy_setopt(PPCInterpreter_t* hCPU)
bool isFirst = true; bool isFirst = true;
for (curl_slist_t* ppcList = (curl_slist_t*)parameter.GetPtr(); ppcList; ppcList = ppcList->next.GetPtr()) for (curl_slist_t* ppcList = (curl_slist_t*)parameter.GetPtr(); ppcList; ppcList = ppcList->next.GetPtr())
{ {
forceLogDebug_printf("curl_slist_append: %s", ppcList->data.GetPtr()); cemuLog_logDebug(LogType::Force, "curl_slist_append: {}", ppcList->data.GetPtr());
curlDebug_logEasySetOptStr(curl.GetPtr(), isFirst?"CURLOPT_HTTPHEADER" : "CURLOPT_HTTPHEADER(continue)", (const char*)ppcList->data.GetPtr()); curlDebug_logEasySetOptStr(curl.GetPtr(), isFirst?"CURLOPT_HTTPHEADER" : "CURLOPT_HTTPHEADER(continue)", (const char*)ppcList->data.GetPtr());
list = ::curl_slist_append(list, ppcList->data.GetPtr()); list = ::curl_slist_append(list, ppcList->data.GetPtr());
isFirst = false; isFirst = false;
@ -1154,10 +1154,10 @@ void export_curl_easy_setopt(PPCInterpreter_t* hCPU)
break; break;
} }
default: default:
forceLogDebug_printf("curl_easy_setopt(0x%08x, %d, 0x%08x) unsupported option", curl.GetMPTR(), option, parameter.GetMPTR()); cemuLog_logDebug(LogType::Force, "curl_easy_setopt(0x{:08x}, {}, 0x{:08x}) unsupported option", curl.GetMPTR(), option, parameter.GetMPTR());
} }
forceLogDebug_printf("curl_easy_setopt(0x%08x, %d, 0x%08x) -> 0x%x", curl.GetMPTR(), option, parameter.GetMPTR(), result); cemuLog_logDebug(LogType::Force, "curl_easy_setopt(0x{:08x}, {}, 0x{:08x}) -> 0x{:x}", curl.GetMPTR(), option, parameter.GetMPTR(), result);
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -1167,9 +1167,9 @@ void export_curl_easy_perform(PPCInterpreter_t* hCPU)
ppcDefineParamMEMPTR(curl, CURL_t, 0); ppcDefineParamMEMPTR(curl, CURL_t, 0);
curlDebug_markActiveRequest(curl.GetPtr()); curlDebug_markActiveRequest(curl.GetPtr());
curlDebug_notifySubmitRequest(curl.GetPtr()); curlDebug_notifySubmitRequest(curl.GetPtr());
forceLogDebug_printf("curl_easy_perform(0x%08x)", curl.GetMPTR()); cemuLog_logDebug(LogType::Force, "curl_easy_perform(0x{:08x})", curl.GetMPTR());
const uint32 result = SendOrderToWorker(curl.GetPtr(), QueueOrder_Perform); const uint32 result = SendOrderToWorker(curl.GetPtr(), QueueOrder_Perform);
forceLogDebug_printf("curl_easy_perform(0x%08x) -> 0x%x DONE", curl.GetMPTR(), result); cemuLog_logDebug(LogType::Force, "curl_easy_perform(0x{:08x}) -> 0x{:x} DONE", curl.GetMPTR(), result);
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -1220,7 +1220,7 @@ void export_curl_easy_getinfo(PPCInterpreter_t* hCPU)
} }
case CURLINFO_CONTENT_TYPE: case CURLINFO_CONTENT_TYPE:
{ {
//forceLogDebug_printf("CURLINFO_CONTENT_TYPE not supported"); //cemuLog_logDebug(LogType::Force, "CURLINFO_CONTENT_TYPE not supported");
//*(uint32*)parameter.GetPtr() = MPTR_NULL; //*(uint32*)parameter.GetPtr() = MPTR_NULL;
char* contentType = nullptr; char* contentType = nullptr;
result = curl_easy_getinfo(curlObj, CURLINFO_REDIRECT_URL, &contentType); result = curl_easy_getinfo(curlObj, CURLINFO_REDIRECT_URL, &contentType);
@ -1241,7 +1241,7 @@ void export_curl_easy_getinfo(PPCInterpreter_t* hCPU)
result = curl_easy_getinfo(curlObj, (CURLINFO)info, (double*)parameter.GetPtr()); result = curl_easy_getinfo(curlObj, (CURLINFO)info, (double*)parameter.GetPtr());
} }
forceLogDebug_printf("curl_easy_getinfo(0x%08x, 0x%x, 0x%08x) -> 0x%x", curl.GetMPTR(), info, parameter.GetMPTR(), result); cemuLog_logDebug(LogType::Force, "curl_easy_getinfo(0x{:08x}, 0x{:x}, 0x{:08x}) -> 0x{:x}", curl.GetMPTR(), info, parameter.GetMPTR(), result);
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -1261,7 +1261,7 @@ void export_curl_easy_strerror(PPCInterpreter_t* hCPU)
const char* error = curl_easy_strerror((CURLcode)code); const char* error = curl_easy_strerror((CURLcode)code);
if (error) if (error)
{ {
forceLogDebug_printf("curl_easy_strerror: %s", error); cemuLog_logDebug(LogType::Force, "curl_easy_strerror: {}", error);
int len = (int)strlen(error) + 1; int len = (int)strlen(error) + 1;
result = coreinit_allocFromSysArea(len, 4); result = coreinit_allocFromSysArea(len, 4);
memcpy(result.GetPtr(), error, len); memcpy(result.GetPtr(), error, len);
@ -1278,7 +1278,7 @@ void export_curl_slist_append(PPCInterpreter_t* hCPU)
MEMPTR<char> dupdata{ PPCCoreCallback(g_nlibcurl.strdup.GetMPTR(), data.GetMPTR()) }; MEMPTR<char> dupdata{ PPCCoreCallback(g_nlibcurl.strdup.GetMPTR(), data.GetMPTR()) };
if (!dupdata) if (!dupdata)
{ {
forceLogDebug_printf("curl_slist_append(0x%08x, 0x%08x [%s]) -> 0x00000000", list.GetMPTR(), data.GetMPTR(), data.GetPtr()); cemuLog_logDebug(LogType::Force, "curl_slist_append(0x{:08x}, 0x{:08x} [{}]) -> 0x00000000", list.GetMPTR(), data.GetMPTR(), data.GetPtr());
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
return; return;
} }
@ -1304,7 +1304,7 @@ void export_curl_slist_append(PPCInterpreter_t* hCPU)
else else
PPCCoreCallback(g_nlibcurl.free.GetMPTR(), dupdata.GetMPTR()); PPCCoreCallback(g_nlibcurl.free.GetMPTR(), dupdata.GetMPTR());
forceLogDebug_printf("curl_slist_append(0x%08x, 0x%08x [%s]) -> 0x%08x", list.GetMPTR(), data.GetMPTR(), data.GetPtr(), result.GetMPTR()); cemuLog_logDebug(LogType::Force, "curl_slist_append(0x{:08x}, 0x{:08x} [{}]) -> 0x{:08x}", list.GetMPTR(), data.GetMPTR(), data.GetPtr(), result.GetMPTR());
if(list) if(list)
osLib_returnFromFunction(hCPU, list.GetMPTR()); osLib_returnFromFunction(hCPU, list.GetMPTR());
else else
@ -1315,7 +1315,7 @@ void export_curl_slist_free_all(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(list, curl_slist_t, 0); ppcDefineParamMEMPTR(list, curl_slist_t, 0);
forceLogDebug_printf("export_curl_slist_free_all: TODO"); cemuLog_logDebug(LogType::Force, "export_curl_slist_free_all: TODO");
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
} }
@ -1349,7 +1349,7 @@ void export_curl_global_init_mem(PPCInterpreter_t* hCPU)
} }
} }
forceLogDebug_printf("curl_global_init_mem(0x%x, 0x%08x, 0x%08x, 0x%08x, 0x%08x, 0x%08x) -> 0x%08x", flags, m.GetMPTR(), f.GetMPTR(), r.GetMPTR(), s.GetMPTR(), c.GetMPTR(), result); cemuLog_logDebug(LogType::Force, "curl_global_init_mem(0x{:x}, 0x{:08x}, 0x{:08x}, 0x{:08x}, 0x{:08x}, 0x{:08x}) -> 0x{:08x}", flags, m.GetMPTR(), f.GetMPTR(), r.GetMPTR(), s.GetMPTR(), c.GetMPTR(), result);
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }

View File

@ -5,7 +5,7 @@ namespace nlibnss
{ {
int NSSExportDeviceCertChain(uint8* uknPtr1, uint32be* uknLength1, uint8* uknPtr2, uint32be* uknLength2, uint32 uknR7, uint32 uknR8) int NSSExportDeviceCertChain(uint8* uknPtr1, uint32be* uknLength1, uint8* uknPtr2, uint32be* uknLength2, uint32 uknR7, uint32 uknR8)
{ {
forceLogDebug_printf("NSSExportDeviceCertChain called but not implemented"); cemuLog_logDebug(LogType::Force, "NSSExportDeviceCertChain called but not implemented");
cemu_assert_debug(false); cemu_assert_debug(false);
// uknR3 = pointer (can be null, in which case only length is written) // uknR3 = pointer (can be null, in which case only length is written)

View File

@ -13,14 +13,14 @@
void nn_acExport_ConnectAsync(PPCInterpreter_t* hCPU) void nn_acExport_ConnectAsync(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_ac.ConnectAsync();"); cemuLog_logDebug(LogType::Force, "nn_ac.ConnectAsync();");
uint32 nnResultCode = BUILD_NN_RESULT(NN_RESULT_LEVEL_SUCCESS, NN_RESULT_MODULE_NN_AC, 0); uint32 nnResultCode = BUILD_NN_RESULT(NN_RESULT_LEVEL_SUCCESS, NN_RESULT_MODULE_NN_AC, 0);
osLib_returnFromFunction(hCPU, nnResultCode); osLib_returnFromFunction(hCPU, nnResultCode);
} }
void nn_acExport_Connect(PPCInterpreter_t* hCPU) void nn_acExport_Connect(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_ac.Connect();"); cemuLog_logDebug(LogType::Force, "nn_ac.Connect();");
// Terraria expects this (or GetLastErrorCode) to return 0 on success // Terraria expects this (or GetLastErrorCode) to return 0 on success
// investigate on the actual console // investigate on the actual console
@ -34,7 +34,7 @@ static_assert(TRUE == 1, "TRUE not 1");
void nn_acExport_IsApplicationConnected(PPCInterpreter_t* hCPU) void nn_acExport_IsApplicationConnected(PPCInterpreter_t* hCPU)
{ {
//forceLogDebug_printf("nn_ac.IsApplicationConnected(0x%08x)", hCPU->gpr[3]); //cemuLog_logDebug(LogType::Force, "nn_ac.IsApplicationConnected(0x{:08x})", hCPU->gpr[3]);
ppcDefineParamMEMPTR(connected, uint8, 0); ppcDefineParamMEMPTR(connected, uint8, 0);
if (connected) if (connected)
*connected = TRUE; *connected = TRUE;
@ -56,7 +56,7 @@ void nn_acExport_GetConnectStatus(PPCInterpreter_t* hCPU)
void nn_acExport_GetLastErrorCode(PPCInterpreter_t* hCPU) void nn_acExport_GetLastErrorCode(PPCInterpreter_t* hCPU)
{ {
//forceLogDebug_printf("nn_ac.GetLastErrorCode();"); //cemuLog_logDebug(LogType::Force, "nn_ac.GetLastErrorCode();");
ppcDefineParamMEMPTR(errorCode, uint32, 0); ppcDefineParamMEMPTR(errorCode, uint32, 0);
if (errorCode) if (errorCode)
*errorCode = 0; *errorCode = 0;
@ -66,7 +66,7 @@ void nn_acExport_GetLastErrorCode(PPCInterpreter_t* hCPU)
void nn_acExport_GetStatus(PPCInterpreter_t* hCPU) void nn_acExport_GetStatus(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_ac.GetStatus();"); cemuLog_logDebug(LogType::Force, "nn_ac.GetStatus();");
ppcDefineParamMEMPTR(status, uint32, 0); ppcDefineParamMEMPTR(status, uint32, 0);
if (status) if (status)
*status = AC_STATUS_OK; *status = AC_STATUS_OK;
@ -77,7 +77,7 @@ void nn_acExport_GetStatus(PPCInterpreter_t* hCPU)
void nn_acExport_GetConnectResult(PPCInterpreter_t* hCPU) void nn_acExport_GetConnectResult(PPCInterpreter_t* hCPU)
{ {
// GetConnectStatus__Q2_2nn2acFPQ3_2nn2ac6Status // GetConnectStatus__Q2_2nn2acFPQ3_2nn2ac6Status
forceLogDebug_printf("nn_ac.GetConnectResult(0x%08x) LR %08x", hCPU->spr.LR, hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "nn_ac.GetConnectResult(0x{:08x})", hCPU->gpr[3]);
ppcDefineParamMEMPTR(result, uint32, 0); ppcDefineParamMEMPTR(result, uint32, 0);
const uint32 nnResultCode = BUILD_NN_RESULT(NN_RESULT_LEVEL_SUCCESS, NN_RESULT_MODULE_NN_AC, 0); const uint32 nnResultCode = BUILD_NN_RESULT(NN_RESULT_LEVEL_SUCCESS, NN_RESULT_MODULE_NN_AC, 0);
if (result) if (result)
@ -159,7 +159,7 @@ void _GetLocalIPAndSubnetMask(uint32& localIp, uint32& subnetMask)
void nnAcExport_GetAssignedAddress(PPCInterpreter_t* hCPU) void nnAcExport_GetAssignedAddress(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("GetAssignedAddress() called"); cemuLog_logDebug(LogType::Force, "GetAssignedAddress() called");
ppcDefineParamU32BEPtr(ipAddrOut, 0); ppcDefineParamU32BEPtr(ipAddrOut, 0);
uint32 localIp; uint32 localIp;
@ -174,7 +174,7 @@ void nnAcExport_GetAssignedAddress(PPCInterpreter_t* hCPU)
void nnAcExport_GetAssignedSubnet(PPCInterpreter_t* hCPU) void nnAcExport_GetAssignedSubnet(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("GetAssignedSubnet() called"); cemuLog_logDebug(LogType::Force, "GetAssignedSubnet() called");
ppcDefineParamU32BEPtr(subnetMaskOut, 0); ppcDefineParamU32BEPtr(subnetMaskOut, 0);
@ -206,7 +206,7 @@ void nnAcExport_IsSystemConnected(PPCInterpreter_t* hCPU)
ppcDefineParamTypePtr(isConnectedOut, uint8, 0); ppcDefineParamTypePtr(isConnectedOut, uint8, 0);
ppcDefineParamTypePtr(apTypeOut, uint32be, 1); ppcDefineParamTypePtr(apTypeOut, uint32be, 1);
forceLogDebug_printf("nn_ac.IsSystemConnected() - placeholder"); cemuLog_logDebug(LogType::Force, "nn_ac.IsSystemConnected() - placeholder");
*apTypeOut = 0; // ukn *apTypeOut = 0; // ukn
*isConnectedOut = 1; *isConnectedOut = 1;
@ -215,7 +215,7 @@ void nnAcExport_IsSystemConnected(PPCInterpreter_t* hCPU)
void nnAcExport_IsConfigExisting(PPCInterpreter_t* hCPU) void nnAcExport_IsConfigExisting(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_ac.IsConfigExisting() - placeholder"); cemuLog_logDebug(LogType::Force, "nn_ac.IsConfigExisting() - placeholder");
ppcDefineParamU32(configId, 0); ppcDefineParamU32(configId, 0);
ppcDefineParamTypePtr(isConfigExisting, uint8, 1); ppcDefineParamTypePtr(isConfigExisting, uint8, 1);

View File

@ -350,7 +350,7 @@ namespace acp
void export_ACPCheckTitleNotReferAccountLaunch(PPCInterpreter_t* hCPU) void export_ACPCheckTitleNotReferAccountLaunch(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamU64(titleId, 0); ppcDefineParamU64(titleId, 0);
forceLogDebug_printf("ACPCheckTitleNotReferAccountLaunch(): Placeholder"); cemuLog_logDebug(LogType::Force, "ACPCheckTitleNotReferAccountLaunch(): Placeholder");
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
} }
@ -359,7 +359,7 @@ namespace acp
{ {
ppcDefineParamStructPtr(acpMetaData, acpMetaData_t, 0); ppcDefineParamStructPtr(acpMetaData, acpMetaData_t, 0);
forceLogDebug_printf("ACPGetLaunchMetaData(): Placeholder"); cemuLog_logDebug(LogType::Force, "ACPGetLaunchMetaData(): Placeholder");
acpPrepareRequest(); acpPrepareRequest();
acpRequest->requestCode = IOSU_ACP_GET_TITLE_META_DATA; acpRequest->requestCode = IOSU_ACP_GET_TITLE_META_DATA;
@ -375,7 +375,7 @@ namespace acp
{ {
ppcDefineParamStructPtr(acpMetaXml, acpMetaXml_t, 0); ppcDefineParamStructPtr(acpMetaXml, acpMetaXml_t, 0);
forceLogDebug_printf("ACPGetLaunchMetaXml(): Placeholder"); cemuLog_logDebug(LogType::Force, "ACPGetLaunchMetaXml(): Placeholder");
acpPrepareRequest(); acpPrepareRequest();
acpRequest->requestCode = IOSU_ACP_GET_TITLE_META_XML; acpRequest->requestCode = IOSU_ACP_GET_TITLE_META_XML;

View File

@ -124,20 +124,20 @@ namespace act
void nnActExport_CreateConsoleAccount(PPCInterpreter_t* hCPU) void nnActExport_CreateConsoleAccount(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("CreateConsoleAccount(...) LR %08x", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "CreateConsoleAccount(...)");
//numAccounts++; //numAccounts++;
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
} }
void nnActExport_GetNumOfAccounts(PPCInterpreter_t* hCPU) void nnActExport_GetNumOfAccounts(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetNumOfAccounts()\n"); cemuLog_logDebug(LogType::Force, "nn_act.GetNumOfAccounts()");
osLib_returnFromFunction(hCPU, numAccounts); // account count osLib_returnFromFunction(hCPU, numAccounts); // account count
} }
void nnActExport_IsSlotOccupied(PPCInterpreter_t* hCPU) void nnActExport_IsSlotOccupied(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.IsSlotOccupied(%d)\n", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "nn_act.IsSlotOccupied({})", hCPU->gpr[3]);
ppcDefineParamU8(slot, 0); ppcDefineParamU8(slot, 0);
osLib_returnFromFunction(hCPU, nn::act::GetPersistentIdEx(slot) != 0 ? 1 : 0); osLib_returnFromFunction(hCPU, nn::act::GetPersistentIdEx(slot) != 0 ? 1 : 0);
@ -213,7 +213,7 @@ uint32 IsNetworkAccount(uint8* isNetworkAccount, uint8 slot)
void nnActExport_IsNetworkAccount(PPCInterpreter_t* hCPU) void nnActExport_IsNetworkAccount(PPCInterpreter_t* hCPU)
{ {
//forceLogDebug_printf("nn_act.IsNetworkAccount()\n"); //cemuLog_logDebug(LogType::Force, "nn_act.IsNetworkAccount()");
uint8 isNetAcc = 0; uint8 isNetAcc = 0;
IsNetworkAccount(&isNetAcc, 0xFE); IsNetworkAccount(&isNetAcc, 0xFE);
osLib_returnFromFunction(hCPU, isNetAcc); osLib_returnFromFunction(hCPU, isNetAcc);
@ -222,7 +222,7 @@ void nnActExport_IsNetworkAccount(PPCInterpreter_t* hCPU)
void nnActExport_IsNetworkAccountEx(PPCInterpreter_t* hCPU) void nnActExport_IsNetworkAccountEx(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamU8(slot, 0); ppcDefineParamU8(slot, 0);
forceLogDebug_printf("nn_act.IsNetworkAccountEx(%d)\n", slot); cemuLog_logDebug(LogType::Force, "nn_act.IsNetworkAccountEx({})", slot);
uint8 isNetAcc = 0; uint8 isNetAcc = 0;
IsNetworkAccount(&isNetAcc, slot); IsNetworkAccount(&isNetAcc, slot);
osLib_returnFromFunction(hCPU, isNetAcc); osLib_returnFromFunction(hCPU, isNetAcc);
@ -230,7 +230,7 @@ void nnActExport_IsNetworkAccountEx(PPCInterpreter_t* hCPU)
void nnActExport_GetSimpleAddressId(PPCInterpreter_t* hCPU) void nnActExport_GetSimpleAddressId(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetSimpleAddressId()\n"); cemuLog_logDebug(LogType::Force, "nn_act.GetSimpleAddressId()");
uint32be simpleAddressId; uint32be simpleAddressId;
nn::act::GetSimpleAddressIdEx(&simpleAddressId, iosu::act::ACT_SLOT_CURRENT); nn::act::GetSimpleAddressIdEx(&simpleAddressId, iosu::act::ACT_SLOT_CURRENT);
@ -240,7 +240,7 @@ void nnActExport_GetSimpleAddressId(PPCInterpreter_t* hCPU)
void nnActExport_GetSimpleAddressIdEx(PPCInterpreter_t* hCPU) void nnActExport_GetSimpleAddressIdEx(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetSimpleAddressIdEx(0x%08x, %d)\n", hCPU->gpr[3], hCPU->gpr[4] & 0xFF); cemuLog_logDebug(LogType::Force, "nn_act.GetSimpleAddressIdEx(0x{:08x}, {})", hCPU->gpr[3], hCPU->gpr[4] & 0xFF);
ppcDefineParamU32BEPtr(simpleAddressId, 0); ppcDefineParamU32BEPtr(simpleAddressId, 0);
ppcDefineParamU8(slot, 1); ppcDefineParamU8(slot, 1);
@ -253,7 +253,7 @@ void nnActExport_GetSimpleAddressIdEx(PPCInterpreter_t* hCPU)
void nnActExport_GetPrincipalId(PPCInterpreter_t* hCPU) void nnActExport_GetPrincipalId(PPCInterpreter_t* hCPU)
{ {
// return error for non-nnid accounts? // return error for non-nnid accounts?
forceLogDebug_printf("nn_act.GetPrincipalId()\n"); cemuLog_logDebug(LogType::Force, "nn_act.GetPrincipalId()");
uint32be principalId; uint32be principalId;
GetPrincipalIdEx(&principalId, iosu::act::ACT_SLOT_CURRENT); GetPrincipalIdEx(&principalId, iosu::act::ACT_SLOT_CURRENT);
osLib_returnFromFunction(hCPU, (uint32)principalId); osLib_returnFromFunction(hCPU, (uint32)principalId);
@ -262,7 +262,7 @@ void nnActExport_GetPrincipalId(PPCInterpreter_t* hCPU)
void nnActExport_GetPrincipalIdEx(PPCInterpreter_t* hCPU) void nnActExport_GetPrincipalIdEx(PPCInterpreter_t* hCPU)
{ {
// return error for non-nnid accounts? // return error for non-nnid accounts?
forceLogDebug_printf("nn_act.GetPrincipalIdEx(0x%08x, %d)\n", hCPU->gpr[3], hCPU->gpr[4]&0xFF); cemuLog_logDebug(LogType::Force, "nn_act.GetPrincipalIdEx(0x{:08x}, {})", hCPU->gpr[3], hCPU->gpr[4]&0xFF);
ppcDefineParamU32BEPtr(principalId, 0); ppcDefineParamU32BEPtr(principalId, 0);
ppcDefineParamU8(slot, 1); ppcDefineParamU8(slot, 1);
GetPrincipalIdEx(principalId, slot); GetPrincipalIdEx(principalId, slot);
@ -276,7 +276,7 @@ void nnActExport_GetTransferableIdEx(PPCInterpreter_t* hCPU)
ppcDefineParamU32(unique, 1); ppcDefineParamU32(unique, 1);
ppcDefineParamU8(slot, 2); ppcDefineParamU8(slot, 2);
forceLogDebug_printf("nn_act.GetTransferableIdEx(0x%08x, 0x%08x, %d)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5] & 0xFF); cemuLog_logDebug(LogType::Force, "nn_act.GetTransferableIdEx(0x{:08x}, 0x{:08x}, {})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5] & 0xFF);
uint32 r = GetTransferableIdEx(transferableId, unique, slot); uint32 r = GetTransferableIdEx(transferableId, unique, slot);
@ -285,7 +285,7 @@ void nnActExport_GetTransferableIdEx(PPCInterpreter_t* hCPU)
void nnActExport_GetPersistentId(PPCInterpreter_t* hCPU) void nnActExport_GetPersistentId(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetPersistentId()"); cemuLog_logDebug(LogType::Force, "nn_act.GetPersistentId()");
uint32 persistentId = nn::act::GetPersistentIdEx(iosu::act::ACT_SLOT_CURRENT); uint32 persistentId = nn::act::GetPersistentIdEx(iosu::act::ACT_SLOT_CURRENT);
osLib_returnFromFunction(hCPU, persistentId); osLib_returnFromFunction(hCPU, persistentId);
} }
@ -293,7 +293,7 @@ void nnActExport_GetPersistentId(PPCInterpreter_t* hCPU)
void nnActExport_GetPersistentIdEx(PPCInterpreter_t* hCPU) void nnActExport_GetPersistentIdEx(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamU8(slot, 0); ppcDefineParamU8(slot, 0);
forceLogDebug_printf("nn_act.GetPersistentIdEx(%d)", slot); cemuLog_logDebug(LogType::Force, "nn_act.GetPersistentIdEx({})", slot);
uint32 persistentId = nn::act::GetPersistentIdEx(slot); uint32 persistentId = nn::act::GetPersistentIdEx(slot);
@ -302,7 +302,7 @@ void nnActExport_GetPersistentIdEx(PPCInterpreter_t* hCPU)
void nnActExport_GetCountry(PPCInterpreter_t* hCPU) void nnActExport_GetCountry(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetCountry(0x%08x)", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "nn_act.GetCountry(0x{:08x})", hCPU->gpr[3]);
ppcDefineParamStr(country, 0); ppcDefineParamStr(country, 0);
uint32 r = GetCountryEx(country, iosu::act::ACT_SLOT_CURRENT); uint32 r = GetCountryEx(country, iosu::act::ACT_SLOT_CURRENT);
osLib_returnFromFunction(hCPU, r); osLib_returnFromFunction(hCPU, r);
@ -311,7 +311,7 @@ void nnActExport_GetCountry(PPCInterpreter_t* hCPU)
bool g_isParentalControlCheckEnabled = false; bool g_isParentalControlCheckEnabled = false;
void nnActExport_EnableParentalControlCheck(PPCInterpreter_t* hCPU) void nnActExport_EnableParentalControlCheck(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.EnableParentalControlCheck(%d)", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "nn_act.EnableParentalControlCheck({})", hCPU->gpr[3]);
ppcDefineParamU8(isEnabled, 0); ppcDefineParamU8(isEnabled, 0);
g_isParentalControlCheckEnabled = isEnabled != 0; g_isParentalControlCheckEnabled = isEnabled != 0;
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
@ -319,13 +319,13 @@ void nnActExport_EnableParentalControlCheck(PPCInterpreter_t* hCPU)
void nnActExport_IsParentalControlCheckEnabled(PPCInterpreter_t* hCPU) void nnActExport_IsParentalControlCheckEnabled(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.IsParentalControlCheckEnabled() -> %d", g_isParentalControlCheckEnabled); cemuLog_logDebug(LogType::Force, "nn_act.IsParentalControlCheckEnabled() -> {}", g_isParentalControlCheckEnabled);
osLib_returnFromFunction(hCPU, g_isParentalControlCheckEnabled); osLib_returnFromFunction(hCPU, g_isParentalControlCheckEnabled);
} }
void nnActExport_GetHostServerSettings(PPCInterpreter_t* hCPU) void nnActExport_GetHostServerSettings(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("GetHostServerSettings() - stub"); cemuLog_logDebug(LogType::Force, "GetHostServerSettings() - stub");
ppcDefineParamStr(ukn, 1); ppcDefineParamStr(ukn, 1);
strcpy(ukn, ""); strcpy(ukn, "");
osLib_returnFromFunction(hCPU, 0x00000000); osLib_returnFromFunction(hCPU, 0x00000000);
@ -333,7 +333,7 @@ void nnActExport_GetHostServerSettings(PPCInterpreter_t* hCPU)
void nnActExport_GetMii(PPCInterpreter_t* hCPU) void nnActExport_GetMii(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetMii(...)\n"); cemuLog_logDebug(LogType::Force, "nn_act.GetMii(...)");
ppcDefineParamUStr(miiData, 0); ppcDefineParamUStr(miiData, 0);
uint32 r = nn::act::GetMiiEx(miiData, iosu::act::ACT_SLOT_CURRENT); uint32 r = nn::act::GetMiiEx(miiData, iosu::act::ACT_SLOT_CURRENT);
osLib_returnFromFunction(hCPU, r); osLib_returnFromFunction(hCPU, r);
@ -341,7 +341,7 @@ void nnActExport_GetMii(PPCInterpreter_t* hCPU)
void nnActExport_GetMiiEx(PPCInterpreter_t* hCPU) void nnActExport_GetMiiEx(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetMiiEx(...)\n"); cemuLog_logDebug(LogType::Force, "nn_act.GetMiiEx(...)");
ppcDefineParamUStr(miiData, 0); ppcDefineParamUStr(miiData, 0);
ppcDefineParamU8(slot, 1); ppcDefineParamU8(slot, 1);
uint32 r = nn::act::GetMiiEx(miiData, slot); uint32 r = nn::act::GetMiiEx(miiData, slot);
@ -350,14 +350,14 @@ void nnActExport_GetMiiEx(PPCInterpreter_t* hCPU)
void nnActExport_GetMiiImageEx(PPCInterpreter_t* hCPU) void nnActExport_GetMiiImageEx(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("GetMiiImageEx unimplemented LR %08x", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "GetMiiImageEx unimplemented");
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
} }
void nnActExport_GetMiiName(PPCInterpreter_t* hCPU) void nnActExport_GetMiiName(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("GetMiiName(0x%08x)", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "GetMiiName(0x{:08x})", hCPU->gpr[3]);
ppcDefineParamWStrBE(miiName, 0); ppcDefineParamWStrBE(miiName, 0);
StackAllocator<FFLData_t> miiData; StackAllocator<FFLData_t> miiData;
@ -379,7 +379,7 @@ void nnActExport_GetMiiName(PPCInterpreter_t* hCPU)
void nnActExport_GetMiiNameEx(PPCInterpreter_t* hCPU) void nnActExport_GetMiiNameEx(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("GetMiiNameEx(0x%08x, %d)", hCPU->gpr[3], hCPU->gpr[4] & 0xFF); cemuLog_logDebug(LogType::Force, "GetMiiNameEx(0x{:08x}, {})", hCPU->gpr[3], hCPU->gpr[4] & 0xFF);
ppcDefineParamWStrBE(miiName, 0); ppcDefineParamWStrBE(miiName, 0);
ppcDefineParamU8(slot, 1); ppcDefineParamU8(slot, 1);
@ -452,7 +452,7 @@ void nnActExport_UpdateMii(PPCInterpreter_t* hCPU)
void nnActExport_GetUuid(PPCInterpreter_t* hCPU) void nnActExport_GetUuid(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetUuid(0x%08x)", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "nn_act.GetUuid(0x{:08x})", hCPU->gpr[3]);
ppcDefineParamUStr(uuid, 0); ppcDefineParamUStr(uuid, 0);
nn::act::GetUuidEx(uuid, iosu::act::ACT_SLOT_CURRENT); nn::act::GetUuidEx(uuid, iosu::act::ACT_SLOT_CURRENT);
osLib_returnFromFunction(hCPU, 0); // 0 -> result ok osLib_returnFromFunction(hCPU, 0); // 0 -> result ok
@ -460,7 +460,7 @@ void nnActExport_GetUuid(PPCInterpreter_t* hCPU)
void nnActExport_GetUuidEx(PPCInterpreter_t* hCPU) void nnActExport_GetUuidEx(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetUuidEx(0x%08x,0x%02x)", hCPU->gpr[3], hCPU->gpr[3]&0xFF); cemuLog_logDebug(LogType::Force, "nn_act.GetUuidEx(0x{:08x},0x{:02x})", hCPU->gpr[3], hCPU->gpr[3]&0xFF);
ppcDefineParamUStr(uuid, 0); ppcDefineParamUStr(uuid, 0);
ppcDefineParamU8(slot, 1); ppcDefineParamU8(slot, 1);
nn::act::GetUuidEx(uuid, slot); nn::act::GetUuidEx(uuid, slot);
@ -469,7 +469,7 @@ void nnActExport_GetUuidEx(PPCInterpreter_t* hCPU)
void nnActExport_GetUuidEx2(PPCInterpreter_t* hCPU) void nnActExport_GetUuidEx2(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetUuidEx(0x%08x,0x%02x,0x%08x)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]); cemuLog_logDebug(LogType::Force, "nn_act.GetUuidEx(0x{:08x},0x{:02x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]);
ppcDefineParamUStr(uuid, 0); ppcDefineParamUStr(uuid, 0);
ppcDefineParamU8(slot, 1); ppcDefineParamU8(slot, 1);
ppcDefineParamS32(name, 2); ppcDefineParamS32(name, 2);
@ -479,7 +479,7 @@ void nnActExport_GetUuidEx2(PPCInterpreter_t* hCPU)
void nnActExport_GetAccountId(PPCInterpreter_t* hCPU) void nnActExport_GetAccountId(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetAccountId(0x%08x)", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "nn_act.GetAccountId(0x{:08x})", hCPU->gpr[3]);
ppcDefineParamUStr(accId, 0); ppcDefineParamUStr(accId, 0);
GetAccountIdEx((char*)accId, iosu::act::ACT_SLOT_CURRENT); GetAccountIdEx((char*)accId, iosu::act::ACT_SLOT_CURRENT);
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
@ -487,7 +487,7 @@ void nnActExport_GetAccountId(PPCInterpreter_t* hCPU)
void nnActExport_GetAccountIdEx(PPCInterpreter_t* hCPU) void nnActExport_GetAccountIdEx(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetAccountIdEx(0x%08x, 0x%02x)", hCPU->gpr[3], hCPU->gpr[3] & 0xFF); cemuLog_logDebug(LogType::Force, "nn_act.GetAccountIdEx(0x{:08x}, 0x{:02x})", hCPU->gpr[3], hCPU->gpr[3] & 0xFF);
ppcDefineParamUStr(accId, 0); ppcDefineParamUStr(accId, 0);
ppcDefineParamU8(slot, 1); ppcDefineParamU8(slot, 1);
GetAccountIdEx((char*)accId, slot); GetAccountIdEx((char*)accId, slot);
@ -497,7 +497,7 @@ void nnActExport_GetAccountIdEx(PPCInterpreter_t* hCPU)
void nnActExport_GetParentalControlSlotNoEx(PPCInterpreter_t* hCPU) void nnActExport_GetParentalControlSlotNoEx(PPCInterpreter_t* hCPU)
{ {
// GetParentalControlSlotNoEx(uint8* output, uint8 slot) // GetParentalControlSlotNoEx(uint8* output, uint8 slot)
forceLogDebug_printf("nn_act.GetParentalControlSlotNoEx(0x%08x, 0x%02x)", hCPU->gpr[3], hCPU->gpr[4]); cemuLog_logDebug(LogType::Force, "nn_act.GetParentalControlSlotNoEx(0x{:08x}, 0x{:02x})", hCPU->gpr[3], hCPU->gpr[4]);
//memory_writeU8(hCPU->gpr[3], 0x01); // returned slot no (slot indices start at 1) //memory_writeU8(hCPU->gpr[3], 0x01); // returned slot no (slot indices start at 1)
memory_writeU8(hCPU->gpr[3], 1); // 0 -> No parental control for slot? memory_writeU8(hCPU->gpr[3], 1); // 0 -> No parental control for slot?
//memory_writeU8(hCPU->gpr[3], 0); // 0 -> No parental control for slot? //memory_writeU8(hCPU->gpr[3], 0); // 0 -> No parental control for slot?
@ -507,7 +507,7 @@ void nnActExport_GetParentalControlSlotNoEx(PPCInterpreter_t* hCPU)
void nnActExport_GetDefaultAccount(PPCInterpreter_t* hCPU) void nnActExport_GetDefaultAccount(PPCInterpreter_t* hCPU)
{ {
// todo // todo
forceLogDebug_printf("GetDefaultAccount(): Return 1?"); cemuLog_logDebug(LogType::Force, "GetDefaultAccount(): Return 1?");
osLib_returnFromFunction(hCPU, 1); osLib_returnFromFunction(hCPU, 1);
} }
@ -515,13 +515,13 @@ void nnActExport_GetSlotNo(PPCInterpreter_t* hCPU)
{ {
// id of active account // id of active account
// uint8 GetSlotNo(void); // uint8 GetSlotNo(void);
forceLogDebug_printf("nn_act.GetSlotNo()"); cemuLog_logDebug(LogType::Force, "nn_act.GetSlotNo()");
osLib_returnFromFunction(hCPU, 1); // 1 is the first slot (0 is invalid) osLib_returnFromFunction(hCPU, 1); // 1 is the first slot (0 is invalid)
} }
void nnActExport_GetSlotNoEx(PPCInterpreter_t* hCPU) void nnActExport_GetSlotNoEx(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.GetSlotNoEx(...)"); cemuLog_logDebug(LogType::Force, "nn_act.GetSlotNoEx(...)");
// get slot no by uuid // get slot no by uuid
ppcDefineParamUStr(uuid, 0); ppcDefineParamUStr(uuid, 0);
@ -544,7 +544,7 @@ void nnActExport_GetSlotNoEx(PPCInterpreter_t* hCPU)
void nnActExport_Initialize(PPCInterpreter_t* hCPU) void nnActExport_Initialize(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_act.Initialize()"); cemuLog_logDebug(LogType::Force, "nn_act.Initialize()");
nn::act::Initialize(); nn::act::Initialize();
@ -553,7 +553,7 @@ void nnActExport_Initialize(PPCInterpreter_t* hCPU)
void nnActExport_HasNfsAccount(PPCInterpreter_t* hCPU) void nnActExport_HasNfsAccount(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("Called nn_act.HasNfsAccount LR %08x", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "Called nn_act.HasNfsAccount");
osLib_returnFromFunction(hCPU, 1); // Nfs = Nintendo Friend System? (Splatoon tries to call nn_fp.RegisterAccount if we set this to false) osLib_returnFromFunction(hCPU, 1); // Nfs = Nintendo Friend System? (Splatoon tries to call nn_fp.RegisterAccount if we set this to false)
} }
@ -585,7 +585,7 @@ void nnActExport_AcquireNexServiceToken(PPCInterpreter_t* hCPU)
memcpy(token, actRequest->resultBinary.binBuffer, sizeof(nexServiceToken_t)); memcpy(token, actRequest->resultBinary.binBuffer, sizeof(nexServiceToken_t));
forceLogDebug_printf("Called nn_act.AcquireNexServiceToken LR %08x", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "Called nn_act.AcquireNexServiceToken");
osLib_returnFromFunction(hCPU, getNNReturnCode(resultCode, actRequest)); osLib_returnFromFunction(hCPU, getNNReturnCode(resultCode, actRequest));
} }
@ -616,8 +616,8 @@ void nnActExport_AcquireIndependentServiceToken(PPCInterpreter_t* hCPU)
ppcDefineParamMEMPTR(token, independentServiceToken_t, 0); ppcDefineParamMEMPTR(token, independentServiceToken_t, 0);
ppcDefineParamMEMPTR(serviceToken, const char, 1); ppcDefineParamMEMPTR(serviceToken, const char, 1);
uint32 result = AcquireIndependentServiceToken(token.GetPtr(), serviceToken.GetPtr(), 0); uint32 result = AcquireIndependentServiceToken(token.GetPtr(), serviceToken.GetPtr(), 0);
forceLogDebug_printf("nn_act.AcquireIndependentServiceToken(0x%p, %s) -> %x | LR %08x", (void*)token.GetPtr(), serviceToken.GetPtr(), result, hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "nn_act.AcquireIndependentServiceToken(0x{}, {}) -> {:x}", (void*)token.GetPtr(), serviceToken.GetPtr(), result);
forceLogDebug_printf("Token: %s", serviceToken.GetPtr()); cemuLog_logDebug(LogType::Force, "Token: {}", serviceToken.GetPtr());
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -627,7 +627,7 @@ void nnActExport_AcquireIndependentServiceToken2(PPCInterpreter_t* hCPU)
ppcDefineParamMEMPTR(clientId, const char, 1); ppcDefineParamMEMPTR(clientId, const char, 1);
ppcDefineParamU32(cacheDurationInSeconds, 2); ppcDefineParamU32(cacheDurationInSeconds, 2);
uint32 result = AcquireIndependentServiceToken(token, clientId.GetPtr(), cacheDurationInSeconds); uint32 result = AcquireIndependentServiceToken(token, clientId.GetPtr(), cacheDurationInSeconds);
forceLogDebug_printf("Called nn_act.AcquireIndependentServiceToken2 LR %08x", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "Called nn_act.AcquireIndependentServiceToken2");
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -635,7 +635,7 @@ void nnActExport_AcquireEcServiceToken(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(pEcServiceToken, independentServiceToken_t, 0); ppcDefineParamMEMPTR(pEcServiceToken, independentServiceToken_t, 0);
uint32 result = AcquireIndependentServiceToken(pEcServiceToken.GetPtr(), "71a6f5d6430ea0183e3917787d717c46", 0); uint32 result = AcquireIndependentServiceToken(pEcServiceToken.GetPtr(), "71a6f5d6430ea0183e3917787d717c46", 0);
forceLogDebug_printf("Called nn_act.AcquireEcServiceToken LR %08x", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "Called nn_act.AcquireEcServiceToken");
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -644,7 +644,7 @@ void nnActExport_AcquirePrincipalIdByAccountId(PPCInterpreter_t* hCPU)
ppcDefineParamMEMPTR(principalId, uint32be, 0); ppcDefineParamMEMPTR(principalId, uint32be, 0);
ppcDefineParamMEMPTR(nnid, char, 1); ppcDefineParamMEMPTR(nnid, char, 1);
ppcDefineParamU32(ukn, 2); // some option, can be 0 or 1 ? ppcDefineParamU32(ukn, 2); // some option, can be 0 or 1 ?
forceLogDebug_printf("nn_act.AcquirePrincipalIdByAccountId(0x%08x,\"%s\", %d) - last param unknown", principalId.GetMPTR(), nnid.GetPtr(), ukn); cemuLog_logDebug(LogType::Force, "nn_act.AcquirePrincipalIdByAccountId(0x{:08x},\"{}\", {}) - last param unknown", principalId.GetMPTR(), nnid.GetPtr(), ukn);
actPrepareRequest2(); actPrepareRequest2();
actRequest->requestCode = IOSU_ARC_ACQUIREPIDBYNNID; actRequest->requestCode = IOSU_ARC_ACQUIREPIDBYNNID;
strcpy(actRequest->clientId, nnid.GetPtr()); strcpy(actRequest->clientId, nnid.GetPtr());
@ -662,11 +662,11 @@ void nnActExport_GetUtcOffsetEx(PPCInterpreter_t* hCPU)
ppcDefineParamU32BEPtr(utcOffsetOut, 0); ppcDefineParamU32BEPtr(utcOffsetOut, 0);
ppcDefineParamU32(uknParam, 1); ppcDefineParamU32(uknParam, 1);
forceLogDebug_printf("Called nn_act.GetUtcOffsetEx LR %08x", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "Called nn_act.GetUtcOffsetEx");
*utcOffsetOut = 0; *utcOffsetOut = 0;
forceLogDebug_printf("GetUtcOffsetEx stub"); cemuLog_logDebug(LogType::Force, "GetUtcOffsetEx stub");
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
} }

View File

@ -220,7 +220,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
TitleId_t* ctor2(TitleId_t* thisptr, uint32 filler, uint64 titleId) TitleId_t* ctor2(TitleId_t* thisptr, uint32 filler, uint64 titleId)
{ {
forceLogDebug_printf("nn_boss_TitleId_ctor2(0x%x)", MEMPTR(thisptr).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_TitleId_ctor2(0x{:x})", MEMPTR(thisptr).GetMPTR());
if (!thisptr) if (!thisptr)
{ {
// thisptr = new Task_t // thisptr = new Task_t
@ -234,7 +234,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
TitleId_t* cctor(TitleId_t* thisptr, TitleId_t* titleId) TitleId_t* cctor(TitleId_t* thisptr, TitleId_t* titleId)
{ {
forceLogDebug_printf("nn_boss_TitleId_cctor(0x%x)", MEMPTR(thisptr).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_TitleId_cctor(0x{:x})", MEMPTR(thisptr).GetMPTR());
if (!thisptr) if (!thisptr)
{ {
// thisptr = new Task_t // thisptr = new Task_t
@ -248,7 +248,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
bool operator_ne(TitleId_t* thisptr, TitleId_t* titleId) bool operator_ne(TitleId_t* thisptr, TitleId_t* titleId)
{ {
forceLogDebug_printf("nn_boss_TitleId_operator_ne(0x%x)", MEMPTR(thisptr).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_TitleId_operator_ne(0x{:x})", MEMPTR(thisptr).GetMPTR());
return thisptr->u64 != titleId->u64; return thisptr->u64 != titleId->u64;
} }
} }
@ -299,7 +299,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
{ {
if(name == nullptr || strnlen(name, 0x80) == 0x80) if(name == nullptr || strnlen(name, 0x80) == 0x80)
{ {
forceLogDebug_printf("nn_boss_NetTaskSetting_AddCaCert: name size is invalid"); cemuLog_logDebug(LogType::Force, "nn_boss_NetTaskSetting_AddCaCert: name size is invalid");
return 0xC0203780; return 0xC0203780;
} }
@ -328,15 +328,15 @@ bossBufferVector->buffer = (uint8*)bossRequest;
Result SetServiceToken(NetTaskSetting_t* thisptr, const uint8* serviceToken) Result SetServiceToken(NetTaskSetting_t* thisptr, const uint8* serviceToken)
{ {
forceLogDebug_printf("nn_boss_NetTaskSetting_SetServiceToken(0x%x, 0x%x)", MEMPTR(thisptr).GetMPTR(), MEMPTR(serviceToken).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_NetTaskSetting_SetServiceToken(0x{:x}, 0x{:x})", MEMPTR(thisptr).GetMPTR(), MEMPTR(serviceToken).GetMPTR());
forceLogDebug_printf("\t->%s", serviceToken); cemuLog_logDebug(LogType::Force, "\t->{}", fmt::ptr(serviceToken));
memcpy(&thisptr->settings[TaskSetting_t::kServiceToken], serviceToken, TaskSetting_t::kServiceTokenLen); memcpy(&thisptr->settings[TaskSetting_t::kServiceToken], serviceToken, TaskSetting_t::kServiceTokenLen);
return 0x200080; return 0x200080;
} }
Result AddInternalCaCert(NetTaskSetting_t* thisptr, char certId) Result AddInternalCaCert(NetTaskSetting_t* thisptr, char certId)
{ {
forceLogDebug_printf("nn_boss_NetTaskSetting_AddInternalCaCert(0x%x, 0x%x)", MEMPTR(thisptr).GetMPTR(), (int)certId); cemuLog_logDebug(LogType::Force, "nn_boss_NetTaskSetting_AddInternalCaCert(0x{:x}, 0x{:x})", MEMPTR(thisptr).GetMPTR(), (int)certId);
uint32 location = TaskSetting_t::kCACert; uint32 location = TaskSetting_t::kCACert;
for(int i = 0; i < 3; ++i) for(int i = 0; i < 3; ++i)
@ -350,13 +350,13 @@ bossBufferVector->buffer = (uint8*)bossRequest;
location += TaskSetting_t::kCACert; location += TaskSetting_t::kCACert;
} }
forceLogDebug_printf("nn_boss_NetTaskSetting_AddInternalCaCert: can't store certificate"); cemuLog_logDebug(LogType::Force, "nn_boss_NetTaskSetting_AddInternalCaCert: can't store certificate");
return 0xA0220D00; return 0xA0220D00;
} }
void SetInternalClientCert(NetTaskSetting_t* thisptr, char certId) void SetInternalClientCert(NetTaskSetting_t* thisptr, char certId)
{ {
forceLogDebug_printf("nn_boss_NetTaskSetting_SetInternalClientCert(0x%x, 0x%x)", MEMPTR(thisptr).GetMPTR(), (int)certId); cemuLog_logDebug(LogType::Force, "nn_boss_NetTaskSetting_SetInternalClientCert(0x{:x}, 0x{:x})", MEMPTR(thisptr).GetMPTR(), (int)certId);
thisptr->settings[TaskSetting_t::kClientCert] = (uint8)certId; thisptr->settings[TaskSetting_t::kClientCert] = (uint8)certId;
} }
} }
@ -383,7 +383,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
void export_ctor(PPCInterpreter_t* hCPU) void export_ctor(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(thisptr, NbdlTaskSetting_t, 0); ppcDefineParamMEMPTR(thisptr, NbdlTaskSetting_t, 0);
forceLogDebug_printf("nn_boss_NbdlTaskSetting_ctor"); cemuLog_logDebug(LogType::Force, "nn_boss_NbdlTaskSetting_ctor");
ctor(thisptr.GetPtr()); ctor(thisptr.GetPtr());
osLib_returnFromFunction(hCPU, thisptr.GetMPTR()); osLib_returnFromFunction(hCPU, thisptr.GetMPTR());
} }
@ -394,7 +394,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
ppcDefineParamMEMPTR(bossCode, const char, 1); ppcDefineParamMEMPTR(bossCode, const char, 1);
ppcDefineParamU64(directorySizeLimit, 2); ppcDefineParamU64(directorySizeLimit, 2);
ppcDefineParamMEMPTR(directoryName, const char, 4); ppcDefineParamMEMPTR(directoryName, const char, 4);
forceLogDebug_printf("nn_boss_NbdlTaskSetting_Initialize(0x%08x, %s, 0x%llx, 0x%08x)", thisptr.GetMPTR(), bossCode.GetPtr(), directorySizeLimit, directoryName.GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_NbdlTaskSetting_Initialize(0x{:08x}, {}, 0x{:x}, 0x{:08x})", thisptr.GetMPTR(), bossCode.GetPtr(), directorySizeLimit, directoryName.GetMPTR());
if(!bossCode || strnlen(bossCode.GetPtr(), 0x20) == 0x20) if(!bossCode || strnlen(bossCode.GetPtr(), 0x20) == 0x20)
{ {
@ -419,7 +419,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
Result SetFileName(NbdlTaskSetting_t* thisptr, const char* fileName) Result SetFileName(NbdlTaskSetting_t* thisptr, const char* fileName)
{ {
forceLogDebug_printf("nn_boss_NbdlTaskSetting_t_SetFileName(0x%08x, %s)", MEMPTR(thisptr).GetMPTR(), fileName ? fileName : "\"\""); cemuLog_logDebug(LogType::Force, "nn_boss_NbdlTaskSetting_t_SetFileName(0x{:08x}, {})", MEMPTR(thisptr).GetMPTR(), fileName ? fileName : "\"\"");
if (!fileName || strnlen(fileName, TaskSetting_t::kFileNameLen) == TaskSetting_t::kFileNameLen) if (!fileName || strnlen(fileName, TaskSetting_t::kFileNameLen) == TaskSetting_t::kFileNameLen)
{ {
@ -436,7 +436,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
{ {
RawUlTaskSetting_t* ctor(RawUlTaskSetting_t* thisptr) RawUlTaskSetting_t* ctor(RawUlTaskSetting_t* thisptr)
{ {
forceLogDebug_printf("nn_boss_RawUlTaskSetting_ctor(0x%x) TODO", MEMPTR(thisptr).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_RawUlTaskSetting_ctor(0x{:x}) TODO", MEMPTR(thisptr).GetMPTR());
if (!thisptr) if (!thisptr)
{ {
// thisptr = new RawUlTaskSetting_t // thisptr = new RawUlTaskSetting_t
@ -461,7 +461,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
{ {
RawDlTaskSetting_t* ctor(RawDlTaskSetting_t* thisptr) RawDlTaskSetting_t* ctor(RawDlTaskSetting_t* thisptr)
{ {
forceLogDebug_printf("nn_boss_RawDlTaskSetting_ctor(0x%x) TODO", MEMPTR(thisptr).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_RawDlTaskSetting_ctor(0x{:x}) TODO", MEMPTR(thisptr).GetMPTR());
if (!thisptr) if (!thisptr)
{ {
// thisptr = new RawDlTaskSetting_t // thisptr = new RawDlTaskSetting_t
@ -479,7 +479,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
Result Initialize(RawDlTaskSetting_t* thisptr, const char* url, bool newArrival, bool led, const char* fileName, const char* directoryName) Result Initialize(RawDlTaskSetting_t* thisptr, const char* url, bool newArrival, bool led, const char* fileName, const char* directoryName)
{ {
forceLogDebug_printf("nn_boss_RawDlTaskSetting_Initialize(0x%x, 0x%x, %d, %d, 0x%x, 0x%x)", MEMPTR(thisptr).GetMPTR(), MEMPTR(url).GetMPTR(), newArrival, led, MEMPTR(fileName).GetMPTR(), MEMPTR(directoryName).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_RawDlTaskSetting_Initialize(0x{:x}, 0x{:x}, {}, {}, 0x{:x}, 0x{:x})", MEMPTR(thisptr).GetMPTR(), MEMPTR(url).GetMPTR(), newArrival, led, MEMPTR(fileName).GetMPTR(), MEMPTR(directoryName).GetMPTR());
if (!url) if (!url)
{ {
return 0xC0203780; return 0xC0203780;
@ -490,7 +490,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
return 0xC0203780; return 0xC0203780;
} }
forceLogDebug_printf("\t-> url: %s", url); cemuLog_logDebug(LogType::Force, "\t-> url: {}", url);
if (fileName && strnlen(fileName, TaskSetting_t::kFileNameLen) == TaskSetting_t::kFileNameLen) if (fileName && strnlen(fileName, TaskSetting_t::kFileNameLen) == TaskSetting_t::kFileNameLen)
{ {
@ -511,13 +511,13 @@ bossBufferVector->buffer = (uint8*)bossRequest;
strncpy((char*)thisptr + 0x7D0, "rawcontent.dat", TaskSetting_t::kFileNameLen); strncpy((char*)thisptr + 0x7D0, "rawcontent.dat", TaskSetting_t::kFileNameLen);
thisptr->settings[0x7EF] = '\0'; thisptr->settings[0x7EF] = '\0';
forceLogDebug_printf("\t-> filename: %s", (char*)thisptr + 0x7D0); cemuLog_logDebug(LogType::Force, "\t-> filename: {}", (char*)thisptr + 0x7D0);
if (directoryName) if (directoryName)
{ {
strncpy((char*)thisptr + 0x7C8, directoryName, TaskSetting_t::kDirectoryNameLen); strncpy((char*)thisptr + 0x7C8, directoryName, TaskSetting_t::kDirectoryNameLen);
thisptr->settings[0x7CF] = '\0'; thisptr->settings[0x7CF] = '\0';
forceLogDebug_printf("\t-> directoryName: %s", (char*)thisptr + 0x7C8); cemuLog_logDebug(LogType::Force, "\t-> directoryName: {}", (char*)thisptr + 0x7C8);
} }
thisptr->settings[0x7C0] = newArrival; thisptr->settings[0x7C0] = newArrival;
@ -532,7 +532,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
void export_ctor(PPCInterpreter_t* hCPU) void export_ctor(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(thisptr, PlayReportSetting_t, 0); ppcDefineParamMEMPTR(thisptr, PlayReportSetting_t, 0);
forceLogDebug_printf("nn_boss_PlayReportSetting_ctor TODO"); cemuLog_logDebug(LogType::Force, "nn_boss_PlayReportSetting_ctor TODO");
if (!thisptr) if (!thisptr)
{ {
assert_dbg(); assert_dbg();
@ -557,11 +557,11 @@ bossBufferVector->buffer = (uint8*)bossRequest;
ppcDefineParamMEMPTR(ptr, void*, 1); ppcDefineParamMEMPTR(ptr, void*, 1);
ppcDefineParamU32(value, 2); ppcDefineParamU32(value, 2);
ppcDefineParamMEMPTR(directoryName, const char, 4); ppcDefineParamMEMPTR(directoryName, const char, 4);
//forceLogDebug_printf("nn_boss_PlayReportSetting_Initialize(0x%08x, %s, 0x%llx, 0x%08x)", thisptr.GetMPTR(), ptr.GetPtr(), directorySizeLimit, directoryName.GetMPTR()); //cemuLog_logDebug(LogType::Force, "nn_boss_PlayReportSetting_Initialize(0x{:08x}, {}, 0x{:x}, 0x{:08x})", thisptr.GetMPTR(), ptr.GetPtr(), directorySizeLimit, directoryName.GetMPTR());
if(!ptr || value == 0 || value > 0x19000) if(!ptr || value == 0 || value > 0x19000)
{ {
forceLogDebug_printf("nn_boss_PlayReportSetting_Initialize: invalid parameter"); cemuLog_logDebug(LogType::Force, "nn_boss_PlayReportSetting_Initialize: invalid parameter");
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
} }
@ -588,7 +588,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
ppcDefineParamU32(value, 2); ppcDefineParamU32(value, 2);
// TODO // TODO
forceLogDebug_printf("nn_boss_PlayReportSetting_Set(0x%08x, %s, 0x%x) TODO", thisptr.GetMPTR(), key.GetPtr(), value); cemuLog_logDebug(LogType::Force, "nn_boss_PlayReportSetting_Set(0x{:08x}, {}, 0x{:x}) TODO", thisptr.GetMPTR(), key.GetPtr(), value);
osLib_returnFromFunction(hCPU, 1); osLib_returnFromFunction(hCPU, 1);
} }
@ -600,7 +600,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
{ {
Title_t* ctor(Title_t* thisptr) Title_t* ctor(Title_t* thisptr)
{ {
forceLogDebug_printf("nn_boss_Title_ctor(0x%x)", MEMPTR(thisptr).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_Title_ctor(0x{:x})", MEMPTR(thisptr).GetMPTR());
if (!thisptr) if (!thisptr)
{ {
// thisptr = new Task_t // thisptr = new Task_t
@ -617,7 +617,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
{ {
DirectoryName_t* ctor(DirectoryName_t* thisptr) DirectoryName_t* ctor(DirectoryName_t* thisptr)
{ {
forceLogDebug_printf("nn_boss_DirectoryName_ctor(0x%x)", MEMPTR(thisptr).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_DirectoryName_ctor(0x{:x})", MEMPTR(thisptr).GetMPTR());
if (!thisptr) if (!thisptr)
{ {
// thisptr = new Task_t // thisptr = new Task_t
@ -631,7 +631,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
const char* operator_const_char(DirectoryName_t* thisptr) const char* operator_const_char(DirectoryName_t* thisptr)
{ {
forceLogDebug_printf("nn_boss_DirectoryName_operator_const_char(0x%x)", MEMPTR(thisptr).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_DirectoryName_operator_const_char(0x{:x})", MEMPTR(thisptr).GetMPTR());
return thisptr->name; return thisptr->name;
} }
} }
@ -667,7 +667,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
ppcDefineParamMEMPTR(thisptr, Task_t, 0); ppcDefineParamMEMPTR(thisptr, Task_t, 0);
ppcDefineParamMEMPTR(taskId, const char, 1); ppcDefineParamMEMPTR(taskId, const char, 1);
ppcDefineParamU32(accountId, 2); ppcDefineParamU32(accountId, 2);
forceLogDebug_printf("nn_boss_Task_Initialize3(0x%08x, %s, 0x%x)", thisptr.GetMPTR(), taskId.GetPtr(), accountId); cemuLog_logDebug(LogType::Force, "nn_boss_Task_Initialize3(0x{:08x}, {}, 0x{:x})", thisptr.GetMPTR(), taskId.GetPtr(), accountId);
const Result result = Initialize(thisptr.GetPtr(), taskId.GetPtr(), accountId); const Result result = Initialize(thisptr.GetPtr(), taskId.GetPtr(), accountId);
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -677,7 +677,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
ppcDefineParamMEMPTR(thisptr, Task_t, 0); ppcDefineParamMEMPTR(thisptr, Task_t, 0);
ppcDefineParamU8(slotId, 1); ppcDefineParamU8(slotId, 1);
ppcDefineParamMEMPTR(taskId, const char, 2); ppcDefineParamMEMPTR(taskId, const char, 2);
forceLogDebug_printf("nn_boss_Task_Initialize2(0x%08x, %d, %s)", thisptr.GetMPTR(), slotId, taskId.GetPtr()); cemuLog_logDebug(LogType::Force, "nn_boss_Task_Initialize2(0x{:08x}, {}, {})", thisptr.GetMPTR(), slotId, taskId.GetPtr());
const Result result = Initialize(thisptr.GetPtr(), slotId, taskId.GetPtr()); const Result result = Initialize(thisptr.GetPtr(), slotId, taskId.GetPtr());
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -686,7 +686,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
{ {
ppcDefineParamMEMPTR(thisptr, Task_t, 0); ppcDefineParamMEMPTR(thisptr, Task_t, 0);
ppcDefineParamMEMPTR(taskId, const char, 1); ppcDefineParamMEMPTR(taskId, const char, 1);
forceLogDebug_printf("nn_boss_Task_Initialize1(0x%08x, %s)", thisptr.GetMPTR(), taskId.GetPtr()); cemuLog_logDebug(LogType::Force, "nn_boss_Task_Initialize1(0x{:08x}, {})", thisptr.GetMPTR(), taskId.GetPtr());
const Result result = Initialize(thisptr.GetPtr(), taskId.GetPtr()); const Result result = Initialize(thisptr.GetPtr(), taskId.GetPtr());
osLib_returnFromFunction(hCPU, result); osLib_returnFromFunction(hCPU, result);
} }
@ -775,7 +775,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
void export_ctor(PPCInterpreter_t* hCPU) void export_ctor(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(thisptr, Task_t, 0); ppcDefineParamMEMPTR(thisptr, Task_t, 0);
forceLogDebug_printf("nn_boss_Task_ctor(0x%08x)", thisptr.GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_Task_ctor(0x{:08x})", thisptr.GetMPTR());
ctor(thisptr.GetPtr()); ctor(thisptr.GetPtr());
osLib_returnFromFunction(hCPU, thisptr.GetMPTR()); osLib_returnFromFunction(hCPU, thisptr.GetMPTR());
} }
@ -784,11 +784,11 @@ bossBufferVector->buffer = (uint8*)bossRequest;
{ {
ppcDefineParamMEMPTR(thisptr, Task_t, 0); ppcDefineParamMEMPTR(thisptr, Task_t, 0);
ppcDefineParamU8(isForegroundRun, 1); ppcDefineParamU8(isForegroundRun, 1);
forceLogDebug_printf("nn_boss_Task_Run(0x%08x, %d)", thisptr.GetMPTR(), isForegroundRun); cemuLog_logDebug(LogType::Force, "nn_boss_Task_Run(0x{:08x}, {})", thisptr.GetMPTR(), isForegroundRun);
if (isForegroundRun != 0) if (isForegroundRun != 0)
{ {
//peterBreak(); //peterBreak();
forceLogDebug_printf("export_Run foreground run"); cemuLog_logDebug(LogType::Force, "export_Run foreground run");
} }
bossPrepareRequest(); bossPrepareRequest();
@ -807,7 +807,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
{ {
ppcDefineParamMEMPTR(thisptr, Task_t, 0); ppcDefineParamMEMPTR(thisptr, Task_t, 0);
ppcDefineParamU8(executeImmediately, 1); ppcDefineParamU8(executeImmediately, 1);
forceLogDebug_printf("nn_boss_Task_StartScheduling(0x%08x, %d)", thisptr.GetMPTR(), executeImmediately); cemuLog_logDebug(LogType::Force, "nn_boss_Task_StartScheduling(0x{:08x}, {})", thisptr.GetMPTR(), executeImmediately);
bossPrepareRequest(); bossPrepareRequest();
bossRequest->requestCode = IOSU_NN_BOSS_TASK_START_SCHEDULING; bossRequest->requestCode = IOSU_NN_BOSS_TASK_START_SCHEDULING;
@ -824,7 +824,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
void export_StopScheduling(PPCInterpreter_t* hCPU) void export_StopScheduling(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(thisptr, Task_t, 0); ppcDefineParamMEMPTR(thisptr, Task_t, 0);
forceLogDebug_printf("nn_boss_Task_StopScheduling(0x%08x)", thisptr.GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_Task_StopScheduling(0x{:08x})", thisptr.GetMPTR());
bossPrepareRequest(); bossPrepareRequest();
bossRequest->requestCode = IOSU_NN_BOSS_TASK_STOP_SCHEDULING; bossRequest->requestCode = IOSU_NN_BOSS_TASK_STOP_SCHEDULING;
@ -849,7 +849,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
__depr__IOS_Ioctlv(IOS_DEVICE_BOSS, IOSU_BOSS_REQUEST_CEMU, 1, 1, bossBufferVector); __depr__IOS_Ioctlv(IOS_DEVICE_BOSS, IOSU_BOSS_REQUEST_CEMU, 1, 1, bossBufferVector);
forceLogDebug_printf("nn_boss_Task_IsRegistered(0x%08x) -> %d", thisptr.GetMPTR(), bossRequest->returnCode); cemuLog_logDebug(LogType::Force, "nn_boss_Task_IsRegistered(0x{:08x}) -> {}", thisptr.GetMPTR(), bossRequest->returnCode);
osLib_returnFromFunction(hCPU, bossRequest->returnCode); osLib_returnFromFunction(hCPU, bossRequest->returnCode);
} }
@ -860,7 +860,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
ppcDefineParamMEMPTR(thisptr, Task_t, 0); ppcDefineParamMEMPTR(thisptr, Task_t, 0);
ppcDefineParamU32(timeout, 1); ppcDefineParamU32(timeout, 1);
ppcDefineParamU32(waitState, 2); ppcDefineParamU32(waitState, 2);
forceLogDebug_printf("nn_boss_Task_Wait(0x%08x, 0x%x, %d)", thisptr.GetMPTR(), timeout, waitState); cemuLog_logDebug(LogType::Force, "nn_boss_Task_Wait(0x{:08x}, 0x{:x}, {})", thisptr.GetMPTR(), timeout, waitState);
bossPrepareRequest(); bossPrepareRequest();
bossRequest->requestCode = IOSU_NN_BOSS_TASK_WAIT; bossRequest->requestCode = IOSU_NN_BOSS_TASK_WAIT;
@ -881,7 +881,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
// RegisterForImmediateRun__Q3_2nn4boss4TaskFRCQ3_2nn4boss11TaskSetting // RegisterForImmediateRun__Q3_2nn4boss4TaskFRCQ3_2nn4boss11TaskSetting
ppcDefineParamMEMPTR(thisptr, Task_t, 0); ppcDefineParamMEMPTR(thisptr, Task_t, 0);
ppcDefineParamMEMPTR(settings, TaskSetting_t, 1); ppcDefineParamMEMPTR(settings, TaskSetting_t, 1);
forceLogDebug_printf("nn_boss_Task_RegisterForImmediateRun(0x%08x, 0x%08x)", thisptr.GetMPTR(), settings.GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_Task_RegisterForImmediateRun(0x{:08x}, 0x{:08x})", thisptr.GetMPTR(), settings.GetMPTR());
bossPrepareRequest(); bossPrepareRequest();
bossRequest->requestCode = IOSU_NN_BOSS_TASK_REGISTER; bossRequest->requestCode = IOSU_NN_BOSS_TASK_REGISTER;
@ -900,7 +900,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
void export_Unregister(PPCInterpreter_t* hCPU) void export_Unregister(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamMEMPTR(thisptr, Task_t, 0); ppcDefineParamMEMPTR(thisptr, Task_t, 0);
forceLogDebug_printf("nn_boss_Task_Unregister(0x%08x)", thisptr.GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_Task_Unregister(0x{:08x})", thisptr.GetMPTR());
bossPrepareRequest(); bossPrepareRequest();
bossRequest->requestCode = IOSU_NN_BOSS_TASK_UNREGISTER; bossRequest->requestCode = IOSU_NN_BOSS_TASK_UNREGISTER;
@ -916,11 +916,11 @@ bossBufferVector->buffer = (uint8*)bossRequest;
{ {
ppcDefineParamMEMPTR(thisptr, Task_t, 0); ppcDefineParamMEMPTR(thisptr, Task_t, 0);
ppcDefineParamMEMPTR(settings, TaskSetting_t, 1); ppcDefineParamMEMPTR(settings, TaskSetting_t, 1);
forceLogDebug_printf("nn_boss_Task_Register(0x%08x, 0x%08x)", thisptr.GetMPTR(), settings.GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_Task_Register(0x{:08x}, 0x{:08x})", thisptr.GetMPTR(), settings.GetMPTR());
if (hCPU->gpr[4] == 0) if (hCPU->gpr[4] == 0)
{ {
forceLogDebug_printf("nn_boss_Task_Register - crash workaround (fix me)"); cemuLog_logDebug(LogType::Force, "nn_boss_Task_Register - crash workaround (fix me)");
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
return; return;
} }
@ -957,7 +957,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
if (execCount) if (execCount)
*execCount = bossRequest->u32.exec_count; *execCount = bossRequest->u32.exec_count;
forceLogDebug_printf("nn_boss_Task_GetTurnState(0x%08x, 0x%08x) -> %d", thisptr.GetMPTR(), execCount.GetMPTR(), bossRequest->u32.result); cemuLog_logDebug(LogType::Force, "nn_boss_Task_GetTurnState(0x{:08x}, 0x{:08x}) -> {}", thisptr.GetMPTR(), execCount.GetMPTR(), bossRequest->u32.result);
osLib_returnFromFunction(hCPU, bossRequest->u32.result); osLib_returnFromFunction(hCPU, bossRequest->u32.result);
//osLib_returnFromFunction(hCPU, 7); // 7 -> finished? 0x11 -> Error (Splatoon doesn't like it when we return 0x11 for Nbdl tasks) RETURN FINISHED //osLib_returnFromFunction(hCPU, 7); // 7 -> finished? 0x11 -> Error (Splatoon doesn't like it when we return 0x11 for Nbdl tasks) RETURN FINISHED
@ -979,7 +979,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
if (execCount) if (execCount)
*execCount = bossRequest->u64.exec_count; *execCount = bossRequest->u64.exec_count;
forceLogDebug_printf("nn_boss_Task_GetContentLength(0x%08x, 0x%08x) -> 0x%llx", thisptr.GetMPTR(), execCount.GetMPTR(), bossRequest->u64.result); cemuLog_logDebug(LogType::Force, "nn_boss_Task_GetContentLength(0x{:08x}, 0x{:08x}) -> 0x{:x}", thisptr.GetMPTR(), execCount.GetMPTR(), bossRequest->u64.result);
osLib_returnFromFunction64(hCPU, bossRequest->u64.result); osLib_returnFromFunction64(hCPU, bossRequest->u64.result);
} }
@ -1000,7 +1000,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
if (execCount) if (execCount)
*execCount = bossRequest->u64.exec_count; *execCount = bossRequest->u64.exec_count;
forceLogDebug_printf("nn_boss_Task_GetProcessedLength(0x%08x, 0x%08x) -> 0x%llx", thisptr.GetMPTR(), execCount.GetMPTR(), bossRequest->u64.result); cemuLog_logDebug(LogType::Force, "nn_boss_Task_GetProcessedLength(0x{:08x}, 0x{:08x}) -> 0x{:x}", thisptr.GetMPTR(), execCount.GetMPTR(), bossRequest->u64.result);
osLib_returnFromFunction64(hCPU, bossRequest->u64.result); osLib_returnFromFunction64(hCPU, bossRequest->u64.result);
} }
@ -1021,7 +1021,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
if (execCount) if (execCount)
*execCount = bossRequest->u32.exec_count; *execCount = bossRequest->u32.exec_count;
forceLogDebug_printf("nn_boss_Task_GetHttpStatusCode(0x%08x, 0x%08x) -> %d", thisptr.GetMPTR(), execCount.GetMPTR(), bossRequest->u32.result); cemuLog_logDebug(LogType::Force, "nn_boss_Task_GetHttpStatusCode(0x{:08x}, 0x{:08x}) -> {}", thisptr.GetMPTR(), execCount.GetMPTR(), bossRequest->u32.result);
osLib_returnFromFunction(hCPU, bossRequest->u32.result); osLib_returnFromFunction(hCPU, bossRequest->u32.result);
} }
@ -1112,13 +1112,13 @@ bossBufferVector->buffer = (uint8*)bossRequest;
void export_Initialize(PPCInterpreter_t* hCPU) void export_Initialize(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_boss_Initialize()"); cemuLog_logDebug(LogType::Force, "nn_boss_Initialize()");
osLib_returnFromFunction(hCPU, Initialize()); osLib_returnFromFunction(hCPU, Initialize());
} }
void export_GetBossState(PPCInterpreter_t* hCPU) void export_GetBossState(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_boss.GetBossState() - stub"); cemuLog_logDebug(LogType::Force, "nn_boss.GetBossState() - stub");
osLib_returnFromFunction(hCPU, 7); osLib_returnFromFunction(hCPU, 7);
} }
@ -1155,7 +1155,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
bossStorage_t* ctor(bossStorage_t* thisptr) bossStorage_t* ctor(bossStorage_t* thisptr)
{ {
forceLogDebug_printf("nn_boss_Storage_ctor(0x%x)", MEMPTR(thisptr).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_Storage_ctor(0x{:x})", MEMPTR(thisptr).GetMPTR());
if (!thisptr) if (!thisptr)
{ {
// thisptr = new RawDlTaskSetting_t // thisptr = new RawDlTaskSetting_t
@ -1183,7 +1183,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
if (!dirName) if (!dirName)
return 0xC0203780; return 0xC0203780;
forceLogDebug_printf("boss::Storage::Initialize(%s, 0x%08x, %d)", dirName, accountId, type); cemuLog_logDebug(LogType::Force, "boss::Storage::Initialize({}, 0x{:08x}, {})", dirName, accountId, type);
thisptr->storageKind = type; thisptr->storageKind = type;
thisptr->titleId.u64 = 0; thisptr->titleId.u64 = 0;
@ -1215,7 +1215,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
{ {
AlmightyStorage_t* ctor(AlmightyStorage_t* thisptr) AlmightyStorage_t* ctor(AlmightyStorage_t* thisptr)
{ {
forceLogDebug_printf("nn_boss_AlmightyStorage_ctor(0x%x)", MEMPTR(thisptr).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_AlmightyStorage_ctor(0x{:x})", MEMPTR(thisptr).GetMPTR());
if (!thisptr) if (!thisptr)
{ {
// thisptr = new RawDlTaskSetting_t // thisptr = new RawDlTaskSetting_t
@ -1233,7 +1233,7 @@ bossBufferVector->buffer = (uint8*)bossRequest;
uint32 Initialize(AlmightyStorage_t* thisptr, TitleId_t* titleId, const char* storageName, uint32 accountId, StorageKind storageKind) uint32 Initialize(AlmightyStorage_t* thisptr, TitleId_t* titleId, const char* storageName, uint32 accountId, StorageKind storageKind)
{ {
forceLogDebug_printf("nn_boss_AlmightyStorage_Initialize(0x%x)", MEMPTR(thisptr).GetMPTR()); cemuLog_logDebug(LogType::Force, "nn_boss_AlmightyStorage_Initialize(0x{:x})", MEMPTR(thisptr).GetMPTR());
if (!thisptr) if (!thisptr)
return 0xc0203780; return 0xc0203780;
@ -1288,7 +1288,7 @@ void nnBossDataNameExport_opPCc(PPCInterpreter_t* hCPU)
void nnBossStorageExport_ct(PPCInterpreter_t* hCPU) void nnBossStorageExport_ct(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamStructPtr(storage, nn::boss::Storage::bossStorage_t, 0); ppcDefineParamStructPtr(storage, nn::boss::Storage::bossStorage_t, 0);
forceLogDebug_printf("Constructor for boss storage called"); cemuLog_logDebug(LogType::Force, "Constructor for boss storage called");
// todo // todo
memset(storage, 0, sizeof(nn::boss::Storage::bossStorage_t)); memset(storage, 0, sizeof(nn::boss::Storage::bossStorage_t));
osLib_returnFromFunction(hCPU, memory_getVirtualOffsetFromPointer(storage)); osLib_returnFromFunction(hCPU, memory_getVirtualOffsetFromPointer(storage));
@ -1297,7 +1297,7 @@ void nnBossStorageExport_ct(PPCInterpreter_t* hCPU)
void nnBossStorageExport_exist(PPCInterpreter_t* hCPU) void nnBossStorageExport_exist(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamStructPtr(storage, nn::boss::Storage::bossStorage_t, 0); ppcDefineParamStructPtr(storage, nn::boss::Storage::bossStorage_t, 0);
forceLogDebug_printf("nn_boss.Storage_Exist(...) TODO"); cemuLog_logDebug(LogType::Force, "nn_boss.Storage_Exist(...) TODO");
// todo // todo
osLib_returnFromFunction(hCPU, 1); osLib_returnFromFunction(hCPU, 1);
@ -1374,7 +1374,7 @@ void nnBossStorageExport_getDataList(PPCInterpreter_t* hCPU)
ppcDefineParamStructPtr(dataList, bossDataName_t, 1); ppcDefineParamStructPtr(dataList, bossDataName_t, 1);
ppcDefineParamS32(maxEntries, 2); ppcDefineParamS32(maxEntries, 2);
ppcDefineParamU32BEPtr(outputEntryCount, 3); ppcDefineParamU32BEPtr(outputEntryCount, 3);
forceLogDebug_printf("boss storage getDataList()"); cemuLog_logDebug(LogType::Force, "boss storage getDataList()");
// initialize titleId of storage if not already done // initialize titleId of storage if not already done
nnBossStorage_prepareTitleId(storage); nnBossStorage_prepareTitleId(storage);
@ -1417,7 +1417,7 @@ typedef struct
void nnBossNsDataExport_ct(PPCInterpreter_t* hCPU) void nnBossNsDataExport_ct(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nnBossNsDataExport_ct"); cemuLog_logDebug(LogType::Force, "nnBossNsDataExport_ct");
ppcDefineParamStructPtr(nsData, nsData_t, 0); ppcDefineParamStructPtr(nsData, nsData_t, 0);
if (!nsData) if (!nsData)
assert_dbg(); assert_dbg();
@ -1468,7 +1468,7 @@ void nnBossNsDataExport_initialize(PPCInterpreter_t* hCPU)
nsData->readIndex = 0; nsData->readIndex = 0;
forceLogDebug_printf("nnBossNsDataExport_initialize: %s", nsData->name); cemuLog_logDebug(LogType::Force, "nnBossNsDataExport_initialize: {}", nsData->name);
osLib_returnFromFunction(hCPU, 0x200080); osLib_returnFromFunction(hCPU, 0x200080);
} }
@ -1492,7 +1492,7 @@ std::string nnBossNsDataExport_GetPath(nsData_t* nsData)
void nnBossNsDataExport_DeleteRealFileWithHistory(PPCInterpreter_t* hCPU) void nnBossNsDataExport_DeleteRealFileWithHistory(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamStructPtr(nsData, nsData_t, 0); ppcDefineParamStructPtr(nsData, nsData_t, 0);
forceLogDebug_printf("nn_boss.NsData_DeleteRealFileWithHistory(...)"); cemuLog_logDebug(LogType::Force, "nn_boss.NsData_DeleteRealFileWithHistory(...)");
if (nsData->storage.storageKind == nn::boss::kStorageKind_NBDL) if (nsData->storage.storageKind == nn::boss::kStorageKind_NBDL)
{ {
@ -1512,7 +1512,7 @@ void nnBossNsDataExport_DeleteRealFileWithHistory(PPCInterpreter_t* hCPU)
void nnBossNsDataExport_Exist(PPCInterpreter_t* hCPU) void nnBossNsDataExport_Exist(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_boss.NsData_Exist(...)"); cemuLog_logDebug(LogType::Force, "nn_boss.NsData_Exist(...)");
ppcDefineParamStructPtr(nsData, nsData_t, 0); ppcDefineParamStructPtr(nsData, nsData_t, 0);
bool fileExists = false; bool fileExists = false;
@ -1523,7 +1523,7 @@ void nnBossNsDataExport_Exist(PPCInterpreter_t* hCPU)
if (fadTable) if (fadTable)
{ {
fileExists = nnBossStorageFad_getIndexByName(fadTable, nsData->name) >= 0; fileExists = nnBossStorageFad_getIndexByName(fadTable, nsData->name) >= 0;
forceLogDebug_printf("\t(%s) -> %d", nsData->name, fileExists); cemuLog_logDebug(LogType::Force, "\t({}) -> {}", nsData->name, fileExists);
free(fadTable); free(fadTable);
} }
} }
@ -1674,7 +1674,7 @@ void nnBossNsDataExport_read(PPCInterpreter_t* hCPU)
ppcDefineParamStr(buffer, 1); ppcDefineParamStr(buffer, 1);
ppcDefineParamS32(length, 2); ppcDefineParamS32(length, 2);
forceLogDebug_printf("nsData read LR %08x (filename %s)", hCPU->spr.LR, nsData->name); cemuLog_logDebug(LogType::Force, "nsData read (filename {})", nsData->name);
uint32 r = nnBossNsData_read(nsData, nullptr, buffer, length); uint32 r = nnBossNsData_read(nsData, nullptr, buffer, length);
@ -1689,7 +1689,7 @@ void nnBossNsDataExport_readWithSizeOut(PPCInterpreter_t* hCPU)
ppcDefineParamS32(length, 3); ppcDefineParamS32(length, 3);
uint32 r = nnBossNsData_read(nsData, sizeOut, buffer, length); uint32 r = nnBossNsData_read(nsData, sizeOut, buffer, length);
forceLogDebug_printf("nsData readWithSizeOut LR %08x (filename %s length 0x%x) Result: %d Sizeout: %llx", hCPU->spr.LR, nsData->name, length, r, _swapEndianU64(*sizeOut)); cemuLog_logDebug(LogType::Force, "nsData readWithSizeOut (filename {} length 0x{:x}) Result: {} Sizeout: {:x}", nsData->name, length, r, _swapEndianU64(*sizeOut));
osLib_returnFromFunction(hCPU, r); osLib_returnFromFunction(hCPU, r);
} }
@ -1702,7 +1702,7 @@ void nnBossNsDataExport_seek(PPCInterpreter_t* hCPU)
uint32 r = nnBossNsData_seek(nsData, seekPos, mode); uint32 r = nnBossNsData_seek(nsData, seekPos, mode);
forceLogDebug_printf("nsData seek LR %08x (filename %s seek 0x%x) Result: %d", hCPU->spr.LR, nsData->name, (uint32)seekPos, r); cemuLog_logDebug(LogType::Force, "nsData seek (filename {} seek 0x{:x}) Result: {}", nsData->name, (uint32)seekPos, r);
osLib_returnFromFunction(hCPU, r); osLib_returnFromFunction(hCPU, r);
} }

View File

@ -5,7 +5,7 @@ namespace nn::ccr
{ {
sint32 CCRSysCaffeineBootCheck() sint32 CCRSysCaffeineBootCheck()
{ {
forceLogDebug_printf("CCRSysCaffeineBootCheck()"); cemuLog_logDebug(LogType::Force, "CCRSysCaffeineBootCheck()");
return -1; return -1;
} }

View File

@ -5,7 +5,7 @@ namespace nn::cmpt
{ {
uint32 CMPTAcctGetPcConf(uint32be* pcConf) uint32 CMPTAcctGetPcConf(uint32be* pcConf)
{ {
forceLogDebug_printf("CMPTAcctGetPcConf() - todo"); cemuLog_logDebug(LogType::Force, "CMPTAcctGetPcConf() - todo");
pcConf[0] = 0; pcConf[0] = 0;
pcConf[1] = 0; pcConf[1] = 0;
pcConf[2] = 0; pcConf[2] = 0;

View File

@ -40,13 +40,13 @@ namespace nn
void export_IsInitialized(PPCInterpreter_t* hCPU) void export_IsInitialized(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("Called nn_fp.IsInitialized LR %08x", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "Called nn_fp.IsInitialized");
osLib_returnFromFunction(hCPU, g_fp.isInitialized ? 1 : 0); osLib_returnFromFunction(hCPU, g_fp.isInitialized ? 1 : 0);
} }
void export_Initialize(PPCInterpreter_t* hCPU) void export_Initialize(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("Called nn_fp.Initialize LR %08x", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "Called nn_fp.Initialize");
Initialize(); Initialize();
@ -55,7 +55,7 @@ namespace nn
void export_InitializeAdmin(PPCInterpreter_t* hCPU) void export_InitializeAdmin(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("Called nn_fp.InitializeAdmin LR %08x", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "Called nn_fp.InitializeAdmin");
Initialize(); Initialize();
g_fp.isAdminMode = true; g_fp.isAdminMode = true;
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
@ -63,7 +63,7 @@ namespace nn
void export_IsInitializedAdmin(PPCInterpreter_t* hCPU) void export_IsInitializedAdmin(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.IsInitializedAdmin()"); cemuLog_logDebug(LogType::Force, "nn_fp.IsInitializedAdmin()");
osLib_returnFromFunction(hCPU, g_fp.isInitialized ? 1 : 0); osLib_returnFromFunction(hCPU, g_fp.isInitialized ? 1 : 0);
} }
@ -73,7 +73,7 @@ namespace nn
ppcDefineParamMPTR(funcMPTR, 1); ppcDefineParamMPTR(funcMPTR, 1);
ppcDefineParamMPTR(customParam, 2); ppcDefineParamMPTR(customParam, 2);
forceLogDebug_printf("nn_fp.SetNotificationHandler(0x%08x,0x%08x,0x%08x)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]); cemuLog_logDebug(LogType::Force, "nn_fp.SetNotificationHandler(0x{:08x},0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]);
fpdPrepareRequest(); fpdPrepareRequest();
fpdRequest->requestCode = iosu::fpd::IOSU_FPD_SET_NOTIFICATION_HANDLER; fpdRequest->requestCode = iosu::fpd::IOSU_FPD_SET_NOTIFICATION_HANDLER;
@ -89,7 +89,7 @@ namespace nn
{ {
ppcDefineParamMPTR(funcPtr, 0); ppcDefineParamMPTR(funcPtr, 0);
ppcDefineParamMPTR(custom, 1); ppcDefineParamMPTR(custom, 1);
forceLogDebug_printf("nn_fp.LoginAsync(0x%08x,0x%08x)", funcPtr, custom); cemuLog_logDebug(LogType::Force, "nn_fp.LoginAsync(0x{:08x},0x{:08x})", funcPtr, custom);
if (g_fp.isInitialized == false) if (g_fp.isInitialized == false)
{ {
osLib_returnFromFunction(hCPU, 0xC0C00580); osLib_returnFromFunction(hCPU, 0xC0C00580);
@ -106,17 +106,17 @@ namespace nn
void export_HasLoggedIn(PPCInterpreter_t* hCPU) void export_HasLoggedIn(PPCInterpreter_t* hCPU)
{ {
// Sonic All Star Racing needs this // Sonic All Star Racing needs this
forceLogDebug_printf("nn_fp.HasLoggedIn()"); cemuLog_logDebug(LogType::Force, "nn_fp.HasLoggedIn()");
osLib_returnFromFunction(hCPU, 1); osLib_returnFromFunction(hCPU, 1);
} }
void export_IsOnline(PPCInterpreter_t* hCPU) void export_IsOnline(PPCInterpreter_t* hCPU)
{ {
//forceLogDebug_printf("nn_fp.IsOnline();\n"); //cemuLog_logDebug(LogType::Force, "nn_fp.IsOnline();");
fpdPrepareRequest(); fpdPrepareRequest();
fpdRequest->requestCode = iosu::fpd::IOSU_FPD_IS_ONLINE; fpdRequest->requestCode = iosu::fpd::IOSU_FPD_IS_ONLINE;
__depr__IOS_Ioctlv(IOS_DEVICE_FPD, IOSU_FPD_REQUEST_CEMU, 1, 1, fpdBufferVector); __depr__IOS_Ioctlv(IOS_DEVICE_FPD, IOSU_FPD_REQUEST_CEMU, 1, 1, fpdBufferVector);
forceLogDebug_printf("nn_fp.IsOnline() -> %d", fpdRequest->resultU32.u32); cemuLog_logDebug(LogType::Force, "nn_fp.IsOnline() -> {}", fpdRequest->resultU32.u32);
osLib_returnFromFunction(hCPU, fpdRequest->resultU32.u32); osLib_returnFromFunction(hCPU, fpdRequest->resultU32.u32);
} }
@ -128,7 +128,7 @@ namespace nn
ppcDefineParamU32(startIndex, 2); ppcDefineParamU32(startIndex, 2);
ppcDefineParamU32(maxCount, 3); ppcDefineParamU32(maxCount, 3);
forceLogDebug_printf("nn_fp.GetFriendList(...)"); cemuLog_logDebug(LogType::Force, "nn_fp.GetFriendList(...)");
//debug_printf("nn_fp.GetFriendList(0x%08x, 0x%08x, %d, %d)\n", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6]); //debug_printf("nn_fp.GetFriendList(0x%08x, 0x%08x, %d, %d)\n", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6]);
fpdPrepareRequest(); fpdPrepareRequest();
fpdRequest->requestCode = iosu::fpd::IOSU_FPD_GET_FRIEND_LIST; fpdRequest->requestCode = iosu::fpd::IOSU_FPD_GET_FRIEND_LIST;
@ -152,7 +152,7 @@ namespace nn
ppcDefineParamU32(startIndex, 2); ppcDefineParamU32(startIndex, 2);
ppcDefineParamU32(maxCount, 3); ppcDefineParamU32(maxCount, 3);
forceLogDebug_printf("nn_fp.GetFriendRequestList(...)"); cemuLog_logDebug(LogType::Force, "nn_fp.GetFriendRequestList(...)");
//debug_printf("nn_fp.GetFriendList(0x%08x, 0x%08x, %d, %d)\n", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6]); //debug_printf("nn_fp.GetFriendList(0x%08x, 0x%08x, %d, %d)\n", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6]);
fpdPrepareRequest(); fpdPrepareRequest();
fpdRequest->requestCode = iosu::fpd::IOSU_FPD_GET_FRIENDREQUEST_LIST; fpdRequest->requestCode = iosu::fpd::IOSU_FPD_GET_FRIENDREQUEST_LIST;
@ -175,7 +175,7 @@ namespace nn
ppcDefineParamU32(startIndex, 2); ppcDefineParamU32(startIndex, 2);
ppcDefineParamU32(maxCount, 3); ppcDefineParamU32(maxCount, 3);
forceLogDebug_printf("nn_fp.GetFriendListAll(...)"); cemuLog_logDebug(LogType::Force, "nn_fp.GetFriendListAll(...)");
//debug_printf("nn_fp.GetFriendListAll(0x%08x, 0x%08x, %d, %d)\n", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6]); //debug_printf("nn_fp.GetFriendListAll(0x%08x, 0x%08x, %d, %d)\n", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6]);
fpdPrepareRequest(); fpdPrepareRequest();
@ -198,7 +198,7 @@ namespace nn
ppcDefineParamMEMPTR(pidList, uint32be, 1); ppcDefineParamMEMPTR(pidList, uint32be, 1);
ppcDefineParamU32(count, 2); ppcDefineParamU32(count, 2);
forceLogDebug_printf("nn_fp.GetFriendListEx(...)"); cemuLog_logDebug(LogType::Force, "nn_fp.GetFriendListEx(...)");
fpdPrepareRequest(); fpdPrepareRequest();
fpdRequest->requestCode = iosu::fpd::IOSU_FPD_GET_FRIEND_LIST_EX; fpdRequest->requestCode = iosu::fpd::IOSU_FPD_GET_FRIEND_LIST_EX;
@ -218,7 +218,7 @@ namespace nn
ppcDefineParamMEMPTR(pidList, uint32be, 1); ppcDefineParamMEMPTR(pidList, uint32be, 1);
ppcDefineParamU32(count, 2); ppcDefineParamU32(count, 2);
forceLogDebug_printf("nn_fp.GetFriendRequestListEx(...)"); cemuLog_logDebug(LogType::Force, "nn_fp.GetFriendRequestListEx(...)");
fpdPrepareRequest(); fpdPrepareRequest();
fpdRequest->requestCode = iosu::fpd::IOSU_FPD_GET_FRIENDREQUEST_LIST_EX; fpdRequest->requestCode = iosu::fpd::IOSU_FPD_GET_FRIENDREQUEST_LIST_EX;
@ -254,7 +254,7 @@ namespace nn
void export_GetMyPrincipalId(PPCInterpreter_t* hCPU) void export_GetMyPrincipalId(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.GetMyPrincipalId()"); cemuLog_logDebug(LogType::Force, "nn_fp.GetMyPrincipalId()");
fpdPrepareRequest(); fpdPrepareRequest();
fpdRequest->requestCode = iosu::fpd::IOSU_FPD_GET_MY_PRINCIPAL_ID; fpdRequest->requestCode = iosu::fpd::IOSU_FPD_GET_MY_PRINCIPAL_ID;
@ -267,7 +267,7 @@ namespace nn
void export_GetMyAccountId(PPCInterpreter_t* hCPU) void export_GetMyAccountId(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.GetMyAccountId(0x%08x)", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "nn_fp.GetMyAccountId(0x{:08x})", hCPU->gpr[3]);
ppcDefineParamTypePtr(accountId, uint8, 0); ppcDefineParamTypePtr(accountId, uint8, 0);
fpdPrepareRequest(); fpdPrepareRequest();
@ -280,7 +280,7 @@ namespace nn
void export_GetMyScreenName(PPCInterpreter_t* hCPU) void export_GetMyScreenName(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.GetMyScreenName(0x%08x)", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "nn_fp.GetMyScreenName(0x{:08x})", hCPU->gpr[3]);
ppcDefineParamTypePtr(screenname, uint16be, 0); ppcDefineParamTypePtr(screenname, uint16be, 0);
screenname[0] = '\0'; screenname[0] = '\0';
@ -301,7 +301,7 @@ namespace nn
void export_GetMyPreference(PPCInterpreter_t* hCPU) void export_GetMyPreference(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.GetMyPreference(0x%08x) - placeholder", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "nn_fp.GetMyPreference(0x{:08x}) - placeholder", hCPU->gpr[3]);
ppcDefineParamTypePtr(pref, fpPerference_t, 0); ppcDefineParamTypePtr(pref, fpPerference_t, 0);
pref->showOnline = 1; pref->showOnline = 1;
@ -315,7 +315,7 @@ namespace nn
void export_GetMyMii(PPCInterpreter_t* hCPU) void export_GetMyMii(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.GetMyMii(0x%08x)", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "nn_fp.GetMyMii(0x{:08x})", hCPU->gpr[3]);
ppcDefineParamTypePtr(fflData, FFLData_t, 0); ppcDefineParamTypePtr(fflData, FFLData_t, 0);
fpdPrepareRequest(); fpdPrepareRequest();
@ -328,7 +328,7 @@ namespace nn
void export_GetFriendAccountId(PPCInterpreter_t* hCPU) void export_GetFriendAccountId(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.GetFriendAccountId(0x%08x,0x%08x,0x%08x)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]); cemuLog_logDebug(LogType::Force, "nn_fp.GetFriendAccountId(0x{:08x},0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]);
ppcDefineParamMEMPTR(accountIds, char, 0); ppcDefineParamMEMPTR(accountIds, char, 0);
ppcDefineParamMEMPTR(pidList, uint32be, 1); ppcDefineParamMEMPTR(pidList, uint32be, 1);
ppcDefineParamU32(count, 2); ppcDefineParamU32(count, 2);
@ -346,7 +346,7 @@ namespace nn
void export_GetFriendScreenName(PPCInterpreter_t* hCPU) void export_GetFriendScreenName(PPCInterpreter_t* hCPU)
{ {
// GetFriendScreenName__Q2_2nn2fpFPA11_wPCUiUibPUc // GetFriendScreenName__Q2_2nn2fpFPA11_wPCUiUibPUc
forceLogDebug_printf("nn_fp.GetFriendScreenName(0x%08x,0x%08x,0x%08x,%d,0x%08x)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6], hCPU->gpr[7]); cemuLog_logDebug(LogType::Force, "nn_fp.GetFriendScreenName(0x{:08x},0x{:08x},0x{:08x},{},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6], hCPU->gpr[7]);
ppcDefineParamMEMPTR(nameList, uint16be, 0); ppcDefineParamMEMPTR(nameList, uint16be, 0);
ppcDefineParamMEMPTR(pidList, uint32be, 1); ppcDefineParamMEMPTR(pidList, uint32be, 1);
ppcDefineParamU32(count, 2); ppcDefineParamU32(count, 2);
@ -367,7 +367,7 @@ namespace nn
void export_GetFriendMii(PPCInterpreter_t* hCPU) void export_GetFriendMii(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.GetFriendMii(0x%08x,0x%08x,0x%08x)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]); cemuLog_logDebug(LogType::Force, "nn_fp.GetFriendMii(0x{:08x},0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]);
ppcDefineParamMEMPTR(miiList, FFLData_t, 0); ppcDefineParamMEMPTR(miiList, FFLData_t, 0);
ppcDefineParamMEMPTR(pidList, uint32be, 1); ppcDefineParamMEMPTR(pidList, uint32be, 1);
ppcDefineParamU32(count, 2); ppcDefineParamU32(count, 2);
@ -384,7 +384,7 @@ namespace nn
void export_GetFriendPresence(PPCInterpreter_t* hCPU) void export_GetFriendPresence(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.GetFriendPresence(0x%08x,0x%08x,0x%08x)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]); cemuLog_logDebug(LogType::Force, "nn_fp.GetFriendPresence(0x{:08x},0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]);
ppcDefineParamMEMPTR(presenceList, uint8, 0); ppcDefineParamMEMPTR(presenceList, uint8, 0);
ppcDefineParamMEMPTR(pidList, uint32be, 1); ppcDefineParamMEMPTR(pidList, uint32be, 1);
ppcDefineParamU32(count, 2); ppcDefineParamU32(count, 2);
@ -401,7 +401,7 @@ namespace nn
void export_GetFriendRelationship(PPCInterpreter_t* hCPU) void export_GetFriendRelationship(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.GetFriendRelationship(0x%08x,0x%08x,0x%08x)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]); cemuLog_logDebug(LogType::Force, "nn_fp.GetFriendRelationship(0x{:08x},0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]);
ppcDefineParamMEMPTR(relationshipList, uint8, 0); ppcDefineParamMEMPTR(relationshipList, uint8, 0);
ppcDefineParamMEMPTR(pidList, uint32be, 1); ppcDefineParamMEMPTR(pidList, uint32be, 1);
ppcDefineParamU32(count, 2); ppcDefineParamU32(count, 2);
@ -481,7 +481,7 @@ namespace nn
void export_CheckSettingStatusAsync(PPCInterpreter_t* hCPU) void export_CheckSettingStatusAsync(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.CheckSettingStatusAsync(0x%08x,0x%08x,0x%08x) - placeholder", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]); cemuLog_logDebug(LogType::Force, "nn_fp.CheckSettingStatusAsync(0x{:08x},0x{:08x},0x{:08x}) - placeholder", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]);
ppcDefineParamTypePtr(uknR3, uint8, 0); ppcDefineParamTypePtr(uknR3, uint8, 0);
ppcDefineParamMPTR(funcMPTR, 1); ppcDefineParamMPTR(funcMPTR, 1);
ppcDefineParamU32(customParam, 2); ppcDefineParamU32(customParam, 2);
@ -508,7 +508,7 @@ namespace nn
void export_IsPreferenceValid(PPCInterpreter_t* hCPU) void export_IsPreferenceValid(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.IsPreferenceValid()"); cemuLog_logDebug(LogType::Force, "nn_fp.IsPreferenceValid()");
fpdPrepareRequest(); fpdPrepareRequest();
fpdRequest->requestCode = iosu::fpd::IOSU_FPD_IS_PREFERENCE_VALID; fpdRequest->requestCode = iosu::fpd::IOSU_FPD_IS_PREFERENCE_VALID;
__depr__IOS_Ioctlv(IOS_DEVICE_FPD, IOSU_FPD_REQUEST_CEMU, 1, 1, fpdBufferVector); __depr__IOS_Ioctlv(IOS_DEVICE_FPD, IOSU_FPD_REQUEST_CEMU, 1, 1, fpdBufferVector);
@ -518,7 +518,7 @@ namespace nn
void export_UpdatePreferenceAsync(PPCInterpreter_t* hCPU) void export_UpdatePreferenceAsync(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.UpdatePreferenceAsync(0x%08x,0x%08x,0x%08x) - placeholder", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]); cemuLog_logDebug(LogType::Force, "nn_fp.UpdatePreferenceAsync(0x{:08x},0x{:08x},0x{:08x}) - placeholder", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]);
ppcDefineParamTypePtr(uknR3, uint8, 0); ppcDefineParamTypePtr(uknR3, uint8, 0);
ppcDefineParamMPTR(funcMPTR, 1); ppcDefineParamMPTR(funcMPTR, 1);
ppcDefineParamU32(customParam, 2); ppcDefineParamU32(customParam, 2);
@ -545,7 +545,7 @@ namespace nn
void export_UpdateGameMode(PPCInterpreter_t* hCPU) void export_UpdateGameMode(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.UpdateGameMode(0x%08x,0x%08x,%d)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]); cemuLog_logDebug(LogType::Force, "nn_fp.UpdateGameMode(0x{:08x},0x{:08x},{})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]);
ppcDefineParamMEMPTR(gameMode, iosu::fpd::gameMode_t, 0); ppcDefineParamMEMPTR(gameMode, iosu::fpd::gameMode_t, 0);
ppcDefineParamMEMPTR(gameModeMessage, uint16be, 1); ppcDefineParamMEMPTR(gameModeMessage, uint16be, 1);
ppcDefineParamU32(uknR5, 2); ppcDefineParamU32(uknR5, 2);
@ -567,7 +567,7 @@ namespace nn
ppcDefineParamMPTR(funcMPTR, 3); ppcDefineParamMPTR(funcMPTR, 3);
ppcDefineParamMPTR(customParam, 4); ppcDefineParamMPTR(customParam, 4);
forceLogDebug_printf("GetRequestBlockSettingAsync(...) - todo"); cemuLog_logDebug(LogType::Force, "GetRequestBlockSettingAsync(...) - todo");
for (uint32 i = 0; i < pidCount; i++) for (uint32 i = 0; i < pidCount; i++)
settingList[i] = 0; settingList[i] = 0;
@ -608,7 +608,7 @@ namespace nn
void export_DeleteFriendFlagsAsync(PPCInterpreter_t* hCPU) void export_DeleteFriendFlagsAsync(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("nn_fp.DeleteFriendFlagsAsync(...) - todo"); cemuLog_logDebug(LogType::Force, "nn_fp.DeleteFriendFlagsAsync(...) - todo");
ppcDefineParamU32(uknR3, 0); // example value: pointer ppcDefineParamU32(uknR3, 0); // example value: pointer
ppcDefineParamU32(uknR4, 1); // example value: 1 ppcDefineParamU32(uknR4, 1); // example value: 1
ppcDefineParamU32(uknR5, 2); // example value: 1 ppcDefineParamU32(uknR5, 2); // example value: 1

View File

@ -108,7 +108,7 @@ namespace nn
SHA256((const unsigned char*)iconOutput, sizeof(nnIdbeIconDataV0_t), calculatedSHA256); SHA256((const unsigned char*)iconOutput, sizeof(nnIdbeIconDataV0_t), calculatedSHA256);
if (memcmp(calculatedSHA256, decryptedSHA256, SHA256_DIGEST_LENGTH) != 0) if (memcmp(calculatedSHA256, decryptedSHA256, SHA256_DIGEST_LENGTH) != 0)
{ {
forceLogDebug_printf("Idbe icon has incorrect sha256 hash"); cemuLog_logDebug(LogType::Force, "Idbe icon has incorrect sha256 hash");
return false; return false;
} }
return true; return true;
@ -141,14 +141,14 @@ namespace nn
ppcDefineParamTypePtr(input, nnIdbeEncryptedIcon_t, 1); ppcDefineParamTypePtr(input, nnIdbeEncryptedIcon_t, 1);
ppcDefineParamU32(platformMode, 2); ppcDefineParamU32(platformMode, 2);
forceLogDebug_printf("nn_idbe.DecryptIconFile(...)"); cemuLog_logDebug(LogType::Force, "nn_idbe.DecryptIconFile(...)");
if (decryptIcon(input, output)) if (decryptIcon(input, output))
{ {
osLib_returnFromFunction(hCPU, 1); osLib_returnFromFunction(hCPU, 1);
return; return;
} }
forceLogDebug_printf("Unable to decrypt idbe icon file, using default icon"); cemuLog_logDebug(LogType::Force, "Unable to decrypt idbe icon file, using default icon");
// return default icon // return default icon
TGAHeader* tgaHeader = (TGAHeader*)(output->GetTGAData()); TGAHeader* tgaHeader = (TGAHeader*)(output->GetTGAData());

View File

@ -10,7 +10,7 @@ namespace nn
// parameters: // parameters:
// r3 pointer to status integer (out) // r3 pointer to status integer (out)
// r4 daemon name (integer) // r4 daemon name (integer)
forceLogDebug_printf("nn_ndm.GetDaemonStatus(...) - hack\n"); cemuLog_logDebug(LogType::Force, "nn_ndm.GetDaemonStatus(...) - hack");
// status codes: // status codes:
// 1 - running? Download Manager (scope.rpx) expects this to return 1 (or zero). Otherwise it will display downloads as disabled // 1 - running? Download Manager (scope.rpx) expects this to return 1 (or zero). Otherwise it will display downloads as disabled
memory_writeU32(hCPU->gpr[3], 1); memory_writeU32(hCPU->gpr[3], 1);

View File

@ -453,7 +453,7 @@ void nnNfpExport_GetNfpCommonInfo(PPCInterpreter_t* hCPU)
assert_dbg(); assert_dbg();
memset(commonInfo, 0x00, sizeof(nfpCommonData_t)); memset(commonInfo, 0x00, sizeof(nfpCommonData_t));
forceLogDebug_printf("GetNfpCommonInfo(0x%08x)"); cemuLog_logDebug(LogType::Force, "GetNfpCommonInfo(0x{:08x})");
commonInfo->writeCount[0] = nfp_data.amiiboNFCData.writeCounter[0]; commonInfo->writeCount[0] = nfp_data.amiiboNFCData.writeCounter[0];
commonInfo->writeCount[1] = nfp_data.amiiboNFCData.writeCounter[1]; commonInfo->writeCount[1] = nfp_data.amiiboNFCData.writeCounter[1];

View File

@ -19,7 +19,7 @@ namespace nn
void export_NeedsNetworkUpdate(PPCInterpreter_t* hCPU) void export_NeedsNetworkUpdate(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("NeedsNetworkUpdate() - placeholder"); cemuLog_logDebug(LogType::Force, "NeedsNetworkUpdate() - placeholder");
ppcDefineParamTypePtr(needsUpdate, uint8, 0); ppcDefineParamTypePtr(needsUpdate, uint8, 0);
*needsUpdate = 0; *needsUpdate = 0;
@ -40,7 +40,7 @@ namespace nn
void export_GetUpdatePackageProgress(PPCInterpreter_t* hCPU) void export_GetUpdatePackageProgress(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("GetUpdatePackageProgress() - placeholder"); cemuLog_logDebug(LogType::Force, "GetUpdatePackageProgress() - placeholder");
ppcDefineParamTypePtr(updatePackageProgress, updatePackageProgress_t, 0); ppcDefineParamTypePtr(updatePackageProgress, updatePackageProgress_t, 0);
// status of system update download // status of system update download
// values are unknown // values are unknown
@ -53,7 +53,7 @@ namespace nn
void export_NeedsNotifyToUsers(PPCInterpreter_t* hCPU) void export_NeedsNotifyToUsers(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("NeedsNotifyToUsers() - placeholder"); cemuLog_logDebug(LogType::Force, "NeedsNotifyToUsers() - placeholder");
ppcDefineParamTypePtr(updatePackageProgress, updatePackageProgress_t, 0); ppcDefineParamTypePtr(updatePackageProgress, updatePackageProgress_t, 0);
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
@ -61,7 +61,7 @@ namespace nn
void export_GetNumTitlePackages(PPCInterpreter_t* hCPU) void export_GetNumTitlePackages(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("GetNumTitlePackages() - placeholder"); cemuLog_logDebug(LogType::Force, "GetNumTitlePackages() - placeholder");
nimPrepareRequest(); nimPrepareRequest();
@ -79,7 +79,7 @@ namespace nn
void export_ListTitlePackagesStatically(PPCInterpreter_t* hCPU) void export_ListTitlePackagesStatically(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("ListTitlePackagesStatically() - placeholder"); cemuLog_logDebug(LogType::Force, "ListTitlePackagesStatically() - placeholder");
ppcDefineParamTypePtr(titleIdList, uint64, 0); ppcDefineParamTypePtr(titleIdList, uint64, 0);
ppcDefineParamS32(maxCount, 1); ppcDefineParamS32(maxCount, 1);
@ -96,7 +96,7 @@ namespace nn
void export_GetTitlePackageInfos(PPCInterpreter_t* hCPU) void export_GetTitlePackageInfos(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("GetTitlePackageInfos() - placeholder"); cemuLog_logDebug(LogType::Force, "GetTitlePackageInfos() - placeholder");
ppcDefineParamTypePtr(titlePackageInfo, iosu::nim::titlePackageInfo_t, 0); ppcDefineParamTypePtr(titlePackageInfo, iosu::nim::titlePackageInfo_t, 0);
ppcDefineParamTypePtr(titleIdList, uint64, 1); ppcDefineParamTypePtr(titleIdList, uint64, 1);
ppcDefineParamU32(count, 2); ppcDefineParamU32(count, 2);
@ -115,7 +115,7 @@ namespace nn
void export_NeedsNotifyToUsersTitlePackage(PPCInterpreter_t* hCPU) void export_NeedsNotifyToUsersTitlePackage(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("NeedsNotifyToUsers() - placeholder"); cemuLog_logDebug(LogType::Force, "NeedsNotifyToUsers() - placeholder");
ppcDefineParamTypePtr(titlePackageInfo, iosu::nim::titlePackageInfo_t, 0); ppcDefineParamTypePtr(titlePackageInfo, iosu::nim::titlePackageInfo_t, 0);
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
@ -125,7 +125,7 @@ namespace nn
void export_GetIconDatabaseEntries(PPCInterpreter_t* hCPU) void export_GetIconDatabaseEntries(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("GetIconDatabaseEntries() - placeholder"); cemuLog_logDebug(LogType::Force, "GetIconDatabaseEntries() - placeholder");
ppcDefineParamTypePtr(iconDatabaseEntries, IDBE_DATA, 0); ppcDefineParamTypePtr(iconDatabaseEntries, IDBE_DATA, 0);
ppcDefineParamTypePtr(titleIdList, uint64, 1); ppcDefineParamTypePtr(titleIdList, uint64, 1);
ppcDefineParamS32(count, 2); ppcDefineParamS32(count, 2);
@ -150,7 +150,7 @@ namespace nn
void export_QuerySchedulerStatus(PPCInterpreter_t* hCPU) void export_QuerySchedulerStatus(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("QuerySchedulerStatus() - placeholder"); cemuLog_logDebug(LogType::Force, "QuerySchedulerStatus() - placeholder");
// scheduler status seems to a be a 32bit value? // scheduler status seems to a be a 32bit value?
// scope.rpx only checks the second byte and if it matches 0x01 then the scheduler is considered paused/stopped (displays that downloads are inactive) // scope.rpx only checks the second byte and if it matches 0x01 then the scheduler is considered paused/stopped (displays that downloads are inactive)
@ -172,7 +172,7 @@ namespace nn
void export_ConstructResultError(PPCInterpreter_t* hCPU) void export_ConstructResultError(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("Construct__Q3_2nn3nim11ResultErrorFQ2_2nn6Resulti() - placeholder"); cemuLog_logDebug(LogType::Force, "Construct__Q3_2nn3nim11ResultErrorFQ2_2nn6Resulti() - placeholder");
ppcDefineParamTypePtr(resultError, nimResultError_t, 0); ppcDefineParamTypePtr(resultError, nimResultError_t, 0);
ppcDefineParamU32BEPtr(nimErrorCodePtr, 1); ppcDefineParamU32BEPtr(nimErrorCodePtr, 1);
ppcDefineParamU32(uknParam, 2); ppcDefineParamU32(uknParam, 2);
@ -187,7 +187,7 @@ namespace nn
{ {
ppcDefineParamU32BEPtr(country, 0); ppcDefineParamU32BEPtr(country, 0);
forceLogDebug_printf("GetECommerceInfrastructureCountry - todo"); cemuLog_logDebug(LogType::Force, "GetECommerceInfrastructureCountry - todo");
*country = 0; *country = 0;
@ -219,7 +219,7 @@ namespace nn
ppcDefineParamU32(regionOrLanguage, 4); ppcDefineParamU32(regionOrLanguage, 4);
ppcDefineParamU32(uknR8, 5); // title type? ppcDefineParamU32(uknR8, 5); // title type?
forceLogDebug_printf("MakeTitlePackageTaskConfigAutoUsingBgInstallPolicy - placeholder"); cemuLog_logDebug(LogType::Force, "MakeTitlePackageTaskConfigAutoUsingBgInstallPolicy - placeholder");
titlePackageTastConfig->titleIdHigh = (uint32)(titleId >> 32); titlePackageTastConfig->titleIdHigh = (uint32)(titleId >> 32);
titlePackageTastConfig->titleIdLow = (uint32)(titleId & 0xFFFFFFFF); titlePackageTastConfig->titleIdLow = (uint32)(titleId & 0xFFFFFFFF);
@ -246,7 +246,7 @@ namespace nn
ppcDefineParamPtr(titlePackageTastConfig, TitlePackageTaskConfig_t, 1); ppcDefineParamPtr(titlePackageTastConfig, TitlePackageTaskConfig_t, 1);
// get install size of currently installed title, otherwise return -1 as size // get install size of currently installed title, otherwise return -1 as size
forceLogDebug_printf("CalculateTitleInstallSize - todo\n"); cemuLog_logDebug(LogType::Force, "CalculateTitleInstallSize - todo");
*installSize = 0xFFFFFFFFFFFFFFFF; *installSize = 0xFFFFFFFFFFFFFFFF;

View File

@ -6,7 +6,7 @@ namespace nn::temp
void nnTempExport_TEMPCreateAndInitTempDir(PPCInterpreter_t* hCPU) void nnTempExport_TEMPCreateAndInitTempDir(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("TEMPCreateAndInitTempDir(...) - placeholder"); cemuLog_logDebug(LogType::Force, "TEMPCreateAndInitTempDir(...) - placeholder");
// create random temp id // create random temp id
memory_writeU64(hCPU->gpr[5], tempIdGenerator); memory_writeU64(hCPU->gpr[5], tempIdGenerator);

View File

@ -290,7 +290,7 @@ namespace nsyshid
{ {
ppcDefineParamTypePtr(hidClient, HIDClient_t, 0); ppcDefineParamTypePtr(hidClient, HIDClient_t, 0);
ppcDefineParamMPTR(callbackFuncMPTR, 1); ppcDefineParamMPTR(callbackFuncMPTR, 1);
forceLogDebug_printf("nsyshid.HIDAddClient(0x%08x,0x%08x)", hCPU->gpr[3], hCPU->gpr[4]); cemuLog_logDebug(LogType::Force, "nsyshid.HIDAddClient(0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4]);
hidClient->callbackFunc = callbackFuncMPTR; hidClient->callbackFunc = callbackFuncMPTR;
attachClientToList(hidClient); attachClientToList(hidClient);
initDeviceList(); initDeviceList();
@ -309,7 +309,7 @@ namespace nsyshid
void export_HIDDelClient(PPCInterpreter_t* hCPU) void export_HIDDelClient(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamTypePtr(hidClient, HIDClient_t, 0); ppcDefineParamTypePtr(hidClient, HIDClient_t, 0);
forceLogDebug_printf("nsyshid.HIDDelClient(0x%08x)", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "nsyshid.HIDDelClient(0x{:08x})", hCPU->gpr[3]);
// todo // todo
// do detach callbacks // do detach callbacks
@ -424,7 +424,7 @@ namespace nsyshid
{ {
sprintf(debugOutput + i * 3, "%02x ", data[i]); sprintf(debugOutput + i * 3, "%02x ", data[i]);
} }
forceLogDebug_printf("[%s] Data: %s", prefix.c_str(), debugOutput); cemuLog_logDebug(LogType::Force, "[{}] Data: {}", prefix, debugOutput);
} }
void doHIDTransferCallback(MPTR callbackFuncMPTR, MPTR callbackParamMPTR, uint32 hidHandle, uint32 errorCode, MPTR buffer, sint32 length) void doHIDTransferCallback(MPTR callbackFuncMPTR, MPTR callbackParamMPTR, uint32 hidHandle, uint32 errorCode, MPTR buffer, sint32 length)
@ -440,7 +440,7 @@ namespace nsyshid
ppcDefineParamU32(duration, 3); // r6 ppcDefineParamU32(duration, 3); // r6
ppcDefineParamMPTR(callbackFuncMPTR, 4); // r7 ppcDefineParamMPTR(callbackFuncMPTR, 4); // r7
ppcDefineParamMPTR(callbackParamMPTR, 5); // r8 ppcDefineParamMPTR(callbackParamMPTR, 5); // r8
forceLogDebug_printf("nsyshid.HIDSetIdle(...)"); cemuLog_logDebug(LogType::Force, "nsyshid.HIDSetIdle(...)");
// todo // todo
if (callbackFuncMPTR) if (callbackFuncMPTR)
@ -461,7 +461,7 @@ namespace nsyshid
ppcDefineParamU32(protocol, 2); // r5 ppcDefineParamU32(protocol, 2); // r5
ppcDefineParamMPTR(callbackFuncMPTR, 3); // r6 ppcDefineParamMPTR(callbackFuncMPTR, 3); // r6
ppcDefineParamMPTR(callbackParamMPTR, 4); // r7 ppcDefineParamMPTR(callbackParamMPTR, 4); // r7
forceLogDebug_printf("nsyshid.HIDSetProtocol(...)"); cemuLog_logDebug(LogType::Force, "nsyshid.HIDSetProtocol(...)");
if (callbackFuncMPTR) if (callbackFuncMPTR)
{ {
@ -501,7 +501,7 @@ namespace nsyshid
// handler for synchronous HIDSetReport transfers // handler for synchronous HIDSetReport transfers
sint32 _hidSetReportSync(HIDDeviceInfo_t* hidDeviceInfo, uint8* reportData, sint32 length, uint8* originalData, sint32 originalLength, OSThread_t* osThread) sint32 _hidSetReportSync(HIDDeviceInfo_t* hidDeviceInfo, uint8* reportData, sint32 length, uint8* originalData, sint32 originalLength, OSThread_t* osThread)
{ {
//forceLogDebug_printf("_hidSetReportSync begin"); //cemuLog_logDebug(LogType::Force, "_hidSetReportSync begin");
_debugPrintHex("_hidSetReportSync Begin", reportData, length); _debugPrintHex("_hidSetReportSync Begin", reportData, length);
sint32 retryCount = 0; sint32 retryCount = 0;
sint32 returnCode = 0; sint32 returnCode = 0;
@ -519,7 +519,7 @@ namespace nsyshid
assert_dbg(); assert_dbg();
} }
free(reportData); free(reportData);
forceLogDebug_printf("_hidSetReportSync end. returnCode: %d", returnCode); cemuLog_logDebug(LogType::Force, "_hidSetReportSync end. returnCode: {}", returnCode);
coreinit_resumeThread(osThread, 1000); coreinit_resumeThread(osThread, 1000);
return returnCode; return returnCode;
} }
@ -533,7 +533,7 @@ namespace nsyshid
ppcDefineParamU32(dataLength, 4); // r7 ppcDefineParamU32(dataLength, 4); // r7
ppcDefineParamMPTR(callbackFuncMPTR, 5); // r8 ppcDefineParamMPTR(callbackFuncMPTR, 5); // r8
ppcDefineParamMPTR(callbackParamMPTR, 6); // r9 ppcDefineParamMPTR(callbackParamMPTR, 6); // r9
forceLogDebug_printf("nsyshid.HIDSetReport(%d,0x%02x,0x%02x,...)", hidHandle, reportRelatedUkn, reportId); cemuLog_logDebug(LogType::Force, "nsyshid.HIDSetReport({},0x{:02x},0x{:02x},...)", hidHandle, reportRelatedUkn, reportId);
_debugPrintHex("HIDSetReport", data, dataLength); _debugPrintHex("HIDSetReport", data, dataLength);
@ -589,7 +589,7 @@ namespace nsyshid
_debugPrintHex("HID_READ_BEFORE", data, maxLength); _debugPrintHex("HID_READ_BEFORE", data, maxLength);
forceLogDebug_printf("HidRead Begin (Length 0x%08x)", maxLength); cemuLog_logDebug(LogType::Force, "HidRead Begin (Length 0x{:08x})", maxLength);
BOOL readResult = ReadFile(hidDeviceInfo->hFile, tempBuffer, maxLength + 1, &bt, &ovlp); BOOL readResult = ReadFile(hidDeviceInfo->hFile, tempBuffer, maxLength + 1, &bt, &ovlp);
if (readResult != FALSE) if (readResult != FALSE)
{ {
@ -598,17 +598,17 @@ namespace nsyshid
transferLength = 0; transferLength = 0;
else else
transferLength = bt - 1; transferLength = bt - 1;
forceLogDebug_printf("HidRead Result received immediately (error 0x%08x) Length 0x%08x", GetLastError(), transferLength); cemuLog_logDebug(LogType::Force, "HidRead Result received immediately (error 0x{:08x}) Length 0x{:08x}", GetLastError(), transferLength);
} }
else else
{ {
// wait for result // wait for result
forceLogDebug_printf("HidRead WaitForResult (error 0x%08x)", GetLastError()); cemuLog_logDebug(LogType::Force, "HidRead WaitForResult (error 0x{:08x})", GetLastError());
// async hid read is never supposed to return unless there is an response? Lego Dimensions stops HIDRead calls as soon as one of them fails with a non-zero error (which includes time out) // async hid read is never supposed to return unless there is an response? Lego Dimensions stops HIDRead calls as soon as one of them fails with a non-zero error (which includes time out)
DWORD r = WaitForSingleObject(ovlp.hEvent, 2000*100); DWORD r = WaitForSingleObject(ovlp.hEvent, 2000*100);
if (r == WAIT_TIMEOUT) if (r == WAIT_TIMEOUT)
{ {
forceLogDebug_printf("HidRead internal timeout (error 0x%08x)", GetLastError()); cemuLog_logDebug(LogType::Force, "HidRead internal timeout (error 0x{:08x})", GetLastError());
// return -108 in case of timeout // return -108 in case of timeout
free(tempBuffer); free(tempBuffer);
CloseHandle(ovlp.hEvent); CloseHandle(ovlp.hEvent);
@ -616,13 +616,13 @@ namespace nsyshid
} }
forceLogDebug_printf("HidRead WaitHalfComplete"); cemuLog_logDebug(LogType::Force, "HidRead WaitHalfComplete");
GetOverlappedResult(hidDeviceInfo->hFile, &ovlp, &bt, false); GetOverlappedResult(hidDeviceInfo->hFile, &ovlp, &bt, false);
if (bt == 0) if (bt == 0)
transferLength = 0; transferLength = 0;
else else
transferLength = bt - 1; transferLength = bt - 1;
forceLogDebug_printf("HidRead WaitComplete Length: 0x%08x", transferLength); cemuLog_logDebug(LogType::Force, "HidRead WaitComplete Length: 0x{:08x}", transferLength);
} }
sint32 returnCode = 0; sint32 returnCode = 0;
if (bt != 0) if (bt != 0)
@ -635,7 +635,7 @@ namespace nsyshid
{ {
sprintf(debugOutput + i * 3, "%02x ", tempBuffer[1 + i]); sprintf(debugOutput + i * 3, "%02x ", tempBuffer[1 + i]);
} }
forceLogDebug_printf("HIDRead data: %s", debugOutput); cemuLog_logDebug(LogType::Force, "HIDRead data: {}", debugOutput);
returnCode = transferLength; returnCode = transferLength;
} }
@ -672,7 +672,7 @@ namespace nsyshid
ppcDefineParamU32(maxLength, 2); // r5 ppcDefineParamU32(maxLength, 2); // r5
ppcDefineParamMPTR(callbackFuncMPTR, 3); // r6 ppcDefineParamMPTR(callbackFuncMPTR, 3); // r6
ppcDefineParamMPTR(callbackParamMPTR, 4); // r7 ppcDefineParamMPTR(callbackParamMPTR, 4); // r7
forceLogDebug_printf("nsyshid.HIDRead(0x%x,0x%08x,0x%08x,0x%08x,0x%08x) LR %08x", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6], hCPU->gpr[7], hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "nsyshid.HIDRead(0x{:x},0x{:08x},0x{:08x},0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6], hCPU->gpr[7]);
HIDDeviceInfo_t* hidDeviceInfo = getHIDDeviceInfoByHandle(hidHandle, true); HIDDeviceInfo_t* hidDeviceInfo = getHIDDeviceInfoByHandle(hidHandle, true);
if (hidDeviceInfo == nullptr) if (hidDeviceInfo == nullptr)
@ -710,22 +710,22 @@ namespace nsyshid
memcpy(tempBuffer + 1, data, maxLength); memcpy(tempBuffer + 1, data, maxLength);
tempBuffer[0] = 0; // report byte? tempBuffer[0] = 0; // report byte?
forceLogDebug_printf("HidWrite Begin (Length 0x%08x)", maxLength); cemuLog_logDebug(LogType::Force, "HidWrite Begin (Length 0x{:08x})", maxLength);
BOOL WriteResult = WriteFile(hidDeviceInfo->hFile, tempBuffer, maxLength + 1, &bt, &ovlp); BOOL WriteResult = WriteFile(hidDeviceInfo->hFile, tempBuffer, maxLength + 1, &bt, &ovlp);
if (WriteResult != FALSE) if (WriteResult != FALSE)
{ {
// sometimes we get the result immediately // sometimes we get the result immediately
forceLogDebug_printf("HidWrite Result received immediately (error 0x%08x) Length 0x%08x", GetLastError()); cemuLog_logDebug(LogType::Force, "HidWrite Result received immediately (error 0x{:08x}) Length 0x{:08x}", GetLastError());
} }
else else
{ {
// wait for result // wait for result
forceLogDebug_printf("HidWrite WaitForResult (error 0x%08x)", GetLastError()); cemuLog_logDebug(LogType::Force, "HidWrite WaitForResult (error 0x{:08x})", GetLastError());
// todo - check for error type // todo - check for error type
DWORD r = WaitForSingleObject(ovlp.hEvent, 2000); DWORD r = WaitForSingleObject(ovlp.hEvent, 2000);
if (r == WAIT_TIMEOUT) if (r == WAIT_TIMEOUT)
{ {
forceLogDebug_printf("HidWrite internal timeout"); cemuLog_logDebug(LogType::Force, "HidWrite internal timeout");
// return -108 in case of timeout // return -108 in case of timeout
free(tempBuffer); free(tempBuffer);
CloseHandle(ovlp.hEvent); CloseHandle(ovlp.hEvent);
@ -733,9 +733,9 @@ namespace nsyshid
} }
forceLogDebug_printf("HidWrite WaitHalfComplete"); cemuLog_logDebug(LogType::Force, "HidWrite WaitHalfComplete");
GetOverlappedResult(hidDeviceInfo->hFile, &ovlp, &bt, false); GetOverlappedResult(hidDeviceInfo->hFile, &ovlp, &bt, false);
forceLogDebug_printf("HidWrite WaitComplete"); cemuLog_logDebug(LogType::Force, "HidWrite WaitComplete");
} }
sint32 returnCode = 0; sint32 returnCode = 0;
if (bt != 0) if (bt != 0)
@ -771,7 +771,7 @@ namespace nsyshid
ppcDefineParamU32(maxLength, 2); // r5 ppcDefineParamU32(maxLength, 2); // r5
ppcDefineParamMPTR(callbackFuncMPTR, 3); // r6 ppcDefineParamMPTR(callbackFuncMPTR, 3); // r6
ppcDefineParamMPTR(callbackParamMPTR, 4); // r7 ppcDefineParamMPTR(callbackParamMPTR, 4); // r7
forceLogDebug_printf("nsyshid.HIDWrite(0x%x,0x%08x,0x%08x,0x%08x,0x%08x)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6], hCPU->gpr[7]); cemuLog_logDebug(LogType::Force, "nsyshid.HIDWrite(0x{:x},0x{:08x},0x{:08x},0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6], hCPU->gpr[7]);
HIDDeviceInfo_t* hidDeviceInfo = getHIDDeviceInfoByHandle(hidHandle, true); HIDDeviceInfo_t* hidDeviceInfo = getHIDDeviceInfoByHandle(hidHandle, true);
if (hidDeviceInfo == nullptr) if (hidDeviceInfo == nullptr)
@ -804,7 +804,7 @@ namespace nsyshid
ppcDefineParamU32(errorCode, 0); ppcDefineParamU32(errorCode, 0);
ppcDefineParamTypePtr(ukn0, uint32be, 1); ppcDefineParamTypePtr(ukn0, uint32be, 1);
ppcDefineParamTypePtr(ukn1, uint32be, 2); ppcDefineParamTypePtr(ukn1, uint32be, 2);
forceLogDebug_printf("nsyshid.HIDDecodeError(0x%08x,0x%08x,0x%08x)", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]); cemuLog_logDebug(LogType::Force, "nsyshid.HIDDecodeError(0x{:08x},0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]);
// todo // todo
*ukn0 = 0x3FF; *ukn0 = 0x3FF;

View File

@ -8,7 +8,7 @@ namespace nsyskbd
static bool loggedError = false; static bool loggedError = false;
if (loggedError == false) if (loggedError == false)
{ {
forceLogDebug_printf("KBDGetChannelStatus() placeholder"); cemuLog_logDebug(LogType::Force, "KBDGetChannelStatus() placeholder");
loggedError = true; loggedError = true;
} }
*status = 1; // disconnected *status = 1; // disconnected

View File

@ -236,7 +236,7 @@ WUSOCKET nsysnet_createVirtualSocket(sint32 family, sint32 type, sint32 protocol
sint32 s = _getFreeSocketHandle(); sint32 s = _getFreeSocketHandle();
if (s == 0) if (s == 0)
{ {
forceLogDebug_printf("Ran out of socket handles"); cemuLog_logDebug(LogType::Force, "Ran out of socket handles");
cemu_assert(false); cemu_assert(false);
} }
virtualSocket_t* vs = (virtualSocket_t*)malloc(sizeof(virtualSocket_t)); virtualSocket_t* vs = (virtualSocket_t*)malloc(sizeof(virtualSocket_t));
@ -262,13 +262,13 @@ WUSOCKET nsysnet_createVirtualSocket(sint32 family, sint32 type, sint32 protocol
WUSOCKET nsysnet_createVirtualSocketFromExistingSocket(SOCKET existingSocket) WUSOCKET nsysnet_createVirtualSocketFromExistingSocket(SOCKET existingSocket)
{ {
forceLogDebug_printf("nsysnet_createVirtualSocketFromExistingSocket - incomplete"); cemuLog_logDebug(LogType::Force, "nsysnet_createVirtualSocketFromExistingSocket - incomplete");
sint32 s = _getFreeSocketHandle(); sint32 s = _getFreeSocketHandle();
if (s == 0) if (s == 0)
{ {
forceLogDebug_printf("Ran out of socket handles"); cemuLog_logDebug(LogType::Force, "Ran out of socket handles");
cemu_assert(false); cemu_assert(false);
} }
virtualSocket_t* vs = (virtualSocket_t*)malloc(sizeof(virtualSocket_t)); virtualSocket_t* vs = (virtualSocket_t*)malloc(sizeof(virtualSocket_t));
@ -358,7 +358,7 @@ void nsysnetExport_socket(PPCInterpreter_t* hCPU)
// check family param // check family param
if (family != WU_AF_INET) if (family != WU_AF_INET)
{ {
forceLogDebug_printf("socket(): Unsupported family"); cemuLog_logDebug(LogType::Force, "socket(): Unsupported family");
// todo - error code // todo - error code
osLib_returnFromFunction(hCPU, -1); osLib_returnFromFunction(hCPU, -1);
return; return;
@ -366,7 +366,7 @@ void nsysnetExport_socket(PPCInterpreter_t* hCPU)
// check type param // check type param
if (type != WU_SOCK_STREAM && type != WU_SOCK_DGRAM) if (type != WU_SOCK_STREAM && type != WU_SOCK_DGRAM)
{ {
forceLogDebug_printf("socket(): Unsupported family"); cemuLog_logDebug(LogType::Force, "socket(): Unsupported family");
// todo - error code // todo - error code
osLib_returnFromFunction(hCPU, -1); osLib_returnFromFunction(hCPU, -1);
return; return;
@ -374,7 +374,7 @@ void nsysnetExport_socket(PPCInterpreter_t* hCPU)
if (protocol != WU_IPPROTO_TCP && protocol != WU_IPPROTO_UDP && protocol != WU_IPPROTO_IP) if (protocol != WU_IPPROTO_TCP && protocol != WU_IPPROTO_UDP && protocol != WU_IPPROTO_IP)
{ {
forceLogDebug_printf("socket(): Unsupported protocol"); cemuLog_logDebug(LogType::Force, "socket(): Unsupported protocol");
// todo - error code // todo - error code
osLib_returnFromFunction(hCPU, -1); osLib_returnFromFunction(hCPU, -1);
return; return;
@ -543,7 +543,7 @@ void nsysnetExport_setsockopt(PPCInterpreter_t* hCPU)
} }
else else
{ {
forceLogDebug_printf("setsockopt(): Unsupported optname 0x%08x", optname); cemuLog_logDebug(LogType::Force, "setsockopt(): Unsupported optname 0x{:08x}", optname);
} }
} }
else if (level == WU_IPPROTO_TCP) else if (level == WU_IPPROTO_TCP)
@ -570,7 +570,7 @@ void nsysnetExport_setsockopt(PPCInterpreter_t* hCPU)
} }
else if( optname == 0x4 ) else if( optname == 0x4 )
{ {
forceLogDebug_printf("setsockopt with unsupported opname 4 for IPPROTO_IP"); cemuLog_logDebug(LogType::Force, "setsockopt with unsupported opname 4 for IPPROTO_IP");
} }
else else
assert_dbg(); assert_dbg();
@ -1138,7 +1138,7 @@ void nsysnetExport_select(PPCInterpreter_t* hCPU)
r = select(hostnfds + 1, readfds ? &_readfds : NULL, writefds ? &_writefds : NULL, exceptfds ? &_exceptfds : NULL, &tv); r = select(hostnfds + 1, readfds ? &_readfds : NULL, writefds ? &_writefds : NULL, exceptfds ? &_exceptfds : NULL, &tv);
if (r < 0) if (r < 0)
{ {
forceLogDebug_printf("select() failed"); cemuLog_logDebug(LogType::Force, "select() failed");
// timeout // timeout
_translateError(r, GETLASTERR); _translateError(r, GETLASTERR);
//_setSockError(WU_SO_SUCCESS); //_setSockError(WU_SO_SUCCESS);
@ -1566,7 +1566,7 @@ void nsysnetExport_recvfrom(PPCInterpreter_t* hCPU)
wsaError = GETLASTERR; wsaError = GETLASTERR;
if (r < 0) if (r < 0)
cemu_assert_debug(false); cemu_assert_debug(false);
forceLogDebug_printf("recvfrom returned %d bytes", r); cemuLog_logDebug(LogType::Force, "recvfrom returned {} bytes", r);
*fromLen = fromLenHost; *fromLen = fromLenHost;
fromAddr->sa_family = _swapEndianU16(fromAddrHost.sa_family); fromAddr->sa_family = _swapEndianU16(fromAddrHost.sa_family);
memcpy(fromAddr->sa_data, fromAddrHost.sa_data, 14); memcpy(fromAddr->sa_data, fromAddrHost.sa_data, 14);
@ -1943,7 +1943,7 @@ namespace nsysnet
uint32 nsslHandle = (uint32)g_nsslInternalStates.size() - 1; uint32 nsslHandle = (uint32)g_nsslInternalStates.size() - 1;
forceLogDebug_printf("NSSLCreateContext(0x%x) -> 0x%x", version, nsslHandle); cemuLog_logDebug(LogType::Force, "NSSLCreateContext(0x{:x}) -> 0x{:x}", version, nsslHandle);
osLib_returnFromFunction(hCPU, nsslHandle); osLib_returnFromFunction(hCPU, nsslHandle);
} }
@ -1952,7 +1952,7 @@ namespace nsysnet
{ {
ppcDefineParamU32(nsslHandle, 0); ppcDefineParamU32(nsslHandle, 0);
ppcDefineParamU32(clientPKI, 1); ppcDefineParamU32(clientPKI, 1);
forceLogDebug_printf("NSSLSetClientPKI(0x%x, 0x%x)", nsslHandle, clientPKI); cemuLog_logDebug(LogType::Force, "NSSLSetClientPKI(0x{:x}, 0x{:x})", nsslHandle, clientPKI);
if (g_nsslInternalStates.size() <= nsslHandle || g_nsslInternalStates[nsslHandle].destroyed) if (g_nsslInternalStates.size() <= nsslHandle || g_nsslInternalStates[nsslHandle].destroyed)
{ {
@ -1968,7 +1968,7 @@ namespace nsysnet
{ {
ppcDefineParamU32(nsslHandle, 0); ppcDefineParamU32(nsslHandle, 0);
ppcDefineParamU32(serverPKI, 1); ppcDefineParamU32(serverPKI, 1);
forceLogDebug_printf("NSSLAddServerPKI(0x%x, 0x%x)", nsslHandle, serverPKI); cemuLog_logDebug(LogType::Force, "NSSLAddServerPKI(0x{:x}, 0x{:x})", nsslHandle, serverPKI);
if (g_nsslInternalStates.size() <= nsslHandle || g_nsslInternalStates[nsslHandle].destroyed) if (g_nsslInternalStates.size() <= nsslHandle || g_nsslInternalStates[nsslHandle].destroyed)
{ {
@ -1987,7 +1987,7 @@ namespace nsysnet
ppcDefineParamS32(certLen, 2); ppcDefineParamS32(certLen, 2);
ppcDefineParamS32(certType, 3); ppcDefineParamS32(certType, 3);
forceLogDebug_printf("NSSLAddServerPKIExternal(0x%x, 0x%08x, 0x%x, %d)", nsslHandle, certData.GetMPTR(), certLen, certType); cemuLog_logDebug(LogType::Force, "NSSLAddServerPKIExternal(0x{:x}, 0x{:08x}, 0x{:x}, {})", nsslHandle, certData.GetMPTR(), certLen, certType);
if (g_nsslInternalStates.size() <= nsslHandle || g_nsslInternalStates[nsslHandle].destroyed) if (g_nsslInternalStates.size() <= nsslHandle || g_nsslInternalStates[nsslHandle].destroyed)
{ {
osLib_returnFromFunction(hCPU, NSSL_INVALID_CTX); osLib_returnFromFunction(hCPU, NSSL_INVALID_CTX);
@ -2005,7 +2005,7 @@ namespace nsysnet
ppcDefineParamU32(groupMask, 1); ppcDefineParamU32(groupMask, 1);
ppcDefineParamMEMPTR(validCountOut, sint32, 2); ppcDefineParamMEMPTR(validCountOut, sint32, 2);
ppcDefineParamMEMPTR(invalidCountOut, sint32, 3); ppcDefineParamMEMPTR(invalidCountOut, sint32, 3);
forceLogDebug_printf("NSSLAddServerPKIGroups(0x%x, 0x%x, 0x%08x, 0x%08x)", nsslHandle, groupMask, validCountOut.GetMPTR(), invalidCountOut.GetMPTR()); cemuLog_logDebug(LogType::Force, "NSSLAddServerPKIGroups(0x{:x}, 0x{:x}, 0x{:08x}, 0x{:08x})", nsslHandle, groupMask, validCountOut.GetMPTR(), invalidCountOut.GetMPTR());
if (g_nsslInternalStates.size() <= nsslHandle || g_nsslInternalStates[nsslHandle].destroyed) if (g_nsslInternalStates.size() <= nsslHandle || g_nsslInternalStates[nsslHandle].destroyed)
{ {
@ -2039,7 +2039,7 @@ namespace nsysnet
void export_NSSLDestroyContext(PPCInterpreter_t* hCPU) void export_NSSLDestroyContext(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamU32(nsslHandle, 0); ppcDefineParamU32(nsslHandle, 0);
forceLogDebug_printf("NSSLDestroyContext(0x%x)", nsslHandle); cemuLog_logDebug(LogType::Force, "NSSLDestroyContext(0x{:x})", nsslHandle);
if (g_nsslInternalStates.size() <= nsslHandle || g_nsslInternalStates[nsslHandle].destroyed) if (g_nsslInternalStates.size() <= nsslHandle || g_nsslInternalStates[nsslHandle].destroyed)
{ {

View File

@ -287,7 +287,7 @@ namespace snd_core
} }
else else
{ {
forceLogDebug_printf("sndcore2.AXSetAuxReturnVolume() - unsupported device %d", device); cemuLog_logDebug(LogType::Force, "sndcore2.AXSetAuxReturnVolume() - unsupported device {}", device);
} }
return 0; return 0;
} }

View File

@ -77,7 +77,7 @@ namespace snd_core
void AXQuit() void AXQuit()
{ {
forceLogDebug_printf("AXQuit called from 0x%08x", ppcInterpreterCurrentInstance->spr.LR); cemuLog_logDebug(LogType::Force, "AXQuit called from 0x{:08x}", ppcInterpreterCurrentInstance->spr.LR);
// clean up // clean up
AXResetCallbacks(); AXResetCallbacks();
AXVoiceList_ResetFreeVoiceList(); AXVoiceList_ResetFreeVoiceList();

View File

@ -1012,7 +1012,7 @@ namespace snd_core
OSReceiveMessage(__AXIstThreadMsgQueue.GetPtr(), msg.GetPointer(), OS_MESSAGE_BLOCK); OSReceiveMessage(__AXIstThreadMsgQueue.GetPtr(), msg.GetPointer(), OS_MESSAGE_BLOCK);
if (msg.GetPointer()->message == 2) if (msg.GetPointer()->message == 2)
{ {
forceLogDebug_printf("Shut down of AX thread requested"); cemuLog_logDebug(LogType::Force, "Shut down of AX thread requested");
coreinit::OSExitThread(0); coreinit::OSExitThread(0);
break; break;
} }

View File

@ -695,7 +695,7 @@ namespace snd_core
#ifdef CEMU_DEBUG_ASSERT #ifdef CEMU_DEBUG_ASSERT
if (internalShadowCopy->biquad.on != 0x0200) if (internalShadowCopy->biquad.on != 0x0200)
{ {
forceLogDebug_printf("AX_ApplyBiquad() with incorrect biquad.on value 0x%04x", _swapEndianU16(internalShadowCopy->biquad.on)); cemuLog_logDebug(LogType::Force, "AX_ApplyBiquad() with incorrect biquad.on value 0x{:04x}", _swapEndianU16(internalShadowCopy->biquad.on));
} }
#endif #endif

View File

@ -365,7 +365,7 @@ namespace snd_core
// get last voice in chain // get last voice in chain
while (voiceItr->next) while (voiceItr->next)
voiceItr = voiceItr->next.GetPtr(); voiceItr = voiceItr->next.GetPtr();
forceLogDebug_printf("Dropped voice %d", (uint32)voiceItr->index); cemuLog_logDebug(LogType::Force, "Dropped voice {}", (uint32)voiceItr->index);
// drop voice // drop voice
if (voiceItr->playbackState != 0) if (voiceItr->playbackState != 0)
{ {

View File

@ -93,7 +93,7 @@ swkbdInternalState_t* swkbdInternalState = NULL;
void swkbdExport_SwkbdCreate(PPCInterpreter_t* hCPU) void swkbdExport_SwkbdCreate(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("swkbd.SwkbdCreate(0x%08x,0x%08x,0x%08x,0x%08x)\n", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6]); cemuLog_logDebug(LogType::Force, "swkbd.SwkbdCreate(0x{:08x},0x{:08x},0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5], hCPU->gpr[6]);
if( swkbdInternalState == NULL ) if( swkbdInternalState == NULL )
{ {
MPTR swkbdInternalStateMPTR = coreinit_allocFromSysArea(sizeof(swkbdInternalState_t), 4); MPTR swkbdInternalStateMPTR = coreinit_allocFromSysArea(sizeof(swkbdInternalState_t), 4);
@ -204,7 +204,7 @@ static_assert(offsetof(swkbdAppearArg_t, cursorIndex) == 0xC4, "appearArg.cursor
void swkbdExport_SwkbdAppearInputForm(PPCInterpreter_t* hCPU) void swkbdExport_SwkbdAppearInputForm(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamStructPtr(appearArg, swkbdAppearArg_t, 0); ppcDefineParamStructPtr(appearArg, swkbdAppearArg_t, 0);
forceLogDebug_printf("SwkbdAppearInputForm__3RplFRCQ3_2nn5swkbd9AppearArg LR: %08x\n", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "SwkbdAppearInputForm__3RplFRCQ3_2nn5swkbd9AppearArg");
swkbdInternalState->formStringLength = 0; swkbdInternalState->formStringLength = 0;
swkbdInternalState->isActive = true; swkbdInternalState->isActive = true;
swkbdInternalState->decideButtonWasPressed = false; swkbdInternalState->decideButtonWasPressed = false;
@ -241,7 +241,7 @@ void swkbdExport_SwkbdAppearInputForm(PPCInterpreter_t* hCPU)
void swkbdExport_SwkbdAppearKeyboard(PPCInterpreter_t* hCPU) void swkbdExport_SwkbdAppearKeyboard(PPCInterpreter_t* hCPU)
{ {
// todo: Figure out what the difference between AppearInputForm and AppearKeyboard is? // todo: Figure out what the difference between AppearInputForm and AppearKeyboard is?
forceLogDebug_printf("SwkbdAppearKeyboard__3RplFRCQ3_2nn5swkbd11KeyboardArg LR: %08x\n", hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "SwkbdAppearKeyboard__3RplFRCQ3_2nn5swkbd11KeyboardArg");
SwkbdKeyboardArg_t* keyboardArg = (SwkbdKeyboardArg_t*)memory_getPointerFromVirtualOffset(hCPU->gpr[3]); SwkbdKeyboardArg_t* keyboardArg = (SwkbdKeyboardArg_t*)memory_getPointerFromVirtualOffset(hCPU->gpr[3]);
uint32 argPtr = hCPU->gpr[3]; uint32 argPtr = hCPU->gpr[3];
@ -310,7 +310,7 @@ static_assert(sizeof(SwkbdDrawStringInfo_t) != 0x19, "SwkbdDrawStringInfo_t has
void swkbdExport_SwkbdGetDrawStringInfo(PPCInterpreter_t* hCPU) void swkbdExport_SwkbdGetDrawStringInfo(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("SwkbdGetDrawStringInfo(0x%08x) - stub LR: %08x", hCPU->gpr[3], hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "SwkbdGetDrawStringInfo(0x{:08x})", hCPU->gpr[3]);
ppcDefineParamStructPtr(drawStringInfo, SwkbdDrawStringInfo_t, 0); ppcDefineParamStructPtr(drawStringInfo, SwkbdDrawStringInfo_t, 0);
drawStringInfo->ukn00 = -1; drawStringInfo->ukn00 = -1;
@ -326,7 +326,7 @@ void swkbdExport_SwkbdGetDrawStringInfo(PPCInterpreter_t* hCPU)
void swkbdExport_SwkbdInitLearnDic(PPCInterpreter_t* hCPU) void swkbdExport_SwkbdInitLearnDic(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("SwkbdInitLearnDic(0x%08x) - stub LR: %08x", hCPU->gpr[3], hCPU->spr.LR); cemuLog_logDebug(LogType::Force, "SwkbdInitLearnDic(0x{:08x})", hCPU->gpr[3]);
// todo // todo
// this has to fail (at least once?) or MH3U will not boot // this has to fail (at least once?) or MH3U will not boot

View File

@ -417,7 +417,7 @@ uint64 _SYSGetSystemApplicationTitleId(sint32 index)
void sysappExport__SYSGetSystemApplicationTitleId(PPCInterpreter_t* hCPU) void sysappExport__SYSGetSystemApplicationTitleId(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamU32(systemApplicationId, 0); ppcDefineParamU32(systemApplicationId, 0);
forceLogDebug_printf("_SYSGetSystemApplicationTitleId(0x%d)", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "_SYSGetSystemApplicationTitleId(0x{:x})", hCPU->gpr[3]);
uint64 titleId = _SYSGetSystemApplicationTitleId(systemApplicationId); uint64 titleId = _SYSGetSystemApplicationTitleId(systemApplicationId);
osLib_returnFromFunction64(hCPU, titleId); osLib_returnFromFunction64(hCPU, titleId);
@ -460,7 +460,7 @@ void sysappExport__SYSReturnToCallerWithStandardResult(PPCInterpreter_t* hCPU)
void sysappExport__SYSGetEShopArgs(PPCInterpreter_t* hCPU) void sysappExport__SYSGetEShopArgs(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamStructPtr(args, eshopArguments_t, 0); ppcDefineParamStructPtr(args, eshopArguments_t, 0);
forceLogDebug_printf("_SYSGetEShopArgs() - placeholder"); cemuLog_logDebug(LogType::Force, "_SYSGetEShopArgs() - placeholder");
memset(args, 0, sizeof(eshopArguments_t)); memset(args, 0, sizeof(eshopArguments_t));
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);
@ -469,7 +469,7 @@ void sysappExport__SYSGetEShopArgs(PPCInterpreter_t* hCPU)
void sysappExport_SYSGetUPIDFromTitleID(PPCInterpreter_t* hCPU) void sysappExport_SYSGetUPIDFromTitleID(PPCInterpreter_t* hCPU)
{ {
ppcDefineParamU64(titleId, 0); ppcDefineParamU64(titleId, 0);
forceLogDebug_printf("SYSGetUPIDFromTitleID(0x%08x%08x)", hCPU->gpr[3], hCPU->gpr[4]); cemuLog_logDebug(LogType::Force, "SYSGetUPIDFromTitleID(0x{:08x}{:08x})", hCPU->gpr[3], hCPU->gpr[4]);
uint32 titleIdHigh = (titleId >> 32); uint32 titleIdHigh = (titleId >> 32);
uint32 titleIdLow = (uint32)(titleId & 0xFFFFFFFF); uint32 titleIdLow = (uint32)(titleId & 0xFFFFFFFF);
if ((titleIdHigh & 0xFFFF0000) != 0x50000) if ((titleIdHigh & 0xFFFF0000) != 0x50000)
@ -537,7 +537,7 @@ void sysappExport_SYSGetUPIDFromTitleID(PPCInterpreter_t* hCPU)
void sysappExport_SYSGetVodArgs(PPCInterpreter_t* hCPU) void sysappExport_SYSGetVodArgs(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("SYSGetVodArgs() - todo"); cemuLog_logDebug(LogType::Force, "SYSGetVodArgs() - todo");
osLib_returnFromFunction(hCPU, 1); osLib_returnFromFunction(hCPU, 1);
} }
@ -559,7 +559,7 @@ static_assert(sizeof(SysLauncherArgs28) == 0x28);
void sysappExport__SYSGetLauncherArgs(PPCInterpreter_t* hCPU) void sysappExport__SYSGetLauncherArgs(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("_SYSGetLauncherArgs(0x%08x) - todo\n", hCPU->gpr[3]); cemuLog_logDebug(LogType::Force, "_SYSGetLauncherArgs(0x{:08x}) - todo", hCPU->gpr[3]);
// todo: Handle OS library version. Older versions used a different struct (only 0x18 bytes?) // todo: Handle OS library version. Older versions used a different struct (only 0x18 bytes?)
//ppcDefineParamStructPtr(launcherArgs, SysLauncherArgs, 0); //ppcDefineParamStructPtr(launcherArgs, SysLauncherArgs, 0);
@ -571,7 +571,7 @@ void sysappExport__SYSGetLauncherArgs(PPCInterpreter_t* hCPU)
void sysappExport_SYSGetStandardResult(PPCInterpreter_t* hCPU) void sysappExport_SYSGetStandardResult(PPCInterpreter_t* hCPU)
{ {
forceLogDebug_printf("SYSGetStandardResult(0x%08x,0x%08x,0x%08x)\n", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]); cemuLog_logDebug(LogType::Force, "SYSGetStandardResult(0x{:08x},0x{:08x},0x{:08x})", hCPU->gpr[3], hCPU->gpr[4], hCPU->gpr[5]);
memset(memory_getPointerFromVirtualOffset(hCPU->gpr[3]), 0, 4); memset(memory_getPointerFromVirtualOffset(hCPU->gpr[3]), 0, 4);
osLib_returnFromFunction(hCPU, 0); osLib_returnFromFunction(hCPU, 0);

View File

@ -97,7 +97,7 @@ namespace NAPI
titleId == 0x000500301001520A) titleId == 0x000500301001520A)
{ {
// friend list has no icon, just fail immediately // friend list has no icon, just fail immediately
forceLogDebug_printf("Requesting IDBE for Friend List. Return none instead"); cemuLog_logDebug(LogType::Force, "Requesting IDBE for Friend List. Return none instead");
return std::nullopt; return std::nullopt;
} }

View File

@ -168,7 +168,7 @@ void NexFriends::processServerNotification(uint32 notificationType, uint32 pid,
} }
else if (true) else if (true)
{ {
forceLogDebug_printf("Unsupported friend server notification type 0x%02x", notificationType); cemuLog_logDebug(LogType::Force, "Unsupported friend server notification type 0x{:02x}", notificationType);
} }
} }
@ -185,7 +185,7 @@ void nexFriends_protocolNotification_processRequest(nexServiceRequest_t* request
request->nex->sendRequestResponse(request, 0, nullptr, 0); request->nex->sendRequestResponse(request, 0, nullptr, 0);
return; return;
} }
forceLogDebug_printf("NN_NOTIFICATION methodId %d type %02x pid %08x", request->methodId, notificationType, pid); cemuLog_logDebug(LogType::Force, "NN_NOTIFICATION methodId {} type {:02x} pid {:08x}", request->methodId, notificationType, pid);
nexFriends->processServerNotification(notificationType, pid, &request->data); nexFriends->processServerNotification(notificationType, pid, &request->data);
request->nex->sendRequestResponse(request, 0, nullptr, 0); request->nex->sendRequestResponse(request, 0, nullptr, 0);
return; return;
@ -260,7 +260,7 @@ void NexFriends::initiateLogin()
previousState.list_friendReqOutgoing.resize(0); previousState.list_friendReqOutgoing.resize(0);
this->hasData = false; this->hasData = false;
// start login attempt // start login attempt
forceLogDebug_printf("Attempt to log into friend server..."); cemuLog_logDebug(LogType::Force, "Attempt to log into friend server...");
std::thread t(&NexFriends::doAsyncLogin, this); std::thread t(&NexFriends::doAsyncLogin, this);
t.detach(); t.detach();
} }

View File

@ -719,7 +719,7 @@ void prudpClient::handleIncomingPacket(prudpIncomingPacket* incomingPacket)
if (it->sequenceId == incomingPacket->sequenceId) if (it->sequenceId == incomingPacket->sequenceId)
{ {
// already queued (should check other values too, like packet type?) // already queued (should check other values too, like packet type?)
forceLogDebug_printf("Duplicate PRUDP packet received"); cemuLog_logDebug(LogType::Force, "Duplicate PRUDP packet received");
delete incomingPacket; delete incomingPacket;
return; return;
} }

View File

@ -122,7 +122,7 @@ bool CubebAPI::FeedBlock(sint16* data)
std::unique_lock lock(m_mutex); std::unique_lock lock(m_mutex);
if (m_buffer.capacity() <= m_buffer.size() + m_bytesPerBlock) if (m_buffer.capacity() <= m_buffer.size() + m_bytesPerBlock)
{ {
forceLogDebug_printf("dropped direct sound block since too many buffers are queued"); cemuLog_logDebug(LogType::Force, "dropped direct sound block since too many buffers are queued");
return false; return false;
} }

View File

@ -38,7 +38,7 @@ long CubebInputAPI::data_cb(cubeb_stream* stream, void* user, const void* inputb
std::unique_lock lock(thisptr->m_mutex); std::unique_lock lock(thisptr->m_mutex);
if (thisptr->m_buffer.capacity() <= thisptr->m_buffer.size() + size) if (thisptr->m_buffer.capacity() <= thisptr->m_buffer.size() + size)
{ {
forceLogDebug_printf("dropped input sound block since too many buffers are queued"); cemuLog_logDebug(LogType::Force, "dropped input sound block since too many buffers are queued");
return nframes; return nframes;
} }

View File

@ -124,7 +124,7 @@ void DirectSoundAPI::AudioThread()
std::unique_lock lock(m_mutex); std::unique_lock lock(m_mutex);
if (m_buffer.empty()) if (m_buffer.empty())
{ {
//forceLogDebug_printf("DirectSound: writing silence"); //cemuLog_logDebug(LogType::Force, "DirectSound: writing silence");
// we got no data, just write silence // we got no data, just write silence
memset(ptr1, 0x00, bytes1); memset(ptr1, 0x00, bytes1);
@ -189,7 +189,7 @@ bool DirectSoundAPI::FeedBlock(sint16* data)
std::unique_lock lock(m_mutex); std::unique_lock lock(m_mutex);
if (m_buffer.size() > kBlockCount) if (m_buffer.size() > kBlockCount)
{ {
forceLogDebug_printf("dropped direct sound block since too many buffers are queued"); cemuLog_logDebug(LogType::Force, "dropped direct sound block since too many buffers are queued");
return false; return false;
} }

View File

@ -205,7 +205,7 @@ bool XAudio27API::FeedBlock(sint16* data)
if (m_blocks_queued >= kBlockCount) if (m_blocks_queued >= kBlockCount)
{ {
forceLogDebug_printf("dropped xaudio2 block since too many buffers are queued"); cemuLog_logDebug(LogType::Force, "dropped xaudio2 block since too many buffers are queued");
return false; return false;
} }
} }

View File

@ -276,7 +276,7 @@ bool XAudio2API::FeedBlock(sint16* data)
if (m_blocks_queued >= kBlockCount) if (m_blocks_queued >= kBlockCount)
{ {
forceLogDebug_printf("dropped xaudio2 block since too many buffers are queued"); cemuLog_logDebug(LogType::Force, "dropped xaudio2 block since too many buffers are queued");
return false; return false;
} }
} }

View File

@ -307,7 +307,7 @@ void GameUpdateWindow::OnClose(wxCloseEvent& event)
} }
catch (const std::exception& ex) catch (const std::exception& ex)
{ {
forceLogDebug_printf("can't restore update backup: %s",ex.what()); cemuLog_logDebug(LogType::Force, "can't restore update backup: {}",ex.what());
} }
} }
else else
@ -320,7 +320,7 @@ void GameUpdateWindow::OnClose(wxCloseEvent& event)
} }
catch (const std::exception& ex) catch (const std::exception& ex)
{ {
forceLogDebug_printf("can't delete update backup: %s",ex.what()); cemuLog_logDebug(LogType::Force, "can't delete update backup: {}",ex.what());
} }
} }

View File

@ -543,7 +543,7 @@ void wxDownloadManagerList::UpdateTitleStatusDepr(TitleEntryData_t* obj, const w
} }
} }
forceLogDebug_printf("cant update title status of %llx", data.titleId); cemuLog_logDebug(LogType::Force, "cant update title status of {:x}", data.titleId);
} }
int wxDownloadManagerList::AddImage(const wxImage& image) const int wxDownloadManagerList::AddImage(const wxImage& image) const

View File

@ -92,7 +92,7 @@ void InputPanel::on_timer(const EmulatedControllerPtr& emulated_controller, cons
if (id >= kButtonAxisStart) if (id >= kButtonAxisStart)
{ {
if (controller->get_axis_value(id) < 0.33f) { if (controller->get_axis_value(id) < 0.33f) {
forceLogDebug_printf("skipping since value too low %f", controller->get_axis_value(id)); cemuLog_logDebug(LogType::Force, "skipping since value too low {}", controller->get_axis_value(id));
s_was_idle = true; s_was_idle = true;
return; return;
} }

View File

@ -408,7 +408,7 @@ bool VPADController::push_rumble(uint8* pattern, uint8 length)
std::scoped_lock lock(m_rumble_mutex); std::scoped_lock lock(m_rumble_mutex);
if (m_rumble_queue.size() >= 5) if (m_rumble_queue.size() >= 5)
{ {
forceLogDebug_printf("too many cmds"); cemuLog_logDebug(LogType::Force, "too many cmds");
return false; return false;
} }

View File

@ -33,7 +33,7 @@ public:
if (fabs(gv.z) < 0.015f) if (fabs(gv.z) < 0.015f)
gv.z = 0.0f; gv.z = 0.0f;
// forceLogDebug_printf("[IMU Quat] time %7.4lf | %7.2lf %7.2lf %7.2lf %7.2lf | gyro( - bias) %7.4lf %7.4lf %7.4lf | acc %7.2lf %7.2lf %7.2lf | GyroBias %7.4lf %7.4lf %7.4lf", deltaTime, m_imuQ.x, m_imuQ.y, m_imuQ.z, m_imuQ.w, gv.x, gv.y, gv.z, ax, ay, az, m_gyroBias[0], m_gyroBias[1], m_gyroBias[2]); // cemuLog_logDebug(LogType::Force, "[IMU Quat] time {:7.4} | {:7.2} {:7.2} {:7.2} {:7.2} | gyro( - bias) {:7.4} {:7.4} {:7.4} | acc {:7.2} {:7.2} {:7.2} | GyroBias {:7.4} {:7.4} {:7.4}", deltaTime, m_imuQ.x, m_imuQ.y, m_imuQ.z, m_imuQ.w, gv.x, gv.y, gv.z, ax, ay, az, m_gyroBias[0], m_gyroBias[1], m_gyroBias[2]);
if (fabs(av.x) > 0.000001f || fabs(av.y) > 0.000001f || fabs(av.z) > 0.000001f) if (fabs(av.x) > 0.000001f || fabs(av.y) > 0.000001f || fabs(av.z) > 0.000001f)
{ {