Wire up mission objectives dialogue/menu
This commit is contained in:
@@ -4,6 +4,65 @@ package flow
|
|||||||
// to duplicate everything for both?
|
// to duplicate everything for both?
|
||||||
|
|
||||||
func (f *Flow) linkMainGame() {
|
func (f *Flow) linkMainGame() {
|
||||||
|
f.linkMainGameActionMenu()
|
||||||
|
f.linkMainGameInterfaceOptionsMenu()
|
||||||
|
|
||||||
|
// 5: Holding menu
|
||||||
|
// 6: View menu
|
||||||
|
// 7: General character menu
|
||||||
|
f.onClick(mainGame, "7.4", func() { // More button
|
||||||
|
f.setActiveNow(mainGame, "7", false)
|
||||||
|
f.setActiveNow(mainGame, "8", true)
|
||||||
|
})
|
||||||
|
|
||||||
|
// 8: Character stats
|
||||||
|
f.onClick(mainGame, "8.21", func() { // Stat more buttont
|
||||||
|
f.setActiveNow(mainGame, "7", true)
|
||||||
|
f.setActiveNow(mainGame, "8", false)
|
||||||
|
})
|
||||||
|
|
||||||
|
// 9: Visible enemy menu
|
||||||
|
// 10: Friendly squad menu
|
||||||
|
// 11: Psyker spell dialogue
|
||||||
|
// 12: Inventory dialogue
|
||||||
|
f.onClick(mainGame, "12.21", f.hideDialogue(mainGame)) // Exit
|
||||||
|
// 13: exchange menu
|
||||||
|
|
||||||
|
// 14: Map
|
||||||
|
// FIXME: Map should be right-aligned
|
||||||
|
// 14.1: MAP_SPRITE
|
||||||
|
// 14.2: Multiplier button (2x)
|
||||||
|
f.onClick(mainGame, "14.3", f.setActive(mainGame, "14", false))
|
||||||
|
// 14.4: Area
|
||||||
|
|
||||||
|
// FIXME: the display of left and right interface buttons is hidden by these
|
||||||
|
// sprites, because we draw in strict numeric order. Just hide them for now.
|
||||||
|
//
|
||||||
|
// FIXME: The child element is already set to hidden, while the menu itself
|
||||||
|
// is set to active, so maybe this is a hint that menus shouldn't be drawn?
|
||||||
|
//
|
||||||
|
// FIXME: the approach taken by the original binary in resolutions greater
|
||||||
|
// than 640x480 is to draw the menu elements *unscaled*. They are centered,
|
||||||
|
// and the dead space is filled by the "interface wing" sprites in the
|
||||||
|
// background. Should we replicate this, or keep with the current scaling
|
||||||
|
// behaviour? Which is better?
|
||||||
|
//
|
||||||
|
// FIXME: the menu bar should be at the bottom, not top, of the screen
|
||||||
|
f.exit = maybeErr(mainGame, f.setActiveNow(mainGame, "15", false)) // Interface wing left
|
||||||
|
f.exit = maybeErr(mainGame, f.setActiveNow(mainGame, "16", false)) // Interface wing right
|
||||||
|
// 17: Grenade dialogue
|
||||||
|
|
||||||
|
f.onClick(mainGame, "18.12", f.setActive(mainGame, "18", false)) // Info "dialogue"
|
||||||
|
|
||||||
|
// 19: Turn start dialogue
|
||||||
|
// 20: Chat menu
|
||||||
|
|
||||||
|
// Chat list menu box - active by default, hide it
|
||||||
|
f.exit = maybeErr(mainGame, f.setActiveNow(mainGame, "21", false))
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *Flow) linkMainGameActionMenu() {
|
||||||
// 3: Action menu. These are mostly predicated on selected character state
|
// 3: Action menu. These are mostly predicated on selected character state
|
||||||
// 3.1: Aimed shot
|
// 3.1: Aimed shot
|
||||||
// 3.2: Shooting
|
// 3.2: Shooting
|
||||||
@@ -26,51 +85,18 @@ func (f *Flow) linkMainGame() {
|
|||||||
// 3.15: Special action techmarine
|
// 3.15: Special action techmarine
|
||||||
// 3.16: Special action jump pack
|
// 3.16: Special action jump pack
|
||||||
// 3.17: Special action spell
|
// 3.17: Special action spell
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *Flow) linkMainGameInterfaceOptionsMenu() {
|
||||||
// 4: Interface options menu
|
// 4: Interface options menu
|
||||||
f.onClick(mainGame, "4.1", f.setReturningDriver(mainGame, options)) // Options button
|
f.onClick(mainGame, "4.1", f.setReturningDriver(mainGame, options)) // Options button
|
||||||
f.onClick(mainGame, "4.2", f.toggleActive(mainGame, "14")) // Map button
|
f.onClick(mainGame, "4.2", f.toggleActive(mainGame, "14")) // Map button
|
||||||
// 4.3: Mission objectives button
|
|
||||||
|
// FIXME: mission objectives should be shown top-left, not centered
|
||||||
|
f.onClick(mainGame, "4.3", f.toggleActive(mainGame, "18")) // Mission objectives
|
||||||
|
|
||||||
f.onClick(mainGame, "4.4", f.showDialogue(mainGame, "12")) // Inventory
|
f.onClick(mainGame, "4.4", f.showDialogue(mainGame, "12")) // Inventory
|
||||||
// 4.5: Next man
|
// 4.5: Next man
|
||||||
// 4.6: Next enemy
|
// 4.6: Next enemy
|
||||||
// 4.7: Total enemy text
|
// 4.7: Total enemy text
|
||||||
|
|
||||||
// 5: Holding menu
|
|
||||||
// 6: View menu
|
|
||||||
// 7: General character menu
|
|
||||||
// 8: Character stats
|
|
||||||
// 9: Visible enemy menu
|
|
||||||
// 10: Friendly squad menu
|
|
||||||
// 11: Psyker spell dialogue
|
|
||||||
// 12: Inventory dialogue
|
|
||||||
f.onClick(mainGame, "12.21", f.hideDialogue(mainGame)) // Exit
|
|
||||||
// 13: exchange menu
|
|
||||||
|
|
||||||
// 14: Map
|
|
||||||
// 14.1: MAP_SPRITE
|
|
||||||
// 14.2: Multiplier button (2x)
|
|
||||||
f.onClick(mainGame, "14.3", f.setActive(mainGame, "14", false))
|
|
||||||
// 14.4: Area
|
|
||||||
|
|
||||||
// FIXME: the display of left and right interface buttons is hidden by these
|
|
||||||
// sprites, because we draw in strict numeric order. Just hide them for now.
|
|
||||||
//
|
|
||||||
// FIXME: The child element is already set to hidden, while the menu itself
|
|
||||||
// is set to active, so maybe this is a hint that menus shouldn't be drawn?
|
|
||||||
//
|
|
||||||
// FIXME: the approach taken by the original binary in resolutions greater
|
|
||||||
// than 640x480 is to draw the menu elements *unscaled*. They are centered,
|
|
||||||
// and the dead space is filled by the "interface wing" sprites in the
|
|
||||||
// background. Should we replicate this, or keep with the current scaling
|
|
||||||
// behaviour? Which is better?
|
|
||||||
//
|
|
||||||
// FIXME: the menu bar should be at the bottom, not top, of the screen
|
|
||||||
f.exit = maybeErr(mainGame, f.setActiveNow(mainGame, "15", false)) // Interface wing left
|
|
||||||
f.exit = maybeErr(mainGame, f.setActiveNow(mainGame, "16", false)) // Interface wing right
|
|
||||||
// 17: Grenade dialogue
|
|
||||||
// 18: Info dialogue
|
|
||||||
// 19: Turn start dialogue
|
|
||||||
// 20: Chat menu
|
|
||||||
// 21: Chat list menu box
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user