/* This file only contains the changelog for the gui/doc/data, some things could be missing (core changes...)*/
/* This changelog was started when I started to work on TilEm2 */

/*  contra-sh : 
* ---18/08/09---
* - Draw the TI83 
* - Copy from testemu.c : Create the savname, Open the Rom, Get the model, Draw the lcdscreen (no animation for the moment)
* - Function event OnDestroy 
* - Modification of the Makefile (I hope it's good !? If you can control this... thx)
* - LEARNING HOW COMMIT !!   :D
* ---19/08/09---
* - New structure TilemCalcSkin : define the different filenames for the SkinSet (4 pieces).
* - Draw the other models _automatically_ . ;D
* ---20/08/09---
* - Create skin.c
* - Create gui.h (equivalent of tilem.h for the gui directory)
* - Move the code struct in gui.h and TilemCalcSkin* tilem_guess_skin_set(TilemCalc* calc) into skin.c (only one call in the main file to define the skin set) ;D
* - Detect a keyboard event (function keyboard_event() in skin.c actually).No treatment.
* - Detect an event click on mouse
* ---21/08/09---
* - Get the x and y values when click on mouse (now it will be easy to know how key is click on the pixmap, todo in priority : detect right click)
* ---24/08/09---
* - Detect right click.
* ---26/08/09---
* - New function : TilemKeyMap* tilem_guess_key_map(int id).Choose a TilemKeyMap with an id given in parameter. 
* ---27/08/09---
* - Extract the choice of the key_map from the mouse_event function.Execute only one time and it's more properly (and it will be easier to add the possibility to manage many skins and many keymaps).
* ---01/09/09---
* - Choose automatically the key_list. The TilemKeyList is already included in the TilemKeyMap structure...
* - New structure TilemKeyCoord (old TilemKeyMap).TilemKeyMap already contains TilemKeyCoord and TilemKeyList... 
* ---08/09/09---
* - New function tilem_set_coord to change the keypad coord.
* - New file event.c to group the GDKevent handling.
* - New function tilem_set_skin to change the skin.
* ---10/09/09---
* - Add the right click menu :D (0 signal connected without OnDestroy).Largely inspired from Tilem 0.973 and http://www.linux-france.org/article/devl/gtk/gtk_tut-11.html was a great inspiration too. 
* ---21/09/09---
* - Aouch I had seen that the left click doesn't work now! Problem : two callback for the only one button_press_event. (sorry for this version...)
* ---22/09/09---
* - Correction : only one callback now. mouse_event contains the create_menu and the gtk_menu_popup. (lot of time was spent on this problem)*
* ---23/09/09---
* - Change TilemKeyCoord to the 82 stats skin.Change Event.c too.
* ---06/10/09---
* - Beginning the correction : change the method for testing coordinates clicks (one line now) . The coordinates will be imported from a file soon.
* ---20/11/09---
* - After 1 week to learn Tiemu skin format...I have made my own Tilem skin Generator.Inspired from skinedit.It just generate compatible file with 0 coordinates values, and an default lcd coordinates.Not really necessary but very useful for testing and for learning how this f****** skin format works.It will be called skintool for the moment.
* ---27/11/09---
* - After blocking a problem for a week grrr... I succeed to adapt the TiEmu skinloader to TilEm (skinops.c and skinops.h).Little modifications
* ---28/11/09---
* - The mouse_event function now use a SKIN_INFOS struct. So delete TilemKeyCoord struct.
* ---02/12/09---
* - Add a GtkFileSelection (access by right click menu) and try to load another skin with this method.
* ---03/12/09---
* - Create a GLOBAL_SKIN_INFOS that contains a KEY_LIST struct (old TilemKeyList) and a SKIN_INFOS struct.
* ---04/12/09---
* - Delete the TilemKeyCoord, TilemKeyMap, TilemCalcSkin and TilemKeyList structs...
* ---05/12/09---
* - The GtkWidget *pWindow creation was moved from testemu2.c to event.c .The function is called GtkWidget* Draw_Screen(GLOBAL_SKIN_INFOS *gsi);
* ---07/12/09---
* - New feature : TilEm could load a skin by the right_click_menu ! It use GtkWidget* ReDraw_Screen(GLOBAL_SKIN_INFOS *gsi) in event.c. WAOUH !
* ---08/12/09---
* - Move Draw_Screen, ReDraw_Screen and create_menus in a new screen.c file. Change Makefile.
* ---14/12/09---
* - New feature : add a popup rom type selector (radio button) at the start of tilem. Showed but not used for the moment.
* - Connect the thread (no animation yet). Thanks to the "battle programming" 's spirit (hey bob ^^)
* ---18/12/09---
* - Launch the interactivity with emulation core. Could print into the draw area.
* ---09/03/10---
* - Restart working on this program ;D
* ---11/03/10---
* - I finally succeeded to connect the core. To print something into the lcd screen ! WahoOO ! This day is a great day !
* - I succeded to type numbers etc...
* - And now it works very well !! (the "button-release-event" is not catched by pWindow but by pLayout)
* ---15/03/10---
* - Create the scan_click function.Return wich keys was clicked.Print debug infos.
* - Create the debuginfos.h to group the ifdef for debugging. (different level and different type of debug msg)
* ---17/03/10---
* - Create the rom_choose_popup function to replace choose_rom_type.It use GtkDialog instead of GtkWindow.
* - rom_choose_popup _freeze_ the system... and get wich radio button is selected. So it will be easy to create the good emu.calc (and choose the default skin).
* ---18/03/10---
* - Resize the (printed) lcd area (gsi->emu->lcdwin) to fit(perfectly) into the skin.
* - Replace a lot of printf by D****_L*_A* to easily switch what debug infos were printed.
* - Try to make a nice debugging output (frames in ASCII ^^) :p
* - WahooOO , load a skin works perfectly.You can easily change skin _while running_, no error, no warning.
* - Could load automatically the good skin and run the good core using the choose_rom_popup() function and choose_skin_filename() function.
* ---30/03/10---
* - Create skin for following models : 73, 81, 82, 83+ and 84+.
* - Fix bug in tool.c .Modification of tool.c to create radio button more properly.
* ---31/03/10---
* - Create skin for following model : 83 . Based on my own calc (take a foto with my iphone 3GS :D)
* ---01/04/10---
* - New feature : Save calc state and load state. State are stored in a separate dir called sav/ . (using benjamin 's function)
* - New feature : Change view to see only the lcd. I finally choose to add it into a GtkLayout. So you can maximize it, but there was problem with add_event.
* ---02/04/10---
* - Add popup function to just print error message.You must give the message and gsi as parameter, and it run a modal dialog.
* - Some cleaning.
* ---23/04/10---
* - Add config.c file to manage config.dat (create, read, modif etc...).
* ---31/05/10---
* - Start from scratch a totally new debugger :D.Just draw button with nice GtkImages.Actually in essai2 directory.
* - Get and resize pixmaps (png) to 36 * 36 pixels for the debugger.
* ---01/06/10---
* - Add the debugger to tilem. Load registers values.
* - Add a new feature : switch the top level window "borderless".It can be switch by clicking on right click menu entry.
* ---02/06/10---
* - Create the GtkTreeView (debugger).
* - Refresh register on click.
* ---05/08/10---
* - More than one month without working on tilem...Only commit old modif, and skn/README file.
* - Refresh stack on click (number of entry is correct but value not)
* ---06/08/10---
* - Working on a new system of configuration file.The config.dat is now a binary file (as .skn but totally differennt). At start, a CONFIG_INFOS struct is filling, then when clicking on right menu, this struct is modified, then when you stop tilem, config.dat is writed on disc. 
* ---09/08/10---
* - Correction of the SEG_FAULT (never use sizeof(char*) inside malloc, strlen(char*) is better :P).
* ---10/08/10---
* - Working on a new config file called romconfig.dat (inspired from config.dat) using to do not ask for model each time tilem is started.
* - It works :D
* ---12/08/10---
* - NEW feature : Can load a file using libticalcs2 (inspired from the wokr of Benjamin Moody). Basically it works, but it's not OK. (many bugs)
* - Drop the deprecated GtkFileSelection.Use GtkFileChooser instead. :)  
* ---13/08/10---
* - NEW feature : Add the screenshot feature.
* ---17/08/10---
* - Change the ti84plus.skn (old was really ugly).
* - Add doc/ directory : add romconfig_file_format.txt and skinconfig_file_format.txt.
* ---18/08/10---
* - Correct the bug in link.c (unlock mutex ...)
* - Start working on macro handling : Always do the same things to load and launch a file into an emulator become quickly noisy for the programmer (1 time, 10 times, 30 times, 50 times...argh!). Simply record a sequence and play it to test a program, this is one solution. (feature request from Guillaume Hoffman gh@gmail.com).
* ---19/08/10---
* - The macro feature works including loading file (very important). The implementation is very basic (record and read a text file) so many bug could (should?) appear. But I wait to see how it will be use.
* ---20/08/10--
* - Better implementation of GtkFileChooser (to be cleaner).
* - Some work on macro (no seg fault now ^^).
* - Add a Save state... entry in right click menu (no need to stop tilem to save state)
* - Add a Play macro with GtkFileChooser (to play another macro than play.txt).
* - Fix minor bug in GtkFileChooser (forget to init a char* to NULL).
* ---23/08/10---
* - Add a new args handler using getop library (add -m for macro and -k for skin).
* ---06/09/10---
* - NEW feature : could print the lcd content into the terminal. So useless but so funny ;) (feature request from Guillaume Hoffman).
* - The output is saved into a file called lcd_content.txt.
* ---08/09/10---
* - Could choose wich char to display. This not really works as I want, but this is not a really important feature (works 1/2)
* - Add an option at startup (-l). Could now start in skinless mode.
* ---04/10/10---
* - Start working on animated gif. Some research on GIF file format. Oops it will be hard, file is encoded (!).
* ---09/10/10---
* - Creation of 1 little static gif file seems working, but always no LZW encoding.
* ---12/10/10---
* - Finally I decided to use external source to encode the pix data.I use a file called "gifencode.c" by Hans Dinsen-Hansen and Michael A. Mayer. And it works !!!
* ---14/10/10---
* - It works ! It works !!! Tilem2 is now able to generate animated gif, functions are currently working (but totally buggy) and it successfully create animated gif :)
* - Need to be integrated (and lot of debug).I commit it just to save it...Wait another commit to really use this feature :P
* ---01/02/11---
* - Starting to work on a new config file using glibc to do not hard code keypad values.
* - And it works !!!! (but only load one keypad model currently)
* - Add the other models into keylist.ini (but the content is completely false). Change scan_click method (correct a bug) to use kp->nb_of_buttons. Only need to give correct value into the keylist.ini file. For the rest it's seems ok.
* ---07/02/11---
* - Start to work on config.ini. A new generation config file using GKeyFile library (glib). Add some work in essai4 directory.
* ---08/02/11---
* - Remove romconfig.c romconfig.h config.c config.h (handle binary config file). Remove ROM_CONFIG_INFOS and CONFIG_INFOS from gsi.
* - Add a new config.c and config.h file to handle config (last rom used, default skin to load, etc...). It uses glib GKeyFile library.
* - Fix the macro bug pointed by Benjamin.
* ---15/02/11---
* - Replace correct copyright/licence informations into skinops.* .Sorry for the inconvenience.
* ---16/02/11---
* - Fix an important mistake into the gif creator function (palette should be before gif frame information).
* ---18/02/11---
* - Connect a timer to automatically add frame to a animated screenshot (using screenshot box).
* ---14/03/11---
* - Improve default skin choice.
* - Define the skin's basedir into the config.ini. Add a universal getter into config.c .
* ---19/03/11---
* - Add a bouncy progress bar to show the link status (send file).
* - Add a file saver.  
* - Create a new TilemCmdlineArgs structure.
* ---07/04/11---
* - Drop deprecated gtkitemfactory
* - Prepare GT3 migration
* ---10/04/11---
* - Benjamin add a configure script and all associated things (Makefile.in, config.h etc...).
* - Fix dependency and a lot of cleaning.
* - Benjamin add a lot of function to handle data directory.
* ---13/04/11---
* - Completely refactoring the screenshot window. New preview possibility.
* - Add some cool features for screenshot menu (replay from file, preview animation, preview screenshot, 2 gtkfilechooserbutton, change default folders etc...).
* - Remove old pix directory.
* - Benjamin begins to work on new debugger.Add a menu, some basic actions.
* ---15/04/11---
* - Benjamin add a set of function to handle user defined icons. A lot of improvement on the debugger (add step action, pause).
* - Use tilem logo as default background in the screenshot menu, add some pix into the shared data directory.
* - Remove old debugger pix.
* - Add GtkSpinnerAnimation in the screenshot menu. Improve look and feel (fix fill/expand properties for the box, size of the widgets etc...).
* ---17/04/11---
* - Benjamin add a ti83p symbol file which allow to replace flag values by theirs labels in the debugger (and more other things). Debugger looks like very good.
* ---19/04/11---
* - I've added a ti83 symbol file (but it could contains some mistakes...). Flags are correctly printed for my loved ti83 regular ;)
* ---27/04/11---
* - Root window size could be forced (but the ratio could be strand if you specify stanges values ... Because ration is calculated on the start width and heigth).
* ---02/05/11---
* - Add the icons for the right click menu (stock icons currently).
* - Export all menu related code in a separate file called menu.c. It could maybe be done by UI in the future, but it works fine as it for the moment ;)
* - Add drag and drop support for loading files :) :) :) :) :) (code is currently really ugly)
* ---09/05/11---
* - Create a new TilemGuiStateFlags structure ot group the running state of the gui (skinless, recording macro, etc...) and export it into TilemCalcEmu instead GLOBAL_SKIN_INFOS.
* - Completely remove GLOBAL_SKIN_INFOS structure from tilem2.
* ---10/05/11---
* - Change strutures to look like a object oriented model. But in some case it's not really well implemented.
* ---11/05/11---
* - Refactor a lot of gif header's code.
* ---12/05/11---
* - I finally found what's wrong in my gif creation. So I can do multicolor gif now.
* ---14/05/11---
* - We have finally completely reorganized the code to drop GLOBAL_SKIN_INFOS, and rename a lot of stuff including files (emuwin instead screen by example).
* - Benjamin have imported his nice filedlg functions (filedlg.c) from flashbook ui (see it on SF.net). Now use it for the entire code.
* ---14/05/11---
* - Refactor the gif creation to separate clearly which value can be modified, which one are magic number etc... Create separate functions for each task.
* - Benjamin begins to work on animation (instead of writing file while recording it). It provides a wonderful objects to handle screenshot.
* ---15/05/11---
* - Add a doxyfile for generating documentation including callgraphs.
* - Improvement to keybindings (Benjamin).
* ---16/05/11---
* - Add some preliminary work on get var stuff. Only dirlist and allow user to retrieve a var using cmd line but it works. The list is printed in a tree view.
* - Add multi drag and drop feature.
* ---19/05/11---
* - Add functions for animations (Benjamin). Could now save a animation into a gif file.
* - Improve screenshot menu by setting some buttons inactives depending the current state of screenshot creation.
* - Add combo box for size to screenshot menu.
* ---21/05/11---
* - A lot of improvement on screenshot menu (Benjamin). Settings are now independent of screenshot dialog. Default directory for output.
* - Add mnemonic label to screenshot menu buttons (Benjamin).
* ---22/05/11---
* - Benjamin redesign the entire menu popup to use the better GtkAction system. Now there's keybindings for menu and code is really beautiful and shorter.
* - Add grayscale option to screenshot menu (Benjamin).
* ---23/05/11---
* - Save the last rom opened and use it at startup if no rom is given.
* - Allow user to load another rom while running.
* - Refactor the entire macro creation to separate creation from writing as TilemAnimation does. Code is cleaner and simply better.
* ---25/05/11---
* - Add an option to change animation speed. The current printed animation is updated on change.
* ---26/05/11---
* - Add an option to change foreground and background color. No visual feedback.
* ---27/05/11---
* - Correct some stuff (see mailing list to know why). And add a palette setter in animation.c and a visual feedback when foreground/background color are changed.
* - Some other minor improvement.
* ---19/09/11---
* - Restart working on tilem2 after holidays:)
* - Add new file getvar.c to handle get var function (receiving var from calc to PC).
* ---20/09/11---
* - Some improvement to the rcvmenu. 
* ---22/09/11---
* - Add the ti83pfr.skn file. This skin is for ti83plus.fr. The creator is Claude Clerc (aka claudiux). He donates the skin under GPL v3+ licence.Thanks to him !!!
* ---11/10/11---
* - Correct the getvar.c code to work correctly. Add columns to the tree view.
* - Add app receive handling. Set index column invisible.
* ---12/10/11---
* - Some corrections : receive dialog is transcient. Receive dialog is not destroyed when closed just hided. New refresh button to refresh var/app list.
* - Use a separate thread to receive files.
* ---14/10/11---
* - Add a feature to list ti82 and ti85 entries. User must prepare manually the link. Can't save a ti82 or ti85 entry (when selected in the rcvdialog). 
* - Lot of bug, code is really ugly. No error handling. The prepare_for_link_receive is not working. etc...
* ---11/11/11---
* - Benjamin add a totally new prefs dialog. Some unused function (print lcd in terminal by example) are deleted.
* ---12/11/11---
* - Working on ns silent get var.
* ---14/11/11--- 
* - New files : emucore.c and emucore.h .
* - Benjamin adds a totally new core task manager in the gui. Begin to convert the send files function to use it.
* - Use this task manager for macro. There's a little priority problem when a macro load a file. Load a file then run a macro at startup works fine.
* ---15/11/11--- 
* - Receive non silent vars : Benjamin get it working!
* - Remove unused getvar.c file.
* ---16/11/11---
* - Allow multiple selection and multiple receive file. Need to fix a segfault (tomorow... xD).
* ---17/11/11---
* - Repare the file loading inside a macro (it was broken by new task manager).
* - Delete a lot of unused functions/printf.
* - Remove debuginfo.h file.
* ---22/11/11---
* - Benjamin finished the last things left to do on receive dialog. Nice!
* ---25/11/11---
* - New command line parser. Now tilem2 uses g_option from the glib instead of getopt. Easy handling of long options. Do not need to take care about correct parsing. A lot of new options are provided but not implemented !
* - Delete args.c (old _but working well _ cmd line parser using getopt) and TilemCmdlineArgs structure from gui.h.
* - Add the possibility to getvar a file at startup. I had to use a weird solution to do this with task manager. But it's working :)
* ---12/12/11---
* - Benjamin do a lot of improvements on file chooser (filters, ...).
* ---22/12/11---
* - Benjamin fix certificate patching.
* ---19/03/12---
* - Icons are finally commited into the trunk. These pictures are originaly designed by Scott Zeid and modified by me. No .desktop and icons installer for the moment.
* - Scott, thank you a lot for these wonderful pictures!
* ---21/03/12---
* - Adding documentation (LaTeX). The documentation is not finished yet. Lot of pictures added.
* ---24/04/12---
* - Benjamin added some correction to install properly the icons.
* ---27/04/12---
* - Some modifications on the configure script because something was failing on my debian wheezy. It works fine yet (using squeeze and gtk/glib downgraded packages and some minor modifications on configure scripts).
* ---03/05/12---
* - Reverting changes on the configure script because it was not the fault of configure script.
* ---07/05/12---
* - Update doc (add "basic task" chapter).
* - Update .desktop files.
* ---08/05/12---
* - Benjamin added a rule to install in the $HOME directory.
* - Benjamin added MIME type files.
* ---09/05/12---
* - Benjamin added a piece of documentation about "getting ROM".
* ---11/05/12---
* - Add an huge explanation for debugger part into the documentation.
* ---13/05/12---
* - Add some screenshot documentation.
* ---15/05/12---
* - Benjamin add README, THANKS and COPYING file.
* - Update screenshot doc.
*/

