public int getSimMeshPackId(int attribId, int optIndex, bool getOffset) { if (attribId == 0 || attribId == 1 || attribId == 8) { int num1 = 0; for (int packId = 0; packId < this.m_packCount; ++packId) { DLCPack dlcPack = this.getDLCPack(packId); int num2 = optIndex - num1; int length = dlcPack.d_simAttribTextureFilenames[attribId][0].Length; if (num2 < length) { return(getOffset ? num2 : packId); } num1 += length; } } int num3 = 0; for (int packId = 0; packId < this.m_packCount; ++packId) { DLCPack dlcPack = this.getDLCPack(packId); int num1 = optIndex - num3; int length = dlcPack.d_simAttribUserIds[attribId].Length; if (num1 < length) { return(getOffset ? num1 : packId); } num3 += length; } return(-1); }
public int getSimTextureIdCount(int attribId, int optIndex) { if (attribId == 0 || attribId == 1 || attribId == 8) { int num = 0; for (int packId = 0; packId < this.m_packCount; ++packId) { DLCPack dlcPack = this.getDLCPack(packId); num += dlcPack.d_simAttribTextureFilenames[attribId][optIndex].Length; } return(num); } int num1 = 0; for (int packId = 0; packId < this.m_packCount; ++packId) { DLCPack dlcPack = this.getDLCPack(packId); int index = optIndex - num1; int length = dlcPack.d_simAttribUserIds[attribId].Length; if (index < length) { return(dlcPack.d_simAttribTextureFilenames[attribId][index].Length); } num1 += length; } return(0); }
public int getSimMeshUserIdCount(int attribId) { int num = 0; for (int packId = 0; packId < this.m_packCount; ++packId) { DLCPack dlcPack = this.getDLCPack(packId); num += dlcPack.d_simAttribUserIds[attribId].Length; } return(num); }
public Image getPackTag(int packId) { DLCPack dlcPack = this.getDLCPack(packId); if (dlcPack.m_tagImage == null) { string str = this.m_packSellIds[packId].ToString(); string name = this.m_rootFolder + DLCManager.pathSeparatorChar + str + DLCManager.pathSeparatorChar + DLCManager.TAGPNG_FILENAME; if (name != null) { Image image = Image.createImage(name); dlcPack.m_tagImage = image; } } return(dlcPack.m_tagImage); }
public void initPacks() { TextManager textManager = AppEngine.getCanvas().getTextManager(); this.loadDLCData(); this.m_totalObjects = 0; this.m_totalItems = 0; for (int packId = 0; packId < this.m_packCount; ++packId) { DLCPack dlcPack = this.loadPack(packId, this.m_packSellIds[packId]); if (dlcPack != null) { this.m_totalObjects += dlcPack.d_objectRecords.Length; this.m_totalItems += dlcPack.d_itemRecords.Length; this.m_packs.Add(dlcPack); } } this.initObjectIndex(); textManager.setCurrentLocale(textManager.getCurrentLocale()); }
public int getSimAttribIdLocal(int attribId, int packId, int index) { int num = 0; for (int packId1 = 0; packId1 < packId; ++packId1) { DLCPack dlcPack = this.getDLCPack(packId1); switch (attribId) { case 0: case 1: case 8: int length1 = dlcPack.d_simAttribTextureFilenames[attribId][0].Length; num += length1; break; default: int length2 = dlcPack.d_simAttribUserIds[attribId].Length; num += length2; break; } } return(num + index); }
private DLCPack loadPack(int packId, int sellId) { AppEngine canvas = AppEngine.getCanvas(); SimWorld simWorld = canvas.getSimWorld(); SimData simData = canvas.getSimData(); TextManager textManager = canvas.getTextManager(); DLCPack dlcPack = new DLCPack(); StringBuffer stringBuffer = new StringBuffer(); stringBuffer.setLength(0); stringBuffer.append(this.m_rootFolder); stringBuffer.append(DLCManager.pathSeparatorChar); stringBuffer.append(sellId); string str1 = stringBuffer.toString(); stringBuffer.setLength(0); stringBuffer.append(str1); stringBuffer.append(DLCManager.pathSeparatorChar); stringBuffer.append(DLCManager.PACKDATA_FILENAME); DataInputStream dis = new DataInputStream(JavaLib.getResourceAsStream(stringBuffer.toString(), false)); stringBuffer.setLength(0); stringBuffer.append(str1); stringBuffer.append(DLCManager.pathSeparatorChar); stringBuffer.append(DLCManager.STRINGS_DLC_FILENAME); string filename = stringBuffer.toString(); int stringPooldId = textManager.addStringsFile(filename); dis.readInt(); dlcPack.d_packId = dis.readInt(); dlcPack.d_packName = RecObject.readXMLtoBinString(dis); string str2 = this.readXMLtoBinFilename(dis, str1); dlcPack.d_objectTextureFilename = str2; string str3 = this.readXMLtoBinFilename(dis, str1); dlcPack.d_objectScrollingTextureFilename = str3; dlcPack.d_objectScrollingTextureTiming = dis.readInt(); string str4 = this.readXMLtoBinFilename(dis, str1); dlcPack.d_simMaleFilename = str4; string str5 = this.readXMLtoBinFilename(dis, str1); dlcPack.d_simFemaleFilename = str5; string str6 = this.readXMLtoBinFilename(dis, str1); dlcPack.d_miniCarModelFilename = str6; string str7 = this.readXMLtoBinFilename(dis, str1); dlcPack.d_miniCarTextureFilename = str7; int length1 = (int)dis.readByte(); short[] numArray1 = new short[length1]; for (int index = 0; index < length1; ++index) { int action = (int)dis.readShort(); numArray1[index] = (short)action; simData.unlockAction(action, packId); } int length2 = (int)dis.readShort(); RecObject[] recObjectArray = new RecObject[length2]; for (int index = 0; index < length2; ++index) { recObjectArray[index] = new RecObject(); recObjectArray[index].readDLC(dis, packId, index, stringPooldId, str1); } int length3 = (int)dis.readByte(); RecItem[] recItemArray = new RecItem[length3]; for (int index = 0; index < length3; ++index) { recItemArray[index] = new RecItem(); recItemArray[index].readDLC(dis, packId, index, stringPooldId, str1); } int length4 = (int)dis.readByte(); short[] numArray2 = new short[length4]; for (int index = 0; index < length4; ++index) { int wallId = (int)dis.readShort(); numArray2[index] = (short)wallId; simWorld.unlockWall(wallId, packId); } int length5 = (int)dis.readByte(); short[] numArray3 = new short[length5]; for (int index = 0; index < length5; ++index) { int floorId = (int)dis.readShort(); numArray3[index] = (short)floorId; simWorld.unlockFloor(floorId, packId); } int num = (int)dis.readByte(); int length6 = 15; short[][] numArray4 = new short[length6][]; int[][] numArray5 = new int[length6][]; string[][][] strArray1 = new string[length6][][]; for (int index1 = 0; index1 < length6; ++index1) { int length7 = (int)dis.readByte(); short[] numArray6 = new short[length7]; int[] numArray7 = new int[length7]; string[][] strArray2 = new string[length7][]; for (int index2 = 0; index2 < length7; ++index2) { numArray6[index2] = (short)dis.readInt(); numArray7[index2] = dis.readInt(); int length8 = (int)dis.readByte(); string[] strArray3 = new string[length8]; for (int index3 = 0; index3 < length8; ++index3) { string str8 = this.readXMLtoBinFilename(dis, str1); strArray3[index3] = str8; } strArray2[index2] = strArray3; } numArray4[index1] = numArray6; numArray5[index1] = numArray7; strArray1[index1] = strArray2; } dlcPack.d_objectRecords = recObjectArray; dlcPack.d_itemRecords = recItemArray; dlcPack.d_simAttribUserIds = numArray4; dlcPack.d_simAttribFlags = numArray5; dlcPack.d_simAttribTextureFilenames = strArray1; return(dlcPack); }