Files
MinecraftConsoles/Minecraft.Client/PS3/PS3Extras/PS3Strings.cpp
ModMaker101 a9be52c41a Project modernization (#630)
* Fixed boats falling and a TP glitch #266

* Replaced every C-style cast with C++ ones

* Replaced every C-style cast with C++ ones

* Fixed boats falling and a TP glitch #266

* Updated NULL to nullptr and fixing some type issues

* Modernized and fixed a few bugs

- Replaced most instances of `NULL` with `nullptr`.
- Replaced most `shared_ptr(new ...)` with `make_shared`.
- Removed the `nullptr` macro as it was interfering with the actual nullptr keyword in some instances.

* Fixing more conflicts

* Replace int loops with size_t and start work on overrides
2026-03-08 09:56:03 +07:00

31 lines
778 B
C++

#include "stdafx.h"
#include "PS3Strings.h"
uint8_t *mallocAndCreateUTF8ArrayFromString(int iID)
{
int result;
l10n_conv_t cd;
LPCWSTR wchString=app.GetString(iID);
size_t src_len,dst_len;
int iLen=wcslen(wchString);
src_len=sizeof(WCHAR)*(iLen);
if( (cd = l10n_get_converter( L10N_UTF16, L10N_UTF8 )) == -1 )
{
app.DebugPrintf("l10n_get_converter: no such converter\n");
return nullptr;
}
l10n_convert_str( cd, wchString, &src_len, nullptr, &dst_len );
uint8_t *strUtf8=static_cast<uint8_t *>(malloc(dst_len));
memset(strUtf8,0,dst_len);
result = l10n_convert_str( cd, wchString, &src_len, strUtf8, &dst_len );
if( result != ConversionOK )
{
app.DebugPrintf("l10n_convert: conversion error : 0x%x\n", result);
return nullptr;
}
return strUtf8;
}