CoTerminalApps [now including pacman, frogger]
Revised sound package using binding to OpenAL

========================================================
ToDo:
.) cfrog: 
	.) give random home slot a temporary red Y:
		a waiting female, for extra points.
	.) bkgd arcade music?
=============================================================
=================================================

20feb21:
.) moved OpenAL to ./adabindings/ directory.
	Adjusted scripts.

18feb21:
.) improved hungarian (removed ee parm) from autosolve.
.) added hbox4.

13feb21:
.) changed line 63 in emutils.ads to match limits
	in csok.adb:  maxrows=maxcols=50.


9feb21:
.) updated emsolver, utils, ibox3r, iplr3r

4feb21:
.) updated csok.adb to use hbox4 as 2nd solver.
.) added games/takaken_14.sok

27jan21:
.) updated dpbox

2jan21:
.) updated embedded sok solvers to completely avoid 
	writing files. Should be faster. Affects:
	coterm.csok


9dec20:
.) updated embedded/external soksolvers:
	.) moved timeout test outside inner loop: solver.adb
	.) added <q>-key abort to iplr3r, ibox3r.
	.) other solver improvements.
	.) added "onestep", if time.

6dec20:
.) important fix to emutils/utils

26nov20:
.) updated utils, emutils, solver, iplr3r, ibox3r.
.) verified that "iboxu" is NOT used.

19nov20:
.) added guard statement in snd4ada.adb::playSnd().

#####################################################
## 08nov20 delivery v2.2.0 indi,git,itchi,SF,Jolt  ##
#####################################################

6nov20:
.) complete sound revision; now using OpenAL;
	This required using the 64-bit AdaCore compiler
	on Windows!
.) revised all scripts;
.) pacman nicer with music restored.



#####################################################
## 26oct20 delivery v2.1.0 indi,git,itchi,SF,Jolt  ##
#####################################################

26oct20:
.) ready for new delivery.

25oct20:
.) tried & failed using "oneloop":
	.) killall ends ALL sounds, not just loops (osx,linux)
.) noLoop replaces oneLoop; 
.) elliminate Pacman sound loop.
.) yes, actually pacman is still good without sound loop.


24oct20:
.) fixed cfrog.adb so Draw works better on linux (clear).
.) All now compiles & runs on OSX, Windows, Linux.
.) removed all frameworks from ocmp.sh


21oct20:
.) deleted DLLs libgcc*, libstdc* because from testing
	I found they are NOT needed.
	.) updated win build scripts.
	.) removed redundant libs/win/ by referencing 
		DLLs instead.
.) made all OSX libs static,
	.) removed local frameworks, *.so
	.) changed ./libs/osx_static/ to ./libs/osx/
	.) updated osx build scripts

11oct20:
.) upgraded U.I. of RPN-calc

#####################################################
## 22sep20 delivery v2.0.4 indi,git,itchi,SF,Jolt  ##
#####################################################

21sep20:
.) revised nexus colors;
.) tried allowing <esc> from nexus..NO, fails under OSX!
.) added CLS to rpn before return to nexus.

17sep20:
.) now allow <enter>-key in "nexus" app (as well as the s-key).
	Tested on OSX, Windows too. Ok!

#####################################################
## 23jun20 delivery v2.0.3 indi,git,itchi,SF,Jolt  ##
#####################################################

23jun20:
.) added startup scripts:
	.) gnuterm.sh
	.) osxterm.sh
	.) winterm.bat

22jun20:
.) updated "puzzles.png".
.) added "puzzles.txt" descriptions.
.) added "nexus" app-launcher to select game;
	MUST be run from local directory (fttb).


#####################################################
## 17jun20 delivery v2.0.2 indi,git,itchi,SF,Jolt  ##
#####################################################

16jun20:
.) added "puzzles.png" to help with puzzle selection.
.) improved robustness of handle_key_down,
	cslid,cdd,crush & others;
.) improved border of cslid;
.) simplified colors of cslid;
.) moved cslid goal-location cues to edges for
	less confusing colors; more like cdd;
