internal static void ClearInstancedMaps() { int i; for (i = 1; i <= MAX_INSTANCED_MAPS; i++) { S_Resources.CacheResources(i + Constants.MAX_MAPS); InstancedMaps[i].OriginalMap = 0; } }
internal static int CreateInstance(int mapNum) { int i; int slot; if (mapNum <= 0 || mapNum > Constants.MAX_MAPS) { return(-1); } slot = FindFreeInstanceMapSlot(); if (slot == -1) { return(-1); } InstancedMaps[slot].OriginalMap = mapNum; // Copy Map Data modTypes.Map[slot + Constants.MAX_MAPS] = modTypes.Map[mapNum]; // Copy Map Item Data for (i = 1; i <= Constants.MAX_MAP_ITEMS; i++) { modTypes.MapItem[slot + Constants.MAX_MAPS, i] = modTypes.MapItem[mapNum, i]; } // Copy Map NPCs modTypes.MapNpc[slot + Constants.MAX_MAPS] = modTypes.MapNpc[mapNum]; // Re-Cache Resource S_Resources.CacheResources(slot + Constants.MAX_MAPS); if (!(modTypes.Map[slot + Constants.MAX_MAPS].Name == Microsoft.VisualBasic.Constants.vbNullString)) { modTypes.Map[slot + Constants.MAX_MAPS].Name = modTypes.Map[slot + Constants.MAX_MAPS].Name + INSTANCED_MAP_SUFFIX; } return(slot); }