Example #1
0
        private void readValues(Stream buffer)
        {
            int i = -1;

            do
            {
                int opcode;
                //do {
                opcode = buffer.readUnsignedByte();
                if (opcode == 0)
                {
                    goto breaklabel0;
                }
                if (opcode == 1)
                {
                    int k = buffer.readUnsignedByte();
                    if (k > 0)
                    {
                        if (anIntArray773 == null || lowMem)
                        {
                            anIntArray776 = new int[k];
                            anIntArray773 = new int[k];
                            for (int k1 = 0; k1 < k; k1++)
                            {
                                anIntArray773[k1] = buffer.readUnsignedWord();
                                anIntArray776[k1] = buffer.readUnsignedByte();
                            }
                        }
                        else
                        {
                            buffer.currentOffset += k * 3;
                        }
                    }
                }
                else if (opcode == 2)
                {
                    name = buffer.readNewString();
                }
                else if (opcode == 3)
                {
                    description = buffer.readBytes();
                }
                else if (opcode == 5)
                {
                    int l = buffer.readUnsignedByte();
                    if (l > 0)
                    {
                        if (anIntArray773 == null || lowMem)
                        {
                            anIntArray776 = null;
                            anIntArray773 = new int[l];
                            for (int l1 = 0; l1 < l; l1++)
                            {
                                anIntArray773[l1] = buffer.readUnsignedWord();
                            }
                        }
                        else
                        {
                            buffer.currentOffset += l * 2;
                        }
                    }
                }
                else if (opcode == 14)
                {
                    anInt744 = buffer.readUnsignedByte();
                }
                else if (opcode == 15)
                {
                    anInt761 = buffer.readUnsignedByte();
                }
                else if (opcode == 17)
                {
                    aBoolean767 = false;
                }
                else if (opcode == 18)
                {
                    aBoolean757 = false;
                }
                else if (opcode == 19)
                {
                    hasActions = (buffer.readUnsignedByte() == 1);
                    //i = buffer.readUnsignedByte();
                    //if (i == 1)
                    //	hasActions = true;
                }
                else if (opcode == 21)
                {
                    aBoolean762 = true;
                }
                else if (opcode == 22)
                {
                    aBoolean769 = false;                            //
                }
                else if (opcode == 23)
                {
                    aBoolean764 = true;
                }
                else if (opcode == 24)
                {
                    animId = buffer.readUnsignedWord();
                    if (animId == 65535)
                    {
                        animId = -1;
                    }
                }
                else if (opcode == 28)
                {
                    anInt775 = buffer.readUnsignedByte();
                }
                else if (opcode == 29)
                {
                    aByte737 = (byte)buffer.readSignedByte();
                }
                else if (opcode == 39)
                {
                    aByte742 = (byte)buffer.readSignedByte();
                }
                else if (opcode >= 30 && opcode < 39)
                {
                    if (actions == null)
                    {
                        actions = new String[10];
                    }
                    actions[opcode - 30] = buffer.readNewString();
                    if (actions[opcode - 30].ToLower().Equals("hidden"))
                    {
                        actions[opcode - 30] = null;
                    }
                }
                else if (opcode == 40)
                {
                    int i1 = buffer.readUnsignedByte();
                    modifiedModelColors = new int[i1];
                    originalModelColors = new int[i1];
                    for (int i2 = 0; i2 < i1; i2++)
                    {
                        modifiedModelColors[i2] = buffer.readUnsignedWord();
                        originalModelColors[i2] = buffer.readUnsignedWord();
                    }
                }
                else if (opcode == 41)
                {
                    int k = buffer.readUnsignedByte();
                    //retextureSrc = new int[k];
                    //retextureDst = new int[k];
                    for (int k1 = 0; k1 < k; k1++)
                    {
                        /*retextureSrc[k1] = */ buffer.readUnsignedWord();
                        /*retextureDst[k1] = */ buffer.readUnsignedWord();
                    }
                }

                else if (opcode == 60)
                {
                    anInt746 = buffer.readUnsignedWord();
                }
                else if (opcode == 62)
                {
                    aBoolean751 = true;
                }
                else if (opcode == 64)
                {
                    aBoolean779 = false;
                }
                else if (opcode == 65)
                {
                    anInt748 = buffer.readUnsignedWord();
                }
                else if (opcode == 66)
                {
                    anInt772 = buffer.readUnsignedWord();
                }
                else if (opcode == 67)
                {
                    anInt740 = buffer.readUnsignedWord();
                }
                else if (opcode == 68)
                {
                    anInt758 = buffer.readUnsignedWord();
                }
                else if (opcode == 69)
                {
                    anInt768 = buffer.readUnsignedByte();
                }
                else if (opcode == 70)
                {
                    anInt738 = buffer.readSignedWord();
                }
                else if (opcode == 71)
                {
                    anInt745 = buffer.readSignedWord();
                }
                else if (opcode == 72)
                {
                    anInt783 = buffer.readSignedWord();
                }
                else if (opcode == 73)
                {
                    aBoolean736 = true;
                }
                else if (opcode == 74)
                {
                    aBoolean766 = true;
                }
                else if (opcode == 75)
                {
                    anInt760 = buffer.readUnsignedByte();
                }
                else if (opcode == 77)
                {
                    anInt774 = buffer.readUnsignedWord();
                    if (anInt774 == 65535)
                    {
                        anInt774 = -1;
                    }
                    anInt749 = buffer.readUnsignedWord();
                    if (anInt749 == 65535)
                    {
                        anInt749 = -1;
                    }
                    int j1 = buffer.readUnsignedByte();
                    childrenIDs = new int[j1 + 1];
                    for (int j2 = 0; j2 <= j1; j2++)
                    {
                        childrenIDs[j2] = buffer.readUnsignedWord();
                        if (childrenIDs[j2] == 65535)
                        {
                            childrenIDs[j2] = -1;
                        }
                    }
                }
                else if (78 == opcode)
                {
                    /*audioType = */ buffer.readUnsignedWord();
                    /*anInt7406 = */ buffer.readUnsignedByte();
                }
                else if (opcode == 79)
                {
                    /*anInt7409 = */ buffer.readUnsignedWord();
                    /*anInt7410 = */ buffer.readUnsignedWord();
                    /*anInt7406 = */ buffer.readUnsignedByte();
                    int i_36_ = buffer.readUnsignedByte();
                    //audioTracks = new int[i_36_];
                    for (int i_37_ = 0; i_37_ < i_36_; i_37_++)
                    {
                        /*audioTracks[i_37_] = */ buffer.readUnsignedWord();
                    }
                }
                else if (81 == opcode)
                {
                    //aByte7368 = (byte) 2;
                    /*anInt7369 = */ buffer.readUnsignedByte();
                }
//					} else {
//						if (opcode != 75)
//							continue;
//						anInt760 = buffer.readUnsignedByte();
//					}
//					continue;
                //} while (true);
//				anInt774 = buffer.readUnsignedWord();
//				if (anInt774 == 65535)
//					anInt774 = -1;
//				anInt749 = buffer.readUnsignedWord();
//				if (anInt749 == 65535)
//					anInt749 = -1;
//				int j1 = buffer.readUnsignedByte();
//				childrenIDs = new int[j1 + 1];
//				for (int j2 = 0; j2 <= j1; j2++) {
//					childrenIDs[j2] = buffer.readUnsignedWord();
//					if (childrenIDs[j2] == 65535)
//						childrenIDs[j2] = -1;
//				}
            } while (true);
breaklabel0:
            if (i == -1)
            {
                hasActions = anIntArray773 != null && (anIntArray776 == null || anIntArray776[0] == 10);
                if (actions != null)
                {
                    hasActions = true;
                }
            }
            if (aBoolean766)
            {
                aBoolean767 = false;
                aBoolean757 = false;
            }
            if (anInt760 == -1)
            {
                anInt760 = aBoolean767 ? 1 : 0;
            }
        }