diff options
| author | void_17 <heroerror3@gmail.com> | 2026-03-02 17:39:35 +0700 |
|---|---|---|
| committer | void_17 <heroerror3@gmail.com> | 2026-03-02 17:39:35 +0700 |
| commit | b9a2951901dac21b08589c9d8b4a7eae78757726 (patch) | |
| tree | 6b750cbdde9d2bd2aeaec9880ac7db62e9356745 /Minecraft.Client/Orbis | |
| parent | 119bff351450ea16ffda550b6e0f67379b29f708 (diff) | |
Revert "Get rid of MSVC's __int64"
This reverts commit d63f79325f85e014361eb8cf1e41eaebedb1ae71.
Diffstat (limited to 'Minecraft.Client/Orbis')
| -rw-r--r-- | Minecraft.Client/Orbis/Iggy/include/rrCore.h | 56 | ||||
| -rw-r--r-- | Minecraft.Client/Orbis/Miles/include/mss.h | 428 | ||||
| -rw-r--r-- | Minecraft.Client/Orbis/Miles/include/rrCore.h | 56 | ||||
| -rw-r--r-- | Minecraft.Client/Orbis/Network/SQRNetworkManager_Orbis.cpp | 166 | ||||
| -rw-r--r-- | Minecraft.Client/Orbis/Network/SQRNetworkManager_Orbis.h | 14 | ||||
| -rw-r--r-- | Minecraft.Client/Orbis/OrbisExtras/OrbisStubs.cpp | 154 | ||||
| -rw-r--r-- | Minecraft.Client/Orbis/OrbisExtras/OrbisStubs.h | 90 | ||||
| -rw-r--r-- | Minecraft.Client/Orbis/OrbisExtras/OrbisTypes.h | 2 | ||||
| -rw-r--r-- | Minecraft.Client/Orbis/Orbis_App.cpp | 70 | ||||
| -rw-r--r-- | Minecraft.Client/Orbis/user_malloc.cpp | 6 |
10 files changed, 522 insertions, 520 deletions
diff --git a/Minecraft.Client/Orbis/Iggy/include/rrCore.h b/Minecraft.Client/Orbis/Iggy/include/rrCore.h index e72c3466..e88b5f8c 100644 --- a/Minecraft.Client/Orbis/Iggy/include/rrCore.h +++ b/Minecraft.Client/Orbis/Iggy/include/rrCore.h @@ -114,8 +114,8 @@ #define __RADLITTLEENDIAN__ #ifdef __i386__ #define __RADX86__ - #else - #define __RADARM__ + #else + #define __RADARM__ #endif #define RADINLINE inline #define RADRESTRICT __restrict @@ -132,7 +132,7 @@ #define __RADX86__ #else #error Unknown processor -#endif +#endif #define __RADLITTLEENDIAN__ #define RADINLINE inline #define RADRESTRICT __restrict @@ -155,7 +155,7 @@ #define __RADNACL__ #define __RAD32__ #define __RADLITTLEENDIAN__ - #define __RADX86__ + #define __RADX86__ #define RADINLINE inline #define RADRESTRICT __restrict @@ -196,7 +196,7 @@ #define __RAD64REGS__ #define __RADLITTLEENDIAN__ #define RADINLINE inline - #define RADRESTRICT __restrict + #define RADRESTRICT __restrict #undef RADSTRUCT #define RADSTRUCT struct __attribute__((__packed__)) @@ -265,7 +265,7 @@ #endif #undef RADSTRUCT #define RADSTRUCT struct __attribute__((__packed__)) - + #elif defined(CAFE) // has to be before HOLLYWOOD_REV since it also defines it #define __RADWIIU__ @@ -480,7 +480,7 @@ #undef RADRESTRICT /* could have been defined above... */ #define RADRESTRICT __restrict - + #undef RADSTRUCT #define RADSTRUCT struct __attribute__((__packed__)) #endif @@ -885,7 +885,7 @@ #define RAD_ALIGN(type,var,num) type __declspec(align(num)) var #else // NOTE: / / is a guaranteed parse error in C/C++. - #define RAD_ALIGN(type,var,num) RAD_ALIGN_USED_BUT_NOT_DEFINED / / + #define RAD_ALIGN(type,var,num) RAD_ALIGN_USED_BUT_NOT_DEFINED / / #endif // WARNING : RAD_TLS should really only be used for debug/tools stuff @@ -917,8 +917,8 @@ #define RAD_S32 signed int // But pointers are 64 bits. #if (_MSC_VER >= 1300 && defined(_Wp64) && _Wp64 ) - #define RAD_SINTa __w64 signed int64_t - #define RAD_UINTa __w64 uint64_t + #define RAD_SINTa __w64 signed __int64 + #define RAD_UINTa __w64 unsigned __int64 #else // non-vc.net compiler or /Wp64 turned off #define RAD_UINTa unsigned long long #define RAD_SINTa signed long long @@ -976,8 +976,8 @@ #define RAD_U64 unsigned long long #define RAD_S64 signed long long #elif defined(__RADX64__) || defined(__RAD32__) - #define RAD_U64 unsigned long long - #define RAD_S64 signed long long + #define RAD_U64 unsigned __int64 + #define RAD_S64 signed __int64 #else // 16-bit typedef RADSTRUCT RAD_U64 // do this so that we don't accidentally use U64s @@ -1134,7 +1134,7 @@ // helpers for doing an if ( ) with expect : // if ( RAD_LIKELY(expr) ) { ... } - + #define RAD_LIKELY(expr) RAD_EXPECT(expr,1) #define RAD_UNLIKELY(expr) RAD_EXPECT(expr,0) @@ -1324,7 +1324,7 @@ __pragma(warning(push)) \ __pragma(warning(disable:4127)) \ } while(0) \ - __pragma(warning(pop)) + __pragma(warning(pop)) #define RAD_STATEMENT_END_TRUE \ __pragma(warning(push)) \ @@ -1333,10 +1333,10 @@ __pragma(warning(pop)) #else - #define RAD_USE_STANDARD_LOOP_CONSTRUCT + #define RAD_USE_STANDARD_LOOP_CONSTRUCT #endif #else - #define RAD_USE_STANDARD_LOOP_CONSTRUCT + #define RAD_USE_STANDARD_LOOP_CONSTRUCT #endif #ifdef RAD_USE_STANDARD_LOOP_CONSTRUCT @@ -1345,7 +1345,7 @@ #define RAD_STATEMENT_END_FALSE \ } while ( (void)0,0 ) - + #define RAD_STATEMENT_END_TRUE \ } while ( (void)1,1 ) @@ -1355,7 +1355,7 @@ RAD_STATEMENT_START \ code \ RAD_STATEMENT_END_FALSE - + #define RAD_INFINITE_LOOP( code ) \ RAD_STATEMENT_START \ code \ @@ -1363,7 +1363,7 @@ // Must be placed after variable declarations for code compiled as .c -#if defined(_MSC_VER) && _MSC_VER >= 1700 // in 2012 aka 11.0 and later +#if defined(_MSC_VER) && _MSC_VER >= 1700 // in 2012 aka 11.0 and later # define RR_UNUSED_VARIABLE(x) (void) x #else # define RR_UNUSED_VARIABLE(x) (void)(sizeof(x)) @@ -1473,7 +1473,7 @@ // just to make gcc shut up about derefing null : #define RR_MEMBER_OFFSET_PTR(type,member,ptr) ( (SINTa) &(((type *)(ptr))->member) - (SINTa)(ptr) ) #define RR_MEMBER_SIZE_PTR(type,member,ptr) ( sizeof( ((type *) (ptr))->member) ) - + // MEMBER_TO_OWNER takes a pointer to a member and gives you back the base of the object // you should then RR_ASSERT( &(ret->member) == ptr ); #define RR_MEMBER_TO_OWNER(type,member,ptr) (type *)( ((char *)(ptr)) - RR_MEMBER_OFFSET_PTR(type,member,ptr) ) @@ -1482,7 +1482,7 @@ // Cache / prefetch macros : // RR_PREFETCH for various platforms : -// +// // RR_PREFETCH_SEQUENTIAL : prefetch memory for reading in a sequential scan // platforms that automatically prefetch sequential (eg. PC) should be a no-op here // RR_PREFETCH_WRITE_INVALIDATE : prefetch memory for writing - contents of memory are undefined @@ -1707,7 +1707,7 @@ extern fp_rrDisplayAssertion * g_fp_rrDisplayAssertion; #define rrDisplayAssertion(i,n,l,f,m) ( ( g_fp_rrDisplayAssertion ) ? (*g_fp_rrDisplayAssertion)(i,n,l,f,m) : 1 ) //----------------------------------------------------------- - + // RAD_NO_BREAK : option if you don't like your assert to break // CB : RR_BREAK is *always* a break ; RR_ASSERT_BREAK is optional #ifdef RAD_NO_BREAK @@ -1725,7 +1725,7 @@ extern fp_rrDisplayAssertion * g_fp_rrDisplayAssertion; #define RR_ASSERT_LITE_ALWAYS(exp) RAD_STATEMENT_WRAPPER( if ( ! (exp) ) { RR_ASSERT_BREAK(); } ) //----------------------------------- -#ifdef RR_DO_ASSERTS +#ifdef RR_DO_ASSERTS #define RR_ASSERT(exp) RR_ASSERT_ALWAYS(exp) #define RR_ASSERT_LITE(exp) RR_ASSERT_LITE_ALWAYS(exp) @@ -1883,7 +1883,7 @@ unsigned long __cdecl _byteswap_ulong (unsigned long _Long); #define RR_BSWAP16 _byteswap_ushort #define RR_BSWAP32 _byteswap_ulong -unsigned long long __cdecl _byteswap_uint64 (unsigned long long val); +unsigned __int64 __cdecl _byteswap_uint64 (unsigned __int64 val); #pragma intrinsic(_byteswap_uint64) #define RR_BSWAP64 _byteswap_uint64 @@ -1909,7 +1909,7 @@ RADFORCEINLINE unsigned long RR_BSWAP32 (unsigned long _Long) return _Long; } -RADFORCEINLINE unsigned long long RR_BSWAP64 (unsigned long long _Long) +RADFORCEINLINE unsigned __int64 RR_BSWAP64 (unsigned __int64 _Long) { __asm { mov eax, DWORD PTR _Long @@ -2250,10 +2250,10 @@ void __storewordbytereverse (unsigned int val, int offset, void *bas #if ( defined(_MSC_VER) && _MSC_VER >= 1300) -unsigned long long __cdecl _rotl64(unsigned long long _Val, int _Shift); +unsigned __int64 __cdecl _rotl64(unsigned __int64 _Val, int _Shift); #pragma intrinsic(_rotl64) -#define RR_ROTL64(x,k) _rotl64((unsigned long long)(x),(int)(k)) +#define RR_ROTL64(x,k) _rotl64((unsigned __int64)(x),(int)(k)) #elif defined(__RADCELL__) @@ -2262,7 +2262,7 @@ unsigned long long __cdecl _rotl64(unsigned long long _Val, int _Shift); #elif defined(__RADLINUX__) || defined(__RADMACAPI__) -//APTODO: Just to compile linux. Should we be doing better than this? If not, combine with above. +//APTODO: Just to compile linux. Should we be doing better than this? If not, combine with above. #define RR_ROTL64(u64,num) ( ( (u64) << (num) ) | ( (u64) >> (64 - (num))) ) #else diff --git a/Minecraft.Client/Orbis/Miles/include/mss.h b/Minecraft.Client/Orbis/Miles/include/mss.h index 754f536b..531dcbc9 100644 --- a/Minecraft.Client/Orbis/Miles/include/mss.h +++ b/Minecraft.Client/Orbis/Miles/include/mss.h @@ -39,7 +39,7 @@ // doc system stuff #ifndef EXPAPI -#define EXPAPI +#define EXPAPI #endif #ifndef EXPTYPE #define EXPTYPE @@ -69,10 +69,10 @@ // For docs EXPGROUP(_NullGroup) #define MilesVersion "9.3m" EXPMACRO -#define MilesMajorVersion 9 EXPMACRO +#define MilesMajorVersion 9 EXPMACRO #define MilesMinorVersion 3 EXPMACRO -#define MilesBuildNumber 11 EXPMACRO -#define MilesCustomization 0 EXPMACRO +#define MilesBuildNumber 11 EXPMACRO +#define MilesCustomization 0 EXPMACRO EXPGROUP(_RootGroup) @@ -273,14 +273,14 @@ typedef void VOIDFUNC(void); //================ EXPGROUP(Basic Types) -#define AILCALL EXPTAG(AILCALL) +#define AILCALL EXPTAG(AILCALL) /* Internal calling convention that all external Miles functions use. Usually cdecl or stdcall on Windows. */ -#define AILCALLBACK EXPTAG(AILCALLBACK docproto) +#define AILCALLBACK EXPTAG(AILCALLBACK docproto) /* Calling convention that user supplied callbacks <b>from</b> Miles use. @@ -326,7 +326,7 @@ RADDEFSTART typedef CHAR *LPSTR, *PSTR; #ifdef IS_WIN64 - typedef uint64_t ULONG_PTR, *PULONG_PTR; + typedef unsigned __int64 ULONG_PTR, *PULONG_PTR; #else #ifdef _Wp64 #if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 @@ -348,13 +348,13 @@ RADDEFSTART typedef struct HWAVEOUT__ *HWAVEOUT; typedef HWAVEIN *LPHWAVEIN; typedef HWAVEOUT *LPHWAVEOUT; - + #ifndef WAVE_MAPPER #define WAVE_MAPPER ((UINT)-1) #endif typedef struct waveformat_tag *LPWAVEFORMAT; - + typedef struct HMIDIOUT__ *HMIDIOUT; typedef HMIDIOUT *LPHMIDIOUT; typedef struct HWND__ *HWND; @@ -368,9 +368,9 @@ RADDEFSTART // If compiling MSS DLL, use __declspec(dllexport) for both // declarations and definitions // - + #ifdef IS_WIN32 - + #if !defined(FORNONWIN) && !defined(__RADNTBUILDLINUX__) #define AILLIBCALLBACK __stdcall #define AILCALL __stdcall @@ -382,20 +382,20 @@ RADDEFSTART #define AILCALLBACK __cdecl #define AILEXPORT __cdecl #endif - + #ifdef __RADINDLL__ #define DXDEC __declspec(dllexport) #define DXDEF __declspec(dllexport) #else - + #if defined( __BORLANDC__ ) || defined( MSS_SPU_PROCESS ) #define DXDEC extern #else #define DXDEC __declspec(dllimport) #endif - + #endif - + #ifdef IS_WIN64 #define MSSDLLNAME "MSS64.DLL" #define MSS_REDIST_DIR_NAME "redist64" @@ -403,11 +403,11 @@ RADDEFSTART #define MSSDLLNAME "MSS32.DLL" #define MSS_REDIST_DIR_NAME "redist" #endif - + #define MSS_DIR_SEP "\\" #define MSS_DIR_UP ".." MSS_DIR_SEP #define MSS_DIR_UP_TWO MSS_DIR_UP MSS_DIR_UP - + #endif typedef void * LPVOID; @@ -420,7 +420,7 @@ RADDEFSTART #define AILLIBCALLBACK #define AILCALL #define AILEXPORT - #define AILCALLBACK + #define AILCALLBACK #elif defined(__RADX86__) #define AILLIBCALLBACK __attribute__((cdecl)) #define AILCALL __attribute__((cdecl)) @@ -437,7 +437,7 @@ RADDEFSTART #define DXDEC extern #define DXDEF #endif - + #ifdef __RADX64__ #define MSS_REDIST_DIR_NAME "redist/x64" #elif defined(IS_X86) @@ -447,7 +447,7 @@ RADDEFSTART #else #error "No Redist Dir Specified" #endif - + #define MSS_DIR_SEP "/" #define MSS_DIR_UP ".." MSS_DIR_SEP #define MSS_DIR_UP_TWO MSS_DIR_UP MSS_DIR_UP @@ -714,7 +714,7 @@ typedef enum #ifndef FILE_ERRS #define FILE_ERRS - + #define AIL_NO_ERROR 0 #define AIL_IO_ERROR 1 #define AIL_OUT_OF_MEMORY 2 @@ -736,9 +736,9 @@ EXPTYPEBEGIN typedef SINTa HMSSENUM; EXPTYPEEND /* specifies a type used to enumerate through a list of properties. - + $:MSS_FIRST use this value to start the enumeration process. - + The Miles enumeration functions all work similarly - you set a local variable of type HMSSENUM to MSS_FIRST and then call the enumeration function until it returns 0. @@ -751,7 +751,7 @@ the enumeration function until it returns 0. // Preference names and default values // -#define AIL_MM_PERIOD 0 +#define AIL_MM_PERIOD 0 #define DEFAULT_AMP 1 // Default MM timer period = 5 msec. #define AIL_TIMERS 1 @@ -1877,7 +1877,7 @@ typedef struct _S3DSTATE // Portion of HSAMPLE that deals with 3D posi F32 lowpass_3D; // low pass cutoff computed by falloff graph. -1 if not affected. F32 spread; - + HSAMPLE owner; // May be NULL if used for temporary/internal calculations AILFALLOFFCB falloff_function; // User function for min/max distance calculations, if desired @@ -1915,7 +1915,7 @@ typedef struct _SAMPLE // Sample instance S32 index; // Numeric index of this sample SMPBUF buf[8]; // Source data buffers - + U32 src_fract; // Fractional part of source address U32 mix_delay; // ms until start mixing (decreased every buffer mix) @@ -1924,7 +1924,7 @@ typedef struct _SAMPLE // Sample instance U64 mix_bytes; // total number of bytes sent to the mixer for this sample. S32 group_id; // ID for grouped operations. - + // size of the next dynamic arrays U32 chan_buf_alloced; U32 chan_buf_used; @@ -1946,10 +1946,10 @@ typedef struct _SAMPLE // Sample instance // these are dynamic arrays F32 *auto_3D_channel_levels; // Channel levels set by 3D positioner (always 1.0 if not 3D-positioned) F32 *speaker_levels; // one level per speaker (multiplied after user or 3D) - + S8 *speaker_enum_to_source_chan; // array[MSS_SPEAKER_xx] = -1 if not present, else channel # // 99% of the time this is a 1:1 mapping and is zero. - + S32 lp_any_on; // are any of the low pass filters on? S32 user_channels_need_deinterlace; // do any of the user channels require a stereo sample to be deinterlaced? @@ -1989,7 +1989,7 @@ typedef struct _SAMPLE // Sample instance U32 low_pass_changed; // bit mask for what channels changed. - + S32 bus; // Bus assignment for this sample. S32 bus_comp_sends; // Which buses this bus routes compressor input to. S32 bus_comp_installed; // Nonzero if we have a compressor installed. @@ -2042,7 +2042,7 @@ typedef struct _SAMPLE // Sample instance SPINFO pipeline[N_SAMPLE_STAGES]; S32 n_active_filters; // # of SP_FILTER_n stages active - + // // 3D-related state for all platforms (including Xbox) // @@ -2113,14 +2113,14 @@ DXDEC void AILCALL AIL_serve(void); #ifdef IS_MAC typedef void * LPSTR; - + #define WHDR_DONE 0 - + typedef struct _WAVEIN { long temp; } * HWAVEIN; - + typedef struct _WAVEHDR { S32 dwFlags; @@ -2133,7 +2133,7 @@ DXDEC void AILCALL AIL_serve(void); S32 dwLoops; void * lpNext; U32 * reserved; - + } WAVEHDR, * LPWAVEHDR; #endif @@ -2145,7 +2145,7 @@ typedef struct _DIG_INPUT_DRIVER *HDIGINPUT; // Handle to digital input driver #ifdef IS_MAC #define AIL_DIGITAL_INPUT_DEFAULT 0 - + typedef struct _DIG_INPUT_DRIVER // Handle to digital input driver { U32 tag; // HDIN @@ -2478,7 +2478,7 @@ typedef struct _DIG_DRIVER // Handle to digital audio driver U32 last_ds_play; U32 last_ds_write; U32 last_ds_move; - + #endif #ifdef IS_X86 @@ -2661,7 +2661,7 @@ typedef struct _SEQUENCE // XMIDI sequence state table void const *EVNT; U8 const *EVNT_ptr; // Current event pointer - + U8 *ICA; // Indirect Controller Array AILPREFIXCB prefix_callback; // XMIDI Callback Prefix handler @@ -3121,13 +3121,13 @@ DXDEC S32 AILCALL AIL_timer_thread_handle(void* o_handle); #elif defined(__RADANDROID__) DXDEC void AILCALL AIL_set_asset_manager(void* asset_manager); - + DXDEC RADSS_OPEN_FUNC AILCALL RADSS_SLESInstallDriver(UINTa, UINTa); #define AIL_open_digital_driver(frequency, bits, channel, flags) \ AIL_open_generic_digital_driver(frequency, bits, channel, flags, RADSS_SLESInstallDriver(0, 0)) - + #elif defined(IS_PSP2) DXDEC RADSS_OPEN_FUNC AILCALL RADSS_PSP2InstallDriver(UINTa, UINTa); @@ -3221,7 +3221,7 @@ DXDEC S32 AILCALL AIL_digital_handle_reacquire { Str255 version_name; } MSS_VersionType; - + #define AIL_MSS_version(str,len) \ { \ long _res = HOpenResFile(0,0,"\p" MSSDLLNAME,fsRdPerm); \ @@ -3269,11 +3269,11 @@ DXDEC S32 AILCALL AIL_digital_handle_reacquire } \ } \ } - + #endif DXDEC S32 AILCALL AIL_digital_handle_release(HDIGDRIVER drvr); - + DXDEC S32 AILCALL AIL_digital_handle_reacquire (HDIGDRIVER drvr); @@ -3339,18 +3339,18 @@ DXDEC EXPAPI void AILCALL AIL_push_system_state(HDIGDRIVER dig, U32 flags, S16 c $* <b>MILES_PUSH_VOLUME</b> - When present, master volume will be affected in addition to sample state. If MILES_PUSH_RESET is present, the master volume will be set to 1.0f, otherwise it will be retained and only - affected when popped. + affected when popped. $- - If you want more control over whether a sample will be affected by a push or a pop operation, + If you want more control over whether a sample will be affected by a push or a pop operation, see $AIL_set_sample_level_mask. - + */ DXDEC EXPAPI void AILCALL AIL_pop_system_state(HDIGDRIVER dig, S16 crossfade_ms); /* - Pops the current system state and returns the system to the way it + Pops the current system state and returns the system to the way it was before the last push. $:dig The driver to pop. @@ -3374,7 +3374,7 @@ DXDEC EXPAPI void AILCALL AIL_set_sample_level_mask(HSAMPLE S, U8 mask); $:S The sample to set the mask for. $:mask The bitmask of levels for which the sample will play. - Under normal push/pop operations, a sample's mask is set when it is + Under normal push/pop operations, a sample's mask is set when it is started to the level the system is at. If the system is pushed without a reset, then the mask is adjusted to include the new level. When a system is popped, if the sample is going to continue playing, @@ -3435,7 +3435,7 @@ DXDEC EXPAPI HSAMPLE AILCALL AIL_allocate_bus(HDIGDRIVER dig); $:return The HSAMPLE for the new bus. A bus allows you to treat a group of samples as one sample. With the bus sample you can - do almost all of the things you can do with a normal sample handle. The only exception + do almost all of the things you can do with a normal sample handle. The only exception is you can't adjust the playback rate of the sample. Use $AIL_bus_sample_handle to get the HSAMPLE associated with a bus. @@ -3495,7 +3495,7 @@ DXDEC EXPAPI S32 AILCALL AIL_sample_bus(HSAMPLE S); DXDEC EXPAPI S32 AILCALL AIL_install_bus_compressor(HDIGDRIVER dig, S32 bus_index, SAMPLESTAGE filter_stage, S32 input_bus_index); /* - Installs the Compressor filter on to a bus, using another bus as the input for + Installs the Compressor filter on to a bus, using another bus as the input for compression/limiting. $:dig The driver the busses exist on. @@ -3508,7 +3508,7 @@ DXDEC EXPAPI S32 AILCALL AIL_install_bus_compressor(HDIGDRIVER dig, S32 bus_inde its signal strength to the filter, allowing it to attenuate the bus_index bus based on another bus's contents. - To control the compressor parameters, access the bus's HSAMPLE via $AIL_bus_sample_handle and + To control the compressor parameters, access the bus's HSAMPLE via $AIL_bus_sample_handle and use $AIL_sample_stage_property exactly as you would any other filter. The filter's properties are documented under $(Compressor Filter) */ @@ -4325,7 +4325,7 @@ typedef void (AILCALLBACK* AILSTREAMCB) (HSTREAM stream); #define MSS_STREAM_CHUNKS 8 -typedef struct _STREAM +typedef struct _STREAM { S32 block_oriented; // 1 if this is an ADPCM or ASI-compressed stream S32 using_ASI; // 1 if using ASI decoder to uncompress stream data @@ -4349,7 +4349,7 @@ typedef struct _STREAM S32 read_IO_index; // index of buffer to be loaded into Miles next S32 bufsize; // size of each buffer - + U32 datarate; // datarate in bytes per second S32 filerate; // original datarate of the file S32 filetype; // file format type @@ -4987,7 +4987,7 @@ typedef struct OGG_INFO; DXDEC void AILCALL AIL_inspect_Ogg (OGG_INFO *inspection_state, - U8 *Ogg_file_image, + U8 *Ogg_file_image, S32 Ogg_file_size); DXDEC S32 AILCALL AIL_enumerate_Ogg_pages (OGG_INFO *inspection_state); @@ -5102,10 +5102,10 @@ DXDEC HDIGDRIVER AILCALL AIL_primary_digital_driver (HDIGDRIVER new_primary); // 3D-related calls // -DXDEC S32 AILCALL AIL_room_type (HDIGDRIVER dig, +DXDEC S32 AILCALL AIL_room_type (HDIGDRIVER dig, S32 bus_index); -DXDEC void AILCALL AIL_set_room_type (HDIGDRIVER dig, +DXDEC void AILCALL AIL_set_room_type (HDIGDRIVER dig, S32 bus_index, S32 room_type); @@ -5180,7 +5180,7 @@ DXDEC EXPAPI void AILCALL AIL_set_sample_3D_lowpass_falloff(HSAMPLE S, MSS $:graph The array of points to use as the graph. $:pointcount The number of points passed in. Must be less than or equal to MILES_MAX_FALLOFF_GRAPH_POINTS. Passing 0 removes the graph. - This marks a sample as having a low pass cutoff that varies as a function of distance to the listener. If + This marks a sample as having a low pass cutoff that varies as a function of distance to the listener. If a sample has such a graph, $AIL_set_sample_low_pass_cut_off will be called constantly, and thus shouldn't be called otherwise. @@ -5195,8 +5195,8 @@ DXDEC EXPAPI void AILCALL AIL_set_sample_3D_exclusion_falloff(HSAMPLE S, M $:graph The array of points to use as the graph. $:pointcount The number of points passed in. Must be less than or equal to MILES_MAX_FALLOFF_GRAPH_POINTS. Passing 0 removes the graph. - This marks a sample as having an exclusion that varies as a function of distance to the listener. If - a sample has such a graph, auto_3D_wet_atten will be disabled to prevent double affects, as exclusion + This marks a sample as having an exclusion that varies as a function of distance to the listener. If + a sample has such a graph, auto_3D_wet_atten will be disabled to prevent double affects, as exclusion affects reverb wet level. The graph is evaluated the same as $AIL_set_sample_3D_volume_falloff. @@ -5230,7 +5230,7 @@ DXDEC EXPAPI void AILCALL AIL_set_sample_3D_position_segments(HSAMPLE S, MSSVECT other computations (cones, falloffs, etc). Spatialization is done using all segments as a directional source. - If there is neither spread falloff nor volume falloff specified, spread will be automatically applied + If there is neither spread falloff nor volume falloff specified, spread will be automatically applied when the listener is within min_distance to the closest point. See $AIL_set_sample_3D_spread_falloff and $AIL_set_sample_3D_volume_falloff. @@ -5243,7 +5243,7 @@ DXDEC EXPAPI void AILCALL AIL_set_sample_3D_spread(HSAMPLE S, F32 spread); $:S Sample to affect. $:spread The value to set the spread to. - Spread is how much the directionality of a sample "spreads" to more speakers - emulating + Spread is how much the directionality of a sample "spreads" to more speakers - emulating the effect a sound has when it occupies more than a point source. For instance, a sound point source that sits directly to the left of the listener would have a very strong left speaker signal, and a fairly weak right speaker signal. Via spread, the signal would be @@ -5392,7 +5392,7 @@ EXPGROUP(Miles High Level Event System) EXPTYPE typedef struct MSSSOUNDBANK {}; /* Internal structure. - + Use $HMSOUNDBANK instead. */ @@ -5401,7 +5401,7 @@ EXPTYPE typedef struct MSSSOUNDBANK {}; EXPTYPE typedef struct SoundBank *HMSOUNDBANK; /* Describes a handle to an open sound bank. - + This handle typedef refers to an open soundbank which is usually obtained from the $AIL_add_soundbank function. */ @@ -5424,7 +5424,7 @@ DXDEC EXPAPI void AILCALL AIL_close_soundbank(HMSOUNDBANK bank); Close a soundbank previously opened with $AIL_open_soundbank. $:bank Soundbank to close. - + Close a soundbank previously opened with $AIL_open_soundbank. Presets/events loaded from this soundbank are no longer valid. */ @@ -5448,7 +5448,7 @@ DXDEC EXPAPI char const * AILCALL AIL_get_soundbank_name(HMSOUNDBANK bank); $:return A pointer to the name of the sound bank, or 0 if the bank is invalid. - The name of the bank is the name used in asset names. This is distinct from the + The name of the bank is the name used in asset names. This is distinct from the file name of the bank. The return value should not be deleted. @@ -5457,7 +5457,7 @@ DXDEC EXPAPI char const * AILCALL AIL_get_soundbank_name(HMSOUNDBANK bank); DXDEC EXPAPI S32 AILCALL AIL_get_soundbank_mem_usage(HMSOUNDBANK bank); /* Returns the amount of data used by the soundbank management structures. - + $:bank Soundbank to query. $:return Total memory allocated. @@ -5476,7 +5476,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enumerate_sound_presets(HMSOUNDBANK bank, HMSSENUM* $:return Returns 0 when enumeration is complete. Enumerates the sound presets available inside of a bank file. Example usage: - + ${ HMSSENUM Token = MSS_FIRST; const char* PresetName = 0; @@ -5503,7 +5503,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enumerate_environment_presets(HMSOUNDBANK bank, HMS $:return Returns 0 when enumeration is complete. Enumerates the environment presets available inside of a bank file. Example usage: - + ${ HMSSENUM Token = MSS_FIRST; const char* PresetName = 0; @@ -5530,7 +5530,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enumerate_sound_assets(HMSOUNDBANK bank, HMSSENUM* $:return Returns 0 when enumeration is complete. Enumerates the sounds available inside of a bank file. Example usage: - + ${ HMSSENUM Token = MSS_FIRST; const char* SoundName = 0; @@ -5549,7 +5549,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enumerate_sound_assets(HMSOUNDBANK bank, HMSSENUM* Note that name should NOT be deleted by the caller - this points at memory owned by Miles. */ - + DXDEC EXPAPI S32 AILCALL AIL_enumerate_events(HMSOUNDBANK bank, HMSSENUM* next, char const * list, char const ** name); /* Enumerate the events stored in a soundbank. @@ -5561,7 +5561,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enumerate_events(HMSOUNDBANK bank, HMSSENUM* next, $:return Returns 0 when enumeration is complete. Enumerates the events available inside of a bank file. Example usage: - + ${ HMSSENUM Token = MSS_FIRST; const char* EventName = 0; @@ -5624,7 +5624,7 @@ DXDEC EXPAPI S32 AILCALL AIL_apply_sound_preset(HSAMPLE sample, HMSOUNDBANK bank $:return Returns 0 on fail - check for sample/bank validity, and that the preset is in the correct bank. This will alter the properties on a given sample, based on the given preset. -*/ +*/ DXDEC EXPAPI S32 AILCALL AIL_unapply_raw_sound_preset(HSAMPLE sample, void* preset); /* @@ -5644,7 +5644,7 @@ DXDEC EXPAPI S32 AILCALL AIL_unapply_sound_preset(HSAMPLE sample, HMSOUNDBANK ba $:return Returns 0 on fail - check for sample/bank validity, and that the preset is in the correct bank. Presets may or may not affect any given property. Only the properties affected by the specified - preset will have their values restored to default. + preset will have their values restored to default. */ typedef S32 (*MilesResolveFunc)(void* context, char const* exp, S32 explen, EXPOUT void* output, S32 isfloat); @@ -5658,7 +5658,7 @@ typedef S32 (*MilesResolveFunc)(void* context, char const* exp, S32 explen, EXPO $:isfloat nonzero if the output needs to be a float. The function callback should convert variable expressions in to an output value of the - requested type. + requested type. */ DXDEC EXPAPI S32 AILCALL AIL_resolve_raw_sound_preset(void* preset, void* context, MilesResolveFunc eval); @@ -5777,7 +5777,7 @@ DXDEC EXPAPI S32 AILCALL AIL_sound_asset_info(HMSOUNDBANK bank, char const* name $:name The name of the sound asset to find. $:out_name Optional - Pointer to a buffer that is filled with the sound filename to use for loading. $:out_info Pointer to a $MILESBANKSOUNDINFO structure that is filled with meta data about the sound asset. - $:return Returns the byte size of the buffer required for out_name. + $:return Returns the byte size of the buffer required for out_name. This function must be called in order to resolve the sound asset name to something that can be used by miles. To ensure safe buffer containment, call @@ -5832,7 +5832,7 @@ typedef struct _MEMDUMP* HMEMDUMP; ReturnType = "HMSSEVENTCONSTRUCT", "An empty event to be passed to the various step addition functions, or 0 if out of memory." - Discussion = "Primarily designed for offline use, this function is the first step in + Discussion = "Primarily designed for offline use, this function is the first step in creating an event that can be consumed by the MilesEvent system. Usage is as follows: HMSSEVENTCONSTRUCT hEvent = AIL_create_event(); @@ -5850,7 +5850,7 @@ typedef struct _MEMDUMP* HMEMDUMP; Note that if immediately passed to AIL_enqueue_event(), the memory must remain valid until the following $AIL_complete_event_queue_processing. - + Events are generally tailored to the MilesEvent system, even though there is nothing preventing you from writing your own event system, or creation ui. " @@ -5906,7 +5906,7 @@ EXPTYPEEND /* Determines the usage of the sound names list in the $AIL_add_start_sound_event_step. - $:MILES_START_STEP_RANDOM Randomly select from the list, and allow the same + $:MILES_START_STEP_RANDOM Randomly select from the list, and allow the same sound to play twice in a row. This is the only selection type that doesn't require a state variable. $:MILES_START_STEP_NO_REPEATS Randomly select from the list, but prevent the last sound from being the same. @@ -5926,10 +5926,10 @@ EXPTYPEEND Name = "AIL_add_start_sound_event_step", "Adds a step to a given event to start a sound with the given specifications." In = "HMSSEVENTCONSTRUCT", "i_Event", "The event to add the step to." - In = "const char*", "i_SoundNames", "The names and associated weights for the event step to choose from. - If there are multiple names listed, the sound will be chosen at random based on the given weights. This + In = "const char*", "i_SoundNames", "The names and associated weights for the event step to choose from. + If there are multiple names listed, the sound will be chosen at random based on the given weights. This string is of the form 'BankName1/SoundName1:Weight1:BankName2/SoundName2:Weight2:' etc. The string must always - terminate in a ':'. Weight must be between 0 and 200. To provide a null sound to randomly choose to not play anything, use + terminate in a ':'. Weight must be between 0 and 200. To provide a null sound to randomly choose to not play anything, use an empty string as an entry." In = "const char*", "i_PresetName", "[optional] The name of the preset, of the form 'PresetList/PresetName'" @@ -5944,7 +5944,7 @@ EXPTYPEEND In = "U8", "i_CanLoad", "If nonzero, the sound is allowed to hit the disk instead of only accessing cached sounds. If true, this might cause a hitch." In = "U16", "i_Delay", "The minimum delay in ms to apply to the sound before start." In = "U16", "i_DelayMax", "The maximum delay in ms to apply to the sound before start." - In = "U8", "i_Priority", "The priority to assign to the sound. If a sound encounters a limit based on its labels, it will evict any sound + In = "U8", "i_Priority", "The priority to assign to the sound. If a sound encounters a limit based on its labels, it will evict any sound with a priority strictly less than the given priority." In = "U8", "i_LoopCount", "The loop count as per AIL_set_sample_loop_count." In = "const char*", "i_StartOffset", "[optional] The name of the marker to use as the sound's initial offset." @@ -5969,19 +5969,19 @@ DXDEC S32 AILCALL AIL_add_start_sound_event_step( - HMSSEVENTCONSTRUCT i_Event, + HMSSEVENTCONSTRUCT i_Event, const char* i_SoundNames, - const char* i_PresetName, + const char* i_PresetName, U8 i_PresetIsDynamic, const char* i_EventName, const char* i_StartMarker, const char* i_EndMarker, char const* i_StateVar, char const* i_VarInit, - const char* i_Labels, U32 i_Streaming, U8 i_CanLoad, + const char* i_Labels, U32 i_Streaming, U8 i_CanLoad, U16 i_Delay, U16 i_DelayMax, U8 i_Priority, U8 i_LoopCount, const char* i_StartOffset, F32 i_VolMin, F32 i_VolMax, F32 i_PitchMin, F32 i_PitchMax, F32 i_FadeInTime, - U8 i_EvictionType, + U8 i_EvictionType, U8 i_SelectType ); @@ -6004,7 +6004,7 @@ AIL_add_start_sound_event_step( In order to release the data loaded by this event, AIL_add_uncache_sounds_event_step() needs to be called with the same parameters. - + If you are using MilesEvent, the data is refcounted so the sound will not be freed until all samples using it complete." } @@ -6089,7 +6089,7 @@ DXDEC S32 AILCALL AIL_add_control_sounds_event_step( - HMSSEVENTCONSTRUCT i_Event, + HMSSEVENTCONSTRUCT i_Event, const char* i_Labels, const char* i_MarkerStart, const char* i_MarkerEnd, const char* i_Position, const char* i_PresetName, U8 i_PresetApplyType, @@ -6191,7 +6191,7 @@ DXDEC EXPAPI S32 AILCALL AIL_add_setblend_event_step(HMSSEVENTCONSTRUCT i_Event, Defines a named blend function to be referenced by a blended sound later. $:i_Event The event to add the step to. - $:i_Name The name of the blend. This is the name that will be + $:i_Name The name of the blend. This is the name that will be referenced by the state variable in start sound, as well as the variable name to set by the game to update the blend for an instance. $:i_SoundCount The number of sounds this blend will affect. Max 10. @@ -6226,7 +6226,7 @@ DXDEC EXPAPI S32 AILCALL AIL_add_setblend_event_step(HMSSEVENTCONSTRUCT i_Event, Miles max sample count." } */ -DXDEC S32 AILCALL +DXDEC S32 AILCALL AIL_add_sound_limit_event_step(HMSSEVENTCONSTRUCT i_Event, char const* i_LimitName, const char* i_SoundLimits); /*! @@ -6257,8 +6257,8 @@ AIL_add_sound_limit_event_step(HMSSEVENTCONSTRUCT i_Event, char const* i_LimitNa AIL_add_persist_preset_event_step(hEvent, 0, `"Underwater`", 0);" } */ -DXDEC S32 AILCALL -AIL_add_persist_preset_event_step(HMSSEVENTCONSTRUCT i_Event, const char* i_PresetName, const char* i_PersistName, +DXDEC S32 AILCALL +AIL_add_persist_preset_event_step(HMSSEVENTCONSTRUCT i_Event, const char* i_PresetName, const char* i_PersistName, const char* i_Labels, U8 i_IsDynamic ); @@ -6272,13 +6272,13 @@ DXDEC EXPAPI S32 AILCALL AIL_get_event_contents(HMSOUNDBANK bank, char const * n thus shouldn't be checked via strlen, etc. $:return Returns 0 on fail. - Normally, event contents are meant to be handled by the Miles high-level system via $AIL_enqueue_event, + Normally, event contents are meant to be handled by the Miles high-level system via $AIL_enqueue_event, rather than inspected directly. */ DXDEC EXPAPI S32 AILCALL AIL_add_clear_state_event_step(HMSSEVENTCONSTRUCT i_Event); /* - Clears all persistent state in the runtime. + Clears all persistent state in the runtime. $:i_Event The event to add the step to. @@ -6311,7 +6311,7 @@ DXDEC EXPAPI S32 AILCALL AIL_add_enable_limit_event_step(HMSSEVENTCONSTRUCT i_Ev DXDEC EXPAPI S32 AILCALL AIL_add_set_lfo_event_step(HMSSEVENTCONSTRUCT i_Event, char const* i_Name, char const* i_Base, char const* i_Amp, char const* i_Freq, S32 i_Invert, S32 i_Polarity, S32 i_Waveform, S32 i_DutyCycle, S32 i_IsLFO); /* Adds a step to define a variable that oscillates over time. - + $:i_Event The event to add the step to. $:i_Name The nane of the variable to oscillate. $:i_Base The value to oscillate around, or a variable name to use as the base. @@ -6327,15 +6327,15 @@ DXDEC EXPAPI S32 AILCALL AIL_add_set_lfo_event_step(HMSSEVENTCONSTRUCT i_Event, DXDEC EXPAPI S32 AILCALL AIL_add_move_var_event_step(HMSSEVENTCONSTRUCT i_Event, char const* i_Name, const F32 i_Times[2], const S32 i_InterpolationTypes[2], const F32 i_Values[3]); /* Adds a step to set and move a variable over time on a curve. - + $:i_Event The event to add the step to. $:i_Name The variable to move. $:i_Times The midpoint and final times for the curves $:i_InterpolationTypes The curve type for the two curves - Curve In (0), Curve Out (1), S-Curve (2), Linear (3) $:i_Values The initial, midpoint, and final values for the variable. - + The variable is locked to this curve over the timeperiod - no interpolation from a previous value is done. - + If an existing move var exists when the new one is added, the old one is replaced. */ @@ -6450,7 +6450,7 @@ struct EVENT_STEP_INFO U8 isdynamic; } persist; - struct + struct { MSSSTRINGC name; MSSSTRINGC labels; @@ -6522,7 +6522,7 @@ struct EVENT_STEP_INFO the string location of the next event step in the buffer." Discussion = "This function parses the event string in to a struct for usage by the user. This function should only be - used by the MilesEvent system. It returns the pointer to the next step to be passed to this function to get the + used by the MilesEvent system. It returns the pointer to the next step to be passed to this function to get the next step. In this manner it can be used in a loop: // Create an event to stop all sounds. @@ -6610,11 +6610,11 @@ EXPTYPE typedef void* HEVENTSYSTEM; DXDEC EXPAPI HEVENTSYSTEM AILCALL AIL_startup_event_system(HDIGDRIVER dig, S32 command_buf_len, EXPOUT char* memory_buf, S32 memory_len); /* Initializes the Miles Event system and associates it with an open digital driver. - + $:dig The digital sound driver that this event system should use. $:command_buf_len An optional number of bytes to use for the command buffer. If you pass 0, a reasonable default will be used (currently 5K). - $:memory_buf An optional pointer to a memory buffer buffer that the event system will use for all event allocations. - Note that the sound data itself is not stored in this buffer - it is only for internal buffers, the command buffer, and instance data. + $:memory_buf An optional pointer to a memory buffer buffer that the event system will use for all event allocations. + Note that the sound data itself is not stored in this buffer - it is only for internal buffers, the command buffer, and instance data. Use 0 to let Miles to allocate this buffer itself. $:memory_len If memory_buf is non-null, then this parameter provides the length. If memory_buf is null, the Miles will allocate this much memory for internal buffers. If both memory_buf and memory_len are null, the Miles will allocate reasonable default (currently 64K). @@ -6633,8 +6633,8 @@ DXDEC EXPAPI HEVENTSYSTEM AILCALL AIL_add_event_system(HDIGDRIVER dig); $:return A handle to the event system to use in various high level functions. Both systems will access the same set of loaded soundbanks, and are updated when $AIL_begin_event_queue_processing is called. - - To enqueue events to the new system, use $AIL_enqueue_event_system. + + To enqueue events to the new system, use $AIL_enqueue_event_system. To iterate the sounds for the new system, pass the $HEVENTSYSTEM as the first parameter to $AIL_enumerate_sound_instances. @@ -6646,7 +6646,7 @@ DXDEC EXPAPI HEVENTSYSTEM AILCALL AIL_add_event_system(HDIGDRIVER dig); DXDEC EXPAPI void AILCALL AIL_shutdown_event_system( void ); /* Shuts down the Miles event system. - + This function will closes everything in the event system - it ignores reference counts. It will free all event memory, sound banks, and samples used by the system. */ @@ -6660,10 +6660,10 @@ DXDEC EXPAPI HMSOUNDBANK AILCALL AIL_add_soundbank(char const * filename, char c $:return The handle to the newly loaded soundbank (zero on failure). This function opens the sound bank and makes it available to the event system. The filename - is the name on the media, and the name is the symbolic name you used in the Miles Sound Studio. + is the name on the media, and the name is the symbolic name you used in the Miles Sound Studio. You might, for example, be using a soundbank with a platform extension, like: 'gamebank_ps3.msscmp', and while using the name 'gamebank' for authoring and auditioning. - + Sound data is not loaded when this function is called - it is only loaded when the relevant Cache Sounds is played, or a sound requiring it plays. @@ -6685,7 +6685,7 @@ DXDEC EXPAPI S32 AILCALL AIL_release_soundbank(HMSOUNDBANK bank); Any other data references still existing (queued events, persisted presets, etc) will report errors when used, but will not crash. - + Releasing a sound bank does not free any cached sounds loaded from the bank - any sounds from the bank should be freed via a Purge Sounds event step. If this does not occur, the sound data will still be loaded, but the sound metadata will be gone, so Start Sound events will not work. Purge Sounds will still work. @@ -6698,24 +6698,24 @@ DXDEC U8 const * AILCALL AIL_find_event(HMSOUNDBANK bank,char const* event_name) (EXPAPI removed to prevent release in docs) Searches for an event by name in the event system. - + $:bank The soundbank to search within, or 0 to search all open banks (which is the normal case). $:event_name The name of the event to find. This name should be of the form "soundbank/event_list/event_name". $:return A pointer to the event contents (or 0, if the event isn't found). - + This function is normally used as the event parameter for $AIL_enqueue_event. It searches one or all open soundbanks for a particular event name. - - <b>This is deprecated</b>. If you know the event name, you should use $AIL_enqueue_event_by_name, or $AIL_enqueue_event with + + <b>This is deprecated</b>. If you know the event name, you should use $AIL_enqueue_event_by_name, or $AIL_enqueue_event with MILESEVENT_ENQUEUE_BY_NAME. - + Events that are not enqueued by name can not be tracked by the Auditioner. */ DXDEC EXPAPI U64 AILCALL AIL_enqueue_event_system(HEVENTSYSTEM system, U8 const * event, void* user_buffer, S32 user_buffer_len, S32 enqueue_flags, U64 apply_to_ID ); /* Enqueue an event to a specific system. Used only if you have multiple event systems running. - + $:system The event system to attach the event to. $:return See $AIL_enqueue_event for return description. @@ -6728,10 +6728,10 @@ DXDEC EXPAPI U64 AILCALL AIL_enqueue_event_by_name(char const* name); $:name The full name of the event, eg "soundbank/path/to/event". $:return See $AIL_enqueue_event for return description. - - This is the most basic way to enqueue an event. It enqueues an event by name, and as a result the event will be tracked by the auditioner. - - For when you need more control over the event, but still want it to be tracked by the auditioner, it is equivalent + + This is the most basic way to enqueue an event. It enqueues an event by name, and as a result the event will be tracked by the auditioner. + + For when you need more control over the event, but still want it to be tracked by the auditioner, it is equivalent to calling $AIL_enqueue_event_end_named($AIL_enqueue_event_start(), name) For introduction to the auditioning system, see $integrating_events. @@ -6743,9 +6743,9 @@ DXDEC EXPAPI S32 AILCALL AIL_enqueue_event_start(); $:return A token used for passing to functions that add data to the event. - This is used to pass more data to an event that will be executed. For instance, if + This is used to pass more data to an event that will be executed. For instance, if an event is going to spatialize a sound, but there's no need to move the sound over the course of - its lifetime, you can add positional data to the event via $AIL_enqueue_event_position. When a + its lifetime, you can add positional data to the event via $AIL_enqueue_event_position. When a sound is started it will use that for its initial position, and there is no need to do any game object <-> event id tracking. @@ -6762,7 +6762,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enqueue_event_start(); The enqueue process is still completely thread safe. No locks are used, however only 8 enqueues can be "assembling" at the same time - if more than that occur, the $AIL_enqueue_event_start - will yield the thread until a slot is open. + will yield the thread until a slot is open. The ONLY time that should happen is if events enqueues are started but never ended: @@ -6838,7 +6838,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enqueue_event_buffer(S32* token, void* user_buffer, user buffer contents, and then exposed during sound enumeration. This is equivalent in spirit to the void* value that often accompanies callbacks. In this case, user_buffer_len is ignored, as user_buffer is never dereferenced. - $* <b>Buffer</b> If user_buffer_is_ptr is 0, then user_buffer_len bytes are copied from user_buffer and + $* <b>Buffer</b> If user_buffer_is_ptr is 0, then user_buffer_len bytes are copied from user_buffer and carried with the event. During sound enumeration this buffer is made available, and you never have to worry about memory management. $- @@ -6855,7 +6855,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enqueue_event_buffer(S32* token, void* user_buffer, data->game_stat = 1; data->needed_info = 2; - // Pointer - the "data" pointer will be copied directly, so we can't free() "data" until after the sound + // Pointer - the "data" pointer will be copied directly, so we can't free() "data" until after the sound // completes and we're done using it in the enumeration loop. S32 ptr_token = AIL_enqueue_event_start(); AIL_enqueue_event_buffer(&ptr_token, data, 0, 1); @@ -6874,7 +6874,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enqueue_event_buffer(S32* token, void* user_buffer, data.game_stat = 1; data.needed_info = 2; - // Buffer - the "data" structure will be copied internally, so we can free() the data - or just use + // Buffer - the "data" structure will be copied internally, so we can free() the data - or just use // a stack variable like this S32 buf_token = AIL_enqueue_event_start(); AIL_enqueue_event_buffer(&buf_token, &data, sizeof(data), 0); @@ -6895,7 +6895,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enqueue_event_variablef(S32* token, char const* nam $:value The value of the variable to set. $:return 0 if the enqueue buffer is full - When a sound starts, the given variable will be set to the given value prior to any possible + When a sound starts, the given variable will be set to the given value prior to any possible references being used by presets. */ @@ -6904,7 +6904,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enqueue_event_filter(S32* token, U64 apply_to_ID); Limits the effects of the event to sounds started by the given ID. $:token A token created with $AIL_enqueue_event_start - $:apply_to_ID The ID to use for filtering. This can be either a sound or event ID. For an + $:apply_to_ID The ID to use for filtering. This can be either a sound or event ID. For an event, it will apply to all sounds started by the event, and any events queued by that event. $:return 0 if the enqueue buffer is full @@ -6932,7 +6932,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enqueue_event_selection(S32* token, U32 selection); $:selection The value to use for selecting the sound to play. $:return 0 if the enqueue buffer is full - The selection index is used to programatically select a sound from the + The selection index is used to programatically select a sound from the loaded banks. The index passed in replaces any numeric value at the end of the sound name existing in any start sound event step. For example, if a start sound event plays "mybank/sound1", and the event is queued with @@ -6969,52 +6969,52 @@ DXDEC EXPAPI U64 AILCALL AIL_enqueue_event_end_named(S32 token, char const* even As with all of the enqueue functions it is completely thread-safe. Upon completion of this function, the enqueue slot is release and available for another - $AIL_enqueue_event_start. + $AIL_enqueue_event_start. */ DXDEC EXPAPI U64 AILCALL AIL_enqueue_event(U8 const * event_or_name, void* user_buffer, S32 user_buffer_len, S32 enqueue_flags, U64 apply_to_ID ); /* Enqueue an event to be processed by the next $AIL_begin_event_queue_processing function. - - $:event_or_name Pointer to the event contents to queue, or the name of the event to find and queue. + + $:event_or_name Pointer to the event contents to queue, or the name of the event to find and queue. If an event, the contents must be valid until the next call to $AIL_begin_event_queue_processing. If a name, the string is copied internally and does not have any lifetime requirements, and MILES_ENQUEUE_BY_NAME must be present in enqueue_flags. - $:user_buffer Pointer to a user buffer. Depending on $(AIL_enqueue_event::enqueue_flags), this pointer can be saved directly, or its contents copied into the sound instance. - This data is then accessible later, when enumerating the instances. + $:user_buffer Pointer to a user buffer. Depending on $(AIL_enqueue_event::enqueue_flags), this pointer can be saved directly, or its contents copied into the sound instance. + This data is then accessible later, when enumerating the instances. $:user_buffer_len Size of the buffer pointed to by user_buffer. $:enqueue_flags Optional $MILESEVENTENQUEUEFLAGS logically OR'd together that control how to enqueue this event (default is 0). $:apply_to_ID Optional value that is used for events that affect sound instances. Normally, - when Miles triggers one of these event steps, it matches the name and labels stored with the event step. However, if + when Miles triggers one of these event steps, it matches the name and labels stored with the event step. However, if you specify an apply_to_ID value, then event step will only run on sounds that matches this QueuedID,InstanceID,or EventID too. This is how you - execute events only specific sound instances. QueuedIDs are returned from each call $AIL_enqueue_event. + execute events only specific sound instances. QueuedIDs are returned from each call $AIL_enqueue_event. InstanceIDs and EventIDs are returned from $AIL_enumerate_sound_instances. - $:return On success, returns QueuedID value that is unique to this queued event for the rest of this + $:return On success, returns QueuedID value that is unique to this queued event for the rest of this program run (you can use this ID to uniquely identify sounds triggered from this event). - + This function enqueues an event to be triggered - this is how you begin execution of an event. First, you queue it, and then later (usually once a game frame), you call $AIL_begin_event_queue_processing to execute an event. - - This function is very lightweight. It does nothing more than post the event and data to a + + This function is very lightweight. It does nothing more than post the event and data to a command buffer that gets executed via $AIL_begin_event_queue_processing. The user_buffer parameter can be used in different ways. If no flags are passed in, then Miles will copy the data from user_buffer (user_buffer_len bytes long) and store the data with the queued sound - you can then free the user_buffer data completely! This lets Miles keep track - of all your sound related memory directly and is the normal way to use the system (it is very + of all your sound related memory directly and is the normal way to use the system (it is very convenient once you get used to it). If you instead pass the MILESEVENT_ENQUEUE_BUFFER_PTR flag, then user_buffer pointer will simply be associated with each sound that this event may start. In this case, user_buffer_len is ignored. - - In both cases, when you later enumerate the sound instances, you can access your sound data + + In both cases, when you later enumerate the sound instances, you can access your sound data with the $(MILESEVENTSOUNDINFO::UserBuffer) field. - + You can call this function from any number threads - it's designed to be called from anywhere in your game. If you want events you queue to be captured by Miles Studio, then they have to be passed by name. This can be done - by either using the convenience function $AIL_enqueue_event_by_name, or by using the MILESEVENT_ENQUEUE_BY_NAME flag and + by either using the convenience function $AIL_enqueue_event_by_name, or by using the MILESEVENT_ENQUEUE_BY_NAME flag and passing the name in event_or_name. For introduction to the auditioning system, see $integrating_events. */ @@ -7044,23 +7044,23 @@ DXDEC EXPAPI S32 AILCALL AIL_begin_event_queue_processing( void ); /* Begin execution of all of the enqueued events. - $:return Return 0 on failure. The only failures are unrecoverable errors in the queued events + $:return Return 0 on failure. The only failures are unrecoverable errors in the queued events (out of memory, bank file not found, bad data, etc). You can get the specific error by calling $AIL_last_error. - + This function executes all the events currently in the queue. This is where all major processing takes place in the event system. - + Once you execute this functions, then sound instances will be in one of three states: - + $(MILESEVENTSOUNDSTATUS::MILESEVENT_SOUND_STATUS_PENDING)[MILESEVENT_SOUND_STATUS_PENDING] - these are new sound instances that were created by events that had a "Start Sound Step". Note that these instances aren't audible yet, so that you have a chance to modify game driven properties (like the 3D position) - on the sound before Miles begins to play it. - + on the sound before Miles begins to play it. + $(MILESEVENTSOUNDSTATUS::MILESEVENT_SOUND_STATUS_PLAYING)[MILESEVENT_SOUND_STATUS_PLAYING] - these are sound instances that were previously started and are continuing to play (you might update the 3D position for these, for example). - + $(MILESEVENTSOUNDSTATUS::MILESEVENT_SOUND_STATUS_COMPLETE)[MILESEVENT_SOUND_STATUS_COMPLETE] - these are sound instances that finished playing since the last this frame (you might use this status to free any game related memory, for example). @@ -7082,7 +7082,7 @@ ${ MILESEVENTSOUNDINFO Info; HMSSENUM SoundEnum = MSS_FIRST; - while ( $AIL_enumerate_sound_instances( &SoundEnum, MILESEVENT_SOUND_STATUS_PENDING | MILESEVENT_SOUND_STATUS_COMPLETE, 0, &Info ) ) + while ( $AIL_enumerate_sound_instances( &SoundEnum, MILESEVENT_SOUND_STATUS_PENDING | MILESEVENT_SOUND_STATUS_COMPLETE, 0, &Info ) ) { game_type * game_data = (game_type*) Info.UserBuffer; // returns the game_data pointer from the enqueue @@ -7098,13 +7098,13 @@ ${ } } - $AIL_complete_event_queue_processing( ); - $} - - Note that if any event step drastically fails, the rest of the command queue is + $AIL_complete_event_queue_processing( ); + $} + + Note that if any event step drastically fails, the rest of the command queue is skipped, and this function returns 0! For this reason, you shouldn't assume that a start sound event will always result in a completed sound later. - + Therefore, you should allocate memory that you want associated with a sound instance during the enumeration loop, rather than at enqueue time. Otherwise, you need to detect that the sound didn't start and then free the memory (which can be complicated). @@ -7120,7 +7120,7 @@ EXPTYPE typedef struct _MILESEVENTSOUNDINFO HSTREAM Stream; void* UserBuffer; S32 UserBufferLen; - S32 Status; + S32 Status; U32 Flags; S32 UsedDelay; F32 UsedVolume; @@ -7130,10 +7130,10 @@ EXPTYPE typedef struct _MILESEVENTSOUNDINFO } MILESEVENTSOUNDINFO; /* Sound instance data that is associated with each active sound instance. - + $:QueuedID A unique ID that identifies the queued event that started this sound. Returned from each call to $AIL_enqueue_event. $:EventID A unique ID that identifies the actual event that started this sound. This is the same as QueuedID unless the sound - was started by a completion event or a event exec step. In that case, the QueuedID represents the ID returned from + was started by a completion event or a event exec step. In that case, the QueuedID represents the ID returned from $AIL_enqueue_event, and EventID represents the completion event. $:InstanceID A unique ID that identified this specific sound instance (note that one QueuedID can trigger multiple InstanceIDs). $:Sample The $HSAMPLE for this playing sound. @@ -7148,7 +7148,7 @@ EXPTYPE typedef struct _MILESEVENTSOUNDINFO $:UsedSound The name of the sound used as a result of randomization. This pointer should NOT be deleted and is only valid for the until the next call in to Miles. $:HasCompletionEvent Nonzero if the sound will fire an event upon completion. - + This structure is returned by the $AIL_enumerate_sound_instances function. It returns information about an active sound instance. */ @@ -7157,7 +7157,7 @@ DXDEC EXPAPI void AILCALL AIL_set_variable_int(UINTa context, char const* name, /* Sets a named variable that the designer can reference in the tool. - $:context The context the variable is set for. Can be either a $HEVENTSYSTEM + $:context The context the variable is set for. Can be either a $HEVENTSYSTEM to set a global variable for a specific system, 0 to set a global variable for the default system, or an $HMSSENUM from $AIL_enumerate_sound_instances. $:name The name of the variable to set. @@ -7183,14 +7183,14 @@ DXDEC EXPAPI void AILCALL AIL_set_variable_int(UINTa context, char const* name, // A preset referencing "MyVar" for FirstSound will get 10. Any other sound will // get 20. $} - + */ DXDEC EXPAPI void AILCALL AIL_set_variable_float(UINTa context, char const* name, F32 value); /* Sets a named variable that the designer can reference in the tool. - $:context The context the variable is set for. Can be either a $HEVENTSYSTEM + $:context The context the variable is set for. Can be either a $HEVENTSYSTEM to set a global variable for a specific system, 0 to set a global variable for the default system, or an $HMSSENUM from $AIL_enumerate_sound_instances. $:name The name of the variable to set. @@ -7265,7 +7265,7 @@ DXDEC EXPAPI void AILCALL AIL_set_sound_start_offset(HMSSENUM sound, S32 offset, the sound starting. Generally you don't need to do this manually, since the sound designer should do this, however if you need to restart a sound that stopped - for example a stream that went to error - you will have to set the start position via code. - + However, since there can be a delay between the time the sound is first seen in the sound iteration and the time it gets set to the data, start positions set via the low level miles calls can get lost, so use this. @@ -7281,11 +7281,11 @@ DXDEC EXPAPI S32 AILCALL AIL_enumerate_sound_instances(HEVENTSYSTEM system, HMSS $:statuses Or-ed list of status values to enumerate. Use 0 for all status types. $:label_query A query to match sound instance labels against. Use 0 to skip label matching. $:search_for_ID Match only instances that have a QueuedID,InstanceID,or EventID that matches this value. Use 0 to skip ID matching. - $:info Returns the data for each sound instance. + $:info Returns the data for each sound instance. $:return Returns 0 when enumeration is complete. Enumerates the sound instances. This will generally be used between - calls to $AIL_begin_event_queue_processing and $AIL_complete_event_queue_processing to + calls to $AIL_begin_event_queue_processing and $AIL_complete_event_queue_processing to manage the sound instances. The label_query is a list of labels to match, separated by commas. By default, comma-separated @@ -7302,11 +7302,11 @@ DXDEC EXPAPI S32 AILCALL AIL_enumerate_sound_instances(HEVENTSYSTEM system, HMSS $(MILESEVENTSOUNDSTATUS::MILESEVENT_SOUND_STATUS_PENDING)[MILESEVENT_SOUND_STATUS_PENDING] - these are new sound instances that were created by events that had a "Start Sound Step". Note that these instances aren't audible yet, so that you have a chance to modify game driven properties (like the 3D position) - on the sound before Miles begins to play it. - + on the sound before Miles begins to play it. + $(MILESEVENTSOUNDSTATUS::MILESEVENT_SOUND_STATUS_PLAYING)[MILESEVENT_SOUND_STATUS_PLAYING] - these are sound instances that were previously started and are continuing to play (you might update the 3D position for these, for example). - + $(MILESEVENTSOUNDSTATUS::MILESEVENT_SOUND_STATUS_COMPLETE)[MILESEVENT_SOUND_STATUS_COMPLETE] - these are sound instances that finished playing since the last this frame (you might use this status to free any game related memory, for example). @@ -7315,7 +7315,7 @@ ${ HMSSENUM SoundEnum = MSS_FIRST; MILESEVENTSOUNDINFO Info; - while ( $AIL_enumerate_sound_instances( &SoundEnum, 0, 0, &Info ) ) + while ( $AIL_enumerate_sound_instances( &SoundEnum, 0, 0, &Info ) ) { if ( Info.Status != MILESEVENT_SOUND_STATUS_COMPLETE ) { @@ -7330,23 +7330,23 @@ $} EXPTYPEBEGIN typedef S32 MILESEVENTSOUNDSTATUS; #define MILESEVENT_SOUND_STATUS_PENDING 0x1 -#define MILESEVENT_SOUND_STATUS_PLAYING 0x2 +#define MILESEVENT_SOUND_STATUS_PLAYING 0x2 #define MILESEVENT_SOUND_STATUS_COMPLETE 0x4 EXPTYPEEND /* Specifies the status of a sound instance. - + $:MILESEVENT_SOUND_STATUS_PENDING New sound instances that were created by events that had a "Start Sound Step". Note that these instances aren't audible yet, so that you have a chance to modify game driven properties (like the 3D position) - on the sound before Miles begins to play it. - + on the sound before Miles begins to play it. + $:MILESEVENT_SOUND_STATUS_PLAYING Sound instances that were previously started and are continuing to play (you might update the 3D position for these, for example). - + $:MILESEVENT_SOUND_STATUS_COMPLETE Sound instances that finished playing since the last this frame (you might use this status to free any game related memory, for example). - + These are the status values that each sound instance can have. Use $AIL_enumerate_sound_instances to retrieve them. */ @@ -7360,13 +7360,13 @@ EXPTYPEBEGIN typedef U32 MILESEVENTSOUNDFLAG; EXPTYPEEND /* Specifies the status of a sound instance. - + $:MILESEVENT_SOUND_FLAG_MISSING_SOUND The event system tried to look up the sound requested from a Start Sound event and couldn't find anything in the loaded banks. $:MILESEVENT_SOUND_FLAG_EVICTED The sound was evicted due to a sound instance limit being hit. Another sound was selected as being higher priority, and this sound was stopped as a result. This can be the result of either a Label Sound Limit, or a limit on the sound itself. - $:MILESEVENT_SOUND_FLAG_WAITING_ASYNC The sound is pending because the data for it is currently being loaded. + $:MILESEVENT_SOUND_FLAG_WAITING_ASYNC The sound is pending because the data for it is currently being loaded. The sound will start when sufficient data has been loaded to hopefully avoid a skip. $:MILESEVENT_SONUD_FLAG_PENDING_ASYNC The sound has started playing, but the data still isn't completely loaded, and it's possible that the sound playback will catch up to the read position under poor I/O conditions. @@ -7375,7 +7375,7 @@ EXPTYPEEND sound data is asynchronously loaded, or specify the sound in a Cache Sounds step prior to attempting to start it. $:MILESEVENT_SOUND_FLAG_FAILED_ASYNC The sound tried to load and the asynchronous I/O operation failed - most likely either the media was removed during load, or the file was not found. - + These are the flag values that each sound instance can have. Use $AIL_enumerate_sound_instances to retrieve them. Instances may have more than one flag, logically 'or'ed together. */ @@ -7383,16 +7383,16 @@ EXPTYPEEND DXDEC EXPAPI S32 AILCALL AIL_complete_event_queue_processing( void ); /* Completes the queue processing (which is started with $AIL_begin_event_queue_processing ). - + $:return Returns 0 on failure. - This function must be called as a pair with $AIL_begin_event_queue_processing. - - In $AIL_begin_event_queue_processing, all the new sound instances are queued up, but they haven't - started playing yet. Old sound instances that have finished playing are still valid - they - haven't been freed yet. $AIL_complete_event_queue_processing actually starts the sound instances + This function must be called as a pair with $AIL_begin_event_queue_processing. + + In $AIL_begin_event_queue_processing, all the new sound instances are queued up, but they haven't + started playing yet. Old sound instances that have finished playing are still valid - they + haven't been freed yet. $AIL_complete_event_queue_processing actually starts the sound instances and frees the completed ones - it's the 2nd half of the event processing. - + Usually you call $AIL_enumerate_sound_instances before this function to manage all the sound instances. */ @@ -7400,7 +7400,7 @@ DXDEC EXPAPI S32 AILCALL AIL_complete_event_queue_processing( void ); DXDEC EXPAPI U64 AILCALL AIL_stop_sound_instances(char const * label_query, U64 apply_to_ID); /* Allows the programmer to manually enqueue a stop sound event into the event system. - + $:label_query A query to match sound instance labels against. Use 0 to skip label matching. $:apply_to_ID An optional value returned from a previous $AIL_enqueue_event or $AIL_enumerate_sound_instances that tells Miles to stop only those instances who's QueuedID,InstanceID,or EventID matches this value. @@ -7408,7 +7408,7 @@ DXDEC EXPAPI U64 AILCALL AIL_stop_sound_instances(char const * label_query, U64 Enqueues an event to stop all sounds matching the specified label query (see $AIL_enumerate_sound_instances for a description of the label_query format). - + Usually the programmer should trigger a named event that the sound designed can fill out to stop the necessary sounds, however, if a single sound (for example associated with an enemy that the player just killed) needs to be stopped, this function accomplishes that, and is captured by the auditioner for replay. @@ -7417,7 +7417,7 @@ DXDEC EXPAPI U64 AILCALL AIL_stop_sound_instances(char const * label_query, U64 DXDEC EXPAPI U64 AILCALL AIL_pause_sound_instances(char const * label_query, U64 apply_to_ID); /* Allows the programmer to manually enqueue a pause sound event into the event system. - + $:label_query A query to match sound instance labels against. Use 0 to skip label matching. $:apply_to_ID An optional value returned from a previous $AIL_enqueue_event or $AIL_enumerate_sound_instances that tells Miles to pause only those instances who's QueuedID,InstanceID,or EventID matches this value. @@ -7425,7 +7425,7 @@ DXDEC EXPAPI U64 AILCALL AIL_pause_sound_instances(char const * label_query, U64 Enqueues an event to pause all sounds matching the specified label query (see $AIL_enumerate_sound_instances for a description of the label_query format). - + Usually the programmer should trigger a named event that the sound designed can fill out to pause the necessary sounds, however, if a single sound (for example associated with an enemy that has been put in to stasis) needs to be paused, this function accomplishes that, and is captured by the auditioner for replay. @@ -7434,7 +7434,7 @@ DXDEC EXPAPI U64 AILCALL AIL_pause_sound_instances(char const * label_query, U64 DXDEC EXPAPI U64 AILCALL AIL_resume_sound_instances(char const * label_query, U64 apply_to_ID); /* Allows the programmer to manually enqueue a resume sound event into the event system. - + $:label_query A query to match sound instance labels against. Use 0 to skip label matching. $:apply_to_ID An optional value returned from a previous $AIL_enqueue_event or $AIL_enumerate_sound_instances that tells Miles to resume only those instances who's QueuedID,InstanceID,or EventID matches this value. @@ -7442,17 +7442,17 @@ DXDEC EXPAPI U64 AILCALL AIL_resume_sound_instances(char const * label_query, U6 Enqueues an event to resume all sounds matching the specified label query (see $AIL_enumerate_sound_instances for a description of the label_query format). - + Usually the programmer should trigger a named event that the sound designed can fill out to resume the necessary sounds, however, if a single sound (for example associated with an enemy that has been restored from stasis) needs to be resumed, this function accomplishes that, and is captured by the auditioner for replay. */ -DXDEC EXPAPI U64 AILCALL AIL_start_sound_instance(HMSOUNDBANK bank, char const * sound, U8 loop_count, +DXDEC EXPAPI U64 AILCALL AIL_start_sound_instance(HMSOUNDBANK bank, char const * sound, U8 loop_count, S32 should_stream, char const * labels, void* user_buffer, S32 user_buffer_len, S32 enqueue_flags ); /* Allows the programmer to manually enqueue a start sound event into the event system. - + $:bank The bank containing the sound to start. $:sound The name of the sound file to start, including bank name, e.g. "BankName/SoundName" $:loop_count The loop count to assign to the sound. 0 for infinite, 1 for play once, or just the number of times to loop. @@ -7463,10 +7463,10 @@ DXDEC EXPAPI U64 AILCALL AIL_start_sound_instance(HMSOUNDBANK bank, char const * $:enqueue_flags See the enqueue_flags description in $AIL_enqueue_event. $:return Returns a non-zero EnqueueID on success. - Enqueues an event to start the specified sound asset. - + Enqueues an event to start the specified sound asset. + Usually the programmer should trigger an event that the sound designer has specifically - create to start the appropriate sounds, but this function gives the programmer + create to start the appropriate sounds, but this function gives the programmer manual control, if necessary. <b>This function is not captured by the auditioner.</b> */ @@ -7488,7 +7488,7 @@ DXDEC EXPAPI S32 AILCALL AIL_set_sound_label_limits(HEVENTSYSTEM system, char co Every time an event triggers a sound to be played, the sound limits are checked, and, if exceeded, a sound is dropped (based on the settings in the event step). - + Usually event limits are set by a sound designer via an event, but this lets the programmer override the limits at runtime. Note that this replaces those events, it does not supplement. */ @@ -7503,7 +7503,7 @@ DXDEC EXPAPI S32 AILCALL AIL_enumerate_preset_persists(HEVENTSYSTEM system, HMSS that this pointer can change frame to frame and should be immediately copied to a client-allocated buffer if persistence is desired. $:return Returns 0 when enumeration is complete. - + This function lets you enumerate all the persisting presets that are currently active in the system. It is mostly a debugging aid. */ @@ -7511,12 +7511,12 @@ DXDEC EXPAPI S32 AILCALL AIL_enumerate_preset_persists(HEVENTSYSTEM system, HMSS DXDEC EXPAPI char * AILCALL AIL_text_dump_event_system(void); /* Returns a big string describing the current state of the event system. - - $:return String description of current systems state. + + $:return String description of current systems state. This function is a debugging aid - it can be used to show all of the active allocations, active sounds, etc. - + You must delete the pointer returned from this function with $AIL_mem_free_lock. */ @@ -7535,7 +7535,7 @@ EXPTYPE typedef struct _MILESEVENTSTATE } MILESEVENTSTATE; /* returns the current state of the Miles Event System. - + $:CommandBufferSize The size of the command buffer in bytes. See also the $AIL_startup_event_system. $:HeapSize The total size of memory used by the event system for management structures, and is allocated during startup. This does not include loaded file sizes. $:HeapRemaining The number of bytes in HeapSize that is remaining. @@ -7615,7 +7615,7 @@ EXPTYPE typedef struct _MILESBANKFUNCTIONS } MILESBANKFUNCTIONS; /* specifies callbacks for each of the Miles event system. - + $:FreeAll Callback that tells you to free all user-side bank memory. $:GetPreset Callback to retrieve a sound preset. $:GetEnvironment Callback to retrieve an environment preset. @@ -7645,13 +7645,13 @@ DXDEC EXPAPI void AILCALL AIL_set_event_sample_functions(HSAMPLE (*CreateSampleC In the callback, SoundName is the name of the asset in Miles Studio, and SoundFileName is the value returned from Container_GetSound() (see also $AIL_set_event_bank_functions). - + */ DXDEC EXPAPI void AILCALL AIL_set_event_bank_functions(MILESBANKFUNCTIONS const * Functions); /* Allows you to override the internal bank file resource management.. - + $:Functions A pointer to a structure containing all the callback functions. This function is used to completely override the high-level resource management system. @@ -7856,7 +7856,7 @@ EXPTYPEEND $:MILES_PLAT_IPHONE Apple iDevices $:MILES_PLAT_LINUX Linux Flavors $:MILES_PLAT_WII Nintendo Wii - $:MILES_PLAT_PSP2 Sony NGP + $:MILES_PLAT_PSP2 Sony NGP Values representing the various platforms the high level tool allows. */ @@ -7891,11 +7891,11 @@ EXPGROUP(Miles High Level Event System) DXDEC EXPAPI void AILCALL AIL_event_system_state(HEVENTSYSTEM system, MILESEVENTSTATE* state); /* Returns an information structure about the current state of the Miles Event System. - + $:system The system to retrieve information for, or zero for the default system. $:state A pointer to a structure to receive the state information. - This function is a debugging aid - it returns information for the event system. + This function is a debugging aid - it returns information for the event system. */ DXDEC EXPAPI U32 AILCALL AIL_event_system_command_queue_remaining(); @@ -7923,7 +7923,7 @@ DXDEC EXPAPI S32 AILCALL AIL_get_event_length(char const* i_EventName); // Callback for the error handler. EXPAPI typedef void AILCALLBACK AILEVENTERRORCB(S64 i_RelevantId, char const* i_Resource); /* - The function prototype to use for a callback that will be made when the event system + The function prototype to use for a callback that will be made when the event system encounters an unrecoverable error. $:i_RelevantId The ID of the asset that encountered the error, as best known. EventID or SoundID. @@ -7937,7 +7937,7 @@ EXPAPI typedef void AILCALLBACK AILEVENTERRORCB(S64 i_RelevantId, char const* i_ EXPAPI typedef S32 AILCALLBACK MSS_USER_RAND( void ); /* The function definition to use when defining your own random function. - + You can define a function with this prototype and pass it to $AIL_register_random if you want to tie the Miles random calls in with your game's (for logging and such). */ @@ -7953,7 +7953,7 @@ DXDEC EXPAPI void AILCALL AIL_set_event_error_callback(AILEVENTERRORCB * i_Error can sometimes be somewhat invisible. This function allows you to see what went wrong, when it went wrong. - The basic usage is to have the callback check $AIL_last_error() for the overall category of + The basic usage is to have the callback check $AIL_last_error() for the overall category of failure. The parameter passed to the callback might provide some context, but it can and will be zero on occasion. Generally it will represent the resource string that is being worked on when the error occurred. @@ -8009,7 +8009,7 @@ typedef C8 * (AILCALL *FLT_ERROR)(void); typedef HDRIVERSTATE (AILCALL *FLT_OPEN_DRIVER) (MSS_ALLOC_TYPE * palloc, MSS_FREE_TYPE * pfree, - UINTa user, + UINTa user, HDIGDRIVER dig, void * memory); typedef FLTRESULT (AILCALL *FLT_CLOSE_DRIVER) (HDRIVERSTATE state); diff --git a/Minecraft.Client/Orbis/Miles/include/rrCore.h b/Minecraft.Client/Orbis/Miles/include/rrCore.h index 4ba70d3a..e88b5f8c 100644 --- a/Minecraft.Client/Orbis/Miles/include/rrCore.h +++ b/Minecraft.Client/Orbis/Miles/include/rrCore.h @@ -114,8 +114,8 @@ #define __RADLITTLEENDIAN__ #ifdef __i386__ #define __RADX86__ - #else - #define __RADARM__ + #else + #define __RADARM__ #endif #define RADINLINE inline #define RADRESTRICT __restrict @@ -132,7 +132,7 @@ #define __RADX86__ #else #error Unknown processor -#endif +#endif #define __RADLITTLEENDIAN__ #define RADINLINE inline #define RADRESTRICT __restrict @@ -155,7 +155,7 @@ #define __RADNACL__ #define __RAD32__ #define __RADLITTLEENDIAN__ - #define __RADX86__ + #define __RADX86__ #define RADINLINE inline #define RADRESTRICT __restrict @@ -196,7 +196,7 @@ #define __RAD64REGS__ #define __RADLITTLEENDIAN__ #define RADINLINE inline - #define RADRESTRICT __restrict + #define RADRESTRICT __restrict #undef RADSTRUCT #define RADSTRUCT struct __attribute__((__packed__)) @@ -265,7 +265,7 @@ #endif #undef RADSTRUCT #define RADSTRUCT struct __attribute__((__packed__)) - + #elif defined(CAFE) // has to be before HOLLYWOOD_REV since it also defines it #define __RADWIIU__ @@ -480,7 +480,7 @@ #undef RADRESTRICT /* could have been defined above... */ #define RADRESTRICT __restrict - + #undef RADSTRUCT #define RADSTRUCT struct __attribute__((__packed__)) #endif @@ -885,7 +885,7 @@ #define RAD_ALIGN(type,var,num) type __declspec(align(num)) var #else // NOTE: / / is a guaranteed parse error in C/C++. - #define RAD_ALIGN(type,var,num) RAD_ALIGN_USED_BUT_NOT_DEFINED / / + #define RAD_ALIGN(type,var,num) RAD_ALIGN_USED_BUT_NOT_DEFINED / / #endif // WARNING : RAD_TLS should really only be used for debug/tools stuff @@ -917,8 +917,8 @@ #define RAD_S32 signed int // But pointers are 64 bits. #if (_MSC_VER >= 1300 && defined(_Wp64) && _Wp64 ) - #define RAD_SINTa __w64 signed long long - #define RAD_UINTa __w64 unsigned long long + #define RAD_SINTa __w64 signed __int64 + #define RAD_UINTa __w64 unsigned __int64 #else // non-vc.net compiler or /Wp64 turned off #define RAD_UINTa unsigned long long #define RAD_SINTa signed long long @@ -976,8 +976,8 @@ #define RAD_U64 unsigned long long #define RAD_S64 signed long long #elif defined(__RADX64__) || defined(__RAD32__) - #define RAD_U64 unsigned long long - #define RAD_S64 signed long long + #define RAD_U64 unsigned __int64 + #define RAD_S64 signed __int64 #else // 16-bit typedef RADSTRUCT RAD_U64 // do this so that we don't accidentally use U64s @@ -1134,7 +1134,7 @@ // helpers for doing an if ( ) with expect : // if ( RAD_LIKELY(expr) ) { ... } - + #define RAD_LIKELY(expr) RAD_EXPECT(expr,1) #define RAD_UNLIKELY(expr) RAD_EXPECT(expr,0) @@ -1324,7 +1324,7 @@ __pragma(warning(push)) \ __pragma(warning(disable:4127)) \ } while(0) \ - __pragma(warning(pop)) + __pragma(warning(pop)) #define RAD_STATEMENT_END_TRUE \ __pragma(warning(push)) \ @@ -1333,10 +1333,10 @@ __pragma(warning(pop)) #else - #define RAD_USE_STANDARD_LOOP_CONSTRUCT + #define RAD_USE_STANDARD_LOOP_CONSTRUCT #endif #else - #define RAD_USE_STANDARD_LOOP_CONSTRUCT + #define RAD_USE_STANDARD_LOOP_CONSTRUCT #endif #ifdef RAD_USE_STANDARD_LOOP_CONSTRUCT @@ -1345,7 +1345,7 @@ #define RAD_STATEMENT_END_FALSE \ } while ( (void)0,0 ) - + #define RAD_STATEMENT_END_TRUE \ } while ( (void)1,1 ) @@ -1355,7 +1355,7 @@ RAD_STATEMENT_START \ code \ RAD_STATEMENT_END_FALSE - + #define RAD_INFINITE_LOOP( code ) \ RAD_STATEMENT_START \ code \ @@ -1363,7 +1363,7 @@ // Must be placed after variable declarations for code compiled as .c -#if defined(_MSC_VER) && _MSC_VER >= 1700 // in 2012 aka 11.0 and later +#if defined(_MSC_VER) && _MSC_VER >= 1700 // in 2012 aka 11.0 and later # define RR_UNUSED_VARIABLE(x) (void) x #else # define RR_UNUSED_VARIABLE(x) (void)(sizeof(x)) @@ -1473,7 +1473,7 @@ // just to make gcc shut up about derefing null : #define RR_MEMBER_OFFSET_PTR(type,member,ptr) ( (SINTa) &(((type *)(ptr))->member) - (SINTa)(ptr) ) #define RR_MEMBER_SIZE_PTR(type,member,ptr) ( sizeof( ((type *) (ptr))->member) ) - + // MEMBER_TO_OWNER takes a pointer to a member and gives you back the base of the object // you should then RR_ASSERT( &(ret->member) == ptr ); #define RR_MEMBER_TO_OWNER(type,member,ptr) (type *)( ((char *)(ptr)) - RR_MEMBER_OFFSET_PTR(type,member,ptr) ) @@ -1482,7 +1482,7 @@ // Cache / prefetch macros : // RR_PREFETCH for various platforms : -// +// // RR_PREFETCH_SEQUENTIAL : prefetch memory for reading in a sequential scan // platforms that automatically prefetch sequential (eg. PC) should be a no-op here // RR_PREFETCH_WRITE_INVALIDATE : prefetch memory for writing - contents of memory are undefined @@ -1707,7 +1707,7 @@ extern fp_rrDisplayAssertion * g_fp_rrDisplayAssertion; #define rrDisplayAssertion(i,n,l,f,m) ( ( g_fp_rrDisplayAssertion ) ? (*g_fp_rrDisplayAssertion)(i,n,l,f,m) : 1 ) //----------------------------------------------------------- - + // RAD_NO_BREAK : option if you don't like your assert to break // CB : RR_BREAK is *always* a break ; RR_ASSERT_BREAK is optional #ifdef RAD_NO_BREAK @@ -1725,7 +1725,7 @@ extern fp_rrDisplayAssertion * g_fp_rrDisplayAssertion; #define RR_ASSERT_LITE_ALWAYS(exp) RAD_STATEMENT_WRAPPER( if ( ! (exp) ) { RR_ASSERT_BREAK(); } ) //----------------------------------- -#ifdef RR_DO_ASSERTS +#ifdef RR_DO_ASSERTS #define RR_ASSERT(exp) RR_ASSERT_ALWAYS(exp) #define RR_ASSERT_LITE(exp) RR_ASSERT_LITE_ALWAYS(exp) @@ -1883,7 +1883,7 @@ unsigned long __cdecl _byteswap_ulong (unsigned long _Long); #define RR_BSWAP16 _byteswap_ushort #define RR_BSWAP32 _byteswap_ulong -unsigned long long __cdecl _byteswap_uint64 (unsigned long long val); +unsigned __int64 __cdecl _byteswap_uint64 (unsigned __int64 val); #pragma intrinsic(_byteswap_uint64) #define RR_BSWAP64 _byteswap_uint64 @@ -1909,7 +1909,7 @@ RADFORCEINLINE unsigned long RR_BSWAP32 (unsigned long _Long) return _Long; } -RADFORCEINLINE unsigned long long RR_BSWAP64 (unsigned long long) +RADFORCEINLINE unsigned __int64 RR_BSWAP64 (unsigned __int64 _Long) { __asm { mov eax, DWORD PTR _Long @@ -2250,10 +2250,10 @@ void __storewordbytereverse (unsigned int val, int offset, void *bas #if ( defined(_MSC_VER) && _MSC_VER >= 1300) -unsigned long long __cdecl _rotl64(unsigned long long _Val, int _Shift); +unsigned __int64 __cdecl _rotl64(unsigned __int64 _Val, int _Shift); #pragma intrinsic(_rotl64) -#define RR_ROTL64(x,k) _rotl64((unsigned long long)(x),(int)(k)) +#define RR_ROTL64(x,k) _rotl64((unsigned __int64)(x),(int)(k)) #elif defined(__RADCELL__) @@ -2262,7 +2262,7 @@ unsigned long long __cdecl _rotl64(unsigned long long _Val, int _Shift); #elif defined(__RADLINUX__) || defined(__RADMACAPI__) -//APTODO: Just to compile linux. Should we be doing better than this? If not, combine with above. +//APTODO: Just to compile linux. Should we be doing better than this? If not, combine with above. #define RR_ROTL64(u64,num) ( ( (u64) << (num) ) | ( (u64) >> (64 - (num))) ) #else diff --git a/Minecraft.Client/Orbis/Network/SQRNetworkManager_Orbis.cpp b/Minecraft.Client/Orbis/Network/SQRNetworkManager_Orbis.cpp index 3f621046..5c02cb08 100644 --- a/Minecraft.Client/Orbis/Network/SQRNetworkManager_Orbis.cpp +++ b/Minecraft.Client/Orbis/Network/SQRNetworkManager_Orbis.cpp @@ -21,8 +21,8 @@ int (* SQRNetworkManager_Orbis::s_SignInCompleteCallbackFn)(void *pParam, bool b void * SQRNetworkManager_Orbis::s_SignInCompleteParam = NULL; sce::Toolkit::NP::PresenceDetails SQRNetworkManager_Orbis::s_lastPresenceInfo; -int64_t SQRNetworkManager_Orbis::s_lastPresenceTime = 0; -int64_t SQRNetworkManager_Orbis::s_resendPresenceTime = 0; +__int64 SQRNetworkManager_Orbis::s_lastPresenceTime = 0; +__int64 SQRNetworkManager_Orbis::s_resendPresenceTime = 0; bool SQRNetworkManager_Orbis::s_presenceStatusDirty = false; bool SQRNetworkManager_Orbis::s_presenceDataDirty = false; @@ -51,7 +51,7 @@ int g_numRUDPContextsBound = 0; //unsigned int SQRNetworkManager_Orbis::RoomSyncData::playerCount = 0; // This maps internal to extern states, and needs to match element-by-element the eSQRNetworkManagerInternalState enumerated type -const SQRNetworkManager_Orbis::eSQRNetworkManagerState SQRNetworkManager_Orbis::m_INTtoEXTStateMappings[SQRNetworkManager_Orbis::SNM_INT_STATE_COUNT] = +const SQRNetworkManager_Orbis::eSQRNetworkManagerState SQRNetworkManager_Orbis::m_INTtoEXTStateMappings[SQRNetworkManager_Orbis::SNM_INT_STATE_COUNT] = { SNM_STATE_INITIALISING, // SNM_INT_STATE_UNINITIALISED SNM_STATE_INITIALISING, // SNM_INT_STATE_SIGNING_IN @@ -143,7 +143,7 @@ void SQRNetworkManager_Orbis::Initialise() assert( m_state == SNM_INT_STATE_UNINITIALISED ); - + //Initialize libnetctl ret = sceNetCtlInit(); if( ( ret < 0 /*&& ret != CELL_NET_CTL_ERROR_NOT_TERMINATED*/ ) || ForceErrorPoint( SNM_FORCE_ERROR_NET_CTL_INIT ) ) @@ -172,14 +172,14 @@ void SQRNetworkManager_Orbis::Initialise() SonyHttp::init(); ret = sceNpSetNpTitleId(GetSceNpTitleId(), GetSceNpTitleSecret()); - if (ret < 0) + if (ret < 0) { app.DebugPrintf("sceNpSetNpTitleId failed, ret=%x\n", ret); assert(0); } ret = sceRudpEnableInternalIOThread(RUDP_THREAD_STACK_SIZE, RUDP_THREAD_PRIORITY); - if(ret < 0) + if(ret < 0) { app.DebugPrintf("sceRudpEnableInternalIOThread failed with error code 0x%08x\n", ret); assert(0); @@ -192,7 +192,7 @@ void SQRNetworkManager_Orbis::Initialise() else { // On Orbis, PSN sign in is only handled by the XMB - SetState(SNM_INT_STATE_IDLE); + SetState(SNM_INT_STATE_IDLE); } SonyVoiceChat_Orbis::init(); @@ -299,7 +299,7 @@ void SQRNetworkManager_Orbis::InitialiseAfterOnline() ret = sceNpMatching2CreateContext(¶m, &m_matchingContext); - + if( ( ret < 0 ) || ForceErrorPoint( SNM_FORCE_ERROR_CREATE_MATCHING_CONTEXT ) ) { app.DebugPrintf("SQRNetworkManager_Orbis::InitialiseAfterOnline - sceNpMatching2CreateContext failed with error 0x%08x\n", ret); @@ -398,7 +398,7 @@ void SQRNetworkManager_Orbis::Tick() { // make sure we've removed all the remote players and killed the udp connections before we bail out if(m_RudpCtxToPlayerMap.size() == 0) - ResetToIdle(); + ResetToIdle(); } EnterCriticalSection(&m_csStateChangeQueue); @@ -451,7 +451,7 @@ void SQRNetworkManager_Orbis::tickErrorDialog() if(s_errorDialogRunning) { SceErrorDialogStatus s = sceErrorDialogUpdateStatus(); - switch (s) + switch (s) { case SCE_ERROR_DIALOG_STATUS_NONE: assert(0); @@ -465,9 +465,9 @@ void SQRNetworkManager_Orbis::tickErrorDialog() case SCE_ERROR_DIALOG_STATUS_FINISHED: sceErrorDialogTerminate(); s_errorDialogRunning = false; - + // Start callback timer - s_SignInCompleteCallbackPending = true; + s_SignInCompleteCallbackPending = true; s_errorDialogClosed = System::currentTimeMillis(); break; } @@ -490,9 +490,9 @@ void SQRNetworkManager_Orbis::tickErrorDialog() SceSystemServiceStatus status = SceSystemServiceStatus(); sceSystemServiceGetStatus(&status); bool systemUiDisplayed = status.isInBackgroundExecution || status.isSystemUiOverlaid; - + if (systemUiDisplayed) - { + { // Wait till the system goes away } else @@ -583,7 +583,7 @@ void SQRNetworkManager_Orbis::ErrorHandlingTick() DeleteServerContext(); break; } - + } // Start hosting a game, by creating a room & joining it. We explicity create a server context here (via GetServerContext) as Sony suggest that @@ -643,7 +643,7 @@ void SQRNetworkManager_Orbis::UpdateExternalRoomData() { if( m_offlineGame ) return; if( m_isHosting ) - { + { SceNpMatching2SetRoomDataExternalRequest reqParam; memset( &reqParam, 0, sizeof(reqParam) ); reqParam.roomId = m_room; @@ -774,13 +774,13 @@ int SQRNetworkManager_Orbis::BasicEventThreadProc( void *lpParameter ) do { ret = sceKernelWaitEqueue(manager->m_basicEventQueue, &event, 1, &outEv, NULL); - + // If the sys_event_t we've sent here from the handler has a non-zero data1 element, this is to signify that we should terminate the thread if( event.udata == 0 ) { // int iEvent; // SceNpUserInfo from; -// uint8_t buffer[SCE_NP_BASIC_MAX_MESSAGE_SIZE]; +// uint8_t buffer[SCE_NP_BASIC_MAX_MESSAGE_SIZE]; // size_t bufferSize = SCE_NP_BASIC_MAX_MESSAGE_SIZE; // int ret = sceNpBasicGetEvent(&iEvent, &from, &buffer, &bufferSize); // if( ret == 0 ) @@ -788,7 +788,7 @@ int SQRNetworkManager_Orbis::BasicEventThreadProc( void *lpParameter ) // if( iEvent == SCE_NP_BASIC_EVENT_INCOMING_BOOTABLE_INVITATION ) // { // // 4J Stu - Don't do this here as it can be very disruptive to gameplay. Players can bring this up from LoadOrJoinMenu, PauseMenu and InGameInfoMenu -// //sceNpBasicRecvMessageCustom(SCE_NP_BASIC_MESSAGE_MAIN_TYPE_INVITE, SCE_NP_BASIC_RECV_MESSAGE_OPTIONS_INCLUDE_BOOTABLE, SYS_MEMORY_CONTAINER_ID_INVALID); +// //sceNpBasicRecvMessageCustom(SCE_NP_BASIC_MESSAGE_MAIN_TYPE_INVITE, SCE_NP_BASIC_RECV_MESSAGE_OPTIONS_INCLUDE_BOOTABLE, SYS_MEMORY_CONTAINER_ID_INVALID); // } // if( iEvent == SCE_NP_BASIC_EVENT_RECV_INVITATION_RESULT ) // { @@ -835,12 +835,12 @@ int SQRNetworkManager_Orbis::GetFriendsThreadProc( void* lpParameter ) return 0; } - if (friendList.hasResult()) + if (friendList.hasResult()) { - sce::Toolkit::NP::FriendsList::const_iterator iter ; + sce::Toolkit::NP::FriendsList::const_iterator iter ; int i = 1 ; bool noFriends = true; - for (iter = friendList.get()->begin(); iter != friendList.get()->end() ; ++iter,i++) + for (iter = friendList.get()->begin(); iter != friendList.get()->end() ; ++iter,i++) { manager->m_friendCount++; noFriends = false; @@ -848,7 +848,7 @@ int SQRNetworkManager_Orbis::GetFriendsThreadProc( void* lpParameter ) app.DebugPrintf("Online Name: %s\n",iter->npid.handle.data); app.DebugPrintf("------------------------\n"); - + sce::Toolkit::NP::PresenceRequest presenceRequest; sce::Toolkit::NP::Utilities::Future<sce::Toolkit::NP::PresenceInfo> presenceInfo; memset(&presenceRequest,0,sizeof(presenceRequest)); @@ -858,11 +858,11 @@ int SQRNetworkManager_Orbis::GetFriendsThreadProc( void* lpParameter ) ret = sce::Toolkit::NP::Presence::Interface::getPresence(&presenceRequest,&presenceInfo,false); - if( ret < 0 ) + if( ret < 0 ) { app.DebugPrintf("getPresence() error. ret = 0x%x\n", ret); } - else + else { app.DebugPrintf("\nPresence Data Retrieved:\n"); app.DebugPrintf("Platform Type: %s\n", presenceInfo.get()->platformType.c_str()); @@ -897,13 +897,13 @@ int SQRNetworkManager_Orbis::GetFriendsThreadProc( void* lpParameter ) } } } - else if (friendList.hasError()) + else if (friendList.hasError()) { app.DebugPrintf( "Error occurred while retrieving FriendsList, ret = 0x%x\n", friendList.getError()); app.DebugPrintf("Check sign-in status\n"); } - + return 0; } @@ -944,7 +944,7 @@ bool SQRNetworkManager_Orbis::IsReadyToPlayOrIdle() // Consider as "in session" from the moment that a game is created or joined, until the point where the game itself has been told via state change that we are now idle. The -// game code requires IsInSession to return true as soon as it has asked to do one of these things (even if the state system hasn't really caught up with this request yet), and +// game code requires IsInSession to return true as soon as it has asked to do one of these things (even if the state system hasn't really caught up with this request yet), and // it also requires that it is informed of the state changes leading up to not being in the session, before this should report false. bool SQRNetworkManager_Orbis::IsInSession() { @@ -1119,7 +1119,7 @@ bool SQRNetworkManager_Orbis::JoinRoom(SceNpMatching2RoomId roomId, SceNpMatchin m_localPlayerJoinMask = localPlayerMask; m_localPlayerCount = 0; m_localPlayerJoined = 0; - + for( int i = 0; i < MAX_LOCAL_PLAYER_COUNT; i++ ) { if( localPlayerMask & ( 1 << i ) ) m_localPlayerCount++; @@ -1240,7 +1240,7 @@ bool SQRNetworkManager_Orbis::AddLocalPlayerByUserIndex(int idx) // Sync this back out to our networked clients... SyncRoomData(); - + UpdateRemotePlay(); // no connections being made because we're all on the host, so add this player to the existing connections @@ -1264,7 +1264,7 @@ bool SQRNetworkManager_Orbis::AddLocalPlayerByUserIndex(int idx) memset(&reqParam, 0, sizeof(reqParam)); memset(&binAttr, 0, sizeof(binAttr)); - + binAttr.id = SCE_NP_MATCHING2_ROOMMEMBER_BIN_ATTR_INTERNAL_1_ID; binAttr.ptr = &m_localPlayerJoinMask; binAttr.size = sizeof(m_localPlayerJoinMask); @@ -1357,7 +1357,7 @@ bool SQRNetworkManager_Orbis::RemoveLocalPlayerByUserIndex(int idx) memset(&reqParam, 0, sizeof(reqParam)); memset(&binAttr, 0, sizeof(binAttr)); - + binAttr.id = SCE_NP_MATCHING2_ROOMMEMBER_BIN_ATTR_INTERNAL_1_ID; binAttr.ptr = &m_localPlayerJoinMask; binAttr.size = sizeof(m_localPlayerJoinMask); @@ -1395,7 +1395,7 @@ void SQRNetworkManager_Orbis::UpdateRemotePlay() extern uint8_t *mallocAndCreateUTF8ArrayFromString(int iID); -// Bring up a Gui to send an invite so a player that the user can select. This invite will contain the room Id so that +// Bring up a Gui to send an invite so a player that the user can select. This invite will contain the room Id so that void SQRNetworkManager_Orbis::SendInviteGUI() { if(s_bInviteDialogRunning) @@ -1403,7 +1403,7 @@ void SQRNetworkManager_Orbis::SendInviteGUI() app.DebugPrintf("SendInviteGUI - Invite dialog is already running so ignoring request\n"); return; } - + s_bInviteDialogRunning = true; //Set invitation information - this is now exactly the same as the presence information that we synchronise out. @@ -1428,7 +1428,7 @@ void SQRNetworkManager_Orbis::SendInviteGUI() messData.dialogFlag = SCE_TOOLKIT_NP_DIALOG_TYPE_USER_EDITABLE; messData.npIdsCount = 2; // TODO: Set this to the number of available slots messData.npIds = NULL; - messData.userInfo.userId = userId; + messData.userInfo.userId = userId; // Set expire to maximum messData.expireMinutes = 0; @@ -1451,9 +1451,9 @@ void SQRNetworkManager_Orbis::SendInviteGUI() // int ret = sce::Toolkit::NP::Messaging::Interface::sendMessage(&messData, SCE_TOOLKIT_NP_MESSAGE_TYPE_INVITE); free(subject); - free(body); + free(body); - if(ret < SCE_TOOLKIT_NP_SUCCESS ) + if(ret < SCE_TOOLKIT_NP_SUCCESS ) { s_bInviteDialogRunning = false; app.DebugPrintf("Send Message failed 0x%x ...\n",ret); @@ -1513,7 +1513,7 @@ void SQRNetworkManager_Orbis::TickInviteGUI() int32_t ret = sceGameCustomDataDialogGetResult( &dialogResult ); if( SCE_OK != ret ) - { + { app.DebugPrintf( "***** sceGameCustomDataDialogGetResult error:0x%x\n", ret); } sceGameCustomDataDialogClose(); @@ -1536,7 +1536,7 @@ void SQRNetworkManager_Orbis::GetInviteDataAndProcess(sce::Toolkit::NP::MessageA } // InvitationInfoRequest requestInfo; // sce::Toolkit::NP::Utilities::Future< NpSessionInvitationInfo > inviteInfo; -// +// // requestInfo.invitationId = pInvite->invitationId; // requestInfo.userInfo.npId = pInvite->onlineId; // int err = sce::Toolkit::NP::Sessions::Interface::getInvitationInfo(&requestInfo, &inviteInfo, false); @@ -1555,21 +1555,21 @@ void SQRNetworkManager_Orbis::GetInviteDataAndProcess(sce::Toolkit::NP::MessageA // { // app.DebugPrintf("getInvitationInfo error 0x%08x", err); // } -// -// -// +// +// +// // INVITE_INFO *invite = &m_inviteReceived[m_inviteIndex]; // m_inviteIndex = ( m_inviteIndex + 1 ) % MAX_SIMULTANEOUS_INVITES; // size_t dataSize = sizeof(INVITE_INFO); // int ret = sceNpBasicRecvMessageAttachmentLoad(id, invite, &dataSize); -// +// // // If we fail ( which we might do if we aren't online at this point) then zero the invite information and we'll try and get it later after (possibly) signing in // if( ret != 0 ) // { // memset(invite, 0, sizeof( INVITE_INFO ) ); // s_lastInviteIdToRetry = id; // } -// +// // m_gameBootInvite = invite; } @@ -1647,7 +1647,7 @@ void SQRNetworkManager_Orbis::MapRoomSlotPlayers(int roomSlotPlayerCount/*=-1*/) { EnterCriticalSection(&m_csRoomSyncData); - // If we pass an explicit roomSlotPlayerCount, it is because we are removing a player, and this is the count of slots that there were *before* the removal. + // If we pass an explicit roomSlotPlayerCount, it is because we are removing a player, and this is the count of slots that there were *before* the removal. bool zeroLastSlot = false; if( roomSlotPlayerCount == -1 ) { @@ -1751,7 +1751,7 @@ void SQRNetworkManager_Orbis::MapRoomSlotPlayers(int roomSlotPlayerCount/*=-1*/) } else { - FindOrCreateNonNetworkPlayer( i, SQRNetworkPlayer::SNP_TYPE_REMOTE, m_roomSyncData.players[i].m_roomMemberId, m_roomSyncData.players[i].m_localIdx, m_roomSyncData.players[i].m_smallId); + FindOrCreateNonNetworkPlayer( i, SQRNetworkPlayer::SNP_TYPE_REMOTE, m_roomSyncData.players[i].m_roomMemberId, m_roomSyncData.players[i].m_localIdx, m_roomSyncData.players[i].m_smallId); m_aRoomSlotPlayers[i]->SetUID(m_roomSyncData.players[i].m_UID); // On client, UIDs flow from m_roomSyncData->player data } } @@ -1844,7 +1844,7 @@ bool SQRNetworkManager_Orbis::AddRemotePlayersAndSync( SceNpMatching2RoomMemberI } // We want to keep all players from a particular machine together, so search through the room sync data to see if we can find - // any pre-existing players from this machine. + // any pre-existing players from this machine. int firstIdx = -1; for( int i = 0; i < m_roomSyncData.getPlayerCount(); i++ ) { @@ -1950,7 +1950,7 @@ void SQRNetworkManager_Orbis::RemoveRemotePlayersAndSync( SceNpMatching2RoomMemb // Update mapping from the room slot players to SQRNetworkPlayer instances MapRoomSlotPlayers(); - + // And then synchronise this out to all other machines SyncRoomData(); @@ -1993,7 +1993,7 @@ void SQRNetworkManager_Orbis::RemoveNetworkPlayers( int mask ) removePlayerFromVoiceChat(player); // Delete the player itself and the mapping from context to player map as this context is no longer valid - delete player; + delete player; } else { @@ -2107,7 +2107,7 @@ bool SQRNetworkManager_Orbis::GetMatchingContext(eSQRNetworkManagerInternalState // Starts the process of obtaining a server context. This is an asynchronous operation, at the end of which (if successful), we'll be creating // a room. General procedure followed here is as suggested by Sony - we get a list of servers, then pick a random one, and see if it is available. -// If not we just cycle round trying other random ones until we either find an available one or fail. +// If not we just cycle round trying other random ones until we either find an available one or fail. bool SQRNetworkManager_Orbis::GetServerContext() { assert(m_state == SNM_INT_STATE_IDLE); @@ -2165,7 +2165,7 @@ bool SQRNetworkManager_Orbis::GetServerContext(SceNpMatching2ServerId serverId) // ( serverCount == SCE_NP_MATCHING2_ERROR_CONTEXT_NOT_STARTED ) ) // Also checking for this as a means of simulating the previous error // { // sceNpMatching2DestroyContext(m_matchingContext); -// m_matchingContextValid = false; +// m_matchingContextValid = false; // if( !GetMatchingContext(SNM_INT_STATE_JOINING_STARTING_MATCHING_CONTEXT) ) return false; // } // } @@ -2298,7 +2298,7 @@ void SQRNetworkManager_Orbis::NetworkPlayerConnectionComplete(SQRNetworkPlayer * if( ( !wasReady ) && ( isReady ) ) { - HandlePlayerJoined( player ); + HandlePlayerJoined( player ); } } @@ -2327,7 +2327,7 @@ void SQRNetworkManager_Orbis::NetworkPlayerSmallIdAllocated(SQRNetworkPlayer *pl if( ( !wasReady ) && ( isReady ) ) { - HandlePlayerJoined( player ); + HandlePlayerJoined( player ); } } @@ -2345,7 +2345,7 @@ void SQRNetworkManager_Orbis::NetworkPlayerInitialDataReceived(SQRNetworkPlayer if( ( !wasReady ) && ( isReady ) ) { - HandlePlayerJoined( player ); + HandlePlayerJoined( player ); } } @@ -2361,7 +2361,7 @@ void SQRNetworkManager_Orbis::HandlePlayerJoined(SQRNetworkPlayer *player) { if( m_listener ) { - m_listener->HandlePlayerJoined( player ); + m_listener->HandlePlayerJoined( player ); } app.DebugPrintf(sc_verbose, ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> HandlePlayerJoined\n"); @@ -2425,7 +2425,7 @@ std::string getIPAddressString(SceNetInAddr add) { char str[32]; unsigned char *vals = (unsigned char*)&add.s_addr; - sprintf(str, "%d.%d.%d.%d", (int)vals[0], (int)vals[1], (int)vals[2], (int)vals[3]); + sprintf(str, "%d.%d.%d.%d", (int)vals[0], (int)vals[1], (int)vals[2], (int)vals[3]); return std::string(str); } @@ -2495,7 +2495,7 @@ bool SQRNetworkManager_Orbis::CreateVoiceRudpConnections(SceNpMatching2RoomId ro SQRVoiceConnection* pConnection = SonyVoiceChat_Orbis::getVoiceConnectionFromRoomMemberID(peerMemberId); if(pConnection == NULL) { - + // Create an Rudp context for the voice connection, this will happen regardless of whether the peer is client or host int rudpCtx; ret = sceRudpCreateContext( RudpContextCallback, this, &rudpCtx ); @@ -2510,7 +2510,7 @@ bool SQRNetworkManager_Orbis::CreateVoiceRudpConnections(SceNpMatching2RoomId ro g_numRUDPContextsBound++; app.DebugPrintf(sc_verbose, "-----------------::::::::::::: sceRudpBind\n" ); - ret = sceRudpInitiate( rudpCtx, (SceNetSockaddr*)&sinp2pPeer, sizeof(sinp2pPeer), 0); + ret = sceRudpInitiate( rudpCtx, (SceNetSockaddr*)&sinp2pPeer, sizeof(sinp2pPeer), 0); if(ret < 0){ app.DebugPrintf("sceRudpInitiate %s failed : 0x%08x\n", getIPAddressString(sinp2pPeer.sin_addr).c_str(), ret); assert(0); } if ( ( ret < 0 ) || ForceErrorPoint(SNM_FORCE_ERROR_RUDP_INIT2) ) return false; app.DebugPrintf(sc_verbose, "-----------------::::::::::::: sceRudpInitiate\n" ); @@ -2521,7 +2521,7 @@ bool SQRNetworkManager_Orbis::CreateVoiceRudpConnections(SceNpMatching2RoomId ro pConnection = SonyVoiceChat_Orbis::addRemoteConnection(rudpCtx, peerMemberId); } - + for( int i = 0; i < MAX_LOCAL_PLAYER_COUNT; i++ ) { bool bMaskVal = ( playerMask & ( 1 << i ) ); @@ -2544,11 +2544,11 @@ bool SQRNetworkManager_Orbis::CreateRudpConnections(SceNpMatching2RoomId roomId, memset(&sinp2pPeer, 0, sizeof(sinp2pPeer)); sinp2pPeer.sin_len = sizeof(sinp2pPeer); sinp2pPeer.sin_family = AF_INET; - + int ret = sceNpMatching2SignalingGetConnectionStatus(m_matchingContext, roomId, peerMemberId, &connStatus, &sinp2pPeer.sin_addr, &sinp2pPeer.sin_port); app.DebugPrintf(CMinecraftApp::USER_RR,"sceNpMatching2SignalingGetConnectionStatus returned 0x%x, connStatus %d peer add:%s peer port:0x%x\n",ret, connStatus,getIPAddressString(sinp2pPeer.sin_addr).c_str(),sinp2pPeer.sin_port); - // Set vport + // Set vport sinp2pPeer.sin_vport = sceNetHtons(1); // Create socket & bind, if we don't already have one @@ -2706,7 +2706,7 @@ void SQRNetworkManager_Orbis::ContextCallback(SceNpMatching2ContextId id, SceNp manager->m_state == SNM_INT_STATE_HOSTING_STARTING_MATCHING_CONTEXT || manager->m_state == SNM_INT_STATE_JOINING_STARTING_MATCHING_CONTEXT) { - // matching context failed to start (this can happen when you block the IP addresses of the matching servers on your router + // matching context failed to start (this can happen when you block the IP addresses of the matching servers on your router // agent-0101.ww.sp-int.matching.playstation.net (198.107.157.191) // static-resource.sp-int.community.playstation.net (203.105.77.140) app.DebugPrintf("SQRNetworkManager_Orbis::ContextCallback - Error\n"); @@ -2771,7 +2771,7 @@ void SQRNetworkManager_Orbis::ContextCallback(SceNpMatching2ContextId id, SceNp // unsigned int type, attributes; // CellGameContentSize gameSize;` // char dirName[CELL_GAME_DIRNAME_SIZE]; -// +// // if( g_bBootedFromInvite ) // { // manager->GetInviteDataAndProcess(SCE_NP_BASIC_SELECTED_INVITATION_DATA); @@ -2789,7 +2789,7 @@ void SQRNetworkManager_Orbis::ContextCallback(SceNpMatching2ContextId id, SceNp assert(false); break; case SCE_NP_MATCHING2_CONTEXT_EVENT_START_OVER: - + app.DebugPrintf("SCE_NP_MATCHING2_CONTEXT_EVENT_START_OVER\n"); app.DebugPrintf("eventCause=%u, errorCode=0x%08x\n", eventCause, errorCode); @@ -2950,7 +2950,7 @@ void SQRNetworkManager_Orbis::DefaultRequestCallback(SceNpMatching2ContextId id, if( success1 ) { success2 = manager->CreateRudpConnections(manager->m_room, pRoomMemberData->roomMemberDataInternal->memberId, playerMask, pRoomMemberData->roomMemberDataInternal->memberId); - if( success2 ) + if( success2 ) { bool ret = manager->CreateVoiceRudpConnections( manager->m_room, pRoomMemberData->roomMemberDataInternal->memberId, 0); assert(ret == true); @@ -3055,7 +3055,7 @@ void SQRNetworkManager_Orbis::DefaultRequestCallback(SceNpMatching2ContextId id, void SQRNetworkManager_Orbis::RoomEventCallback(SceNpMatching2ContextId id, SceNpMatching2RoomId roomId, SceNpMatching2Event event, const void *data, void *arg) { SQRNetworkManager_Orbis *manager = (SQRNetworkManager_Orbis *)arg; - + bool gotEventData = false; switch( event ) { @@ -3186,7 +3186,7 @@ void SQRNetworkManager_Orbis::RoomEventCallback(SceNpMatching2ContextId id, SceN int oldMask = manager->GetOldMask( pRoomMemberData->newRoomMemberDataInternal->memberId ); int addedMask = manager->GetAddedMask(playerMask, oldMask ); int removedMask = manager->GetRemovedMask(playerMask, oldMask ); - + if( addedMask != 0 ) { bool success = manager->AddRemotePlayersAndSync( pRoomMemberData->newRoomMemberDataInternal->memberId, addedMask ); @@ -3203,7 +3203,7 @@ void SQRNetworkManager_Orbis::RoomEventCallback(SceNpMatching2ContextId id, SceN memset(&reqParam, 0, sizeof(reqParam)); memset(&binAttr, 0, sizeof(binAttr)); - + binAttr.id = SCE_NP_MATCHING2_ROOMMEMBER_BIN_ATTR_INTERNAL_1_ID; binAttr.ptr = &oldMask; binAttr.size = sizeof(oldMask); @@ -3265,7 +3265,7 @@ void SQRNetworkManager_Orbis::RoomEventCallback(SceNpMatching2ContextId id, SceN } } } - + } } break; @@ -3426,7 +3426,7 @@ void SQRNetworkManager_Orbis::SysUtilCallback(uint64_t status, uint64_t param, v // } // return; // } -// +// // if( netstart_result.result != 0 ) // { // // Failed, or user may have decided not to sign in - maybe need to differentiate here @@ -3440,7 +3440,7 @@ void SQRNetworkManager_Orbis::SysUtilCallback(uint64_t status, uint64_t param, v // s_SignInCompleteCallbackFn = NULL; // } // } -// +// // break; // case CELL_SYSUTIL_NET_CTL_NETSTART_UNLOADED: // break; @@ -3608,7 +3608,7 @@ void SQRNetworkManager_Orbis::NetCtlCallback(int eventType, void *arg) if( eventType == SCE_NET_CTL_EVENT_TYPE_DISCONNECTED)// CELL_NET_CTL_EVENT_LINK_DISCONNECTED ) { manager->m_bLinkDisconnected = true; - manager->m_listener->HandleDisconnect(false); + manager->m_listener->HandleDisconnect(false); } else //if( event == CELL_NET_CTL_EVENT_ESTABLISH ) { @@ -3762,7 +3762,7 @@ void SQRNetworkManager_Orbis::GetExtDataForRoom( SceNpMatching2RoomId roomId, vo if( ret == SCE_NP_MATCHING2_ERROR_CONTEXT_NOT_STARTED ) // Also checking for this as a means of simulating the previous error { sceNpMatching2DestroyContext(m_matchingContext); - m_matchingContextValid = false; + m_matchingContextValid = false; if( !GetMatchingContext(SNM_INT_STATE_IDLE_RECREATING_MATCHING_CONTEXT) ) { // No matching context, and failed to try and make one. We're really broken here. @@ -3789,7 +3789,7 @@ bool SQRNetworkManager_Orbis::ForceErrorPoint(eSQRForceError error) return false; } #else -bool SQRNetworkManager_Orbis::aForceError[SNM_FORCE_ERROR_COUNT] = +bool SQRNetworkManager_Orbis::aForceError[SNM_FORCE_ERROR_COUNT] = { false, // SNM_FORCE_ERROR_NP2_INIT false, // SNM_FORCE_ERROR_NET_INITIALIZE_NETWORK @@ -3919,7 +3919,7 @@ void SQRNetworkManager_Orbis::AttemptPSNSignIn(int (*SignInCompleteCallbackFn)(v ui.RequestMessageBox( IDS_ERROR_NETWORK_TITLE, IDS_ERROR_NETWORK, uiIDA,1,iPad,ErrorPSNDisconnectedDialogReturned,pParam, app.GetStringTable()); } -} +} int SQRNetworkManager_Orbis::SetRichPresence(const void *data) { @@ -3971,13 +3971,13 @@ void SQRNetworkManager_Orbis::SendLastPresenceInfo() // On PS4 we can't set the status and the data at the same time unsigned int options = 0; - if( s_presenceDataDirty ) + if( s_presenceDataDirty ) { // Prioritise data over status as it is critical to discovering the network game s_lastPresenceInfo.presenceType = SCE_TOOLKIT_NP_PRESENCE_DATA; } - else if( s_presenceStatusDirty ) - { + else if( s_presenceStatusDirty ) + { s_lastPresenceInfo.presenceType = SCE_TOOLKIT_NP_PRESENCE_STATUS; } else @@ -4065,7 +4065,7 @@ void SQRNetworkManager_Orbis::removePlayerFromVoiceChat( SQRNetworkPlayer* pPlay { if(pPlayer->IsLocal()) { - + SonyVoiceChat_Orbis::disconnectLocalPlayer(pPlayer->GetLocalPlayerIndex()); } else @@ -4097,7 +4097,7 @@ void SQRNetworkManager_Orbis::removePlayerFromVoiceChat( SQRNetworkPlayer* pPlay void SQRNetworkManager_Orbis::TickNotify() { if (g_NetworkManager.IsInSession() && !g_NetworkManager.IsLocalGame()) - { + { long long currentTime = System::currentTimeMillis(); // Note: interval at which to notify Sony of realtime play, according to docs an interval greater than 1 sec is bad @@ -4109,7 +4109,7 @@ void SQRNetworkManager_Orbis::TickNotify() m_lastNotifyTime = currentTime; for(int i = 0; i < XUSER_MAX_COUNT; i++) { - if (ProfileManager.IsSignedInLive(i)) + if (ProfileManager.IsSignedInLive(i)) { NotifyRealtimePlusFeature(i); } @@ -4143,8 +4143,8 @@ void SQRNetworkManager_Orbis::NotifyRealtimePlusFeature(int iQuadrant) // { // app.DebugPrintf("============ Calling CallSignInCompleteCallback and s_SignInCompleteCallbackFn is OK\n"); // bool isSignedIn = ProfileManager.IsSignedInLive(s_SignInCompleteCallbackPad); -// -// s_SignInCompleteCallbackFn(s_SignInCompleteParam, isSignedIn, s_SignInCompleteCallbackPad); +// +// s_SignInCompleteCallbackFn(s_SignInCompleteParam, isSignedIn, s_SignInCompleteCallbackPad); // s_SignInCompleteCallbackFn = NULL; // s_SignInCompleteCallbackPad = -1; // } diff --git a/Minecraft.Client/Orbis/Network/SQRNetworkManager_Orbis.h b/Minecraft.Client/Orbis/Network/SQRNetworkManager_Orbis.h index cb7cafa9..5b19f63e 100644 --- a/Minecraft.Client/Orbis/Network/SQRNetworkManager_Orbis.h +++ b/Minecraft.Client/Orbis/Network/SQRNetworkManager_Orbis.h @@ -29,7 +29,7 @@ class SQRNetworkManager_Orbis : public SQRNetworkManager public: SQRNetworkManager_Orbis(ISQRNetworkManagerListener *listener); - // General + // General void Tick(); void Initialise(); void Terminate(); @@ -111,7 +111,7 @@ private: bool m_offlineSQR; int m_resendExternalRoomDataCountdown; bool m_matching2initialised; - PresenceSyncInfo m_inviteReceived[MAX_SIMULTANEOUS_INVITES]; + PresenceSyncInfo m_inviteReceived[MAX_SIMULTANEOUS_INVITES]; int m_inviteIndex; static PresenceSyncInfo *m_gameBootInvite; static PresenceSyncInfo m_gameBootInvite_data; @@ -222,9 +222,9 @@ private: std::vector<FriendSearchResult> m_aFriendSearchResults; // Rudp management and local players - std::unordered_map<int,SQRNetworkPlayer *> m_RudpCtxToPlayerMap; + std::unordered_map<int,SQRNetworkPlayer *> m_RudpCtxToPlayerMap; - std::unordered_map<SceNetInAddr_t, SQRVoiceConnection*> m_NetAddrToVoiceConnectionMap; + std::unordered_map<SceNetInAddr_t, SQRVoiceConnection*> m_NetAddrToVoiceConnectionMap; bool CreateRudpConnections(SceNpMatching2RoomId roomId, SceNpMatching2RoomMemberId peerMemberId, int playerMask, SceNpMatching2RoomMemberId playersPeerMemberId); bool CreateVoiceRudpConnections(SceNpMatching2RoomId roomId, SceNpMatching2RoomMemberId peerMemberId, int playerMask); @@ -325,8 +325,8 @@ private: static sce::Toolkit::NP::PresenceDetails s_lastPresenceInfo; static const int MIN_PRESENCE_RESEND_TIME = 30 * 1000; // Minimum presence send rate - doesn't seem possible to find out what this actually should be - static int64_t s_lastPresenceTime; - static int64_t s_resendPresenceTime; + static __int64 s_lastPresenceTime; + static __int64 s_resendPresenceTime; static bool s_presenceStatusDirty; static bool s_presenceDataDirty; @@ -337,7 +337,7 @@ private: // Debug static long long s_roomStartTime; - + // Error dialog static bool s_errorDialogRunning; diff --git a/Minecraft.Client/Orbis/OrbisExtras/OrbisStubs.cpp b/Minecraft.Client/Orbis/OrbisExtras/OrbisStubs.cpp index 661a1528..d3a21ac4 100644 --- a/Minecraft.Client/Orbis/OrbisExtras/OrbisStubs.cpp +++ b/Minecraft.Client/Orbis/OrbisExtras/OrbisStubs.cpp @@ -24,9 +24,9 @@ int32_t hBGMAudio; //static char sc_loadPath[] = {"/app0/"}; //const char* getConsoleHomePath() { return sc_loadPath; } -char* getUsrDirPath() -{ - return usrdirPath; +char* getUsrDirPath() +{ + return usrdirPath; } @@ -34,7 +34,7 @@ int _wcsicmp( const wchar_t * dst, const wchar_t * src ) { wchar_t f,l; - // validation section + // validation section // _VALIDATE_RETURN(dst != NULL, EINVAL, _NLSCMPERROR); // _VALIDATE_RETURN(src != NULL, EINVAL, _NLSCMPERROR); @@ -61,7 +61,7 @@ size_t wcsnlen(const wchar_t *wcs, size_t maxsize) } -VOID GetSystemTime( LPSYSTEMTIME lpSystemTime) +VOID GetSystemTime( LPSYSTEMTIME lpSystemTime) { SceRtcDateTime dateTime; int err = sceRtcGetCurrentClock(&dateTime, 0); @@ -78,8 +78,8 @@ VOID GetSystemTime( LPSYSTEMTIME lpSystemTime) } BOOL FileTimeToSystemTime(CONST FILETIME *lpFileTime, LPSYSTEMTIME lpSystemTime) { ORBIS_STUBBED; return false; } BOOL SystemTimeToFileTime(CONST SYSTEMTIME *lpSystemTime, LPFILETIME lpFileTime) { ORBIS_STUBBED; return false; } -VOID GetLocalTime(LPSYSTEMTIME lpSystemTime) -{ +VOID GetLocalTime(LPSYSTEMTIME lpSystemTime) +{ SceRtcDateTime dateTime; int err = sceRtcGetCurrentClockLocalTime(&dateTime); assert(err == SCE_OK ); @@ -95,21 +95,21 @@ VOID GetLocalTime(LPSYSTEMTIME lpSystemTime) } HANDLE CreateEvent(void* lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCSTR lpName) { ORBIS_STUBBED; return NULL; } -VOID Sleep(DWORD dwMilliseconds) -{ +VOID Sleep(DWORD dwMilliseconds) +{ C4JThread::Sleep(dwMilliseconds); } BOOL SetThreadPriority(HANDLE hThread, int nPriority) { ORBIS_STUBBED; return FALSE; } DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds) { ORBIS_STUBBED; return false; } -LONG InterlockedCompareExchangeRelease(LONG volatile *Destination, LONG Exchange,LONG Comperand ) -{ +LONG InterlockedCompareExchangeRelease(LONG volatile *Destination, LONG Exchange,LONG Comperand ) +{ return sceAtomicCompareAndSwap32((int32_t*)Destination, (int32_t)Comperand, (int32_t)Exchange); } -LONG64 InterlockedCompareExchangeRelease64(LONG64 volatile *Destination, LONG64 Exchange, LONG64 Comperand) -{ +LONG64 InterlockedCompareExchangeRelease64(LONG64 volatile *Destination, LONG64 Exchange, LONG64 Comperand) +{ return sceAtomicCompareAndSwap64((int64_t*)Destination, (int64_t)Comperand, (int64_t)Exchange); } @@ -135,10 +135,10 @@ VOID OrbisInit() sceSysmoduleLoadModule(SCE_SYSMODULE_RUDP); sceSysmoduleLoadModule(SCE_SYSMODULE_NP_MATCHING2); sceSysmoduleLoadModule(SCE_SYSMODULE_INVITATION_DIALOG); - sceSysmoduleLoadModule(SCE_SYSMODULE_NP_PARTY ); - sceSysmoduleLoadModule(SCE_SYSMODULE_GAME_CUSTOM_DATA_DIALOG ); - sceSysmoduleLoadModule(SCE_SYSMODULE_NP_SCORE_RANKING ); - sceSysmoduleLoadModule(SCE_SYSMODULE_NP_AUTH ); + sceSysmoduleLoadModule(SCE_SYSMODULE_NP_PARTY ); + sceSysmoduleLoadModule(SCE_SYSMODULE_GAME_CUSTOM_DATA_DIALOG ); + sceSysmoduleLoadModule(SCE_SYSMODULE_NP_SCORE_RANKING ); + sceSysmoduleLoadModule(SCE_SYSMODULE_NP_AUTH ); sceSysmoduleLoadModule(SCE_SYSMODULE_NP_COMMERCE); sceSysmoduleLoadModule(SCE_SYSMODULE_REMOTE_PLAY); sceSysmoduleLoadModule(SCE_SYSMODULE_ERROR_DIALOG); @@ -173,7 +173,7 @@ VOID OrbisInit() hBGMAudio=sceAudioOutOpen( SCE_USER_SERVICE_USER_ID_SYSTEM, SCE_AUDIO_OUT_PORT_TYPE_BGM,0, - 256, + 256, 48000, 2); @@ -195,7 +195,7 @@ int32_t GetAudioBGMHandle() return hBGMAudio; } -VOID InitializeCriticalSection(PCRITICAL_SECTION CriticalSection) +VOID InitializeCriticalSection(PCRITICAL_SECTION CriticalSection) { char name[1] = {0}; @@ -209,7 +209,7 @@ VOID InitializeCriticalSection(PCRITICAL_SECTION CriticalSection) } -VOID InitializeCriticalSectionAndSpinCount(PCRITICAL_SECTION CriticalSection, ULONG SpinCount) +VOID InitializeCriticalSectionAndSpinCount(PCRITICAL_SECTION CriticalSection, ULONG SpinCount) { InitializeCriticalSection(CriticalSection); } @@ -220,9 +220,9 @@ VOID DeleteCriticalSection(PCRITICAL_SECTION CriticalSection) assert(err == SCE_OK); } -extern CRITICAL_SECTION g_singleThreadCS; +extern CRITICAL_SECTION g_singleThreadCS; -VOID EnterCriticalSection(PCRITICAL_SECTION CriticalSection) +VOID EnterCriticalSection(PCRITICAL_SECTION CriticalSection) { int err = scePthreadMutexLock(&CriticalSection->mutex); assert(err == SCE_OK || err == SCE_KERNEL_ERROR_EDEADLK ); @@ -240,7 +240,7 @@ VOID EnterCriticalSection(PCRITICAL_SECTION CriticalSection) } -VOID LeaveCriticalSection(PCRITICAL_SECTION CriticalSection) +VOID LeaveCriticalSection(PCRITICAL_SECTION CriticalSection) { if(--CriticalSection->m_cLock == 0 ) { @@ -255,7 +255,7 @@ VOID LeaveCriticalSection(PCRITICAL_SECTION CriticalSection) ULONG TryEnterCriticalSection(PCRITICAL_SECTION CriticalSection) { - int err = scePthreadMutexTrylock(&CriticalSection->mutex); + int err = scePthreadMutexTrylock(&CriticalSection->mutex); if((err == SCE_OK || err == SCE_KERNEL_ERROR_EDEADLK )) { CriticalSection->m_cLock++; @@ -266,20 +266,20 @@ ULONG TryEnterCriticalSection(PCRITICAL_SECTION CriticalSection) DWORD WaitForMultipleObjects(DWORD nCount, CONST HANDLE *lpHandles,BOOL bWaitAll,DWORD dwMilliseconds) { ORBIS_STUBBED; return 0; } -BOOL CloseHandle(HANDLE hObject) -{ +BOOL CloseHandle(HANDLE hObject) +{ sceFiosFHCloseSync(NULL,(SceFiosFH)((int64_t)hObject)); return true; -// ORBIS_STUBBED; -// return false; +// ORBIS_STUBBED; +// return false; } BOOL SetEvent(HANDLE hEvent) { ORBIS_STUBBED; return false; } HMODULE GetModuleHandle(LPCSTR lpModuleName) { ORBIS_STUBBED; return 0; } -DWORD GetCurrentThreadId(VOID) -{ +DWORD GetCurrentThreadId(VOID) +{ return 0; // TODO } DWORD WaitForMultipleObjectsEx(DWORD nCount,CONST HANDLE *lpHandles,BOOL bWaitAll,DWORD dwMilliseconds,BOOL bAlertable ) { ORBIS_STUBBED; return 0; } @@ -302,10 +302,10 @@ public: void* m_virtualAddr; uint64_t m_size; - PageInfo(off_t physAddr, void* virtualAddr, uint64_t size) + PageInfo(off_t physAddr, void* virtualAddr, uint64_t size) : m_physAddr(physAddr) , m_virtualAddr(virtualAddr) - , m_size(size) + , m_size(size) {} }; void* m_virtualAddr; @@ -313,7 +313,7 @@ public: std::vector<PageInfo> m_pagesAllocated; uint64_t m_allocatedSize; - OrbisVAlloc(void* addr, uint64_t size) + OrbisVAlloc(void* addr, uint64_t size) : m_virtualAddr(addr) , m_virtualSize(size) , m_allocatedSize(0) @@ -331,7 +331,7 @@ public: { uint64_t sizeToAdd = size - m_allocatedSize; // the extra memory size that we have to add on assert(sizeToAdd >= 0); - + if(sizeToAdd == 0) return m_virtualAddr; // nothing to add @@ -393,8 +393,8 @@ public: static std::vector<OrbisVAlloc*> s_orbisVAllocs; -LPVOID VirtualAlloc(LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect) -{ +LPVOID VirtualAlloc(LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect) +{ if(lpAddress == NULL) { void *pAddr = (void*)SCE_KERNEL_APP_MAP_AREA_START_ADDR; @@ -446,14 +446,14 @@ BOOL VirtualFree(LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType) else if(dwFreeType == MEM_RELEASE) { delete s_orbisVAllocs[idx]; - s_orbisVAllocs.erase(s_orbisVAllocs.begin()+idx); + s_orbisVAllocs.erase(s_orbisVAllocs.begin()+idx); } return TRUE; } -DWORD GetFileSize( HANDLE hFile, LPDWORD lpFileSizeHigh ) -{ +DWORD GetFileSize( HANDLE hFile, LPDWORD lpFileSizeHigh ) +{ SceFiosSize FileSize; SceFiosFH fh = (SceFiosFH)((int64_t)hFile); //DWORD FileSizeLow; @@ -468,15 +468,15 @@ DWORD GetFileSize( HANDLE hFile, LPDWORD lpFileSizeHigh ) return (DWORD)FileSize; } -BOOL GetFileSizeEx(HANDLE hFile, PLARGE_INTEGER lpFileSize ) -{ +BOOL GetFileSizeEx(HANDLE hFile, PLARGE_INTEGER lpFileSize ) +{ SceFiosSize FileSize; SceFiosFH fh = (SceFiosFH)((int64_t)hFile); FileSize=sceFiosFHGetSize(fh); lpFileSize->QuadPart=FileSize; - return true; + return true; } BOOL WriteFile( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped ) @@ -496,7 +496,7 @@ BOOL WriteFile( } } -BOOL ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ) +BOOL ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ) { SceFiosFH fh = (SceFiosFH)((int64_t)hFile); // sceFiosFHReadSync - Non-negative values are the number of bytes read, 0 <= result <= length. Negative values are error codes. @@ -537,7 +537,7 @@ BOOL SetFilePointer(HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHi } -HANDLE CreateFileA(LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) +HANDLE CreateFileA(LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) { char filePath[256]; std::string mountedPath = StorageManager.GetMountedPath(lpFileName); @@ -549,7 +549,7 @@ HANDLE CreateFileA(LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, strcpy(filePath, lpFileName ); else sprintf(filePath,"%s/%s",getUsrDirPath(), lpFileName ); - + #ifndef _CONTENT_PACKAGE app.DebugPrintf("*** Opening %s\n",filePath); #endif @@ -557,9 +557,9 @@ HANDLE CreateFileA(LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, SceFiosFH fh; SceFiosOpenParams openParams; ZeroMemory(&openParams, sizeof(SceFiosOpenParams)); - + switch(dwDesiredAccess) - { + { case GENERIC_READ: openParams.openFlags = SCE_FIOS_O_RDONLY; break; case GENERIC_WRITE: @@ -588,21 +588,21 @@ HANDLE CreateFileA(LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, return INVALID_HANDLE_VALUE; } //assert( err == SCE_FIOS_OK ); - + return (void*)fh; } BOOL CreateDirectoryA(LPCSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes){ ORBIS_STUBBED; return false; } BOOL DeleteFileA(LPCSTR lpFileName) { ORBIS_STUBBED; return false; } -// BOOL XCloseHandle(HANDLE a) +// BOOL XCloseHandle(HANDLE a) // { // sceFiosFHCloseSync(NULL,(SceFiosFH)((int64_t)a)); // return true; // } -DWORD GetFileAttributesA(LPCSTR lpFileName) +DWORD GetFileAttributesA(LPCSTR lpFileName) { char filePath[256]; std::string mountedPath = StorageManager.GetMountedPath(lpFileName); @@ -633,7 +633,7 @@ BOOL MoveFileA(LPCSTR lpExistingFileName, LPCSTR lpNewFileName) { ORBIS_STUBBED; DWORD GetLastError(VOID) { ORBIS_STUBBED; return 0; } -VOID GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer) +VOID GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer) { SceLibcMallocManagedSize stat; int err = malloc_stats(&stat); @@ -647,20 +647,20 @@ VOID GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer) lpBuffer->dwAvailVirtual = stat.maxSystemSize - stat.currentInuseSize; } -DWORD GetTickCount() +DWORD GetTickCount() { - // This function returns the current system time at this function is called. + // This function returns the current system time at this function is called. // The system time is represented the time elapsed since the system starts up in microseconds. uint64_t sysTime = sceKernelGetProcessTime(); - return (DWORD)(sysTime / 1000); + return (DWORD)(sysTime / 1000); } // we should really use libperf for this kind of thing, but this will do for now. -BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency) -{ +BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency) +{ // microseconds - lpFrequency->QuadPart = (1000 * 1000); - return false; + lpFrequency->QuadPart = (1000 * 1000); + return false; } BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount) { @@ -671,24 +671,24 @@ BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount) #ifndef _FINAL_BUILD -VOID OutputDebugStringW(LPCWSTR lpOutputString) -{ - wprintf(lpOutputString); +VOID OutputDebugStringW(LPCWSTR lpOutputString) +{ + wprintf(lpOutputString); } -VOID OutputDebugStringA(LPCSTR lpOutputString) -{ - printf(lpOutputString); +VOID OutputDebugStringA(LPCSTR lpOutputString) +{ + printf(lpOutputString); } -VOID OutputDebugString(LPCSTR lpOutputString) -{ - printf(lpOutputString); +VOID OutputDebugString(LPCSTR lpOutputString) +{ + printf(lpOutputString); } #endif // _CONTENT_PACKAGE BOOL GetFileAttributesExA(LPCSTR lpFileName,GET_FILEEX_INFO_LEVELS fInfoLevelId,LPVOID lpFileInformation) -{ +{ ORBIS_STUBBED; return false; } @@ -696,15 +696,15 @@ HANDLE FindFirstFileA(LPCSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData) { ORB BOOL FindNextFileA(HANDLE hFindFile, LPWIN32_FIND_DATAA lpFindFileData) { ORBIS_STUBBED; return false;} errno_t _itoa_s(int _Value, char * _DstBuf, size_t _Size, int _Radix) { if(_Radix==10) sprintf(_DstBuf,"%d",_Value); else if(_Radix==16) sprintf(_DstBuf,"%lx",_Value); else return -1; return 0; } -errno_t _i64toa_s(int64_t _Val, char * _DstBuf, size_t _Size, int _Radix) { if(_Radix==10) sprintf(_DstBuf,"%lld",_Val); else return -1; return 0; } +errno_t _i64toa_s(__int64 _Val, char * _DstBuf, size_t _Size, int _Radix) { if(_Radix==10) sprintf(_DstBuf,"%lld",_Val); else return -1; return 0; } -DWORD XGetLanguage() -{ +DWORD XGetLanguage() +{ unsigned char ucLang = app.GetMinecraftLanguage(0); int iLang; // check if we should override the system language or not - if(ucLang==MINECRAFT_LANGUAGE_DEFAULT) + if(ucLang==MINECRAFT_LANGUAGE_DEFAULT) { sceSystemServiceParamGetInt(SCE_SYSTEM_SERVICE_PARAM_ID_LANG,&iLang); } @@ -747,8 +747,8 @@ DWORD XGetLanguage() } } -DWORD XGetLocale() -{ +DWORD XGetLocale() +{ int iLang; sceSystemServiceParamGetInt(SCE_SYSTEM_SERVICE_PARAM_ID_LANG,&iLang); switch(iLang) @@ -784,7 +784,7 @@ DWORD XGetLocale() } } -DWORD XEnableGuestSignin(BOOL fEnable) -{ - return 0; +DWORD XEnableGuestSignin(BOOL fEnable) +{ + return 0; }
\ No newline at end of file diff --git a/Minecraft.Client/Orbis/OrbisExtras/OrbisStubs.h b/Minecraft.Client/Orbis/OrbisExtras/OrbisStubs.h index 390a0897..da9f872f 100644 --- a/Minecraft.Client/Orbis/OrbisExtras/OrbisStubs.h +++ b/Minecraft.Client/Orbis/OrbisExtras/OrbisStubs.h @@ -14,7 +14,7 @@ DWORD TlsAlloc(VOID); LPVOID TlsGetValue(DWORD dwTlsIndex); BOOL TlsSetValue(DWORD dwTlsIndex, LPVOID lpTlsValue); -typedef struct _RECT +typedef struct _RECT { LONG left; LONG top; @@ -37,16 +37,16 @@ typedef int errno_t; // // The following field is used for blocking when there is contention for // // the resource // // -// +// // union { // ULONG_PTR RawEvent[4]; // } Synchronization; -// +// // // // // The following three fields control entering and exiting the critical // // section for the resource // // -// +// // LONG LockCount; // LONG RecursionCount; // HANDLE OwningThread; @@ -214,7 +214,7 @@ typedef struct _MEMORYSTATUS { #define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE #define WAIT_TIMEOUT 258L -#define STATUS_ABANDONED_WAIT_0 ((DWORD )0x00000080L) +#define STATUS_ABANDONED_WAIT_0 ((DWORD )0x00000080L) #define WAIT_ABANDONED ((STATUS_ABANDONED_WAIT_0 ) + 0 ) #define MAXUINT_PTR (~((UINT_PTR)0)) @@ -256,17 +256,17 @@ typedef struct _MEMORYSTATUS { #define GENERIC_EXECUTE (0x20000000L) #define GENERIC_ALL (0x10000000L) -#define FILE_SHARE_READ 0x00000001 -#define FILE_SHARE_WRITE 0x00000002 -#define FILE_SHARE_DELETE 0x00000004 -#define FILE_ATTRIBUTE_READONLY 0x00000001 -#define FILE_ATTRIBUTE_HIDDEN 0x00000002 -#define FILE_ATTRIBUTE_SYSTEM 0x00000004 -#define FILE_ATTRIBUTE_DIRECTORY 0x00000010 -#define FILE_ATTRIBUTE_ARCHIVE 0x00000020 -#define FILE_ATTRIBUTE_DEVICE 0x00000040 -#define FILE_ATTRIBUTE_NORMAL 0x00000080 -#define FILE_ATTRIBUTE_TEMPORARY 0x00000100 +#define FILE_SHARE_READ 0x00000001 +#define FILE_SHARE_WRITE 0x00000002 +#define FILE_SHARE_DELETE 0x00000004 +#define FILE_ATTRIBUTE_READONLY 0x00000001 +#define FILE_ATTRIBUTE_HIDDEN 0x00000002 +#define FILE_ATTRIBUTE_SYSTEM 0x00000004 +#define FILE_ATTRIBUTE_DIRECTORY 0x00000010 +#define FILE_ATTRIBUTE_ARCHIVE 0x00000020 +#define FILE_ATTRIBUTE_DEVICE 0x00000040 +#define FILE_ATTRIBUTE_NORMAL 0x00000080 +#define FILE_ATTRIBUTE_TEMPORARY 0x00000100 #define FILE_FLAG_WRITE_THROUGH 0x80000000 #define FILE_FLAG_OVERLAPPED 0x40000000 @@ -286,38 +286,38 @@ typedef struct _MEMORYSTATUS { #define OPEN_ALWAYS 4 #define TRUNCATE_EXISTING 5 -#define PAGE_NOACCESS 0x01 -#define PAGE_READONLY 0x02 -#define PAGE_READWRITE 0x04 -#define PAGE_WRITECOPY 0x08 -#define PAGE_EXECUTE 0x10 -#define PAGE_EXECUTE_READ 0x20 -#define PAGE_EXECUTE_READWRITE 0x40 -#define PAGE_EXECUTE_WRITECOPY 0x80 -#define PAGE_GUARD 0x100 -#define PAGE_NOCACHE 0x200 -#define PAGE_WRITECOMBINE 0x400 -#define PAGE_USER_READONLY 0x1000 -#define PAGE_USER_READWRITE 0x2000 -#define MEM_COMMIT 0x1000 -#define MEM_RESERVE 0x2000 -#define MEM_DECOMMIT 0x4000 -#define MEM_RELEASE 0x8000 -#define MEM_FREE 0x10000 -#define MEM_PRIVATE 0x20000 -#define MEM_RESET 0x80000 -#define MEM_TOP_DOWN 0x100000 -#define MEM_NOZERO 0x800000 -#define MEM_LARGE_PAGES 0x20000000 -#define MEM_HEAP 0x40000000 -#define MEM_16MB_PAGES 0x80000000 +#define PAGE_NOACCESS 0x01 +#define PAGE_READONLY 0x02 +#define PAGE_READWRITE 0x04 +#define PAGE_WRITECOPY 0x08 +#define PAGE_EXECUTE 0x10 +#define PAGE_EXECUTE_READ 0x20 +#define PAGE_EXECUTE_READWRITE 0x40 +#define PAGE_EXECUTE_WRITECOPY 0x80 +#define PAGE_GUARD 0x100 +#define PAGE_NOCACHE 0x200 +#define PAGE_WRITECOMBINE 0x400 +#define PAGE_USER_READONLY 0x1000 +#define PAGE_USER_READWRITE 0x2000 +#define MEM_COMMIT 0x1000 +#define MEM_RESERVE 0x2000 +#define MEM_DECOMMIT 0x4000 +#define MEM_RELEASE 0x8000 +#define MEM_FREE 0x10000 +#define MEM_PRIVATE 0x20000 +#define MEM_RESET 0x80000 +#define MEM_TOP_DOWN 0x100000 +#define MEM_NOZERO 0x800000 +#define MEM_LARGE_PAGES 0x20000000 +#define MEM_HEAP 0x40000000 +#define MEM_16MB_PAGES 0x80000000 #define IGNORE 0 // Ignore signal #define INFINITE 0xFFFFFFFF // Infinite timeout #define WAIT_FAILED ((DWORD)0xFFFFFFFF) -#define STATUS_WAIT_0 ((DWORD )0x00000000L) +#define STATUS_WAIT_0 ((DWORD )0x00000000L) #define WAIT_OBJECT_0 ((STATUS_WAIT_0 ) + 0 ) -#define STATUS_PENDING ((DWORD )0x00000103L) +#define STATUS_PENDING ((DWORD )0x00000103L) #define STILL_ACTIVE STATUS_PENDING DWORD GetLastError(VOID); @@ -356,9 +356,9 @@ VOID OutputDebugString(LPCSTR lpOutputString); VOID OutputDebugStringA(LPCSTR lpOutputString); errno_t _itoa_s(int _Value, char * _DstBuf, size_t _Size, int _Radix); -errno_t _i64toa_s(int64_t _Val, char * _DstBuf, size_t _Size, int _Radix); +errno_t _i64toa_s(__int64 _Val, char * _DstBuf, size_t _Size, int _Radix); -#define __declspec(a) +#define __declspec(a) extern "C" int _wcsicmp (const wchar_t * dst, const wchar_t * src); size_t wcsnlen(const wchar_t *wcs, size_t maxsize); diff --git a/Minecraft.Client/Orbis/OrbisExtras/OrbisTypes.h b/Minecraft.Client/Orbis/OrbisExtras/OrbisTypes.h index a4c19219..006a0060 100644 --- a/Minecraft.Client/Orbis/OrbisExtras/OrbisTypes.h +++ b/Minecraft.Client/Orbis/OrbisExtras/OrbisTypes.h @@ -34,6 +34,8 @@ typedef unsigned int *PUINT; typedef unsigned char byte; +typedef long __int64; +typedef unsigned long __uint64; typedef unsigned int DWORD; typedef int INT; typedef unsigned long ULONG_PTR, *PULONG_PTR; diff --git a/Minecraft.Client/Orbis/Orbis_App.cpp b/Minecraft.Client/Orbis/Orbis_App.cpp index 8c674a47..9af5ee12 100644 --- a/Minecraft.Client/Orbis/Orbis_App.cpp +++ b/Minecraft.Client/Orbis/Orbis_App.cpp @@ -35,7 +35,7 @@ CConsoleMinecraftApp::CConsoleMinecraftApp() : CMinecraftApp() m_bVoiceChatAndUGCRestricted=false; m_bDisplayFullVersionPurchase=false; - // #ifdef _DEBUG_MENUS_ENABLED + // #ifdef _DEBUG_MENUS_ENABLED // debugOverlayCreated = false; // #endif @@ -333,7 +333,7 @@ int CConsoleMinecraftApp::LoadLocalDLCImage(SONYDLC *pDLCInfo) DWORD dwHigh=0; pDLCInfo->dwImageBytes = GetFileSize(hFile,&dwHigh); - + if(pDLCInfo->dwImageBytes!=0) { DWORD dwBytesRead; @@ -400,7 +400,7 @@ void CConsoleMinecraftApp::TemporaryCreateGameStart() StorageManager.SetSaveTitle(wWorldName.c_str()); bool isFlat = false; - int64_t seedValue = BiomeSource::findSeed(isFlat?LevelType::lvl_flat:LevelType::lvl_normal); // 4J - was (new Random())->nextLong() - now trying to actually find a seed to suit our requirements + __int64 seedValue = BiomeSource::findSeed(isFlat?LevelType::lvl_flat:LevelType::lvl_normal); // 4J - was (new Random())->nextLong() - now trying to actually find a seed to suit our requirements NetworkGameInitData *param = new NetworkGameInitData(); param->seed = seedValue; @@ -485,7 +485,7 @@ void CConsoleMinecraftApp::CommerceTick() break; case eCommerce_State_GetProductList: - { + { m_eCommerce_State=eCommerce_State_GetProductList_Pending; SonyCommerce::CategoryInfo *pCategories=app.GetCategoryInfo(); std::list<SonyCommerce::CategoryInfoSub>::iterator iter = pCategories->subCategories.begin(); @@ -501,7 +501,7 @@ void CConsoleMinecraftApp::CommerceTick() break; case eCommerce_State_AddProductInfoDetailed: - { + { m_eCommerce_State=eCommerce_State_AddProductInfoDetailed_Pending; // for each of the products in the categories, get the detailed info. We really only need the long description and price info. @@ -538,7 +538,7 @@ void CConsoleMinecraftApp::CommerceTick() break; case eCommerce_State_RegisterDLC: - { + { m_eCommerce_State=eCommerce_State_Online; // register the DLC info SonyCommerce::CategoryInfo *pCategories=app.GetCategoryInfo(); @@ -625,20 +625,20 @@ SonyCommerce::CategoryInfo *CConsoleMinecraftApp::GetCategoryInfo() return &m_CategoryInfo; } -#endif +#endif void CConsoleMinecraftApp::ClearCommerceDetails() { #ifdef ORBIS_COMMERCE_ENABLED for(int i=0;i<m_ProductListCategoriesC;i++) { - std::vector<SonyCommerce::ProductInfo>* pProductList=&m_ProductListA[i]; + std::vector<SonyCommerce::ProductInfo>* pProductList=&m_ProductListA[i]; pProductList->clear(); } if(m_ProductListA!=NULL) { - delete [] m_ProductListA; + delete [] m_ProductListA; m_ProductListA=NULL; } @@ -674,11 +674,11 @@ void CConsoleMinecraftApp::GetDLCSkuIDFromProductList(char * pchDLCProductID, ch { SonyCommerce::ProductInfo Info=*it; if(strcmp(pchDLCProductID,Info.productId)==0) - { + { memcpy(pchSkuID,Info.skuId,SCE_NP_COMMERCE2_SKU_ID_LEN); return; } - } + } } } return; @@ -689,7 +689,7 @@ void CConsoleMinecraftApp::GetDLCSkuIDFromProductList(char * pchDLCProductID, ch void CConsoleMinecraftApp::Checkout(char *pchSkuID) { if(m_eCommerce_State==eCommerce_State_Online) - { + { strcpy(m_pchSkuID,pchSkuID); m_eCommerce_State=eCommerce_State_Checkout; } @@ -698,7 +698,7 @@ void CConsoleMinecraftApp::Checkout(char *pchSkuID) void CConsoleMinecraftApp::DownloadAlreadyPurchased(char *pchSkuID) { if(m_eCommerce_State==eCommerce_State_Online) - { + { strcpy(m_pchSkuID,pchSkuID); m_eCommerce_State=eCommerce_State_DownloadAlreadyPurchased; } @@ -707,7 +707,7 @@ void CConsoleMinecraftApp::DownloadAlreadyPurchased(char *pchSkuID) bool CConsoleMinecraftApp::UpgradeTrial() { if(m_eCommerce_State==eCommerce_State_Online) - { + { m_eCommerce_State=eCommerce_State_UpgradeTrial; return true; } @@ -749,12 +749,12 @@ bool CConsoleMinecraftApp::DLCAlreadyPurchased(char *pchTitle) // { // std::vector<SonyCommerce::ProductInfo>* pProductList=&m_ProductListA[i]; // AUTO_VAR(itEnd, pProductList->end()); -// +// // for (AUTO_VAR(it, pProductList->begin()); it != itEnd; it++) // { // SonyCommerce::ProductInfo Info=*it; // if(strcmp(pchTitle,Info.skuId)==0) -// { +// { // ORBIS_STUBBED; // SCE_NP_COMMERCE2_SKU_PURCHASABILITY_FLAG_OFF // // if(Info.purchasabilityFlag==SCE_NP_COMMERCE2_SKU_PURCHASABILITY_FLAG_OFF) @@ -766,7 +766,7 @@ bool CConsoleMinecraftApp::DLCAlreadyPurchased(char *pchTitle) // // return false; // // } // } -// } +// } // } // } #endif // #ifdef ORBIS_COMMERCE_ENABLED @@ -804,7 +804,7 @@ void CConsoleMinecraftApp::CommerceGetCategoriesCallback(LPVOID lpParam,int err) if(err==0) { pClass->m_ProductListCategoriesC=pClass->m_CategoryInfo.countOfSubCategories; - // allocate the memory for the product info for each categories + // allocate the memory for the product info for each categories if(pClass->m_CategoryInfo.countOfSubCategories>0) { pClass->m_ProductListA = (std::vector<SonyCommerce::ProductInfo> *) new std::vector<SonyCommerce::ProductInfo> [pClass->m_CategoryInfo.countOfSubCategories]; @@ -838,7 +838,7 @@ void CConsoleMinecraftApp::CommerceGetProductListCallback(LPVOID lpParam,int err { // we're done, so now retrieve the additional product details for each product pClass->m_eCommerce_State=eCommerce_State_AddProductInfoDetailed; - pClass->m_bCommerceProductListRetrieved=true; + pClass->m_bCommerceProductListRetrieved=true; } else { @@ -848,21 +848,21 @@ void CConsoleMinecraftApp::CommerceGetProductListCallback(LPVOID lpParam,int err else { pClass->m_eCommerce_State=eCommerce_State_Error; - pClass->m_bCommerceProductListRetrieved=true; + pClass->m_bCommerceProductListRetrieved=true; } } // void CConsoleMinecraftApp::CommerceGetDetailedProductInfoCallback(LPVOID lpParam,int err) // { // CConsoleMinecraftApp *pScene=(CConsoleMinecraftApp *)lpParam; -// +// // if(err==0) // { // pScene->m_eCommerce_State=eCommerce_State_Idle; -// //pScene->m_bCommerceProductListRetrieved=true; +// //pScene->m_bCommerceProductListRetrieved=true; // } // //printf("Callback hit, error 0x%08x\n", err); -// +// // } void CConsoleMinecraftApp::CommerceAddDetailedProductInfoCallback(LPVOID lpParam,int err) @@ -882,7 +882,7 @@ void CConsoleMinecraftApp::CommerceAddDetailedProductInfoCallback(LPVOID lpParam { // MGH - change this to a while loop so we can skip empty categories. do - { + { pClass->m_iCurrentCategory++; }while(pClass->m_ProductListA[pClass->m_iCurrentCategory].size() == 0 && pClass->m_iCurrentCategory<pClass->m_ProductListCategoriesC); @@ -891,12 +891,12 @@ void CConsoleMinecraftApp::CommerceAddDetailedProductInfoCallback(LPVOID lpParam { // there are no more categories, so we're done pClass->m_eCommerce_State=eCommerce_State_RegisterDLC; - pClass->m_bProductListAdditionalDetailsRetrieved=true; + pClass->m_bProductListAdditionalDetailsRetrieved=true; } else { // continue with the next category - pClass->m_eCommerce_State=eCommerce_State_AddProductInfoDetailed; + pClass->m_eCommerce_State=eCommerce_State_AddProductInfoDetailed; } } else @@ -908,7 +908,7 @@ void CConsoleMinecraftApp::CommerceAddDetailedProductInfoCallback(LPVOID lpParam else { pClass->m_eCommerce_State=eCommerce_State_Error; - pClass->m_bProductListAdditionalDetailsRetrieved=true; + pClass->m_bProductListAdditionalDetailsRetrieved=true; pClass->m_iCurrentProduct=0; pClass->m_iCurrentCategory=0; } @@ -1062,9 +1062,9 @@ void CConsoleMinecraftApp::SystemServiceTick() for (int i = 0; i < status.eventNum; i++) { ret = sceSystemServiceReceiveEvent(&event); - if (ret == SCE_OK) + if (ret == SCE_OK) { - switch(event.eventType) + switch(event.eventType) { case SCE_SYSTEM_SERVICE_EVENT_GAME_CUSTOM_DATA: { @@ -1072,7 +1072,7 @@ void CConsoleMinecraftApp::SystemServiceTick() // Processing after invitation //SceNpSessionInvitationEventParam* pInvite = (SceNpSessionInvitationEventParam*)event.data.param; //SQRNetworkManager_Orbis::GetInviteDataAndProcess(pInvite); - break; + break; } case SCE_SYSTEM_SERVICE_EVENT_ON_RESUME: // Resume means that the user signed out (but came back), sensible thing to do is exit to main menu @@ -1217,7 +1217,7 @@ bool CConsoleMinecraftApp::CheckForEmptyStore(int iPad) bool bEmptyStore=true; if(pCategories!=NULL) - { + { if(pCategories->countOfProducts>0) { bEmptyStore=false; @@ -1247,7 +1247,7 @@ bool CConsoleMinecraftApp::CheckForEmptyStore(int iPad) void CConsoleMinecraftApp::ShowPatchAvailableError() { int32_t ret=sceErrorDialogInitialize(); - if ( ret==SCE_OK ) + if ( ret==SCE_OK ) { m_bPatchAvailableDialogRunning = true; @@ -1256,7 +1256,7 @@ void CConsoleMinecraftApp::ShowPatchAvailableError() // 4J-PB - We want to display the option to get the patch now param.errorCode = SCE_NP_ERROR_LATEST_PATCH_PKG_DOWNLOADED; ret = sceUserServiceGetInitialUser( ¶m.userId ); - if ( ret == SCE_OK ) + if ( ret == SCE_OK ) { ret=sceErrorDialogOpen( ¶m ); } @@ -1266,9 +1266,9 @@ void CConsoleMinecraftApp::ShowPatchAvailableError() void CConsoleMinecraftApp::PatchAvailableDialogTick() { if(m_bPatchAvailableDialogRunning) - { + { SceErrorDialogStatus stat = sceErrorDialogUpdateStatus(); - if( stat == SCE_ERROR_DIALOG_STATUS_FINISHED ) + if( stat == SCE_ERROR_DIALOG_STATUS_FINISHED ) { sceErrorDialogTerminate(); diff --git a/Minecraft.Client/Orbis/user_malloc.cpp b/Minecraft.Client/Orbis/user_malloc.cpp index 1628abbe..6a85e83b 100644 --- a/Minecraft.Client/Orbis/user_malloc.cpp +++ b/Minecraft.Client/Orbis/user_malloc.cpp @@ -38,7 +38,7 @@ int user_malloc_init(void) int res; void *addr; uint64_t dmemSize = SCE_KERNEL_MAIN_DMEM_SIZE; - + s_heapLength = ((size_t)4608) * 1024 * 1024; // Initial allocation for the application s_heapLength -= ((size_t)4) * 1024 * 1024; // Allocated for TLS s_heapLength -= ((size_t)2) * 1024 * 1024; // 64K (sometimes?) allocated for razor - rounding up to 2MB here to match our alignment @@ -106,10 +106,10 @@ void *user_malloc(size_t size) { #if 0 static int throttle = 0; - static int64_t lasttime = 0; + static __int64 lasttime = 0; if( ( throttle % 100 ) == 0 ) { - int64_t nowtime = System::currentTimeMillis(); + __int64 nowtime = System::currentTimeMillis(); if( ( nowtime - lasttime ) > 20000 ) { lasttime = nowtime; |
