Files
PuzGame/src/game/mini.def
2025-03-13 00:41:38 +01:00

74 lines
1.6 KiB
Modula-2

type PuzPos
{
i8 X
i8 Y
}
type ElemPos
{
PuzPos Position
u8 ElemIdx
}
enum PuzzleElementType(u8)
{
None GameName("Empty") ShortName(" ")
WaterIn GameName("Water Source") ShortName("~+")
WaterGoal GameName("Water Goal") ShortName("~-")
WaterChannel GameName("Water Channel") ShortName("~")
ElectricIn GameName("Electricity Source") ShortName("e+")
ElectricGoal GameName("Electricity Goal") ShortName("e-")
Blocked GameName("Blocked") ShortName("B")
Bridge GameName("Bridge") ShortName("#")
}
type PuzzleNode
{
PuzzleElementType PlacedTypes Arr(4)
}
type StaticPuzzleCard
{
PuzzleNode Nodes Arr(4)
u16 ModelHandle
}
type StaticPuzzleCardHandle
{
u16 Idx Default("UINT16_MAX")
}
type StaticPuzzleData
{
StaticPuzzleCard Cards Arr(64)
}
type PuzzleCardStack
{
StaticPuzzleCardHandle RefCard
u8 MaxAvailableCount
u8 UsedCount
}
type PlacedPuzzleCard
{
StaticPuzzleCardHandle RefCard
PuzPos Position
u8 Rotation
b IsLocked
}
type PuzzleData
{
u8 WidthTiles
u8 HeightTiles
u32 AvailableCardCount
PuzzleCardStack AvailableCards Arr(16)
u32 PlacedCardCount
PlacedPuzzleCard PlacedCards Arr(256)
PuzzleNode PlacedNodes Arr(1024)
u32 GoalPositionCount
ElemPos GoalPositions Arr(16)
str PuzzleName Arr(64)
}