Ignore:
Timestamp:
Jul 3, 2015, 4:16:11 PM (9 years ago)
Author:
alloc
Message:

Server fixes for A12

Location:
binary-improvements/MapRendering
Files:
1 added
6 edited

Legend:

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

    r233 r238  
    5353                }
    5454
    55                 public void SetPart (Vector2i offset, int partSize, Color[] pixels) {
     55                public void SetPart (Vector2i offset, int partSize, Color32[] pixels) {
    5656                        if (offset.x + partSize > blockMap.width || offset.y + partSize > blockMap.height) {
    5757                                Log.Error (string.Format ("MapBlockBuffer[{0}].SetPart ({1}, {2}, {3}) has blockMap.size ({4}/{5})", zoomLevel, offset, partSize, pixels.Length, blockMap.width, blockMap.height));
    5858                                return;
    5959                        }
    60                         blockMap.SetPixels (offset.x, offset.y, partSize, partSize, pixels);
     60                        blockMap.SetPixels32 (offset.x, offset.y, partSize, partSize, pixels);
    6161                }
    6262
    63                 public Color[] GetHalfScaled ()
     63                public Color32[] GetHalfScaled ()
    6464                {
    6565                        zoomBuffer.Resize (Constants.MAP_BLOCK_SIZE, Constants.MAP_BLOCK_SIZE);
    66                         zoomBuffer.SetPixels (blockMap.GetPixels ());
     66                        zoomBuffer.SetPixels32 (blockMap.GetPixels32 ());
    6767
    6868                        TextureScale.Point (zoomBuffer, Constants.MAP_BLOCK_SIZE / 2, Constants.MAP_BLOCK_SIZE / 2);
    6969
    70                         return zoomBuffer.GetPixels ();
     70                        return zoomBuffer.GetPixels32 ();
    7171                }
    7272
  • binary-improvements/MapRendering/MapRendering/MapRendering.cs

    r235 r238  
    2424                private static object lockObject = new object ();
    2525                private MapRenderBlockBuffer[] zoomLevelBuffers;
    26                 private Dictionary<Vector2i, Color[]> dirtyChunks = new Dictionary<Vector2i, Color[]> ();
     26                private Dictionary<Vector2i, Color32[]> dirtyChunks = new Dictionary<Vector2i, Color32[]> ();
    2727                private System.Timers.Timer chunkSaveTimer = new System.Timers.Timer (500);
    2828                private bool renderingFullMap = false;
     
    3737                private MapRendering ()
    3838                {
    39                         Constants.MAP_DIRECTORY = StaticDirectories.GetSaveGameDir () + "/map";
     39                        Constants.MAP_DIRECTORY = GameUtils.GetSaveGameDir () + "/map";
    4040
    4141                        lock (lockObject) {
     
    6969                                                                ushort[] mapColors = c.GetMapColors ();
    7070                                                                if (mapColors != null) {
    71                                                                         Color[] realColors = new Color[Constants.MAP_CHUNK_SIZE * Constants.MAP_CHUNK_SIZE];
     71                                                                        Color32[] realColors = new Color32[Constants.MAP_CHUNK_SIZE * Constants.MAP_CHUNK_SIZE];
    7272                                                                        for (int i_colors = 0; i_colors < mapColors.Length; i_colors++) {
    73                                                                                 realColors [i_colors] = shortColorToColor (mapColors [i_colors]);
     73                                                                                realColors [i_colors] = shortColorToColor32 (mapColors [i_colors]);
    7474                                                                        }
    7575                                                                        Instance.dirtyChunks [cPos2] = realColors;
     
    9191                        MicroStopwatch microStopwatch = new MicroStopwatch ();
    9292
    93                         string regionSaveDir = StaticDirectories.GetSaveGameRegionDir ();
     93                        string regionSaveDir = GameUtils.GetSaveGameRegionDir ();
    9494                        RegionFileManager rfm = new RegionFileManager (regionSaveDir, regionSaveDir, 0, false);
    9595                        Texture2D fullMapTexture = null;
     
    119119                                renderingFullMap = true;
    120120
    121                                 if (widthPix <= 8000 && heightPix <= 8000)
     121                                if (widthPix <= 8192 && heightPix <= 8192)
    122122                                        fullMapTexture = new Texture2D (widthPix, heightPix);
    123123
     
    135135                                                                ushort[] mapColors = c.GetMapColors ();
    136136                                                                if (mapColors != null) {
    137                                                                         Color[] realColors = new Color[Constants.MAP_CHUNK_SIZE * Constants.MAP_CHUNK_SIZE];
     137                                                                        Color32[] realColors = new Color32[Constants.MAP_CHUNK_SIZE * Constants.MAP_CHUNK_SIZE];
    138138                                                                        for (int i_colors = 0; i_colors < mapColors.Length; i_colors++) {
    139                                                                                 realColors [i_colors] = shortColorToColor (mapColors [i_colors]);
     139                                                                                realColors [i_colors] = shortColorToColor32 (mapColors [i_colors]);
    140140                                                                        }
    141141                                                                        dirtyChunks [curChunkPos] = realColors;
    142142                                                                        if (fullMapTexture != null)
    143                                                                                 fullMapTexture.SetPixels (curFullMapPos.x, curFullMapPos.y, Constants.MAP_CHUNK_SIZE, Constants.MAP_CHUNK_SIZE, realColors);
     143                                                                                fullMapTexture.SetPixels32 (curFullMapPos.x, curFullMapPos.y, Constants.MAP_CHUNK_SIZE, Constants.MAP_CHUNK_SIZE, realColors);
    144144                                                                }
    145145                                                        }
     
    160160                                byte[] array = fullMapTexture.EncodeToPNG ();
    161161                                File.WriteAllBytes (Constants.MAP_DIRECTORY + "/map.png", array);
    162                                 Texture2D.Destroy (fullMapTexture);
     162                                UnityEngine.Object.Destroy (fullMapTexture);
    163163                                fullMapTexture = null;
    164164                        }
     
    337337                }
    338338
     339                private static Color32 shortColorToColor32 (ushort col)
     340                {
     341                        byte r = (byte)(256 * (col >> 10 & 31) / 32);
     342                        byte g = (byte)(256 * (col >> 5 & 31) / 32);
     343                        byte b = (byte)(256 * (col & 31) / 32);
     344                        byte a = 255;
     345                        return new Color32 (r, g, b, a);
     346                }
    339347        }
    340348}
  • binary-improvements/MapRendering/ModInfo.xml

    r236 r238  
    55                <Description value="Render the game map to image map tiles as it is uncovered" />
    66                <Author value="Christian 'Alloc' Illy" />
    7                 <Version value="3" />
     7                <Version value="4" />
    88                <Website value="http://7dtd.illy.bz" />
    99        </ModInfo>
  • binary-improvements/MapRendering/Web/API/GetLandClaims.cs

    r230 r238  
    2929                        result.Add ("claimowners", claimOwners);
    3030
    31                         Dictionary<Vector3i, PersistentPlayerData> d = GameManager.Instance.GetPersistentPlayerList ().positionToLPBlockOwner;
     31                        Dictionary<Vector3i, PersistentPlayerData> d = GameManager.Instance.GetPersistentPlayerList ().m_lpBlockMap;
    3232                        if (d != null) {
    3333                                World w = GameManager.Instance.World;
     
    4545                                        if (steamid.Length == 0 || kvp.Key.PlayerId.Equals (steamid)) {
    4646                                                string curID = kvp.Key.PlayerId;
    47                                                 bool isActive = w.LandClaimIsActive (kvp.Key);
     47                                                bool isActive = w.IsLandProtectionValidForPlayer (kvp.Key);
    4848
    4949                                                JSONObject owner = new JSONObject ();
  • binary-improvements/MapRendering/Web/Web.cs

    r230 r238  
    5656
    5757                                handlers.Add (
     58                                        "/itemicons/",
     59                                        new ItemIconHandler (
     60                                                "/itemicons/",
     61                                                true)
     62                                );
     63
     64                                handlers.Add (
    5865                                        "/map/",
    5966                                        new StaticHandler (
    6067                                                "/map/",
    61                                                 StaticDirectories.GetSaveGameDir () + "/map",
     68                                                GameUtils.GetSaveGameDir () + "/map",
    6269                                                MapRendering.MapRendering.GetTileCache (),
    6370                                                false)
  • binary-improvements/MapRendering/WebAndMapRendering.csproj

    r230 r238  
    5959    <Compile Include="Web\API\GetLandClaims.cs" />
    6060    <Compile Include="Commands\webstat.cs" />
     61    <Compile Include="Web\ItemIconHandler.cs" />
    6162  </ItemGroup>
    6263  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
Note: See TracChangeset for help on using the changeset viewer.