mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-16 02:56:09 -04:00
Modularise game class somewhat, start commenting the fields/properties of game class.
This commit is contained in:
parent
1171ee9b61
commit
b83a5228f8
@ -66,8 +66,8 @@ namespace ClassicalSharp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public override void OnResize( int oldWidth, int oldHeight, int width, int height ) {
|
public override void OnResize( int oldWidth, int oldHeight, int width, int height ) {
|
||||||
blockSize = (int)(50 * Math.Sqrt(game.GuiScale()));
|
blockSize = (int)(50 * Math.Sqrt(game.GuiScale));
|
||||||
selBlockExpand = (float)(25 * Math.Sqrt(game.GuiScale()));
|
selBlockExpand = (float)(25 * Math.Sqrt(game.GuiScale));
|
||||||
|
|
||||||
startX = game.Width / 2 - (blockSize * blocksPerRow) / 2;
|
startX = game.Width / 2 - (blockSize * blocksPerRow) / 2;
|
||||||
startY = game.Height / 2 - (rows * blockSize) / 2;
|
startY = game.Height / 2 - (rows * blockSize) / 2;
|
||||||
@ -76,8 +76,8 @@ namespace ClassicalSharp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public override void Init() {
|
public override void Init() {
|
||||||
blockSize = (int)(50 * Math.Sqrt(game.GuiScale()));
|
blockSize = (int)(50 * Math.Sqrt(game.GuiScale));
|
||||||
selBlockExpand = (float)(25 * Math.Sqrt(game.GuiScale()));
|
selBlockExpand = (float)(25 * Math.Sqrt(game.GuiScale));
|
||||||
game.Events.BlockPermissionsChanged += BlockPermissionsChanged;
|
game.Events.BlockPermissionsChanged += BlockPermissionsChanged;
|
||||||
RecreateBlockTextures();
|
RecreateBlockTextures();
|
||||||
}
|
}
|
||||||
|
@ -79,16 +79,16 @@ namespace ClassicalSharp {
|
|||||||
|
|
||||||
Font chatFont, chatInputFont, chatUnderlineFont, announcementFont;
|
Font chatFont, chatInputFont, chatUnderlineFont, announcementFont;
|
||||||
public override void Init() {
|
public override void Init() {
|
||||||
int fontSize = (int)(12 * game.GuiScale() * game.ChatScale);
|
int fontSize = (int)(12 * game.GuiScale * game.ChatScale);
|
||||||
Utils.Clamp( ref fontSize, 8, 60 );
|
Utils.Clamp( ref fontSize, 8, 60 );
|
||||||
chatFont = new Font( "Arial", fontSize );
|
chatFont = new Font( "Arial", fontSize );
|
||||||
chatInputFont = new Font( "Arial", fontSize, FontStyle.Bold );
|
chatInputFont = new Font( "Arial", fontSize, FontStyle.Bold );
|
||||||
chatUnderlineFont = new Font( "Arial", fontSize, FontStyle.Underline );
|
chatUnderlineFont = new Font( "Arial", fontSize, FontStyle.Underline );
|
||||||
|
|
||||||
fontSize = (int)(14 * game.GuiScale());
|
fontSize = (int)(14 * game.GuiScale);
|
||||||
Utils.Clamp( ref fontSize, 8, 60 );
|
Utils.Clamp( ref fontSize, 8, 60 );
|
||||||
announcementFont = new Font( "Arial", fontSize );
|
announcementFont = new Font( "Arial", fontSize );
|
||||||
blockSize = (int)(40 * game.GuiScale());
|
blockSize = (int)(40 * game.GuiScale);
|
||||||
|
|
||||||
textInput = new TextInputWidget( game, chatFont, chatInputFont );
|
textInput = new TextInputWidget( game, chatFont, chatInputFont );
|
||||||
textInput.YOffset = blockSize + 5;
|
textInput.YOffset = blockSize + 5;
|
||||||
@ -182,7 +182,7 @@ namespace ClassicalSharp {
|
|||||||
public override void OnResize( int oldWidth, int oldHeight, int width, int height ) {
|
public override void OnResize( int oldWidth, int oldHeight, int width, int height ) {
|
||||||
announcementTex.X1 += (width - oldWidth) / 2;
|
announcementTex.X1 += (width - oldWidth) / 2;
|
||||||
announcementTex.Y1 += (height - oldHeight) / 2;
|
announcementTex.Y1 += (height - oldHeight) / 2;
|
||||||
blockSize = (int)(40 * game.GuiScale());
|
blockSize = (int)(40 * game.GuiScale);
|
||||||
textInput.YOffset = blockSize + 5;
|
textInput.YOffset = blockSize + 5;
|
||||||
bottomRight.YOffset = blockSize * 3 / 2;
|
bottomRight.YOffset = blockSize * 3 / 2;
|
||||||
|
|
||||||
|
@ -29,8 +29,8 @@ namespace ClassicalSharp {
|
|||||||
static FastColour outlineCol = new FastColour( 151, 120, 180 );
|
static FastColour outlineCol = new FastColour( 151, 120, 180 );
|
||||||
static FastColour selCol = new FastColour( 213, 200, 223 );
|
static FastColour selCol = new FastColour( 213, 200, 223 );
|
||||||
public override void Init() {
|
public override void Init() {
|
||||||
blockSize = (int)(38 * game.GuiScale());
|
blockSize = (int)(38 * game.GuiScale);
|
||||||
borderSize = (int)(3 * game.GuiScale());
|
borderSize = (int)(3 * game.GuiScale);
|
||||||
int width = blockSize * hotbarCount;
|
int width = blockSize * hotbarCount;
|
||||||
X = game.Width / 2 - width / 2;
|
X = game.Width / 2 - width / 2;
|
||||||
Y = game.Height - blockSize;
|
Y = game.Height - blockSize;
|
||||||
|
@ -139,6 +139,7 @@
|
|||||||
<Compile Include="Entities\LocalPlayer.cs" />
|
<Compile Include="Entities\LocalPlayer.cs" />
|
||||||
<Compile Include="Entities\LocationUpdate.cs" />
|
<Compile Include="Entities\LocationUpdate.cs" />
|
||||||
<Compile Include="Entities\NetPlayer.cs" />
|
<Compile Include="Entities\NetPlayer.cs" />
|
||||||
|
<Compile Include="Game\Game.Properties.cs" />
|
||||||
<Compile Include="Particles\CollidableParticle.cs" />
|
<Compile Include="Particles\CollidableParticle.cs" />
|
||||||
<Compile Include="Particles\Particle.cs" />
|
<Compile Include="Particles\Particle.cs" />
|
||||||
<Compile Include="Particles\ParticleManager.cs" />
|
<Compile Include="Particles\ParticleManager.cs" />
|
||||||
|
@ -16,6 +16,9 @@ namespace ClassicalSharp {
|
|||||||
public byte UserType;
|
public byte UserType;
|
||||||
public bool PushbackBlockPlacing;
|
public bool PushbackBlockPlacing;
|
||||||
|
|
||||||
|
/// <summary> Whether the player is allowed to use the types of cameras that use third person. </summary>
|
||||||
|
public bool CanUseThirdPersonCamera = true;
|
||||||
|
|
||||||
/// <summary> Whether the player is allowed to increase its speed beyond the normal walking speed. </summary>
|
/// <summary> Whether the player is allowed to increase its speed beyond the normal walking speed. </summary>
|
||||||
public bool CanSpeed = true;
|
public bool CanSpeed = true;
|
||||||
|
|
||||||
@ -228,10 +231,10 @@ namespace ClassicalSharp {
|
|||||||
string joined = name + motd;
|
string joined = name + motd;
|
||||||
if( joined.Contains( "-hax" ) ) {
|
if( joined.Contains( "-hax" ) ) {
|
||||||
CanFly = CanNoclip = CanRespawn = CanSpeed =
|
CanFly = CanNoclip = CanRespawn = CanSpeed =
|
||||||
CanPushbackBlocks = game.CanUseThirdPersonCamera = false;
|
CanPushbackBlocks = CanUseThirdPersonCamera = false;
|
||||||
} else { // By default (this is also the case with WoM), we can use hacks.
|
} else { // By default (this is also the case with WoM), we can use hacks.
|
||||||
CanFly = CanNoclip = CanRespawn = CanSpeed =
|
CanFly = CanNoclip = CanRespawn = CanSpeed =
|
||||||
CanPushbackBlocks = game.CanUseThirdPersonCamera = true;
|
CanPushbackBlocks = CanUseThirdPersonCamera = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ParseFlag( b => CanFly = b, joined, "fly" );
|
ParseFlag( b => CanFly = b, joined, "fly" );
|
||||||
@ -260,7 +263,7 @@ namespace ClassicalSharp {
|
|||||||
if( !CanSpeed) speeding = false;
|
if( !CanSpeed) speeding = false;
|
||||||
if( !CanPushbackBlocks ) PushbackBlockPlacing = false;
|
if( !CanPushbackBlocks ) PushbackBlockPlacing = false;
|
||||||
|
|
||||||
if( !game.CanUseThirdPersonCamera )
|
if( !CanUseThirdPersonCamera )
|
||||||
game.SetCamera( false );
|
game.SetCamera( false );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
147
ClassicalSharp/Game/Game.Properties.cs
Normal file
147
ClassicalSharp/Game/Game.Properties.cs
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.IO;
|
||||||
|
using System.Net;
|
||||||
|
using ClassicalSharp.Audio;
|
||||||
|
using ClassicalSharp.Commands;
|
||||||
|
using ClassicalSharp.GraphicsAPI;
|
||||||
|
using ClassicalSharp.Model;
|
||||||
|
using ClassicalSharp.Network;
|
||||||
|
using ClassicalSharp.Particles;
|
||||||
|
using ClassicalSharp.Renderers;
|
||||||
|
using ClassicalSharp.Selections;
|
||||||
|
using ClassicalSharp.TexturePack;
|
||||||
|
using OpenTK;
|
||||||
|
|
||||||
|
namespace ClassicalSharp {
|
||||||
|
|
||||||
|
public partial class Game : GameWindow {
|
||||||
|
|
||||||
|
/// <summary> Abstracts the underlying 3D graphics rendering API. </summary>
|
||||||
|
public IGraphicsApi Graphics;
|
||||||
|
|
||||||
|
/// <summary> Contains the block data and metadata of the player's current world. </summary>
|
||||||
|
public Map Map;
|
||||||
|
|
||||||
|
/// <summary> Represents a connection to a multiplayer or a singleplayer server. </summary>
|
||||||
|
public INetworkProcessor Network;
|
||||||
|
|
||||||
|
/// <summary> List of all entities in the current map, including the player. </summary>
|
||||||
|
public EntityList Players;
|
||||||
|
|
||||||
|
/// <summary> Entity representing the player. </summary>
|
||||||
|
public LocalPlayer LocalPlayer;
|
||||||
|
|
||||||
|
/// <summary> Contains extended player listing information for each player in the current world. </summary>
|
||||||
|
/// <remarks> Only used if CPE extension ExtPlayerList is enabled. </remarks>
|
||||||
|
public CpeListInfo[] CpePlayersList = new CpeListInfo[256];
|
||||||
|
|
||||||
|
/// <summary> Current camera the player is using to view the world with. </summary>
|
||||||
|
/// <remarks> e.g. first person, thid person, forward third person, etc. </remarks>
|
||||||
|
public Camera Camera;
|
||||||
|
Camera firstPersonCam, thirdPersonCam, forwardThirdPersonCam;
|
||||||
|
|
||||||
|
/// <summary> Contains the metadata about each currently defined block. </summary>
|
||||||
|
/// <remarks> e.g. blocks light, height, texture IDs, etc. </remarks>
|
||||||
|
public BlockInfo BlockInfo;
|
||||||
|
|
||||||
|
/// <summary> Total rendering time(in seconds) elapsed since the client was started. </summary>
|
||||||
|
public double accumulator;
|
||||||
|
public TerrainAtlas2D TerrainAtlas;
|
||||||
|
public TerrainAtlas1D TerrainAtlas1D;
|
||||||
|
public SkinType DefaultPlayerSkinType;
|
||||||
|
|
||||||
|
/// <summary> Accumulator for the number of chunk updates performed. Reset every second. </summary>
|
||||||
|
public int ChunkUpdates;
|
||||||
|
|
||||||
|
public MapRenderer MapRenderer;
|
||||||
|
public MapBordersRenderer MapBordersRenderer;
|
||||||
|
public EnvRenderer EnvRenderer;
|
||||||
|
public WeatherRenderer WeatherRenderer;
|
||||||
|
public Inventory Inventory;
|
||||||
|
public IDrawer2D Drawer2D;
|
||||||
|
|
||||||
|
public CommandManager CommandManager;
|
||||||
|
public SelectionManager SelectionManager;
|
||||||
|
public ParticleManager ParticleManager;
|
||||||
|
public PickingRenderer Picking;
|
||||||
|
public PickedPos SelectedPos = new PickedPos();
|
||||||
|
public ModelCache ModelCache;
|
||||||
|
internal string skinServer, chatInInputBuffer = null;
|
||||||
|
internal int defaultIb;
|
||||||
|
FpsScreen fpsScreen;
|
||||||
|
internal HudScreen hudScreen;
|
||||||
|
public Events Events = new Events();
|
||||||
|
public InputHandler InputHandler;
|
||||||
|
public ChatLog Chat;
|
||||||
|
public BlockHandRenderer BlockHandRenderer;
|
||||||
|
public AudioManager AudioManager;
|
||||||
|
|
||||||
|
/// <summary> Account username of the player. </summary>
|
||||||
|
public string Username;
|
||||||
|
|
||||||
|
/// <summary> Verification key used for multiplayer, unique for the username and individual server. </summary>
|
||||||
|
public string Mppass;
|
||||||
|
|
||||||
|
/// <summary> IP address of multiplayer server connected to, null if singleplayer. </summary>
|
||||||
|
public IPAddress IPAddress;
|
||||||
|
|
||||||
|
/// <summary> Port of multiplayer server connected to, 0 if singleplayer. </summary>
|
||||||
|
public int Port;
|
||||||
|
|
||||||
|
/// <summary> Radius of the sphere the player can see around the position of the current camera. </summary>
|
||||||
|
public int ViewDistance = 512;
|
||||||
|
|
||||||
|
/// <summary> Field of view for the current camera in degrees. </summary>
|
||||||
|
public int FieldOfView = 70;
|
||||||
|
|
||||||
|
/// <summary> Strategy used to limit how many frames should be displayed at most each second. </summary>
|
||||||
|
public FpsLimitMethod FpsLimit;
|
||||||
|
|
||||||
|
public long Vertices;
|
||||||
|
public FrustumCulling Culling;
|
||||||
|
int width, height;
|
||||||
|
public AsyncDownloader AsyncDownloader;
|
||||||
|
public Matrix4 View, Projection, HeldBlockProjection;
|
||||||
|
|
||||||
|
/// <summary> How sensitive the client is to changes in the player's mouse position. </summary>
|
||||||
|
public int MouseSensitivity = 30;
|
||||||
|
|
||||||
|
public int ChatLines = 12;
|
||||||
|
public bool ClickableChat, HideGui, ShowFPS = true;
|
||||||
|
internal float HudScale = 1.0f, ChatScale = 1.0f;
|
||||||
|
public bool ViewBobbing, UseGuiPng;
|
||||||
|
public bool UseSound, UseMusic;
|
||||||
|
|
||||||
|
public Animations Animations;
|
||||||
|
internal int CloudsTextureId, RainTextureId, SnowTextureId;
|
||||||
|
internal bool screenshotRequested;
|
||||||
|
internal List<WarningScreen> WarningScreens = new List<WarningScreen>();
|
||||||
|
internal AcceptedUrls AcceptedUrls = new AcceptedUrls();
|
||||||
|
|
||||||
|
/// <summary> Calculates the amount that 2D widgets should be scaled by when rendered. </summary>
|
||||||
|
/// <remarks> Affected by both the current resolution of the window, as well as the
|
||||||
|
/// scaling specified by the user (field HudScale). </remarks>
|
||||||
|
public float GuiScale {
|
||||||
|
get {
|
||||||
|
float scaleX = Width / 640f, scaleY = Height / 480f;
|
||||||
|
return Math.Min( scaleX, scaleY ) * HudScale;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
string defTexturePack = "default.zip";
|
||||||
|
/// <summary> Gets or sets the path of the default texture pack that should be used by the client. </summary>
|
||||||
|
/// <remarks> If the custom default texture pack specified by the user could not be found,
|
||||||
|
/// this method returns "default.zip". </remarks>
|
||||||
|
public string DefaultTexturePack {
|
||||||
|
get {
|
||||||
|
return File.Exists( defTexturePack )
|
||||||
|
? defTexturePack : "default.zip"; }
|
||||||
|
set {
|
||||||
|
defTexturePack = value;
|
||||||
|
Options.Set( OptionsKey.DefaultTexturePack, value );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
@ -20,90 +19,7 @@ using OpenTK.Input;
|
|||||||
namespace ClassicalSharp {
|
namespace ClassicalSharp {
|
||||||
|
|
||||||
public partial class Game : GameWindow {
|
public partial class Game : GameWindow {
|
||||||
|
|
||||||
public IGraphicsApi Graphics;
|
|
||||||
public Map Map;
|
|
||||||
public INetworkProcessor Network;
|
|
||||||
|
|
||||||
public EntityList Players;
|
|
||||||
public CpeListInfo[] CpePlayersList = new CpeListInfo[256];
|
|
||||||
public LocalPlayer LocalPlayer;
|
|
||||||
public Camera Camera;
|
|
||||||
Camera firstPersonCam, thirdPersonCam, forwardThirdPersonCam;
|
|
||||||
public BlockInfo BlockInfo;
|
|
||||||
public double accumulator;
|
|
||||||
public TerrainAtlas2D TerrainAtlas;
|
|
||||||
public TerrainAtlas1D TerrainAtlas1D;
|
|
||||||
public SkinType DefaultPlayerSkinType;
|
|
||||||
public int ChunkUpdates;
|
|
||||||
|
|
||||||
public MapRenderer MapRenderer;
|
|
||||||
public MapBordersRenderer MapBordersRenderer;
|
|
||||||
public EnvRenderer EnvRenderer;
|
|
||||||
public WeatherRenderer WeatherRenderer;
|
|
||||||
public Inventory Inventory;
|
|
||||||
public IDrawer2D Drawer2D;
|
|
||||||
|
|
||||||
public CommandManager CommandManager;
|
|
||||||
public SelectionManager SelectionManager;
|
|
||||||
public ParticleManager ParticleManager;
|
|
||||||
public PickingRenderer Picking;
|
|
||||||
public PickedPos SelectedPos = new PickedPos();
|
|
||||||
public ModelCache ModelCache;
|
|
||||||
internal string skinServer, chatInInputBuffer = null;
|
|
||||||
internal int defaultIb;
|
|
||||||
public bool CanUseThirdPersonCamera = true;
|
|
||||||
FpsScreen fpsScreen;
|
|
||||||
internal HudScreen hudScreen;
|
|
||||||
public Events Events = new Events();
|
|
||||||
public InputHandler InputHandler;
|
|
||||||
public ChatLog Chat;
|
|
||||||
public BlockHandRenderer BlockHandRenderer;
|
|
||||||
public AudioManager AudioManager;
|
|
||||||
|
|
||||||
public IPAddress IPAddress;
|
|
||||||
public string Username;
|
|
||||||
public string Mppass;
|
|
||||||
public int Port;
|
|
||||||
public int ViewDistance = 512;
|
|
||||||
public int FieldOfView = 70;
|
|
||||||
public FpsLimitMethod FpsLimit;
|
|
||||||
|
|
||||||
public long Vertices;
|
|
||||||
public FrustumCulling Culling;
|
|
||||||
int width, height;
|
|
||||||
public AsyncDownloader AsyncDownloader;
|
|
||||||
public Matrix4 View, Projection, HeldBlockProjection;
|
|
||||||
public int MouseSensitivity = 30;
|
|
||||||
public int ChatLines = 12;
|
|
||||||
public bool ClickableChat, HideGui, ShowFPS = true;
|
|
||||||
internal float HudScale = 1.0f, ChatScale = 1.0f;
|
|
||||||
public bool ViewBobbing, UseGuiPng;
|
|
||||||
public bool UseSound, UseMusic;
|
|
||||||
|
|
||||||
public Animations Animations;
|
|
||||||
internal int CloudsTextureId, RainTextureId, SnowTextureId;
|
|
||||||
internal bool screenshotRequested;
|
|
||||||
public Bitmap FontBitmap;
|
|
||||||
internal List<WarningScreen> WarningScreens = new List<WarningScreen>();
|
|
||||||
internal AcceptedUrls AcceptedUrls = new AcceptedUrls();
|
|
||||||
|
|
||||||
public float GuiScale() {
|
|
||||||
float scaleX = Width / 640f, scaleY = Height / 480f;
|
|
||||||
return Math.Min( scaleX, scaleY ) * HudScale;
|
|
||||||
}
|
|
||||||
|
|
||||||
string defTexturePack = "default.zip";
|
|
||||||
public string DefaultTexturePack {
|
|
||||||
get {
|
|
||||||
return File.Exists( defTexturePack )
|
|
||||||
? defTexturePack : "default.zip"; }
|
|
||||||
set {
|
|
||||||
defTexturePack = value;
|
|
||||||
Options.Set( OptionsKey.DefaultTexturePack, value );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LoadAtlas( Bitmap bmp ) {
|
void LoadAtlas( Bitmap bmp ) {
|
||||||
TerrainAtlas1D.Dispose();
|
TerrainAtlas1D.Dispose();
|
||||||
TerrainAtlas.Dispose();
|
TerrainAtlas.Dispose();
|
||||||
@ -411,9 +327,11 @@ namespace ClassicalSharp {
|
|||||||
|
|
||||||
public void SetCamera( bool thirdPerson ) {
|
public void SetCamera( bool thirdPerson ) {
|
||||||
PerspectiveCamera oldCam = (PerspectiveCamera)Camera;
|
PerspectiveCamera oldCam = (PerspectiveCamera)Camera;
|
||||||
Camera = (thirdPerson && CanUseThirdPersonCamera) ?
|
bool canUseThird = LocalPlayer.CanUseThirdPersonCamera;
|
||||||
|
Camera = (thirdPerson && canUseThird) ?
|
||||||
(Camera is FirstPersonCamera ? thirdPersonCam : forwardThirdPersonCam ) :
|
(Camera is FirstPersonCamera ? thirdPersonCam : forwardThirdPersonCam ) :
|
||||||
firstPersonCam;
|
firstPersonCam;
|
||||||
|
|
||||||
PerspectiveCamera newCam = (PerspectiveCamera)Camera;
|
PerspectiveCamera newCam = (PerspectiveCamera)Camera;
|
||||||
newCam.delta = oldCam.delta;
|
newCam.delta = oldCam.delta;
|
||||||
newCam.previous = oldCam.previous;
|
newCam.previous = oldCam.previous;
|
||||||
|
@ -348,16 +348,17 @@ namespace ClassicalSharp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void HandleCpeHackControl() {
|
void HandleCpeHackControl() {
|
||||||
game.LocalPlayer.CanFly = reader.ReadUInt8() != 0;
|
LocalPlayer p = game.LocalPlayer;
|
||||||
game.LocalPlayer.CanNoclip = reader.ReadUInt8() != 0;
|
p.CanFly = reader.ReadUInt8() != 0;
|
||||||
game.LocalPlayer.CanSpeed = reader.ReadUInt8() != 0;
|
p.CanNoclip = reader.ReadUInt8() != 0;
|
||||||
game.LocalPlayer.CanRespawn = reader.ReadUInt8() != 0;
|
p.CanSpeed = reader.ReadUInt8() != 0;
|
||||||
game.CanUseThirdPersonCamera = reader.ReadUInt8() != 0;
|
p.CanRespawn = reader.ReadUInt8() != 0;
|
||||||
game.LocalPlayer.CheckHacksConsistency();
|
p.CanUseThirdPersonCamera = reader.ReadUInt8() != 0;
|
||||||
|
p.CheckHacksConsistency();
|
||||||
|
|
||||||
float jumpHeight = reader.ReadInt16() / 32f;
|
float jumpHeight = reader.ReadInt16() / 32f;
|
||||||
if( jumpHeight < 0 ) jumpHeight = 1.4f;
|
if( jumpHeight < 0 ) jumpHeight = 1.4f;
|
||||||
game.LocalPlayer.CalculateJumpVelocity( jumpHeight );
|
p.CalculateJumpVelocity( jumpHeight );
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleCpeExtAddEntity2() {
|
void HandleCpeExtAddEntity2() {
|
||||||
|
@ -88,8 +88,8 @@ namespace ClassicalSharp.TexturePack {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void SetFontBitmap( Game game, Stream stream ) {
|
void SetFontBitmap( Game game, Stream stream ) {
|
||||||
game.FontBitmap = new Bitmap( stream );
|
Bitmap bmp = new Bitmap( stream );
|
||||||
game.Drawer2D.SetFontBitmap( game.FontBitmap );
|
game.Drawer2D.SetFontBitmap( bmp );
|
||||||
game.Events.RaiseChatFontChanged();
|
game.Events.RaiseChatFontChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user