No not really Christophe, its just a DataDecoder with GUI (like your VBS Decoder). A more complete ADGE. ADGE lacks the LAY and correct PAL handling, only taking the 1.0 DM game.dat File. Maybe some bugfixes. Not sure..
And it will use python to be more modern than .NET which was transfered from VB6.
What i already extracted and sorted (and the most main reason) is the LAY1 Structure:
Group #1: General:
Group #2: Screens:
Group #3: Doors:
Group #4: WallsDoorFrame:
Group #5: Stairs:
Group #6: Pits:
Group #7: DisplayCreature:
Group #8: DisplayItemsA:
Group #9: DisplayItemsB:
Group #10: CloudsLightning:
Group #11: WallOrnateText:
Group #12: FloorOrnates:
Group #13: DoorGfx:
Group #14: OpeningDoor:
Group #15: DoorButton:
Group #16: DialogBox:
Group #17: CharacterSheet:
Group #18: Inventory:
Group #19: ScreenTopPart:
Group #20: Magic:
Group #21: Attacks:
Group #22: Movement:
Group #23: ChampionIcons:
General :
{'self': 1, 'align': 9, 'parent': 0, 'x': 320, 'y': 200}
{'self': 2, 'align': 1, 'parent': 1, 'x': 0, 'y': 0}
{'self': 3, 'align': 9, 'parent': 0, 'x': 224, 'y': 136}
{'self': 4, 'align': 1, 'parent': 3, 'x': 0, 'y': 0}
{'self': 5, 'align': 10, 'parent': 2, 'x': 0, 'y': 0}
{'self': 6, 'align': 10, 'parent': 4, 'x': 0, 'y': 0}
{'self': 7, 'align': 1, 'parent': 3, 'x': 0, 'y': 33}
{'self': 8, 'align': 9, 'parent': 2, 'x': 87, 'y': 45}
{'self': 9, 'align': 3, 'parent': 8, 'x': 319, 'y': 168}
{'self': 10, 'align': 9, 'parent': 2, 'x': 87, 'y': 45}
{'self': 11, 'align': 2, 'parent': 10, 'x': 319, 'y': 77}
{'self': 12, 'align': 9, 'parent': 2, 'x': 87, 'y': 33}
{'self': 13, 'align': 3, 'parent': 12, 'x': 319, 'y': 74}
{'self': 14, 'align': 9, 'parent': 2, 'x': 320, 'y': 27}
{'self': 15, 'align': 4, 'parent': 14, 'x': 0, 'y': 199}
{'self': 16, 'align': 9, 'parent': 2, 'x': 87, 'y': 6}
{'self': 17, 'align': 1, 'parent': 16, 'x': 233, 'y': 33}
ALIGNMENTLIST = {
0: {"align": "CENTER", "description": "Center at coordinates (Data words are X and Y coordinates)"},
1: {"align": "TOP_LEFT", "description": "Align top left at coordinates (Data words are X and Y coordinates)"},
2: {"align": "TOP_RIGHT", "description": "Align top right at coordinates (Data words are X and Y coordinates)"},
3: {"align": "BOTTOM_RIGHT", "description": "Align bottom right at coordinates (Data words are X and Y coordinates)"},
4: {"align": "BOTTOM_LEFT", "description": "Align bottom left at coordinates (Data words are X and Y coordinates)"},
5: {"align": "TOP_CENTER", "description": "Align top and center horizontally at coordinates (Data words are X and Y coordinates)"},
6: {"align": "RIGHT_CENTER", "description": "Align right and center vertically at coordinates (Data words are X and Y coordinates)"},
7: {"align": "BOTTOM_CENTER", "description": "Align bottom and center horizontally at coordinates (Data words are X and Y coordinates)"},
8: {"align": "LEFT_CENTER", "description": "Align left and center vertically at coordinates (Data words are X and Y coordinates)"},
9: {"align": "DIMENSIONS", "description": "Dimensions Width x Height (Data words are width and height). Only type that never starts a list."},
# Extended rules with margins
10: {"align": "CENTER_MARGINS", "description": "Center at coordinates with margins applied"},
11: {"align": "TOP_LEFT_MARGINS", "description": "Align top left at coordinates with margins applied"},
12: {"align": "TOP_RIGHT_MARGINS", "description": "Align top right at coordinates with margins applied"},
13: {"align": "BOTTOM_RIGHT_MARGINS", "description": "Align bottom right at coordinates with margins applied"},
14: {"align": "BOTTOM_LEFT_MARGINS", "description": "Align bottom left at coordinates with margins applied"},
15: {"align": "TOP_CENTER_MARGINS", "description": "Align top and center horizontally at coordinates with margins applied"},
16: {"align": "RIGHT_CENTER_MARGINS", "description": "Align right and center vertically at coordinates with margins applied"},
17: {"align": "BOTTOM_CENTER_MARGINS", "description": "Align bottom and center horizontally at coordinates with margins applied"},
18: {"align": "LEFT_CENTER_MARGINS", "description": "Align left and center vertically at coordinates with margins applied"},
}
Not sure if it is for someone really useful. I will only implement DataRead, no DataWrite (RLE decoding of the IMG1/2 Files was hell enough, cant thing of a RLE Encoding..
Oh and while we are at it. I read that i follow the whole list of LAY1 to understand the X and Y + W and H.. but how do i handle the Alignments then? exp:
1 DIMENSIONS, 0, 320, 200
6 LEFT CENTER, 1, 0, 0
10 CENTER, 6, 0, 0
i go from 10 to 6 to 1 .. how do i calc then the Aligns?