Index: README ================================================================== --- README +++ README @@ -45,10 +45,16 @@ JavaScript runtime is required for compiling these files (you do not need this if you do not wish to modify Free Hero Mesh) * The smallxrm is required. It is included with this package; you must compile smallxrm.c as smallxrm.o (one way is "bash smallxrm.c"). + +* Colour display, with resolution at least 640x480 (preferably more), and +at least 256 colours + +* Keyboard and mouse, with three mouse buttons (the mouse wheel is not +needed and is not used, but it is OK if you have it) The distributor should edit man6/heromesh.str in order to correctly specify the directory containing the documentation files. Before using it, you must create a file called .heromeshrc in your home @@ -58,10 +64,25 @@ If compiled with "./compile p" then it is installed as "bin/heromesh" (relative to the current directory, which should be the directory where the source files are) and installs "bin/current.heromeshrc" as well (if it does not already exist; it won't overwrite an existing file). In this case, it can be used as a "portable app" mode. + +There are optional runtime features that may require other programs in +order to use them, but that you can ignore if you do not use them. Such +optional features include: + +* If you want to import/export pictures, you will need an implementation +of farbfeld. ImageMagick 7 includes an implementation of farbfeld, so if +you have that, then that will work. There are also other implementations, +such as the original "farbfeld" package, and Farbfeld Utilities. + +* If you want to use the clipboard functions, you will need xclip or some +other program to interact the clipboard with stdin/stdout. + +(The X window system is not necessarily required; you can use any system +that can be used with SDL.) === Documentation === Free Hero Mesh includes the following documentation files (plain text): Index: default.heromeshrc ================================================================== --- default.heromeshrc +++ default.heromeshrc @@ -103,15 +103,13 @@ ?.gameKey.alt.S: 'SHIFT ?.gameKey.alt.T: 'TAB ?.gameKey.alt.Z: 'CTRL ! Game key bindings +?.gameKey.ctrl.D: select '^d',$key_xy; ?.gameKey.ctrl.E: ^E ?.gameKey.ctrl.I: select 'mi',:import_move_list; -?.gameKey.ctrl.Q: ^Q -?.gameKey.ctrl.S: ^S -?.gameKey.ctrl.T: ^T ?.gameKey.ctrl.X: select 'mx',:export_move_list; ?.gameClick.right: ^o ?.gameClick.middle: ^d ?.gameKey.kp_enter: =0 ?.gameKey.escape: =0 @@ -126,11 +124,10 @@ ?.gameKey.f5: ^M ?.gameKey.f6: ^< ?.gameKey.f7: ^> ?.gameKey.f8: ^s ?.gameKey.tab: ^I -?.gameKey.alt.D: select '^d',$key_xy; ?.gameKey.alt.G: ^g ?.gameKey.alt.P: ^p ! Editor key bindings ?.editKey.1: select 'mr',0; @@ -148,13 +145,10 @@ ?.editKey.E: ^s ?.editKey.F: with n(n) as (select 65 union all select n+1 h from n where h<=64*pfheight()+65) select '^a',n from n; ?.editKey.R: select 're',substr(:resize,1,instr(:resize,'x')-1),substr(:resize,instr(:resize,'x')+1) where length(:resize); ?.editKey.ctrl.N: ^N ?.editKey.ctrl.P: ^P -?.editKey.ctrl.Q: ^Q -?.editKey.ctrl.S: ^S -?.editKey.ctrl.T: ^T ?.editKey.ctrl.X: select 're',pfwidth(),pfheight(); ?.editKey.space: ^c ?.editKey.return: ^e ?.editKey.f1: select 'im',:Import_Level; ?.editKey.f2: select 'ex',:Export_Level; @@ -165,8 +159,11 @@ ! Global key bindings ?.?.kp_minus: select 'go',-(level()-1) where level()>1; ?.?.kp_plus: select 'go',-(level()+1) where level()0; +?.?.ctrl.Q: ^Q +?.?.ctrl.S: ^S +?.?.ctrl.T: ^T ?.?.shift.ctrl.M: select ':s'; ?.?.f10: select ':x';