diff --git a/src/scripting/KM_Scripting.pas b/src/scripting/KM_Scripting.pas index 89eb9c82d3..e9a9b975aa 100644 --- a/src/scripting/KM_Scripting.pas +++ b/src/scripting/KM_Scripting.pas @@ -80,7 +80,8 @@ TKMScripting = class btU8, //Byte, Boolean, Enums btS32, //Integer btSingle, //Single - btString, //Means AnsiString in PascalScript. No need for scripts to use Unicode since LIBX files take care of that. + btString, //Means AnsiString in PascalScript. + btUnicodeString, //string and UnicodeString btStaticArray, btArray, //Static and Dynamic Arrays btRecord, btSet]; @@ -1109,6 +1110,7 @@ procedure TKMScripting.LoadVar(LoadStream: TKMemoryStream; Src: Pointer; aType: btS32: LoadStream.Read(tbts32(Src^)); //Integer btSingle: LoadStream.Read(tbtsingle(Src^)); btString: LoadStream.ReadA(tbtString(Src^)); + btUnicodeString: LoadStream.ReadW(tbtUnicodeString(Src^)); btStaticArray:begin LoadStream.Read(ElemCount); Assert(ElemCount = TPSTypeRec_StaticArray(aType).Size, 'Script array element count mismatches saved count'); @@ -1210,6 +1212,7 @@ procedure TKMScripting.SaveVar(SaveStream: TKMemoryStream; Src: Pointer; aType: btS32: SaveStream.Write(tbts32(Src^)); //Integer btSingle: SaveStream.Write(tbtsingle(Src^)); btString: SaveStream.WriteA(tbtString(Src^)); + btUnicodeString: SaveStream.WriteW(tbtUnicodeString(Src^)); btStaticArray:begin ElemCount := TPSTypeRec_StaticArray(aType).Size; SaveStream.Write(ElemCount);