예제 #1
0
        public void writeInteractions(SpriteDefinitionBox s, int index)
        {
            Interaction i = interactions[index];

            switch (i.opcode)
            {
            case 1:
                i.id = s.GetBoxValue(0);
                break;

            case 2:
                i.id = s.GetBoxValue(0);
                i.x  = s.GetBoxValue(1);
                i.y  = s.GetBoxValue(2);
                break;

            case 3:
                i.id = s.GetBoxValue(0);
                break;

            case 4:
                i.id = s.GetBoxValue(0);
                break;

            case 5:
                i.id = s.GetBoxValue(0);
                break;

            case 6:
                i.id     = s.GetBoxValue(0);
                i.value8 = (byte)s.GetBoxValue(1);
                break;

            case 7:
                i.id = s.GetBoxValue(0);
                i.x  = (byte)s.GetBoxValue(1);
                i.y  = (byte)s.GetBoxValue(2);
                if (i.first)
                {
                    i.value8 = (byte)s.GetBoxValue(3);
                }
                break;

            case 8:
                i.id     = s.GetBoxValue(0);
                i.value8 = (byte)s.GetBoxValue(1);
                i.x      = (i.value8 & 0xF) * 16;
                i.y      = (i.value8 >> 4) * 16;
                break;

            case 9:
                i.type   = (byte)s.GetBoxValue(0);
                i.id     = s.GetBoxValue(1);
                i.value8 = (byte)s.GetBoxValue(2);
                i.x      = (byte)s.GetBoxValue(3);
                i.y      = (byte)s.GetBoxValue(4);
                break;

            case 0xA:
                i.value8   = (byte)s.GetBoxValue(0);
                i.id       = (byte)s.GetBoxValue(1);
                i.position = (byte)s.GetBoxValue(2);
                i.x        = (i.position & 0xF) * 16;
                i.y        = (i.position >> 4) * 16;
                break;
            }
            interactions[index] = i;
        }
예제 #2
0
        public void setInteractionDef(Interaction i, ref SpriteDefinitionBox s)
        {
            switch (i.opcode)
            {
            case 1:
                s.SetVisibleBoxes(true, false, false, false, false);
                s.SetBoxValues(0, "ID:", i.id, 65535);
                break;

            case 2:
                s.SetVisibleBoxes(true, true, true, false, false);
                s.SetBoxValues(0, "ID:", i.id, 65535);
                s.SetBoxValues(1, "X:", (byte)i.x, 255);
                s.SetBoxValues(2, "Y:", (byte)i.y, 255);
                break;

            case 3:
                s.SetVisibleBoxes(true, false, false, false, false);
                s.SetBoxValues(0, "ID:", i.id, 65535);
                break;

            case 4:
                s.SetVisibleBoxes(true, false, false, false, false);
                s.SetBoxValues(0, "ID:", i.id, 65535);
                break;

            case 5:
                s.SetVisibleBoxes(true, false, false, false, false);
                s.SetBoxValues(0, "ID:", i.id, 65535);
                break;

            case 6:
                s.SetVisibleBoxes(true, true, false, false, false);
                s.SetBoxValues(0, "ID:", i.id, 65535);
                s.SetBoxValues(1, "Quantity:", i.value8, 255);
                break;

            case 7:
                s.SetVisibleBoxes(true, true, true, i.first, false);
                s.SetBoxValues(0, "ID:", i.id, 65535);
                s.SetBoxValues(1, "X:", (byte)i.x, 255);
                s.SetBoxValues(2, "Y:", (byte)i.y, 255);
                s.SetBoxValues(3, "Quantity:", i.value8, 255);
                break;

            case 8:
                s.SetVisibleBoxes(true, true, false, false, false);
                s.SetBoxValues(0, "ID:", i.id, 65535);
                s.SetBoxValues(1, "Position:", i.value8, 255);
                break;

            case 9:
                /*s.SetVisibleBoxes(true, true, true, false, false);
                 * s.SetBoxValues(0, "ID:", i.id, 65535);
                 * s.SetBoxValues(1, "Unknown:", i.value8, 255);
                 * s.SetBoxValues(2, "Text Set:", i.value8s, 255);*/
                s.SetVisibleBoxes(true, true, true, true, true);
                s.SetBoxValues(0, "Type:", i.type, 255);
                s.SetBoxValues(1, "ID:", i.id, 65535);
                s.SetBoxValues(2, "Unknown:", i.value8, 255);
                s.SetBoxValues(3, "X:", (ushort)i.x, 255);
                s.SetBoxValues(4, "Y:", (ushort)i.y, 255);
                break;

            case 0xA:
                s.SetVisibleBoxes(i.first, true, true, false, false);
                s.SetBoxValues(0, "Flags:", i.value8, 255);
                s.SetBoxValues(1, "Item:", i.id, 255);
                s.SetBoxValues(2, "Position:", i.position, 255);
                break;
            }
        }