Ignore:
Timestamp:
Apr 18, 2015, 4:27:57 PM (10 years ago)
Author:
alloc
Message:

Binary improvements

Location:
binary-improvements/MapRendering
Files:
16 added
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/MapRendering/API.cs

    r228 r230  
    33namespace MapRendering
    44{
    5         public class API : AllocsFixes.ModAPI {
    6                 public override string ModName () {
    7                         return "AllocsMapRendering";
     5        public class API : ModApiAbstract {
     6
     7                public override void GameAwake () {
     8                        new AllocsFixes.NetConnections.Servers.Web.Web ();
    89                }
    910
    10                 public override string ModVersion () {
    11                         return "1.0 for A11.2";
     11                public override void CalcChunkColorsDone (Chunk _chunk) {
     12                        AllocsFixes.MapRendering.MapRendering.RenderSingleChunk (_chunk);
    1213                }
    1314
    14                 public override void CalcMapColors (Chunk _chunk) {
    15                         AllocsFixes.MapRendering.MapRendering.RenderSingleChunk (_chunk);
    16                 }
    1715        }
    1816}
  • binary-improvements/MapRendering/Commands/EnableRendering.cs

    r224 r230  
    44namespace AllocsFixes.CustomCommands
    55{
    6         public class EnableRendering : ConsoleCommand
     6        public class EnableRendering : ConsoleCmdAbstract
    77        {
    8                 public EnableRendering (ConsoleSdtd cons) : base(cons)
    9                 {
    10                 }
    11 
    12                 public override string Description ()
     8                public override string GetDescription ()
    139                {
    1410                        return "enable/disable live map rendering";
    1511                }
    1612
    17                 public override string[] Names ()
     13                public override string[] GetCommands ()
    1814                {
    19                         return new string[] { "enablerendering", string.Empty };
     15                        return new string[] { "enablerendering" };
    2016                }
    2117
    22                 public override void Run (string[] _params)
     18                public override void Execute (List<string> _params, CommandSenderInfo _senderInfo)
    2319                {
    2420                        try {
    25                                 if (_params.Length != 1) {
    26                                         m_Console.SendResult ("Current state: " + AllocsFixes.MapRendering.MapRendering.renderingEnabled);
     21                                if (_params.Count != 1) {
     22                                        SdtdConsole.Instance.Output ("Current state: " + AllocsFixes.MapRendering.MapRendering.renderingEnabled);
    2723                                        return;
    2824                                }
    2925
    3026                                AllocsFixes.MapRendering.MapRendering.renderingEnabled = _params[0].Equals("1");
    31                                 m_Console.SendResult ("Set live map rendering to " + _params [0].Equals ("1"));
     27                                SdtdConsole.Instance.Output ("Set live map rendering to " + _params [0].Equals ("1"));
    3228                        } catch (Exception e) {
    3329                                Log.Out ("Error in EnableRendering.Run: " + e);
  • binary-improvements/MapRendering/Commands/RenderMap.cs

    r224 r230  
    66namespace AllocsFixes.CustomCommands
    77{
    8         public class RenderMap : ConsoleCommand
     8        public class RenderMap : ConsoleCmdAbstract
    99        {
    10                 public RenderMap (ConsoleSdtd cons) : base(cons)
    11                 {
    12                 }
    13 
    14                 public override string Description ()
     10                public override string GetDescription ()
    1511                {
    1612                        return "render the current map to a file";
    1713                }
    1814
    19                 public override string[] Names ()
     15                public override string[] GetCommands ()
    2016                {
    21                         return new string[] { "rendermap", "rm" };
     17                        return new string[] { "rendermap" };
    2218                }
    2319
    24                 public override void Run (string[] _params)
     20                public override void Execute (List<string> _params, CommandSenderInfo _senderInfo)
    2521                {
    2622                        try {
    2723                                AllocsFixes.MapRendering.MapRendering.Instance.RenderFullMap ();
    2824
    29                                 m_Console.SendResult ("Render map done");
     25                                SdtdConsole.Instance.Output ("Render map done");
    3026                        } catch (Exception e) {
    3127                                Log.Out ("Error in RenderMap.Run: " + e);
  • binary-improvements/MapRendering/MapRendering/MapRenderBlockBuffer.cs

    r224 r230  
    5353                }
    5454
    55                 public void SetPart (Vector2i offset, int partSize, Color[] pixels)
    56                 {
     55                public void SetPart (Vector2i offset, int partSize, Color[] pixels) {
     56                        if (offset.x + partSize > blockMap.width || offset.y + partSize > blockMap.height) {
     57                                Log.Error (string.Format ("MapBlockBuffer[{0}].SetPart ({1}, {2}, {3}) has blockMap.size ({4}/{5})", zoomLevel, offset, partSize, pixels.Length, blockMap.width, blockMap.height));
     58                                return;
     59                        }
    5760                        blockMap.SetPixels (offset.x, offset.y, partSize, partSize, pixels);
    5861                }
     
    7174                {
    7275                        byte[] array = cache.LoadTile (zoomLevel, _fileName);
    73                         if (array != null) {
    74                                 blockMap.LoadImage (array);
    75                         } else {
    76                                 //try {
    77                                 //byte[] array = File.ReadAllBytes (_fileName);
    78                                 //blockMap.LoadImage (array);
    79                                 //} catch (Exception) {
     76                        if (array == null || !blockMap.LoadImage (array)) {
     77                                if (blockMap.height != Constants.MAP_BLOCK_SIZE || blockMap.width != Constants.MAP_BLOCK_SIZE) {
     78                                        blockMap.Resize (Constants.MAP_BLOCK_SIZE, Constants.MAP_BLOCK_SIZE);
     79                                }
    8080                                for (int x = 0; x < Constants.MAP_BLOCK_SIZE; x++) {
    8181                                        for (int y = 0; y < Constants.MAP_BLOCK_SIZE; y++) {
     
    8686                }
    8787
    88                 private void saveTextureToFile (string _fileName)
    89                 {
     88                private void saveTextureToFile (string _fileName) {
    9089                        byte[] array = blockMap.EncodeToPNG ();
    9190                        cache.SaveTile (zoomLevel, array);
    92 //                      try {
    93 //                              byte[] array = blockMap.EncodeToPNG ();
    94 //                              File.WriteAllBytes (_fileName, array);
    95 //                      } catch (Exception e) {
    96 //                              Log.Out ("Exception in MapRenderBlockBuffer.saveTextureToFile(): " + e);
    97 //                      }
    9891                }
    9992
  • binary-improvements/MapRendering/MapRendering/MapRendering.cs

    r224 r230  
    210210                                                //Log.Out ("Dirty: " + v + " render: true");
    211211                                                chunksDone.Add (v);
     212                                                if (dirtyChunks [v].Length != Constants.MAP_CHUNK_SIZE * Constants.MAP_CHUNK_SIZE) {
     213                                                        Log.Error (string.Format ("Rendering chunk has incorrect data size of {0} instead of {1}", dirtyChunks [v].Length, Constants.MAP_CHUNK_SIZE * Constants.MAP_CHUNK_SIZE));
     214                                                }
    212215                                                zoomLevelBuffers [Constants.ZOOMLEVELS - 1].SetPart (v_blockOffset, Constants.MAP_CHUNK_SIZE, dirtyChunks [v]);
    213216                                        } else {
Note: See TracChangeset for help on using the changeset viewer.