first commit
This commit is contained in:
128
Minecraft.Client/Durango/DurangoExtras/DurangoStubs.cpp
Normal file
128
Minecraft.Client/Durango/DurangoExtras/DurangoStubs.cpp
Normal file
@@ -0,0 +1,128 @@
|
||||
#include "stdafx.h"
|
||||
|
||||
#define DURANGO_STUBBED
|
||||
//printf("missing function on Xbox One : %s\n", __FUNCTION__);
|
||||
|
||||
//static char sc_loadPath[] = {"/"};
|
||||
|
||||
//const char* getConsoleHomePath() { return sc_loadPath; }
|
||||
|
||||
DWORD GetFileSize(HANDLE fh,DWORD *pdwHigh)
|
||||
{
|
||||
LARGE_INTEGER FileSize;
|
||||
|
||||
BOOL bRes=GetFileSizeEx(fh,&FileSize);
|
||||
|
||||
if(bRes==FALSE)
|
||||
{
|
||||
if(pdwHigh) *pdwHigh=0;
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(pdwHigh) *pdwHigh=FileSize.HighPart;
|
||||
return FileSize.LowPart;
|
||||
}
|
||||
}
|
||||
|
||||
DWORD XGetLanguage()
|
||||
{
|
||||
//StringTable::eLocale eCurrentLocale=StringTable::eLocale_American;
|
||||
bool bLocaleFound;
|
||||
|
||||
WCHAR wchLocaleName[LOCALE_NAME_MAX_LENGTH];
|
||||
GetUserDefaultLocaleName(wchLocaleName,LOCALE_NAME_MAX_LENGTH);
|
||||
eMCLang eLang=(eMCLang)app.get_eMCLang(wchLocaleName);
|
||||
|
||||
#ifdef _DEBUG
|
||||
app.DebugPrintf("XGetLanguage() ==> '%ls'\n", wchLocaleName);
|
||||
#endif
|
||||
|
||||
// need to map locale to language
|
||||
switch(eLang)
|
||||
{
|
||||
case eMCLang_jaJP:
|
||||
return XC_LANGUAGE_JAPANESE;
|
||||
case eMCLang_deDE:
|
||||
case eMCLang_deAT:
|
||||
return XC_LANGUAGE_GERMAN;
|
||||
case eMCLang_frFR:
|
||||
case eMCLang_frCA:
|
||||
return XC_LANGUAGE_FRENCH;
|
||||
case eMCLang_esES:
|
||||
case eMCLang_esMX:
|
||||
return XC_LANGUAGE_SPANISH;
|
||||
case eMCLang_itIT:
|
||||
return XC_LANGUAGE_ITALIAN;
|
||||
case eMCLang_koKR:
|
||||
return XC_LANGUAGE_KOREAN;
|
||||
case eMCLang_zhHK:
|
||||
case eMCLang_zhSG:
|
||||
case eMCLang_zhTW:
|
||||
case eMCLang_zhCHT:
|
||||
return XC_LANGUAGE_TCHINESE;
|
||||
case eMCLang_zhCHS:
|
||||
case eMCLang_zhCN:
|
||||
return XC_LANGUAGE_SCHINESE;
|
||||
case eMCLang_ptPT:
|
||||
case eMCLang_ptBR:
|
||||
return XC_LANGUAGE_PORTUGUESE;
|
||||
case eMCLang_ruRU:
|
||||
return XC_LANGUAGE_RUSSIAN;
|
||||
case eMCLang_nlNL:
|
||||
case eMCLang_nlBE:
|
||||
return XC_LANGUAGE_DUTCH;
|
||||
case eMCLang_fiFI:
|
||||
return XC_LANGUAGE_FINISH;
|
||||
case eMCLang_svSV:
|
||||
case eMCLang_svSE:
|
||||
return XC_LANGUAGE_SWEDISH;
|
||||
case eMCLang_daDA:
|
||||
case eMCLang_daDK:
|
||||
return XC_LANGUAGE_DANISH;
|
||||
case eMCLang_noNO:
|
||||
case eMCLang_nnNO:
|
||||
case eMCLang_nbNO:
|
||||
return XC_LANGUAGE_BNORWEGIAN;
|
||||
case eMCLang_plPL:
|
||||
return XC_LANGUAGE_POLISH;
|
||||
case eMCLang_trTR:
|
||||
return XC_LANGUAGE_TURKISH;
|
||||
case eMCLang_laLAS:
|
||||
return XC_LANGUAGE_LATINAMERICANSPANISH;
|
||||
case eMCLang_elEL:
|
||||
case eMCLang_elGR:
|
||||
case eMCLang_enGR: // Hack redirect
|
||||
return XC_LANGUAGE_GREEK;
|
||||
case eMCLang_csCZ:
|
||||
case eMCLang_enCZ: // Hack redirect
|
||||
return XC_LANGUAGE_CZECH;
|
||||
case eMCLang_skSK:
|
||||
case eMCLang_enSK: // Hack redirect
|
||||
return XC_LANGUAGE_SLOVAK;
|
||||
case eMCLang_enUS:
|
||||
case eMCLang_enGB:
|
||||
case eMCLang_enIE:
|
||||
case eMCLang_enAU:
|
||||
case eMCLang_enNZ:
|
||||
case eMCLang_enCA:
|
||||
default:
|
||||
return XC_LANGUAGE_ENGLISH;
|
||||
}
|
||||
}
|
||||
|
||||
DWORD XGetLocale()
|
||||
{
|
||||
//return XC_LOCALE_SWEDEN;
|
||||
|
||||
WCHAR wchLocaleName[LOCALE_NAME_MAX_LENGTH];
|
||||
GetUserDefaultLocaleName(wchLocaleName,LOCALE_NAME_MAX_LENGTH);
|
||||
|
||||
return app.get_xcLang(wchLocaleName);
|
||||
}
|
||||
|
||||
DWORD XEnableGuestSignin(BOOL fEnable)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
9
Minecraft.Client/Durango/DurangoExtras/DurangoStubs.h
Normal file
9
Minecraft.Client/Durango/DurangoExtras/DurangoStubs.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
//const char* getConsoleHomePath();
|
||||
|
||||
DWORD GetFileSize(HANDLE fh,DWORD *pdwHigh);
|
||||
|
||||
DWORD XGetLanguage();
|
||||
DWORD XGetLocale();
|
||||
DWORD XEnableGuestSignin(BOOL fEnable);
|
||||
253
Minecraft.Client/Durango/DurangoExtras/xcompress.h
Normal file
253
Minecraft.Client/Durango/DurangoExtras/xcompress.h
Normal file
@@ -0,0 +1,253 @@
|
||||
/************************************************************************
|
||||
* *
|
||||
* xcompress.h -- This module defines the Xbox Compression APIs *
|
||||
* *
|
||||
* Copyright (c) Microsoft Corp. All rights reserved. *
|
||||
* *
|
||||
************************************************************************/
|
||||
#pragma once
|
||||
|
||||
#ifndef _XCOMPRESS_H_
|
||||
#define _XCOMPRESS_H_
|
||||
|
||||
#include <sal.h>
|
||||
|
||||
#ifndef XBOXAPI
|
||||
#define XBOXAPI
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define XCTDEXTERN extern "C"
|
||||
#else
|
||||
#define XCTDEXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: 4200) // zero-sized array
|
||||
|
||||
typedef enum _XMEMCODEC_TYPE
|
||||
{
|
||||
XMEMCODEC_DEFAULT = 0,
|
||||
XMEMCODEC_LZX = 1
|
||||
} XMEMCODEC_TYPE;
|
||||
|
||||
/*
|
||||
* Data compression flags
|
||||
*/
|
||||
|
||||
#define XMEMCOMPRESS_STREAM 0x00000001
|
||||
|
||||
/*
|
||||
* Data compression functions
|
||||
*/
|
||||
|
||||
typedef VOID* XMEMCOMPRESSION_CONTEXT;
|
||||
|
||||
XBOXAPI
|
||||
HRESULT
|
||||
WINAPI
|
||||
XMemCreateCompressionContext(
|
||||
__in XMEMCODEC_TYPE CodecType,
|
||||
__in_opt CONST VOID* pCodecParams,
|
||||
__in DWORD Flags,
|
||||
__deref_out XMEMCOMPRESSION_CONTEXT* pContext
|
||||
);
|
||||
|
||||
XBOXAPI
|
||||
XMEMCOMPRESSION_CONTEXT
|
||||
WINAPI
|
||||
XMemInitializeCompressionContext(
|
||||
__in XMEMCODEC_TYPE CodecType,
|
||||
__in_opt CONST VOID* pCodecParams,
|
||||
__in DWORD Flags,
|
||||
__out_bcount(ContextSize) VOID* pContextData,
|
||||
__in SIZE_T ContextSize
|
||||
);
|
||||
|
||||
XBOXAPI
|
||||
VOID
|
||||
WINAPI
|
||||
XMemDestroyCompressionContext(
|
||||
__in XMEMCOMPRESSION_CONTEXT Context
|
||||
);
|
||||
|
||||
XBOXAPI
|
||||
SIZE_T
|
||||
WINAPI
|
||||
XMemGetCompressionContextSize(
|
||||
__in XMEMCODEC_TYPE CodecType,
|
||||
__in_opt CONST VOID* pCodecParams,
|
||||
__in DWORD Flags
|
||||
);
|
||||
|
||||
XBOXAPI
|
||||
HRESULT
|
||||
WINAPI
|
||||
XMemResetCompressionContext(
|
||||
__in XMEMCOMPRESSION_CONTEXT Context);
|
||||
|
||||
XBOXAPI
|
||||
HRESULT
|
||||
WINAPI
|
||||
XMemCompress(
|
||||
__in XMEMCOMPRESSION_CONTEXT Context,
|
||||
__out_bcount_opt( *pDestSize ) VOID* pDestination,
|
||||
__inout SIZE_T* pDestSize,
|
||||
__in_bcount( SrcSize ) CONST VOID* pSource,
|
||||
__in SIZE_T SrcSize
|
||||
);
|
||||
|
||||
XBOXAPI
|
||||
HRESULT
|
||||
WINAPI
|
||||
XMemCompressStream(
|
||||
__in XMEMCOMPRESSION_CONTEXT Context,
|
||||
__out_bcount_opt( *pDestSize ) VOID* pDestination,
|
||||
__inout SIZE_T* pDestSize,
|
||||
__in_bcount( *pSrcSize ) CONST VOID* pSource,
|
||||
__inout SIZE_T* pSrcSize
|
||||
);
|
||||
|
||||
/*
|
||||
* Data decompression functions
|
||||
*/
|
||||
|
||||
typedef VOID* XMEMDECOMPRESSION_CONTEXT;
|
||||
|
||||
XBOXAPI
|
||||
HRESULT
|
||||
WINAPI
|
||||
XMemCreateDecompressionContext(
|
||||
__in XMEMCODEC_TYPE CodecType,
|
||||
__in_opt CONST VOID* pCodecParams,
|
||||
__in DWORD Flags,
|
||||
__deref_out XMEMDECOMPRESSION_CONTEXT* pContext
|
||||
);
|
||||
|
||||
XBOXAPI
|
||||
XMEMDECOMPRESSION_CONTEXT
|
||||
WINAPI
|
||||
XMemInitializeDecompressionContext(
|
||||
__in XMEMCODEC_TYPE CodecType,
|
||||
__in_opt CONST VOID* pCodecParams,
|
||||
__in DWORD Flags,
|
||||
__out_bcount( ContextSize ) VOID* pContextData,
|
||||
__in SIZE_T ContextSize
|
||||
);
|
||||
|
||||
XBOXAPI
|
||||
VOID
|
||||
WINAPI
|
||||
XMemDestroyDecompressionContext(
|
||||
__in XMEMDECOMPRESSION_CONTEXT Context
|
||||
);
|
||||
|
||||
XBOXAPI
|
||||
SIZE_T
|
||||
WINAPI
|
||||
XMemGetDecompressionContextSize(
|
||||
__in XMEMCODEC_TYPE CodecType,
|
||||
__in_opt CONST VOID* pCodecParams,
|
||||
__in DWORD Flags
|
||||
);
|
||||
|
||||
XBOXAPI
|
||||
HRESULT
|
||||
WINAPI
|
||||
XMemResetDecompressionContext(
|
||||
__in XMEMDECOMPRESSION_CONTEXT Context);
|
||||
|
||||
XBOXAPI
|
||||
HRESULT
|
||||
WINAPI
|
||||
XMemDecompress(
|
||||
__in XMEMDECOMPRESSION_CONTEXT Context,
|
||||
__out_bcount( *pDestSize ) VOID* pDestination,
|
||||
__inout SIZE_T* pDestSize,
|
||||
__in_bcount( SrcSize) CONST VOID* pSource,
|
||||
__in SIZE_T SrcSize
|
||||
);
|
||||
|
||||
XBOXAPI
|
||||
HRESULT
|
||||
WINAPI
|
||||
XMemDecompressStream(
|
||||
__in XMEMDECOMPRESSION_CONTEXT Context,
|
||||
__out_bcount( *pDestSize ) VOID* pDestination,
|
||||
__inout SIZE_T* pDestSize,
|
||||
__in_bcount( *pSrcSize ) CONST VOID* pSource,
|
||||
__inout SIZE_T* pSrcSize
|
||||
);
|
||||
|
||||
/*
|
||||
* LZX codec for lossless compression
|
||||
*/
|
||||
|
||||
typedef struct _XMEMCODEC_PARAMETERS_LZX
|
||||
{
|
||||
DWORD Flags;
|
||||
DWORD WindowSize;
|
||||
DWORD CompressionPartitionSize;
|
||||
} XMEMCODEC_PARAMETERS_LZX;
|
||||
|
||||
#define XCOMPRESS_LZX_BLOCK_SIZE (32 * 1024)
|
||||
#define XCOMPRESS_LZX_BLOCK_GROWTH_SIZE_MAX 6155
|
||||
|
||||
/*
|
||||
* Error codes
|
||||
*/
|
||||
|
||||
#define XMCDERR_MOREDATA _HRESULT_TYPEDEF_(0x81DE2001)
|
||||
|
||||
/*
|
||||
* Compression file headers
|
||||
*/
|
||||
|
||||
#define XCOMPRESS_FILE_IDENTIFIER_LZXTDECODE 0x0FF512ED
|
||||
#define XCOMPRESS_FILE_IDENTIFIER_LZXNATIVE 0x0FF512EE
|
||||
|
||||
#define XCOMPRESS_SET_FILE_VERSION(Major, Minor) ((((Major) & 0xFF) << 8) | ((Minor) & 0xFF))
|
||||
#define XCOMPRESS_GET_FILE_VERSION_MAJOR(Version) (((Version) >> 8) & 0xFF)
|
||||
#define XCOMPRESS_GET_FILE_VERSION_MINOR(Version) ((Version) & 0xFF)
|
||||
|
||||
#define XCOMPRESS_LZXNATIVE_VERSION_MAJOR 1
|
||||
#define XCOMPRESS_LZXNATIVE_VERSION_MINOR 3
|
||||
|
||||
typedef struct _XCOMPRESS_FILE_HEADER
|
||||
{
|
||||
DWORD Identifier;
|
||||
WORD Version;
|
||||
WORD Reserved;
|
||||
} XCOMPRESS_FILE_HEADER;
|
||||
|
||||
typedef struct _XCOMPRESS_FILE_HEADER_LZXNATIVE
|
||||
{
|
||||
XCOMPRESS_FILE_HEADER Common;
|
||||
DWORD ContextFlags;
|
||||
XMEMCODEC_PARAMETERS_LZX CodecParams;
|
||||
DWORD UncompressedSizeHigh;
|
||||
DWORD UncompressedSizeLow;
|
||||
DWORD CompressedSizeHigh;
|
||||
DWORD CompressedSizeLow;
|
||||
DWORD UncompressedBlockSize;
|
||||
DWORD CompressedBlockSizeMax;
|
||||
} XCOMPRESS_FILE_HEADER_LZXNATIVE;
|
||||
|
||||
typedef struct _XCOMPRESS_BLOCK_HEADER_LZXNATIVE
|
||||
{
|
||||
DWORD CompressedBlockSize;
|
||||
BYTE pCompressedData[0];
|
||||
} XCOMPRESS_BLOCK_HEADER_LZXNATIVE;
|
||||
|
||||
#pragma warning(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _XCOMPRESS_H_ */
|
||||
Reference in New Issue
Block a user