Re: CivLog modifications
"Wong TM (Huang Deming)" <[email protected]> Sun, 27 Aug 2000 15:53:56 +0800
| Newsgroups | gmane.games.freeciv.java |
|---|---|
| Message-ID | <[email protected]> |
Hi! Thanks for spending your time on the program(Great multiple displays!). I decided to send you mine latest version of Civlog 0.04. I did a diff(using DJGPP http://www.delorie.com/djgpp/) on the files your sent to me to see the changes. Raimar Falke <mailto:[email protected]> had send me a patch(Civlog-hash.diff as in the zip file) earlier to change the data structure to implement Hashtable as opposed to your HashMap. I timed (using a stop watch) both yours and his implementation on a 500k log and found both to be similar in speed(2+ sec). And since I had not learn Java Collection set yet, I couldn't know which is better(Please enlightens me). * So I hope that you could implement your changes again on the newer Civlog-0.04. (Sorry, as I'am currently lazy/busy ;-) ) * Please change static to non-static, public to private where appropriated (basically change all the stupid mistakes I make). Add your @author(make yourself more involved? :) ). * Send me the files you change (as *.java, same as before. I got quite a big bandwidth, so don't worry about the size of the files) * I will make a diff and see what's the changes. Than I will make some final changes and release it to the public.(Do allow me the honor. Distribution through Freeciv-mailing list and the FreeCiv.org server) > -----Original Message----- > From: Michael Grundel [mailto:[email protected]] > -snip- > > Since my Java-skills are much better than my C-skills I tried to improve it Gee! Just to let you know more about me so that we can communicate more effectively. I know C(a little rusty), C++(very rusty) and Java(base from C++) and some misc scipting languages. I use win98/forte to program CivLog. What's your work environment? -snip- > - You can now select more than one data-attribute and the display is then > split. This makes it easier to compare different strengths/weaknesses. > Just try it and see. great!!!!!! > - some small changes (e.g. each player has the same color all the time, > before he changed color when selecting more players) Raimar Falke done it too. Sorry I didn't upload the newer version earlier. > > I have tried not to interfere with the generated parts, but I currently don't > have Forte, so I cannot be sure - let me know if I broke anything. > Well, feel free to change the code. I will modified it as necessary if it's broken. > The changes I made often had implications on other parts of the code, so > there are changes all over the place (but commented). > Before changing more of your program, I'd like to get some feedback about > what features you intend to add (I could help), what you think of > my additions, etc. Your additions/help is great. The only problem I see is how can we coordinate our efforts. * Currently I thinking of adding a label to the left(no yet after you added the split display) and bottom(years) on the graph. * Change Polyline class to have more functionalities and made more modular. * Change the mouse event in Players' list, so that no need for holding down <ctrl> key to select multiple players.(would you do it?) * Add a Civlog properties class to store user settings.(would you kickstart it?) What you current idea? -snip- > > To make it easier to iterate though the years in CivLogDraw, I also added > an ArrayList which contains the years and is sorted once when all data is > read in. Please change Vector to ArrayList as you find yourself time. -snip- > > If you have questions about my code (or Java) please let me know. It seems > you use static and non-static a little randomly :-) :-) I used static so that the data is global(no good, I don't know how to pass data and back without pointer). Well I hope the you could explain to me how Java pass values in methods. How to distinguish between pass by copy and reference?(I still had the C pointer mindset). > I dont yet understand how you draw the lines (it needs some fixing > on the scale, etc.). I added some comment in CivLogDraw.rescale(). > > Some ideas I have for further development: > scaling: > when you change the start/end dates the scale is not recomputed, this > makes it almost impossible to compare the graph of the first turns > (because it is so small) -> fix: recompute scale when changing the sliders?) I did try to change it. Looking at CivLogFrame.jsldrStartYearStateChanged():- private void jsldrStartYearStateChanged (javax.swing.event.ChangeEvent evt) { //-cut short- jsldrEndYear.setMinimum (value); /** TODO: the label spacing isn't working as expected */ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /** display 50 major ticks, 10 minor ticks */ ^^ ^^ /** The slider did not change to reflect the values */ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ jsldrEndYear.setMajorTickSpacing((int)((jsldrEndYear.getMaximum()-value )/10)); ^^ jsldrEndYear.setMinorTickSpacing((int)((jsldrEndYear.getMaximum()-value )/50)); ^^ //-cut short- } > > show Player-Names in Scroll-List in same color as lines in graph > > Add display the number of > - units lost > - units killed > - money in bank > - money used to buy stuff > - science/tax/happy rates > I guess this needs to be added to the logfile in FreeCiv? > I thinking of hacking the FreeCiv logging function. I know where is the code but .....(time/lazy/busy) And since FreeCiv didn't append the the ScoreLog files everytime you continue a game, I was thinking of either hacking the FreeCiv logging function or add some utilities in CivLog to merge those files together. In the zip file:- contain civlog0.2-0.4.diff so that you can get a rough idea of what had change since 0.02ME. The Changelog does help a little. > > Regards, > Michael > > -- > eMail: [email protected] > PGP key available on request
Civlog-0.04.zip
(application/x-zip-compressed, 57.3 KB) - not displayed