/* 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. */