aboutsummaryrefslogtreecommitdiff
path: root/mp/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/common')
-rw-r--r--mp/src/common/language.cpp1
-rw-r--r--mp/src/common/language.h1
-rw-r--r--mp/src/common/lzma/lzma.h53
-rw-r--r--mp/src/common/studiobyteswap.cpp13
4 files changed, 67 insertions, 1 deletions
diff --git a/mp/src/common/language.cpp b/mp/src/common/language.cpp
index 16aeda32..33877f60 100644
--- a/mp/src/common/language.cpp
+++ b/mp/src/common/language.cpp
@@ -56,6 +56,7 @@ static const Language_t s_LanguageNames[] =
{ "Brazilian", "brazilian", "#GameUI_Language_Brazilian", "pt_BR", k_Lang_Brazilian, 1046 } ,
{ "Bulgarian", "bulgarian", "#GameUI_Language_Bulgarian", "bg_BG", k_Lang_Bulgarian, 1026 } ,
{ "Greek", "greek", "#GameUI_Language_Greek", "el_GR", k_Lang_Greek, 1032 },
+ { "Ukrainian", "ukrainian", "#GameUI_Language_Ukrainian", "uk_UA", k_Lang_Ukrainian, 1058 },
};
//-----------------------------------------------------------------------------
diff --git a/mp/src/common/language.h b/mp/src/common/language.h
index 2337c236..b16c492f 100644
--- a/mp/src/common/language.h
+++ b/mp/src/common/language.h
@@ -40,6 +40,7 @@ enum ELanguage
k_Lang_Brazilian,
k_Lang_Bulgarian,
k_Lang_Greek,
+ k_Lang_Ukrainian,
k_Lang_MAX
};
diff --git a/mp/src/common/lzma/lzma.h b/mp/src/common/lzma/lzma.h
new file mode 100644
index 00000000..01bd1ef9
--- /dev/null
+++ b/mp/src/common/lzma/lzma.h
@@ -0,0 +1,53 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: LZMA Glue. Designed for Tool time Encoding/Decoding.
+//
+// LZMA Codec interface for engine. Based largely on LzmaUtil.c in SDK
+//
+// LZMA SDK 9.38 beta
+// 2015-01-03 : Igor Pavlov : Public domain
+// http://www.7-zip.org/
+//
+//====================================================================================//
+
+#ifndef LZMA_H
+#define LZMA_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+//-----------------------------------------------------------------------------
+// These routines are designed for TOOL TIME encoding/decoding on the PC!
+// They have not been made to encode/decode on the PPC and lack big endian awarnesss.
+// Lightweight GAME TIME Decoding is part of tier1.lib, via CLZMA.
+//-----------------------------------------------------------------------------
+
+//-----------------------------------------------------------------------------
+// Encoding glue. Returns non-null Compressed buffer if successful.
+// Caller must free.
+//-----------------------------------------------------------------------------
+unsigned char *LZMA_Compress(
+unsigned char *pInput,
+unsigned int inputSize,
+unsigned int *pOutputSize );
+
+//-----------------------------------------------------------------------------
+// Decoding glue. Returns TRUE if succesful.
+//-----------------------------------------------------------------------------
+bool LZMA_Uncompress(
+unsigned char *pInput,
+unsigned char **ppOutput,
+unsigned int *pOutputSize );
+
+//-----------------------------------------------------------------------------
+// Decoding helper, returns TRUE if buffer is LZMA compressed.
+//-----------------------------------------------------------------------------
+bool LZMA_IsCompressed( unsigned char *pInput );
+
+//-----------------------------------------------------------------------------
+// Decoding helper, returns non-zero size of data when uncompressed, otherwise 0.
+//-----------------------------------------------------------------------------
+unsigned int LZMA_GetActualSize( unsigned char *pInput );
+
+#endif
diff --git a/mp/src/common/studiobyteswap.cpp b/mp/src/common/studiobyteswap.cpp
index 0c4e59d8..7b2c992e 100644
--- a/mp/src/common/studiobyteswap.cpp
+++ b/mp/src/common/studiobyteswap.cpp
@@ -1679,6 +1679,11 @@ int ByteswapMDLFile( void *pDestBase, void *pSrcBase, const int fileSize )
SET_INDEX_POINTERS( pData, pSequence, keyvalueindex )
WriteBuffer<char>( pDataDest, pDataSrc, SrcNative( &pSequence->keyvaluesize ) );
+
+ /** ACTIVITY MODIFIERS **/
+
+ SET_INDEX_POINTERS( pData, pSequence, activitymodifierindex )
+ WriteObjects<mstudioactivitymodifier_t>( pDataDest, pDataSrc, SrcNative( &pSequence->numactivitymodifiers ) );
}
/** TRANSITION GRAPH **/
@@ -2801,6 +2806,10 @@ BEGIN_BYTESWAP_DATADESC( mstudiomovement_t )
DEFINE_FIELD( position, FIELD_VECTOR ),
END_BYTESWAP_DATADESC()
+BEGIN_BYTESWAP_DATADESC( mstudioactivitymodifier_t )
+ DEFINE_INDEX( sznameindex, FIELD_INTEGER ),
+END_BYTESWAP_DATADESC()
+
BEGIN_BYTESWAP_DATADESC( mstudioseqdesc_t )
DEFINE_INDEX( baseptr, FIELD_INTEGER ),
DEFINE_INDEX( szlabelindex, FIELD_INTEGER ),
@@ -2840,7 +2849,9 @@ BEGIN_BYTESWAP_DATADESC( mstudioseqdesc_t )
DEFINE_INDEX( keyvalueindex, FIELD_INTEGER ),
DEFINE_FIELD( keyvaluesize, FIELD_INTEGER ),
DEFINE_INDEX( cycleposeindex, FIELD_INTEGER ),
- DEFINE_ARRAY( unused, FIELD_INTEGER, 7 ), // remove/add as appropriate (grow back to 8 ints on version change!)
+ DEFINE_INDEX( activitymodifierindex, FIELD_INTEGER ),
+ DEFINE_FIELD( numactivitymodifiers, FIELD_INTEGER ),
+ DEFINE_ARRAY( unused, FIELD_INTEGER, 5 ), // remove/add as appropriate (grow back to 8 ints on version change!)
END_BYTESWAP_DATADESC()
BEGIN_BYTESWAP_DATADESC( mstudioevent_t )