mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-19 12:35:52 -04:00
RenderType command should save between sessions. (Thanks classic1234)
This commit is contained in:
parent
8bd253a455
commit
b2d0737b18
@ -80,7 +80,7 @@ namespace ClassicalSharp.Commands {
|
||||
public override void Execute( CommandReader reader ) {
|
||||
string property = reader.Next();
|
||||
if( property == null ) {
|
||||
game.Chat.Add( "&e/client info: &cYou didn't specify a property." );
|
||||
game.Chat.Add( "&e/client: &cYou didn't specify a property." );
|
||||
} else if( Utils.CaselessEquals( property, "pos" ) ) {
|
||||
game.Chat.Add( "Feet: " + game.LocalPlayer.Position );
|
||||
game.Chat.Add( "Eye: " + game.LocalPlayer.EyePosition );
|
||||
@ -99,7 +99,7 @@ namespace ClassicalSharp.Commands {
|
||||
game.Chat.Add( "map height: " + game.World.Height );
|
||||
game.Chat.Add( "map length: " + game.World.Length );
|
||||
} else {
|
||||
game.Chat.Add( "&e/client info: Unrecognised property: \"&f" + property + "&e\"." );
|
||||
game.Chat.Add( "&e/client: Unrecognised property: \"&f" + property + "&e\"." );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -120,31 +120,11 @@ namespace ClassicalSharp.Commands {
|
||||
public override void Execute( CommandReader reader ) {
|
||||
string property = reader.Next();
|
||||
if( property == null ) {
|
||||
game.Chat.Add( "&e/client rendertype: &cYou didn't specify a new render type." );
|
||||
} else if( Utils.CaselessEquals( property, "legacyfast" ) ) {
|
||||
SetNewRenderType( true, true );
|
||||
game.Chat.Add( "&e/client rendertype: &fRender type is now fast legacy." );
|
||||
} else if( Utils.CaselessEquals( property, "legacy" ) ) {
|
||||
SetNewRenderType( true, false );
|
||||
game.Chat.Add( "&e/client rendertype: &fRender type is now legacy." );
|
||||
} else if( Utils.CaselessEquals( property, "normal" ) ) {
|
||||
SetNewRenderType( false, false );
|
||||
game.Chat.Add( "&e/client rendertype: &fRender type is now normal." );
|
||||
} else if( Utils.CaselessEquals( property, "normalfast" ) ) {
|
||||
SetNewRenderType( false, true );
|
||||
game.Chat.Add( "&e/client rendertype: &fRender type is now normalfast." );
|
||||
}
|
||||
}
|
||||
|
||||
void SetNewRenderType( bool legacy, bool minimal ) {
|
||||
game.MapBordersRenderer.UseLegacyMode( legacy );
|
||||
if( minimal ) {
|
||||
game.ReplaceComponent( ref game.EnvRenderer, new MinimalEnvRenderer() );
|
||||
game.Chat.Add( "&e/client: &cYou didn't specify a new render type." );
|
||||
} else if( game.SetRenderType( property ) ) {
|
||||
game.Chat.Add( "&e/client: &fRender type is now " + property + "." );
|
||||
} else {
|
||||
if( !(game.EnvRenderer is StandardEnvRenderer) ) {
|
||||
game.ReplaceComponent( ref game.EnvRenderer, new StandardEnvRenderer() );
|
||||
}
|
||||
((StandardEnvRenderer)game.EnvRenderer).UseLegacyMode( legacy );
|
||||
game.Chat.Add( "&e/client: &cUnrecognised render type &f\"" + property + "\"&c." );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -95,9 +95,12 @@ namespace ClassicalSharp {
|
||||
Entities[255] = LocalPlayer;
|
||||
width = Width;
|
||||
height = Height;
|
||||
|
||||
MapRenderer = new MapRenderer( this );
|
||||
MapBordersRenderer = AddComponent( new MapBordersRenderer() );
|
||||
EnvRenderer = AddComponent( new StandardEnvRenderer() );
|
||||
string renType = Options.Get( OptionsKey.RenderType ) ?? "normal";
|
||||
if( !SetRenderType( renType ) )
|
||||
SetRenderType( "normal" );
|
||||
|
||||
if( IPAddress == null ) {
|
||||
Network = new Singleplayer.SinglePlayerServer( this );
|
||||
} else {
|
||||
@ -592,7 +595,7 @@ namespace ClassicalSharp {
|
||||
if( bmp.Width > maxSize || bmp.Height > maxSize ) {
|
||||
Chat.Add( "&cUnable to use " + file + " from the texture pack." );
|
||||
Chat.Add( "&c Its size is (" + bmp.Width + "," + bmp.Height
|
||||
+ "), your GPU supports (" + maxSize + "," + maxSize + ") at most." );
|
||||
+ "), your GPU supports (" + maxSize + "," + maxSize + ") at most." );
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -610,6 +613,45 @@ namespace ClassicalSharp {
|
||||
}
|
||||
}
|
||||
|
||||
public bool SetRenderType( string type ) {
|
||||
if( Utils.CaselessEquals( type, "legacyfast" ) ) {
|
||||
SetNewRenderType( true, true );
|
||||
} else if( Utils.CaselessEquals( type, "legacy" ) ) {
|
||||
SetNewRenderType( true, false );
|
||||
} else if( Utils.CaselessEquals( type, "normal" ) ) {
|
||||
SetNewRenderType( false, false );
|
||||
} else if( Utils.CaselessEquals( type, "normalfast" ) ) {
|
||||
SetNewRenderType( false, true );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
Options.Set( OptionsKey.RenderType, type );
|
||||
return true;
|
||||
}
|
||||
|
||||
void SetNewRenderType( bool legacy, bool minimal ) {
|
||||
if( MapBordersRenderer == null ) {
|
||||
MapBordersRenderer = AddComponent( new MapBordersRenderer() );
|
||||
MapBordersRenderer.legacy = legacy;
|
||||
} else {
|
||||
MapBordersRenderer.UseLegacyMode( legacy );
|
||||
}
|
||||
|
||||
if( minimal ) {
|
||||
if( EnvRenderer == null )
|
||||
EnvRenderer = AddComponent( new MinimalEnvRenderer() );
|
||||
else
|
||||
ReplaceComponent( ref EnvRenderer, new MinimalEnvRenderer() );
|
||||
} else if( EnvRenderer == null ) {
|
||||
EnvRenderer = AddComponent( new StandardEnvRenderer() );
|
||||
((StandardEnvRenderer)EnvRenderer).legacy = legacy;
|
||||
} else {
|
||||
if( !(EnvRenderer is StandardEnvRenderer) )
|
||||
ReplaceComponent( ref EnvRenderer, new StandardEnvRenderer() );
|
||||
((StandardEnvRenderer)EnvRenderer).UseLegacyMode( legacy );
|
||||
}
|
||||
}
|
||||
|
||||
public Game( string username, string mppass, string skinServer,
|
||||
bool nullContext, int width, int height ) {
|
||||
window = new DesktopWindow( this, username, nullContext, width, height );
|
||||
|
@ -18,7 +18,8 @@ namespace ClassicalSharp.Renderers {
|
||||
int sidesVb = -1, edgesVb = -1;
|
||||
int edgeTexId, sideTexId;
|
||||
int sidesVertices, edgesVertices;
|
||||
bool legacy, fullColSides, fullColEdge;
|
||||
internal bool legacy;
|
||||
bool fullColSides, fullColEdge;
|
||||
|
||||
public void UseLegacyMode( bool legacy ) {
|
||||
this.legacy = legacy;
|
||||
|
@ -9,7 +9,7 @@ namespace ClassicalSharp.Renderers {
|
||||
public unsafe class StandardEnvRenderer : EnvRenderer {
|
||||
|
||||
int cloudsVb = -1, cloudVertices, skyVb = -1, skyVertices;
|
||||
bool legacy;
|
||||
internal bool legacy;
|
||||
|
||||
public void UseLegacyMode( bool legacy ) {
|
||||
this.legacy = legacy;
|
||||
|
@ -22,6 +22,7 @@ namespace ClassicalSharp {
|
||||
public const string AutoCloseLauncher = "autocloselauncher";
|
||||
public const string ViewBobbing = "viewbobbing";
|
||||
public const string EntityShadow = "entityshadow";
|
||||
public const string RenderType = "normal";
|
||||
|
||||
public const string HacksEnabled = "hacks-hacksenabled";
|
||||
public const string FieldOfView = "hacks-fov";
|
||||
|
Loading…
x
Reference in New Issue
Block a user