.) changed borders of cdd to cue goal location;


#####################################################
## 10jun20 delivery v2.0.1 indi,git,itchi,SF,Jolt  ##
#####################################################

09jun20:
.) Repaired very bad behavior due to bad shell commands.
	The screen often appeared blank due to tardy refresh.

31may20:
.) the image "puzzles.png" has a visual of all 10 puzzles.


#####################################################
## 15may20 delivery v2.0.0 indi,git,itchi,SF,Jolt  ##
#####################################################

14may20:
.) made exes also work from their own directory: they must
	now search ./../../* to find needed files from
	Levels, puzzles, sounds, Layout, games.

13may20:
.) removed "bright", which upset colors on linux.
.) added frogger [cfrog] & compiled it.
.) added fanfare to c7,c9,caz,cdd,chio,
	chio4,cpan,crush,cslid,csok
.) compiled/ran on windows with few changes
	including addition of needed DLLs.
.) compiled/ran on OSX with few more changes
	including script ocmp.sh.
.) changed all msgs to std bkgd;
.) fixed obscure colors in c7, cdd;
.) now clearscreen BEFORE exit;
.) rebuilt cfrog on 3 systems after removing "bright",
	which made colors hard to see on linux.


12may20:
.) split this [nuCoterm] off from old coterm;
.) added libs, includes, scripts to support sound;
.) added minipacman [cpac], & compiled it.

.) added cpan;
.) fiddled with colors:
	.) removed set_color(style=>bright) due to unexpected
		changes in the colors actually displayed.
	.) changed colors in cslid;

10may20:
.) added screen notification: setpoint saved, csok;


##########################################################
##### 31aug19 delivery v1.2.4 indi,git,itchi,SF,Jolt #####
##########################################################

30aug19:
.) further minimized use of "erase";  
	saved to ~/src/30aug19save/
	.) always print something at end of draw, 
		even if just blank spaces;
		c9, chio*, cslid, cdd, crush, csok

29aug19:
.) made consistent, yet minimal use of boolean "erase"
	to avoid serious slowdowns in Windows.
.) added Draw() guard boolean "changed" to prevent
	unnecessary redraws...
	So added logic to appropriately define "changed".

28aug19:
.) renamed tput00_h.tput00 to tput00_h.cursorHome.

27aug19:
.) hooked iboxu to "." for csok;

##########################################################
##### 27aug19 delivery v1.2.2 indi,git,itchi,SF,Jolt #####
##########################################################

27aug19:
.) Solved problem of slow response in Windows.
	Rebuilt all.

23aug19:
.) improved sokoban autosolvers (csok);


#################################################################
######### 20aug19 delivery v1.2.1 indi,git,itchi,SF,Jolt ########
#################################################################

20aug19:
.) corrected behavior during & after autosolve.
.) now screen is erased after moving OFF of winning pos.
.) these fixes apply to csok, crush, cslid, cdd.

19aug19:
.) updated soksolvers.

31jul19:
.) ipuller3 replaced by iplr3.

28jul19:
.) updated external & internal sok-solvers to latest.


11jul19: csok:
.) added timeout cmdline parm;
.) updated internal autosolver;


23jun19:
.) moved *.ad? to ./src/;

10jun19:
.) enabled (.)-key to drive autosolver #2;

09jun19:
.) updated splaylist.adb per asok/sban;
.) elliminated use of arena_pools.
.) hid splaytypes.ads, arena* codes.

16mar19:
.) updated to drpn;



#################################################################
######### 30dec18 delivery v1.2.0 indi,git,itchi,SF,Jolt ########
#################################################################

29nov18:
.) created 7z archives.

31nov18:
.) Per advice from Microsoft docs, downgraded request
	from realtime_priority_class to high_priority_class.


##################################################################
######### 30nov18 delivery v1.1.9 indi,git,itchi,SF, Jolt ########
##################################################################


30nov18:
.) Critical Update:  installed realtime_cpp for MsWin;
	Significant improvement in keyboard response.


##########################################################
### 29nov18 delivery v1.1.8 Indie,github,itchi,SF,Jolt ###
##########################################################



24nov18:
.) Corrected autoselect logic error: rush,slid,dd;


20nov18:
.) Fixed memory pools in splaylist;
.) Bumped maxNpuz to 99 for trush,crush;
.) corrected small color problem in cdd;
	Elliminated "speedup" option;


18nov18:
.) updated solvers;  disabled arena_pools...
.) cannot use arena_pools for some reason in any
	embedded solver like fbfs! (works for tsok!)


27aug18:
.) improved coding of fbfsr.adb to use equal function
	to compare two floats.
.) likewise improved bfsr.adb.



15aug18:
.) replaced solver with newest version including puller;
.) csok now uses puller;
.) replaced bfs with new [generalized] bfsl;

12aug18:
.) removed unused parm to test4winner;


##########################################################
### 10aug18 delivery v1.1.7 Indie,github,itchi,SF #######
##########################################################

todo:
.) check function of mswin exes because
	I moved DLLs, tput00.exe to /bin/win/.

8aug18:
.) corrected errors in rush + dirty12 autosolvers:
	fbfsr,bfsr,fbfsl,bfsl.

4jul18:
.) fixed error reading DOS-fmt resume text file: csok.adb
	rush, slid were Ok as is.

11may18: crush
.) added several asserts to ensure that
	1<=selBlock<=dblk
.) also added another movesrem:=0 whenever
	ch = {'a'..'p'}


####################################################################
######### 10dec17 delivery v1.1.6 Indie,github,itchi,SF ###########
####################################################################

9dec17:
.) fixed cdd (did NOT clear screen after abandoning solver)

8dec17:
.) update to force realTime priority in Windows
.) need to check compilation under Windows, OSX.

7dec17:
.) additional corrections to "erase";
.) replaced new_line with put_line(blanks) when
	abandoning solver.
.) needs recompilations.

6dec17:
.) upgraded cpac to match pacman.
.) all games runnable from lower directory now (c9)


####################################################################
######### 5dec17 redelivery v1.1.5 Indie,github,itchi,SF ###########
####################################################################

5dec17:
.) added missing DLLs


####################################################################
######### 3dec17 delivery v1.1.5 Indie,github,itchi,SF ###########
####################################################################

3dec17:
.) now erase [clear screen] after restart/help.


####################################################################
######### 30nov17 delivery v1.1.5 Indie,github,itchi,SF ###########
####################################################################


30nov17:
.) big performance improvement now using
	.) tput00.exe on Windows;
	.) "tput cup 0 0" on Linux, OSX;
	Noticeably less flicker!

30nov17:
.) discovered nice alternative to "clear"...
	"tput cup 0 0" moves cursor without
	erasing screen.


26nov17:
.) now allow data to be either in current directory
	or 2 directories upward;  thus elliminating need to
	create directory links.  This simplifies user setup
	in Windows.



9nov17:
.) now using ada.directories.exists(fname)


####################################################################
######### 29oct17 delivery v1.1.4 Indie,github,itchi,SF ###########
####################################################################

29oct17:
.) fixed help screen (no "h","H");
.) added prep.bat to set symlinks under msWin;

27oct17:
.) added rpn.adb

####################################################################
######### 26oct17 delivery v1.1.4 Indie,github,itchi,SF ###########
####################################################################


24oct17:
.) updated all codes *.adb to handle MSWin arrow keystrokes.
.) now using "cls" for MSwin (rather than "clear").
.) added wbuildall.bat
.) successfully built all windows *.exe;
	refined *.bat.
	Ready for new delivery.




####################################################################
######### 18oct17 delivery v1.1.3 Indie,github,itchi,SF ###########
####################################################################

18oct17:
.) discovered that using the static versions of the
	unusual libraries works well and greatly simplifies
	the build process for both OSX and Linux.  This also
	enhances the likelihood of problem-free execution
	on a wider variety of hardware.

13oct17:
.) amended scripts to reference ./*.sh rather than *.sh
.) pacman:
	.) added wasd, ijkl keys.
	.) added clarifying remarks about keyboard setup.
	.) did some extensive redesign of movement/response.
		Now only enqueue valid moves.
.) added IJKL, WASD keys to c9, csok


####################################################################
######### 5may17 REdelivery v1.1.2 Indie,github,itchi,SF ###########
####################################################################


4may17:
.) recreated missing exe (csok)

3may17:
.) corrected serious error in solver.adb, ibox.adb
	involving win_key.

3may17:
.) solver.adb now check both maxrow, maxcol and sets flag
	rather than raising exception.

######### 2may17 delivery v1.1.2 Indie,github,itchi,SF ###########

1may17:
.) hooked solver(ibox) into csok.
.) made corrections to ibox, solver.

28apr17:
.) hooked fbfs into cslid
.) hooked fbfsr into crush
.) hooked fbfsl into cdd

23apr17:
.) added bfsl.adb allows L-shaped blocks (DD)


######### 7jan17 delivery v1.1.1 Indie,github,itchi,SF ###########

7jan17:
.) Added missing libraries for the Gnu/Linux prebuilt binaries.  They should now run even without installing the GNAT GPL Ada compiler, and without installing the GNATColl libraries.
 

######### 5jan17 delivery v1.1.0 Indie,github,itchi,SF ###########

5jan17:
.) improved build system;
.) now supply osx/linux binaries

######## delivery v1.0.7 [github, itchio, SF] 20aug16 #############

18aug16:
.) created bfsr.adb, a traffic-rush-puzzle autosolver.
.) created bfs.adb, a block-slider-puzzle autosolver.
.) created puller, ibox, two sokoban autosolvers.



15aug:
.) improved pacman per sound version.
.) pacman ghosts turn to "?" when afraid.
.) now randomize in pacman
.) corrected pacman collision logic, pause.

27jul16:
.) adjusted pacman.tick=0.2 for speeup.

######## delivery v1.0.6 [github, itchio, SF] 27jul16 #############


26jul16:
.) added pacman (cpac.adb).  Functions pretty well even in color.

19jul16:
.) added speedup option...only 2 colors gives nicer key response.
	Currently in csok, cdd, crush.

18jul16:
.) added CoTerminal-DirtyDozen, cdd.adb...

16jul16:
.) added CoTerminal-Nine, c9.adb (Grabarchuk Nine).
.) minor improvements in csok.adb::Draw.  Occasionally,
	key response degrades.


######## delivery v1.0.5 [github, itchio, SF] 16jul16 #############


16jul16:
.) critical fix in csok.adb to speedup key response!

14jul16:
.) added initial version of hio, hio4.


12jul16:
.) min-moves now displayed in both crush, cslid


############## delivery v1.0.4 to github 11jul16 ####################


11jul16:
.) fixed logic error in crush.adb

6jul16:
.) added trbfs.cc, splaytree.h to provide sokoban solutions.
.) added bfs.cc to provide cslid solutions.

5jul16:
.) Updated LGDB, HapPeng.

############## delivery v1.0.3 to github 5jul16 ####################

4jul16:
.) Created csok game...seems to work well.


############## delivery v1.0.2 to github 4jul16 ####################

3jul16:
.) added c7, caz with nice colors.

3jul16:
.) Added to LGDB, HappyPenguin(gameTome)

################ redelivery to github 3jul16 ########################

2jul16:
.) repaired error in handle_key.
	Care must be taken, at least on OS-X, to do nothing when
	get_immediate returns an escape code.

################ delivery to github 30jun16 ########################

30jun16:
.) repaired error in ocmp.sh

################ delivery to github 30jun16 ########################

29jun16:
.) created cslid.adb, a block slider.
.) fixed various errors...seems Ok now.
.) cannot handle 1 swapping puzzle.
.) ready for release.

################ delivery to github 28jun16 ########################

27jun16:  terminal-crush:
.) Split off crush.adb to this area because the compilation is distinctive.
.) Just added auto-selection as a fallback mechanism.
.) Checked build on osx.  Works as expected but needs separate script.

