mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-18 20:15:35 -04:00
Initial work on EnvMapAppearance version 3.
This commit is contained in:
parent
4401823fab
commit
67395247f2
@ -29,9 +29,9 @@ namespace ClassicalSharp.Network {
|
|||||||
network.ServerSupportsFullCP437 = false;
|
network.ServerSupportsFullCP437 = false;
|
||||||
|
|
||||||
network.Set( Opcode.CpeEnvSetMapApperance,
|
network.Set( Opcode.CpeEnvSetMapApperance,
|
||||||
network.HandleCpeEnvSetMapAppearance, 69 );
|
network.HandleEnvSetMapAppearance, 69 );
|
||||||
network.Set( Opcode.CpeDefineBlockExt,
|
network.Set( Opcode.CpeDefineBlockExt,
|
||||||
network.HandleCpeDefineBlockExt, 85 );
|
network.HandleDefineBlockExt, 85 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary> Sets fields / updates network handles based on the server
|
/// <summary> Sets fields / updates network handles based on the server
|
||||||
@ -51,7 +51,7 @@ namespace ClassicalSharp.Network {
|
|||||||
envMapVer = version;
|
envMapVer = version;
|
||||||
if( version == 1 ) return;
|
if( version == 1 ) return;
|
||||||
network.Set( Opcode.CpeEnvSetMapApperance,
|
network.Set( Opcode.CpeEnvSetMapApperance,
|
||||||
network.HandleCpeEnvSetMapAppearance2, 73 );
|
network.HandleEnvSetMapAppearance2, 73 );
|
||||||
} else if( ext == "LongerMessages" ) {
|
} else if( ext == "LongerMessages" ) {
|
||||||
network.ServerSupportsPartialMessages = true;
|
network.ServerSupportsPartialMessages = true;
|
||||||
} else if( ext == "FullCP437" ) {
|
} else if( ext == "FullCP437" ) {
|
||||||
@ -60,7 +60,7 @@ namespace ClassicalSharp.Network {
|
|||||||
blockDefsExtVer = version;
|
blockDefsExtVer = version;
|
||||||
if( version == 1 ) return;
|
if( version == 1 ) return;
|
||||||
network.Set( Opcode.CpeDefineBlockExt,
|
network.Set( Opcode.CpeDefineBlockExt,
|
||||||
network.HandleCpeDefineBlockExt, 88 );
|
network.HandleDefineBlockExt, 88 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +45,9 @@ namespace ClassicalSharp.Network {
|
|||||||
CpeDefineBlockExt = 37,
|
CpeDefineBlockExt = 37,
|
||||||
CpeBulkBlockUpdate = 38,
|
CpeBulkBlockUpdate = 38,
|
||||||
CpeSetTextColor = 39,
|
CpeSetTextColor = 39,
|
||||||
CpeDefineModel = 40,
|
CpeSetMapEnvUrl = 40,
|
||||||
|
CpeSetMapEnvProperty = 41,
|
||||||
|
CpeDefineModel = 42,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ namespace ClassicalSharp.Network {
|
|||||||
|
|
||||||
#region Reading
|
#region Reading
|
||||||
|
|
||||||
internal void HandleCpeExtInfo() {
|
internal void HandleExtInfo() {
|
||||||
string appName = reader.ReadAsciiString();
|
string appName = reader.ReadAsciiString();
|
||||||
game.Chat.Add( "Server software: " + appName );
|
game.Chat.Add( "Server software: " + appName );
|
||||||
if( Utils.CaselessStarts( appName, "D3 server" ) )
|
if( Utils.CaselessStarts( appName, "D3 server" ) )
|
||||||
@ -69,7 +69,7 @@ namespace ClassicalSharp.Network {
|
|||||||
SendCpeExtInfoReply();
|
SendCpeExtInfoReply();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeExtEntry() {
|
internal void HandleExtEntry() {
|
||||||
string extName = reader.ReadAsciiString();
|
string extName = reader.ReadAsciiString();
|
||||||
int extVersion = reader.ReadInt32();
|
int extVersion = reader.ReadInt32();
|
||||||
Utils.LogDebug( "cpe ext: {0}, {1}", extName, extVersion );
|
Utils.LogDebug( "cpe ext: {0}, {1}", extName, extVersion );
|
||||||
@ -99,11 +99,11 @@ namespace ClassicalSharp.Network {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeSetClickDistance() {
|
internal void HandleSetClickDistance() {
|
||||||
game.LocalPlayer.ReachDistance = reader.ReadInt16() / 32f;
|
game.LocalPlayer.ReachDistance = reader.ReadInt16() / 32f;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeCustomBlockSupportLevel() {
|
internal void HandleCustomBlockSupportLevel() {
|
||||||
byte supportLevel = reader.ReadUInt8();
|
byte supportLevel = reader.ReadUInt8();
|
||||||
MakeCustomBlockSupportLevel( 1 );
|
MakeCustomBlockSupportLevel( 1 );
|
||||||
SendPacket();
|
SendPacket();
|
||||||
@ -121,7 +121,7 @@ namespace ClassicalSharp.Network {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeHoldThis() {
|
internal void HandleHoldThis() {
|
||||||
byte blockType = reader.ReadUInt8();
|
byte blockType = reader.ReadUInt8();
|
||||||
bool canChange = reader.ReadUInt8() == 0;
|
bool canChange = reader.ReadUInt8() == 0;
|
||||||
game.Inventory.CanChangeHeldBlock = true;
|
game.Inventory.CanChangeHeldBlock = true;
|
||||||
@ -129,7 +129,7 @@ namespace ClassicalSharp.Network {
|
|||||||
game.Inventory.CanChangeHeldBlock = canChange;
|
game.Inventory.CanChangeHeldBlock = canChange;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeSetTextHotkey() {
|
internal void HandleSetTextHotkey() {
|
||||||
string label = reader.ReadAsciiString();
|
string label = reader.ReadAsciiString();
|
||||||
string action = reader.ReadCp437String();
|
string action = reader.ReadCp437String();
|
||||||
int keyCode = reader.ReadInt32();
|
int keyCode = reader.ReadInt32();
|
||||||
@ -150,7 +150,7 @@ namespace ClassicalSharp.Network {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeExtAddPlayerName() {
|
internal void HandleExtAddPlayerName() {
|
||||||
short nameId = reader.ReadInt16();
|
short nameId = reader.ReadInt16();
|
||||||
string playerName = Utils.StripColours( reader.ReadAsciiString() );
|
string playerName = Utils.StripColours( reader.ReadAsciiString() );
|
||||||
playerName = Utils.RemoveEndPlus( playerName );
|
playerName = Utils.RemoveEndPlus( playerName );
|
||||||
@ -182,7 +182,7 @@ namespace ClassicalSharp.Network {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeExtAddEntity() {
|
internal void HandleExtAddEntity() {
|
||||||
byte entityId = reader.ReadUInt8();
|
byte entityId = reader.ReadUInt8();
|
||||||
string displayName = reader.ReadAsciiString();
|
string displayName = reader.ReadAsciiString();
|
||||||
displayName = Utils.RemoveEndPlus( displayName );
|
displayName = Utils.RemoveEndPlus( displayName );
|
||||||
@ -191,7 +191,7 @@ namespace ClassicalSharp.Network {
|
|||||||
AddEntity( entityId, displayName, skinName, false );
|
AddEntity( entityId, displayName, skinName, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeExtRemovePlayerName() {
|
internal void HandleExtRemovePlayerName() {
|
||||||
short nameId = reader.ReadInt16();
|
short nameId = reader.ReadInt16();
|
||||||
// Workaround for some servers that don't cast signed bytes to unsigned, before converting them to shorts.
|
// Workaround for some servers that don't cast signed bytes to unsigned, before converting them to shorts.
|
||||||
if( nameId < 0 )
|
if( nameId < 0 )
|
||||||
@ -203,7 +203,7 @@ namespace ClassicalSharp.Network {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeMakeSelection() {
|
internal void HandleMakeSelection() {
|
||||||
byte selectionId = reader.ReadUInt8();
|
byte selectionId = reader.ReadUInt8();
|
||||||
string label = reader.ReadAsciiString();
|
string label = reader.ReadAsciiString();
|
||||||
short startX = reader.ReadInt16();
|
short startX = reader.ReadInt16();
|
||||||
@ -224,12 +224,12 @@ namespace ClassicalSharp.Network {
|
|||||||
game.SelectionManager.AddSelection( selectionId, p1, p2, col );
|
game.SelectionManager.AddSelection( selectionId, p1, p2, col );
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeRemoveSelection() {
|
internal void HandleRemoveSelection() {
|
||||||
byte selectionId = reader.ReadUInt8();
|
byte selectionId = reader.ReadUInt8();
|
||||||
game.SelectionManager.RemoveSelection( selectionId );
|
game.SelectionManager.RemoveSelection( selectionId );
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeEnvColours() {
|
internal void HandleEnvColours() {
|
||||||
byte variable = reader.ReadUInt8();
|
byte variable = reader.ReadUInt8();
|
||||||
short red = reader.ReadInt16();
|
short red = reader.ReadInt16();
|
||||||
short green = reader.ReadInt16();
|
short green = reader.ReadInt16();
|
||||||
@ -250,7 +250,7 @@ namespace ClassicalSharp.Network {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeSetBlockPermission() {
|
internal void HandleSetBlockPermission() {
|
||||||
byte blockId = reader.ReadUInt8();
|
byte blockId = reader.ReadUInt8();
|
||||||
bool canPlace = reader.ReadUInt8() != 0;
|
bool canPlace = reader.ReadUInt8() != 0;
|
||||||
bool canDelete = reader.ReadUInt8() != 0;
|
bool canDelete = reader.ReadUInt8() != 0;
|
||||||
@ -270,41 +270,33 @@ namespace ClassicalSharp.Network {
|
|||||||
game.Events.RaiseBlockPermissionsChanged();
|
game.Events.RaiseBlockPermissionsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeChangeModel() {
|
internal void HandleChangeModel() {
|
||||||
byte playerId = reader.ReadUInt8();
|
byte playerId = reader.ReadUInt8();
|
||||||
string modelName = reader.ReadAsciiString().ToLowerInvariant();
|
string modelName = reader.ReadAsciiString().ToLowerInvariant();
|
||||||
Player player = game.Players[playerId];
|
Player player = game.Players[playerId];
|
||||||
if( player != null ) player.SetModel( modelName );
|
if( player != null ) player.SetModel( modelName );
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeEnvSetMapAppearance() {
|
internal void HandleEnvSetMapAppearance() {
|
||||||
string url = reader.ReadAsciiString();
|
HandleSetEnvMapUrl();
|
||||||
game.World.Env.SetSidesBlock( (Block)reader.ReadUInt8() );
|
game.World.Env.SetSidesBlock( (Block)reader.ReadUInt8() );
|
||||||
game.World.Env.SetEdgeBlock( (Block)reader.ReadUInt8() );
|
game.World.Env.SetEdgeBlock( (Block)reader.ReadUInt8() );
|
||||||
game.World.Env.SetEdgeLevel( reader.ReadInt16() );
|
game.World.Env.SetEdgeLevel( reader.ReadInt16() );
|
||||||
if( !game.AllowServerTextures ) return;
|
|
||||||
|
|
||||||
if( url == "" ) {
|
|
||||||
ExtractDefault();
|
|
||||||
} else if( Utils.IsUrlPrefix( url, 0 ) ) {
|
|
||||||
RetrieveTexturePack( url );
|
|
||||||
}
|
|
||||||
Utils.LogDebug( "Image url: " + url );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeEnvSetMapAppearance2() {
|
internal void HandleEnvSetMapAppearance2() {
|
||||||
HandleCpeEnvSetMapAppearance();
|
HandleEnvSetMapAppearance();
|
||||||
game.World.Env.SetCloudsLevel( reader.ReadInt16() );
|
game.World.Env.SetCloudsLevel( reader.ReadInt16() );
|
||||||
short maxViewDist = reader.ReadInt16();
|
short maxViewDist = reader.ReadInt16();
|
||||||
game.MaxViewDistance = maxViewDist <= 0 ? 32768 : maxViewDist;
|
game.MaxViewDistance = maxViewDist <= 0 ? 32768 : maxViewDist;
|
||||||
game.SetViewDistance( game.UserViewDistance, false );
|
game.SetViewDistance( game.UserViewDistance, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeEnvWeatherType() {
|
internal void HandleEnvWeatherType() {
|
||||||
game.World.Env.SetWeather( (Weather)reader.ReadUInt8() );
|
game.World.Env.SetWeather( (Weather)reader.ReadUInt8() );
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeHackControl() {
|
internal void HandleHackControl() {
|
||||||
LocalPlayer p = game.LocalPlayer;
|
LocalPlayer p = game.LocalPlayer;
|
||||||
p.Hacks.CanFly = reader.ReadUInt8() != 0;
|
p.Hacks.CanFly = reader.ReadUInt8() != 0;
|
||||||
p.Hacks.CanNoclip = reader.ReadUInt8() != 0;
|
p.Hacks.CanNoclip = reader.ReadUInt8() != 0;
|
||||||
@ -320,7 +312,7 @@ namespace ClassicalSharp.Network {
|
|||||||
game.Events.RaiseHackPermissionsChanged();
|
game.Events.RaiseHackPermissionsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeExtAddEntity2() {
|
internal void HandleExtAddEntity2() {
|
||||||
byte entityId = reader.ReadUInt8();
|
byte entityId = reader.ReadUInt8();
|
||||||
string displayName = reader.ReadAsciiString();
|
string displayName = reader.ReadAsciiString();
|
||||||
string skinName = reader.ReadAsciiString();
|
string skinName = reader.ReadAsciiString();
|
||||||
@ -369,6 +361,27 @@ namespace ClassicalSharp.Network {
|
|||||||
game.Drawer2D.Colours[code] = col;
|
game.Drawer2D.Colours[code] = col;
|
||||||
game.Events.RaiseColourCodesChanged();
|
game.Events.RaiseColourCodesChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal void HandleSetEnvMapUrl() {
|
||||||
|
string url = reader.ReadAsciiString();
|
||||||
|
if( !game.AllowServerTextures ) return;
|
||||||
|
|
||||||
|
if( url == "" ) {
|
||||||
|
ExtractDefault();
|
||||||
|
} else if( Utils.IsUrlPrefix( url, 0 ) ) {
|
||||||
|
RetrieveTexturePack( url );
|
||||||
|
}
|
||||||
|
Utils.LogDebug( "Image url: " + url );
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void HandleSetEnvMapProperty() {
|
||||||
|
byte type = reader.ReadUInt8();
|
||||||
|
int value = reader.ReadInt32();
|
||||||
|
|
||||||
|
switch( type ) {
|
||||||
|
// TODO: Property list
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
@ -7,11 +7,11 @@ namespace ClassicalSharp.Network {
|
|||||||
|
|
||||||
public partial class NetworkProcessor : INetworkProcessor {
|
public partial class NetworkProcessor : INetworkProcessor {
|
||||||
|
|
||||||
internal void HandleCpeDefineBlock() {
|
internal void HandleDefineBlock() {
|
||||||
if( !game.AllowCustomBlocks ) {
|
if( !game.AllowCustomBlocks ) {
|
||||||
SkipPacketData( Opcode.CpeDefineBlock ); return;
|
SkipPacketData( Opcode.CpeDefineBlock ); return;
|
||||||
}
|
}
|
||||||
byte id = HandleCpeDefineBlockCommonStart( false );
|
byte id = HandleDefineBlockCommonStart( false );
|
||||||
BlockInfo info = game.BlockInfo;
|
BlockInfo info = game.BlockInfo;
|
||||||
byte shape = reader.ReadUInt8();
|
byte shape = reader.ReadUInt8();
|
||||||
if( shape == 0 ) {
|
if( shape == 0 ) {
|
||||||
@ -22,7 +22,7 @@ namespace ClassicalSharp.Network {
|
|||||||
info.MaxBB[id].Y = shape / 16f;
|
info.MaxBB[id].Y = shape / 16f;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleCpeDefineBlockCommonEnd( id );
|
HandleDefineBlockCommonEnd( id );
|
||||||
// Update sprite BoundingBox if necessary
|
// Update sprite BoundingBox if necessary
|
||||||
if( info.IsSprite[id] ) {
|
if( info.IsSprite[id] ) {
|
||||||
using( FastBitmap dst = new FastBitmap( game.TerrainAtlas.AtlasBitmap, true, true ) )
|
using( FastBitmap dst = new FastBitmap( game.TerrainAtlas.AtlasBitmap, true, true ) )
|
||||||
@ -31,7 +31,7 @@ namespace ClassicalSharp.Network {
|
|||||||
info.DefinedCustomBlocks[id >> 5] |= (1u << (id & 0x1F));
|
info.DefinedCustomBlocks[id >> 5] |= (1u << (id & 0x1F));
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeRemoveBlockDefinition() {
|
internal void HandleRemoveBlockDefinition() {
|
||||||
if( !game.AllowCustomBlocks ) {
|
if( !game.AllowCustomBlocks ) {
|
||||||
SkipPacketData( Opcode.CpeRemoveBlockDefinition ); return;
|
SkipPacketData( Opcode.CpeRemoveBlockDefinition ); return;
|
||||||
}
|
}
|
||||||
@ -40,11 +40,11 @@ namespace ClassicalSharp.Network {
|
|||||||
game.Events.RaiseBlockDefinitionChanged();
|
game.Events.RaiseBlockDefinitionChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeDefineBlockExt() {
|
internal void HandleDefineBlockExt() {
|
||||||
if( !game.AllowCustomBlocks ) {
|
if( !game.AllowCustomBlocks ) {
|
||||||
SkipPacketData( Opcode.CpeDefineBlockExt ); return;
|
SkipPacketData( Opcode.CpeDefineBlockExt ); return;
|
||||||
}
|
}
|
||||||
byte id = HandleCpeDefineBlockCommonStart( cpe.blockDefsExtVer >= 2 );
|
byte id = HandleDefineBlockCommonStart( cpe.blockDefsExtVer >= 2 );
|
||||||
BlockInfo info = game.BlockInfo;
|
BlockInfo info = game.BlockInfo;
|
||||||
Vector3 min, max;
|
Vector3 min, max;
|
||||||
|
|
||||||
@ -57,11 +57,11 @@ namespace ClassicalSharp.Network {
|
|||||||
|
|
||||||
info.MinBB[id] = min;
|
info.MinBB[id] = min;
|
||||||
info.MaxBB[id] = max;
|
info.MaxBB[id] = max;
|
||||||
HandleCpeDefineBlockCommonEnd( id );
|
HandleDefineBlockCommonEnd( id );
|
||||||
info.DefinedCustomBlocks[id >> 5] |= (1u << (id & 0x1F));
|
info.DefinedCustomBlocks[id >> 5] |= (1u << (id & 0x1F));
|
||||||
}
|
}
|
||||||
|
|
||||||
byte HandleCpeDefineBlockCommonStart( bool uniqueSideTexs ) {
|
byte HandleDefineBlockCommonStart( bool uniqueSideTexs ) {
|
||||||
byte block = reader.ReadUInt8();
|
byte block = reader.ReadUInt8();
|
||||||
BlockInfo info = game.BlockInfo;
|
BlockInfo info = game.BlockInfo;
|
||||||
info.ResetBlockInfo( block, false );
|
info.ResetBlockInfo( block, false );
|
||||||
@ -95,7 +95,7 @@ namespace ClassicalSharp.Network {
|
|||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void HandleCpeDefineBlockCommonEnd( byte block ) {
|
internal void HandleDefineBlockCommonEnd( byte block ) {
|
||||||
BlockInfo info = game.BlockInfo;
|
BlockInfo info = game.BlockInfo;
|
||||||
byte blockDraw = reader.ReadUInt8();
|
byte blockDraw = reader.ReadUInt8();
|
||||||
SetBlockDraw( info, block, blockDraw );
|
SetBlockDraw( info, block, blockDraw );
|
||||||
|
@ -176,30 +176,30 @@ namespace ClassicalSharp.Network {
|
|||||||
Set( Opcode.Kick, HandleKick, 65 );
|
Set( Opcode.Kick, HandleKick, 65 );
|
||||||
Set( Opcode.SetPermission, HandleSetPermission, 2 );
|
Set( Opcode.SetPermission, HandleSetPermission, 2 );
|
||||||
|
|
||||||
Set( Opcode.CpeExtInfo, HandleCpeExtInfo, 67 );
|
Set( Opcode.CpeExtInfo, HandleExtInfo, 67 );
|
||||||
Set( Opcode.CpeExtEntry, HandleCpeExtEntry, 69 );
|
Set( Opcode.CpeExtEntry, HandleExtEntry, 69 );
|
||||||
Set( Opcode.CpeSetClickDistance, HandleCpeSetClickDistance, 3 );
|
Set( Opcode.CpeSetClickDistance, HandleSetClickDistance, 3 );
|
||||||
Set( Opcode.CpeCustomBlockSupportLevel, HandleCpeCustomBlockSupportLevel, 2 );
|
Set( Opcode.CpeCustomBlockSupportLevel, HandleCustomBlockSupportLevel, 2 );
|
||||||
Set( Opcode.CpeHoldThis, HandleCpeHoldThis, 3 );
|
Set( Opcode.CpeHoldThis, HandleHoldThis, 3 );
|
||||||
Set( Opcode.CpeSetTextHotkey, HandleCpeSetTextHotkey, 134 );
|
Set( Opcode.CpeSetTextHotkey, HandleSetTextHotkey, 134 );
|
||||||
|
|
||||||
Set( Opcode.CpeExtAddPlayerName, HandleCpeExtAddPlayerName, 196 );
|
Set( Opcode.CpeExtAddPlayerName, HandleExtAddPlayerName, 196 );
|
||||||
Set( Opcode.CpeExtAddEntity, HandleCpeExtAddEntity, 130 );
|
Set( Opcode.CpeExtAddEntity, HandleExtAddEntity, 130 );
|
||||||
Set( Opcode.CpeExtRemovePlayerName, HandleCpeExtRemovePlayerName, 3 );
|
Set( Opcode.CpeExtRemovePlayerName, HandleExtRemovePlayerName, 3 );
|
||||||
|
|
||||||
Set( Opcode.CpeEnvColours, HandleCpeEnvColours, 8 );
|
Set( Opcode.CpeEnvColours, HandleEnvColours, 8 );
|
||||||
Set( Opcode.CpeMakeSelection, HandleCpeMakeSelection, 86 );
|
Set( Opcode.CpeMakeSelection, HandleMakeSelection, 86 );
|
||||||
Set( Opcode.CpeRemoveSelection, HandleCpeRemoveSelection, 2 );
|
Set( Opcode.CpeRemoveSelection, HandleRemoveSelection, 2 );
|
||||||
Set( Opcode.CpeSetBlockPermission, HandleCpeSetBlockPermission, 4 );
|
Set( Opcode.CpeSetBlockPermission, HandleSetBlockPermission, 4 );
|
||||||
Set( Opcode.CpeChangeModel, HandleCpeChangeModel, 66 );
|
Set( Opcode.CpeChangeModel, HandleChangeModel, 66 );
|
||||||
Set( Opcode.CpeEnvSetMapApperance, HandleCpeEnvSetMapAppearance, 69 );
|
Set( Opcode.CpeEnvSetMapApperance, HandleEnvSetMapAppearance, 69 );
|
||||||
Set( Opcode.CpeEnvWeatherType, HandleCpeEnvWeatherType, 2 );
|
Set( Opcode.CpeEnvWeatherType, HandleEnvWeatherType, 2 );
|
||||||
Set( Opcode.CpeHackControl, HandleCpeHackControl, 8 );
|
Set( Opcode.CpeHackControl, HandleHackControl, 8 );
|
||||||
Set( Opcode.CpeExtAddEntity2, HandleCpeExtAddEntity2, 138 );
|
Set( Opcode.CpeExtAddEntity2, HandleExtAddEntity2, 138 );
|
||||||
|
|
||||||
Set( Opcode.CpeDefineBlock, HandleCpeDefineBlock, 80 );
|
Set( Opcode.CpeDefineBlock, HandleDefineBlock, 80 );
|
||||||
Set( Opcode.CpeRemoveBlockDefinition, HandleCpeRemoveBlockDefinition, 2 );
|
Set( Opcode.CpeRemoveBlockDefinition, HandleRemoveBlockDefinition, 2 );
|
||||||
Set( Opcode.CpeDefineBlockExt, HandleCpeDefineBlockExt, 85 );
|
Set( Opcode.CpeDefineBlockExt, HandleDefineBlockExt, 85 );
|
||||||
Set( Opcode.CpeBulkBlockUpdate, HandleBulkBlockUpdate, 1282 );
|
Set( Opcode.CpeBulkBlockUpdate, HandleBulkBlockUpdate, 1282 );
|
||||||
Set( Opcode.CpeSetTextColor, HandleSetTextColor, 6 );
|
Set( Opcode.CpeSetTextColor, HandleSetTextColor, 6 );
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user