1/* This file only contains the changelog for the gui/doc/data, some things could be missing (core changes...)*/
2/* This changelog was started when I started to work on TilEm2 */
3
4/*  contra-sh :
5* ---18/08/09---
6* - Draw the TI83
7* - Copy from testemu.c : Create the savname, Open the Rom, Get the model, Draw the lcdscreen (no animation for the moment)
8* - Function event OnDestroy
9* - Modification of the Makefile (I hope it's good !? If you can control this... thx)
10* - LEARNING HOW COMMIT !!   :D
11* ---19/08/09---
12* - New structure TilemCalcSkin : define the different filenames for the SkinSet (4 pieces).
13* - Draw the other models _automatically_ . ;D
14* ---20/08/09---
15* - Create skin.c
16* - Create gui.h (equivalent of tilem.h for the gui directory)
17* - 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
18* - Detect a keyboard event (function keyboard_event() in skin.c actually).No treatment.
19* - Detect an event click on mouse
20* ---21/08/09---
21* - 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)
22* ---24/08/09---
23* - Detect right click.
24* ---26/08/09---
25* - New function : TilemKeyMap* tilem_guess_key_map(int id).Choose a TilemKeyMap with an id given in parameter.
26* ---27/08/09---
27* - 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).
28* ---01/09/09---
29* - Choose automatically the key_list. The TilemKeyList is already included in the TilemKeyMap structure...
30* - New structure TilemKeyCoord (old TilemKeyMap).TilemKeyMap already contains TilemKeyCoord and TilemKeyList...
31* ---08/09/09---
32* - New function tilem_set_coord to change the keypad coord.
33* - New file event.c to group the GDKevent handling.
34* - New function tilem_set_skin to change the skin.
35* ---10/09/09---
36* - 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.
37* ---21/09/09---
38* - 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...)
39* ---22/09/09---
40* - Correction : only one callback now. mouse_event contains the create_menu and the gtk_menu_popup. (lot of time was spent on this problem)*
41* ---23/09/09---
42* - Change TilemKeyCoord to the 82 stats skin.Change Event.c too.
43* ---06/10/09---
44* - Beginning the correction : change the method for testing coordinates clicks (one line now) . The coordinates will be imported from a file soon.
45* ---20/11/09---
46* - 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.
47* ---27/11/09---
48* - After blocking a problem for a week grrr... I succeed to adapt the TiEmu skinloader to TilEm (skinops.c and skinops.h).Little modifications
49* ---28/11/09---
50* - The mouse_event function now use a SKIN_INFOS struct. So delete TilemKeyCoord struct.
51* ---02/12/09---
52* - Add a GtkFileSelection (access by right click menu) and try to load another skin with this method.
53* ---03/12/09---
54* - Create a GLOBAL_SKIN_INFOS that contains a KEY_LIST struct (old TilemKeyList) and a SKIN_INFOS struct.
55* ---04/12/09---
56* - Delete the TilemKeyCoord, TilemKeyMap, TilemCalcSkin and TilemKeyList structs...
57* ---05/12/09---
58* - The GtkWidget *pWindow creation was moved from testemu2.c to event.c .The function is called GtkWidget* Draw_Screen(GLOBAL_SKIN_INFOS *gsi);
59* ---07/12/09---
60* - 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 !
61* ---08/12/09---
62* - Move Draw_Screen, ReDraw_Screen and create_menus in a new screen.c file. Change Makefile.
63* ---14/12/09---
64* - New feature : add a popup rom type selector (radio button) at the start of tilem. Showed but not used for the moment.
65* - Connect the thread (no animation yet). Thanks to the "battle programming" 's spirit (hey bob ^^)
66* ---18/12/09---
67* - Launch the interactivity with emulation core. Could print into the draw area.
68* ---09/03/10---
69* - Restart working on this program ;D
70* ---11/03/10---
71* - I finally succeeded to connect the core. To print something into the lcd screen ! WahoOO ! This day is a great day !
72* - I succeded to type numbers etc...
73* - And now it works very well !! (the "button-release-event" is not catched by pWindow but by pLayout)
74* ---15/03/10---
75* - Create the scan_click function.Return wich keys was clicked.Print debug infos.
76* - Create the debuginfos.h to group the ifdef for debugging. (different level and different type of debug msg)
77* ---17/03/10---
78* - Create the rom_choose_popup function to replace choose_rom_type.It use GtkDialog instead of GtkWindow.
79* - 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).
80* ---18/03/10---
81* - Resize the (printed) lcd area (gsi->emu->lcdwin) to fit(perfectly) into the skin.
82* - Replace a lot of printf by D****_L*_A* to easily switch what debug infos were printed.
83* - Try to make a nice debugging output (frames in ASCII ^^) :p
84* - WahooOO , load a skin works perfectly.You can easily change skin _while running_, no error, no warning.
85* - Could load automatically the good skin and run the good core using the choose_rom_popup() function and choose_skin_filename() function.
86* ---30/03/10---
87* - Create skin for following models : 73, 81, 82, 83+ and 84+.
88* - Fix bug in tool.c .Modification of tool.c to create radio button more properly.
89* ---31/03/10---
90* - Create skin for following model : 83 . Based on my own calc (take a foto with my iphone 3GS :D)
91* ---01/04/10---
92* - New feature : Save calc state and load state. State are stored in a separate dir called sav/ . (using benjamin 's function)
93* - 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.
94* ---02/04/10---
95* - Add popup function to just print error message.You must give the message and gsi as parameter, and it run a modal dialog.
96* - Some cleaning.
97* ---23/04/10---
98* - Add config.c file to manage config.dat (create, read, modif etc...).
99* ---31/05/10---
100* - Start from scratch a totally new debugger :D.Just draw button with nice GtkImages.Actually in essai2 directory.
101* - Get and resize pixmaps (png) to 36 * 36 pixels for the debugger.
102* ---01/06/10---
103* - Add the debugger to tilem. Load registers values.
104* - Add a new feature : switch the top level window "borderless".It can be switch by clicking on right click menu entry.
105* ---02/06/10---
106* - Create the GtkTreeView (debugger).
107* - Refresh register on click.
108* ---05/08/10---
109* - More than one month without working on tilem...Only commit old modif, and skn/README file.
110* - Refresh stack on click (number of entry is correct but value not)
111* ---06/08/10---
112* - 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.
113* ---09/08/10---
114* - Correction of the SEG_FAULT (never use sizeof(char*) inside malloc, strlen(char*) is better :P).
115* ---10/08/10---
116* - 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.
117* - It works :D
118* ---12/08/10---
119* - 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)
120* - Drop the deprecated GtkFileSelection.Use GtkFileChooser instead. :)
121* ---13/08/10---
122* - NEW feature : Add the screenshot feature.
123* ---17/08/10---
124* - Change the ti84plus.skn (old was really ugly).
125* - Add doc/ directory : add romconfig_file_format.txt and skinconfig_file_format.txt.
126* ---18/08/10---
127* - Correct the bug in link.c (unlock mutex ...)
128* - 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).
129* ---19/08/10---
130* - 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.
131* ---20/08/10--
132* - Better implementation of GtkFileChooser (to be cleaner).
133* - Some work on macro (no seg fault now ^^).
134* - Add a Save state... entry in right click menu (no need to stop tilem to save state)
135* - Add a Play macro with GtkFileChooser (to play another macro than play.txt).
136* - Fix minor bug in GtkFileChooser (forget to init a char* to NULL).
137* ---23/08/10---
138* - Add a new args handler using getop library (add -m for macro and -k for skin).
139* ---06/09/10---
140* - NEW feature : could print the lcd content into the terminal. So useless but so funny ;) (feature request from Guillaume Hoffman).
141* - The output is saved into a file called lcd_content.txt.
142* ---08/09/10---
143* - Could choose wich char to display. This not really works as I want, but this is not a really important feature (works 1/2)
144* - Add an option at startup (-l). Could now start in skinless mode.
145* ---04/10/10---
146* - Start working on animated gif. Some research on GIF file format. Oops it will be hard, file is encoded (!).
147* ---09/10/10---
148* - Creation of 1 little static gif file seems working, but always no LZW encoding.
149* ---12/10/10---
150* - 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 !!!
151* ---14/10/10---
152* - 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 :)
153* - Need to be integrated (and lot of debug).I commit it just to save it...Wait another commit to really use this feature :P
154* ---01/02/11---
155* - Starting to work on a new config file using glibc to do not hard code keypad values.
156* - And it works !!!! (but only load one keypad model currently)
157* - 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.
158* ---07/02/11---
159* - Start to work on config.ini. A new generation config file using GKeyFile library (glib). Add some work in essai4 directory.
160* ---08/02/11---
161* - Remove romconfig.c romconfig.h config.c config.h (handle binary config file). Remove ROM_CONFIG_INFOS and CONFIG_INFOS from gsi.
162* - 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.
163* - Fix the macro bug pointed by Benjamin.
164* ---15/02/11---
165* - Replace correct copyright/licence informations into skinops.* .Sorry for the inconvenience.
166* ---16/02/11---
167* - Fix an important mistake into the gif creator function (palette should be before gif frame information).
168* ---18/02/11---
169* - Connect a timer to automatically add frame to a animated screenshot (using screenshot box).
170* ---14/03/11---
171* - Improve default skin choice.
172* - Define the skin's basedir into the config.ini. Add a universal getter into config.c .
173* ---19/03/11---
174* - Add a bouncy progress bar to show the link status (send file).
175* - Add a file saver.
176* - Create a new TilemCmdlineArgs structure.
177* ---07/04/11---
178* - Drop deprecated gtkitemfactory
179* - Prepare GT3 migration
180* ---10/04/11---
181* - Benjamin add a configure script and all associated things (Makefile.in, config.h etc...).
182* - Fix dependency and a lot of cleaning.
183* - Benjamin add a lot of function to handle data directory.
184* ---13/04/11---
185* - Completely refactoring the screenshot window. New preview possibility.
186* - Add some cool features for screenshot menu (replay from file, preview animation, preview screenshot, 2 gtkfilechooserbutton, change default folders etc...).
187* - Remove old pix directory.
188* - Benjamin begins to work on new debugger.Add a menu, some basic actions.
189* ---15/04/11---
190* - Benjamin add a set of function to handle user defined icons. A lot of improvement on the debugger (add step action, pause).
191* - Use tilem logo as default background in the screenshot menu, add some pix into the shared data directory.
192* - Remove old debugger pix.
193* - Add GtkSpinnerAnimation in the screenshot menu. Improve look and feel (fix fill/expand properties for the box, size of the widgets etc...).
194* ---17/04/11---
195* - 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.
196* ---19/04/11---
197* - I've added a ti83 symbol file (but it could contains some mistakes...). Flags are correctly printed for my loved ti83 regular ;)
198* ---27/04/11---
199* - 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).
200* ---02/05/11---
201* - Add the icons for the right click menu (stock icons currently).
202* - 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 ;)
203* - Add drag and drop support for loading files :) :) :) :) :) (code is currently really ugly)
204* ---09/05/11---
205* - 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.
206* - Completely remove GLOBAL_SKIN_INFOS structure from tilem2.
207* ---10/05/11---
208* - Change strutures to look like a object oriented model. But in some case it's not really well implemented.
209* ---11/05/11---
210* - Refactor a lot of gif header's code.
211* ---12/05/11---
212* - I finally found what's wrong in my gif creation. So I can do multicolor gif now.
213* ---14/05/11---
214* - 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).
215* - Benjamin have imported his nice filedlg functions (filedlg.c) from flashbook ui (see it on SF.net). Now use it for the entire code.
216* ---14/05/11---
217* - Refactor the gif creation to separate clearly which value can be modified, which one are magic number etc... Create separate functions for each task.
218* - Benjamin begins to work on animation (instead of writing file while recording it). It provides a wonderful objects to handle screenshot.
219* ---15/05/11---
220* - Add a doxyfile for generating documentation including callgraphs.
221* - Improvement to keybindings (Benjamin).
222* ---16/05/11---
223* - 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.
224* - Add multi drag and drop feature.
225* ---19/05/11---
226* - Add functions for animations (Benjamin). Could now save a animation into a gif file.
227* - Improve screenshot menu by setting some buttons inactives depending the current state of screenshot creation.
228* - Add combo box for size to screenshot menu.
229* ---21/05/11---
230* - A lot of improvement on screenshot menu (Benjamin). Settings are now independent of screenshot dialog. Default directory for output.
231* - Add mnemonic label to screenshot menu buttons (Benjamin).
232* ---22/05/11---
233* - 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.
234* - Add grayscale option to screenshot menu (Benjamin).
235* ---23/05/11---
236* - Save the last rom opened and use it at startup if no rom is given.
237* - Allow user to load another rom while running.
238* - Refactor the entire macro creation to separate creation from writing as TilemAnimation does. Code is cleaner and simply better.
239* ---25/05/11---
240* - Add an option to change animation speed. The current printed animation is updated on change.
241* ---26/05/11---
242* - Add an option to change foreground and background color. No visual feedback.
243* ---27/05/11---
244* - 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.
245* - Some other minor improvement.
246* ---19/09/11---
247* - Restart working on tilem2 after holidays:)
248* - Add new file getvar.c to handle get var function (receiving var from calc to PC).
249* ---20/09/11---
250* - Some improvement to the rcvmenu.
251* ---22/09/11---
252* - 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 !!!
253* ---11/10/11---
254* - Correct the getvar.c code to work correctly. Add columns to the tree view.
255* - Add app receive handling. Set index column invisible.
256* ---12/10/11---
257* - Some corrections : receive dialog is transcient. Receive dialog is not destroyed when closed just hided. New refresh button to refresh var/app list.
258* - Use a separate thread to receive files.
259* ---14/10/11---
260* - 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).
261* - Lot of bug, code is really ugly. No error handling. The prepare_for_link_receive is not working. etc...
262* ---11/11/11---
263* - Benjamin add a totally new prefs dialog. Some unused function (print lcd in terminal by example) are deleted.
264* ---12/11/11---
265* - Working on ns silent get var.
266* ---14/11/11---
267* - New files : emucore.c and emucore.h .
268* - Benjamin adds a totally new core task manager in the gui. Begin to convert the send files function to use it.
269* - 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.
270* ---15/11/11---
271* - Receive non silent vars : Benjamin get it working!
272* - Remove unused getvar.c file.
273* ---16/11/11---
274* - Allow multiple selection and multiple receive file. Need to fix a segfault (tomorow... xD).
275* ---17/11/11---
276* - Repare the file loading inside a macro (it was broken by new task manager).
277* - Delete a lot of unused functions/printf.
278* - Remove debuginfo.h file.
279* ---22/11/11---
280* - Benjamin finished the last things left to do on receive dialog. Nice!
281* ---25/11/11---
282* - 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 !
283* - Delete args.c (old _but working well _ cmd line parser using getopt) and TilemCmdlineArgs structure from gui.h.
284* - 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 :)
285* ---12/12/11---
286* - Benjamin do a lot of improvements on file chooser (filters, ...).
287* ---22/12/11---
288* - Benjamin fix certificate patching.
289* ---19/03/12---
290* - 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.
291* - Scott, thank you a lot for these wonderful pictures!
292* ---21/03/12---
293* - Adding documentation (LaTeX). The documentation is not finished yet. Lot of pictures added.
294* ---24/04/12---
295* - Benjamin added some correction to install properly the icons.
296* ---27/04/12---
297* - 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).
298* ---03/05/12---
299* - Reverting changes on the configure script because it was not the fault of configure script.
300* ---07/05/12---
301* - Update doc (add "basic task" chapter).
302* - Update .desktop files.
303* ---08/05/12---
304* - Benjamin added a rule to install in the $HOME directory.
305* - Benjamin added MIME type files.
306* ---09/05/12---
307* - Benjamin added a piece of documentation about "getting ROM".
308* ---11/05/12---
309* - Add an huge explanation for debugger part into the documentation.
310* ---13/05/12---
311* - Add some screenshot documentation.
312* ---15/05/12---
313* - Benjamin add README, THANKS and COPYING file.
314* - Update screenshot doc.
315*/
316
317