Make include directives work in .mnu files

This commit is contained in:
2020-04-13 21:03:54 +01:00
parent 76bf8438b0
commit dc131939f4
11 changed files with 298 additions and 119 deletions

View File

@@ -17,11 +17,6 @@ import (
func init() {
// FIXME: these need implementing
// Needed for Keyboard.mnu (main -> options -> keyboard)
registerBuilder(menus.TypeDialogue, registerDebug("Unimplemented Dialogue", nil))
// Needed for ChaEquip.mnu
// Needed for MainGameChaos.mnu
registerBuilder(menus.TypeStatusBar, registerDebug("Unimplemented StatusBar", nil))
@@ -51,7 +46,7 @@ type builderFunc func(d *Driver, r *menus.Record) (children []*menus.Record, err
func registerDebug(reason string, onward builderFunc) builderFunc {
return func(d *Driver, r *menus.Record) ([]*menus.Record, error) {
log.Printf("%v: %#+v", reason, r)
log.Printf("%v: %v: %#+v", reason, r.Locator(), r)
if onward == nil {
return r.Children, nil
}
@@ -327,7 +322,7 @@ func (d *Driver) Cursor() (*ebiten.Image, *ebiten.DrawImageOptions, error) {
}
func (d *Driver) addRecord(record *menus.Record) error {
log.Printf("Adding record %v: %#+v", record.Locator(), record)
//log.Printf("Adding record %v: %#+v", record.Locator(), record)
children := record.Children
handler, ok := widgetBuilders[record.Type]