mirror of https://github.com/bjornbytes/lovr.git
Update to support special characters in Windows;
This commit is contained in:
parent
87ccedb166
commit
1f4404a695
|
@ -72,7 +72,7 @@ int lovrFilesystemGetAppdataDirectory(char* dest, unsigned int size) {
|
|||
#elif _WIN32
|
||||
PWSTR appData = NULL;
|
||||
SHGetKnownFolderPath(&FOLDERID_RoamingAppData, 0, NULL, &appData);
|
||||
wcstombs(dest, appData, size);
|
||||
PHYSFS_utf8FromUtf16(appData, dest, size);
|
||||
CoTaskMemFree(appData);
|
||||
return 0;
|
||||
#elif EMSCRIPTEN
|
||||
|
@ -234,7 +234,11 @@ int lovrFilesystemSetIdentity(const char* identity) {
|
|||
}
|
||||
|
||||
lovrFilesystemGetAppdataDirectory(state.savePathFull, LOVR_PATH_MAX);
|
||||
PHYSFS_setWriteDir(state.savePathFull);
|
||||
if (!PHYSFS_setWriteDir(state.savePathFull)) {
|
||||
const char* error = PHYSFS_getErrorByCode(PHYSFS_getLastErrorCode());
|
||||
lovrThrow("Could not set write directory: %s (%s)", error, state.savePathFull);
|
||||
}
|
||||
|
||||
snprintf(state.savePathRelative, LOVR_PATH_MAX, "LOVR/%s", identity ? identity : "default");
|
||||
char fullPathBuffer[LOVR_PATH_MAX];
|
||||
snprintf(fullPathBuffer, LOVR_PATH_MAX, "%s/%s", state.savePathFull, state.savePathRelative);
|
||||
|
|
|
@ -150,7 +150,7 @@ static void assimpSumChildren(struct aiNode* assimpNode, int* totalChildren) {
|
|||
static void assimpNodeTraversal(ModelData* modelData, struct aiNode* assimpNode, int* nodeId) {
|
||||
int currentIndex = *nodeId;
|
||||
ModelNode* node = &modelData->nodes[currentIndex];
|
||||
node->name = strndup(assimpNode->mName.data, assimpNode->mName.length);
|
||||
node->name = strdup(assimpNode->mName.data);
|
||||
|
||||
// Transform
|
||||
struct aiMatrix4x4 m = assimpNode->mTransformation;
|
||||
|
@ -310,7 +310,7 @@ ModelData* lovrModelDataCreate(Blob* blob) {
|
|||
|
||||
if (!map_get(&modelData->boneMap, boneName)) {
|
||||
Bone bone;
|
||||
bone.name = strndup(boneName, assimpBone->mName.length);
|
||||
bone.name = strdup(boneName);
|
||||
aiTransposeMatrix4(&assimpBone->mOffsetMatrix);
|
||||
mat4_set(bone.offset, (float*) &assimpBone->mOffsetMatrix);
|
||||
map_set(&modelData->boneMap, bone.name, modelData->bones.length);
|
||||
|
@ -396,7 +396,7 @@ ModelData* lovrModelDataCreate(Blob* blob) {
|
|||
struct aiNodeAnim* assimpChannel = assimpAnimation->mChannels[j];
|
||||
AnimationChannel channel;
|
||||
|
||||
channel.node = strndup(assimpChannel->mNodeName.data, assimpChannel->mNodeName.length);
|
||||
channel.node = strdup(assimpChannel->mNodeName.data);
|
||||
vec_init(&channel.positionKeyframes);
|
||||
vec_init(&channel.rotationKeyframes);
|
||||
vec_init(&channel.scaleKeyframes);
|
||||
|
|
Loading…
Reference in New Issue