Free Hero Mesh

Check-in [215e7bbe96]
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.
Overview
Comment:Implement shift+leftclick to try to move Hero the number of steps toward where it is clicked, similar to the MESH:Hero.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 215e7bbe96ae594a63780028948a906f5feb7d4c
User & Date: user on 2023-09-03 23:39:52
Other Links: manifest | tags
Context
2023-10-13
04:11
Add the ^? command (which is used only for debugging and may be changed in future). check-in: 8ad7607451 user: user tags: trunk
2023-09-03
23:39
Implement shift+leftclick to try to move Hero the number of steps toward where it is clicked, similar to the MESH:Hero. check-in: 215e7bbe96 user: user tags: trunk
2023-08-29
19:25
Make CTRL+DEL to delete all moves ahead of the current point in the move list, as described in a note in the HEARTS1 puzzle set. check-in: e5df02f6f7 user: user tags: trunk
Changes

Modified default.heromeshrc from [d62877237a] to [5051924df1].

102
103
104
105
106
107
108

109
110
111
112
113
114
115
?.gameKey.alt.O: 'SCRLOCK
?.gameKey.alt.S: 'SHIFT
?.gameKey.alt.T: 'TAB
?.gameKey.alt.Z: 'CTRL

! Game key bindings
?.gameClick.left: select 'xy',$X,$Y where has_xy_input();

?.gameKey.ctrl.D: select '^d',$key_xy;
?.gameKey.ctrl.E: ^E
?.gameKey.ctrl.I: select 'mi',:import_move_list;
?.gameKey.ctrl.K: with a(x,y,z) as (select count() filter (where solved),count() filter (where solved or solvable),count() from levels) select ':m',x||'/'||y||' ('||(100*x/y)||'%)'||iif(z-y,' + '||(z-y),'') from a;
?.gameKey.ctrl.L: ^L
?.gameKey.ctrl.R: select 'go',id from levels order by random() limit 1;
?.gameKey.ctrl.X: select 'mx',:export_move_list;







>







102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
?.gameKey.alt.O: 'SCRLOCK
?.gameKey.alt.S: 'SHIFT
?.gameKey.alt.T: 'TAB
?.gameKey.alt.Z: 'CTRL

! Game key bindings
?.gameClick.left: select 'xy',$X,$Y where has_xy_input();
?.gameClick.shift.left: with p(x,y) as materialized (select o.x,o.y from objects o,classes c on(o.class=c.id) where c.player limit 1), n(n) as (select max(1,abs($X-x),abs($Y-y)) n from p union all select n-1 m from n where m) select ''' ',case sign($X-p.x)*3+sign($Y-p.y) when -4 then 36 when -3 then 37 when -2 then 35 when -1 then 38 when 0 then 12 when 1 then 40 when 2 then 33 when 3 then 39 when 4 then 34 end from p,n where abs($X-p.x)=abs($Y-p.y) or $X=p.x or $Y=p.y;
?.gameKey.ctrl.D: select '^d',$key_xy;
?.gameKey.ctrl.E: ^E
?.gameKey.ctrl.I: select 'mi',:import_move_list;
?.gameKey.ctrl.K: with a(x,y,z) as (select count() filter (where solved),count() filter (where solved or solvable),count() from levels) select ':m',x||'/'||y||' ('||(100*x/y)||'%)'||iif(z-y,' + '||(z-y),'') from a;
?.gameKey.ctrl.L: ^L
?.gameKey.ctrl.R: select 'go',id from levels order by random() limit 1;
?.gameKey.ctrl.X: select 'mx',:export_move_list;