first commit

This commit is contained in:
murdle
2026-03-01 02:38:58 +02:00
commit 19250b9db4
19111 changed files with 4358159 additions and 0 deletions

View 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;
}

View File

@@ -0,0 +1,9 @@
#pragma once
//const char* getConsoleHomePath();
DWORD GetFileSize(HANDLE fh,DWORD *pdwHigh);
DWORD XGetLanguage();
DWORD XGetLocale();
DWORD XEnableGuestSignin(BOOL fEnable);

View 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_ */