-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathConfig.dhall
117 lines (99 loc) · 2.63 KB
/
Config.dhall
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
let DebugFlag =
< NoTutorial
| NoStory
>
let InputMode =
< NormalMode
| InventoryMode
| StoryDialogMode
| RunicStatusMode
| RunicMode
| SpaceMode
| StoryMode
| MapEditorMode
>
let MoveDirection = < MoveUp | MoveDown | MoveLeft | MoveRight >
let ToggleDebug =
< DrawPickupRange
| ZoomOutScroller
| HideScroller
| ShowDynamicBoundingBoxes
| ShowCollisionShapes
>
let Panel = < GroundPreviewPanel | StatusPanel >
let AnimationKind = < Cast | Thrust | Walk | Slash | Fire | Die >
let AttackMode = < Manual | Auto >
let MapEditorAction =
< PlaceEntity
| NextCategory
| PrevCategory
| SelectNext
| SelectPrev
>
let TutorialAction = < SkipAll | Restart >
let InputAction =
< SetMode : { _1 : InputMode }
| SimpleMove : { _1 : MoveDirection }
| ToggleDebug : { _1 : ToggleDebug }
| DebugRunAnimation : { _1 : AnimationKind }
| ToggleViewPanel : { _1 : Panel }
| PickupAllItems
| DropAllItems
| ExecuteAttack
| SwapWeapon
| SetAttackMode : { _1 : AttackMode }
| StartRunicMode
| SelectItemToPickUp
| SelectItemToMove
| SelectItemMoveTarget
| SelectItemToDrop
| SelectItemToFocus
| UseFocusedItem
| SelectInteraction
| Interact
| FastQuit
| MapEditorAction : { _1 : MapEditorAction }
| TutorialAction : { _1 : TutorialAction }
| NextPage
| Escape
>
--------------------------------------------------------------------------------
let KeymapEntry =
{ mode : Optional InputMode
, keyseq : Text
, action : Optional InputAction
}
-- map bindings for any mode
let mapAny
= λ(s : Text)
→ λ(a : InputAction)
→ { mode = None InputMode, keyseq = s, action = Some a }
let map
= λ(m : InputMode)
→ λ(s : Text)
→ λ(a : InputAction)
→ { mode = Some m, keyseq = s, action = Some a }
let nmap
= λ(s : Text)
→ λ(a : InputAction)
→ map InputMode.NormalMode s a
let unmap
= λ(m : InputMode)
→ λ(s : Text)
→ { mode = Some m, keyseq = s, action = None InputAction }
let bindings = [
-- , nmap "<Up>" (InputAction.SimpleMove { _1 = MoveDirection.MoveUp })
-- , nmap "<Down>" (InputAction.SimpleMove { _1 = MoveDirection.MoveDown })
-- , nmap "<Left>" (InputAction.SimpleMove { _1 = MoveDirection.MoveLeft })
-- , nmap "<Right>" (InputAction.SimpleMove { _1 = MoveDirection.MoveRight })
-- , nmap "<Space>" (InputAction.ExecuteAttack)
] : List KeymapEntry
in
{ runeSet = "japanese"
-- , debugFlags = [DebugFlag.NoTutorial, DebugFlag.NoStory]
-- , debugFlags = [DebugFlag.NoStory]
, debugFlags = [] : List DebugFlag
, clearDefaultBindings = False
, bindings = bindings
, dhallPath = Some "dhall"
}