Hi everyone,
this is a continuation of previous LFSStats v1.xx that was developed by Gai-Luron. I've made an updated version v2.0 a long time ago that was submitted in previous thread and it seemed to be used. It had mainly cosmetic fixes at the time as it was otherwise working well. LFS has changed though and the old base code of LFSStats started to be outdated.
Now I wanted to practice and make it usable again so I've started to make an update v2.1 almost 2 months ago. Working on and off on it as I have time.
There are going to be major changes and hopefully a completely new network layer with a working TCP. Swapping the networking to InsimDotNet. Added all fixes I could find that Luron made but none seem to work very well, they work but TCP still does not work flawlessly.
See change log below to see what updates have been made:
(I'm not even sure it has them all, there is unlikely to be a part of code I did not change by the end.)
Command line usage:
I'm not sure what are valid Insim interval times, anybody knows?
The rest of configuration is per usual in a config file.
---
OLD version 2.0 (temporary hosting, same release only config changed to UDP mode):
binary
source
v2.1
I'll get the newer versions on one of the open source project hosting sites sourceforge, github, codeplex or similar once it's done and releasable.
---
The templates are made new from scratch, HTML5 and CSS3, not finished yet with Qualification, Practice and CSS. Here is a preview of LBL colors that LFSStats generates so it's something not changeable in CSS completely.
The colors are continuous and can be redefined in source code easily if needed. Any other colors are only temporary in CSS.
I'm thinking of changing the menu once again, right now it works the same way as Yamakawa's template that is via JavaScript showing and hiding parts of the webpage but it's not very user friendly to be honest. Thinking of switching it to scrolling down and up with the header and menu being fixed on top and possibly avoiding JavaScript.
This is the current HTML5 outline of race statistics template:
If you wish for a different order or grouping in navigation, let me know below.
Update: Splits were changed to sectors.
---
Please keep bug reports for later when v2.1 is released, a lot has been already fixed.
Can't help you with bugs of older versions made by Luron, please report those in his thread.
this is a continuation of previous LFSStats v1.xx that was developed by Gai-Luron. I've made an updated version v2.0 a long time ago that was submitted in previous thread and it seemed to be used. It had mainly cosmetic fixes at the time as it was otherwise working well. LFS has changed though and the old base code of LFSStats started to be outdated.
Now I wanted to practice and make it usable again so I've started to make an update v2.1 almost 2 months ago. Working on and off on it as I have time.
There are going to be major changes and hopefully a completely new network layer with a working TCP. Swapping the networking to InsimDotNet. Added all fixes I could find that Luron made but none seem to work very well, they work but TCP still does not work flawlessly.
See change log below to see what updates have been made:
(I'm not even sure it has them all, there is unlikely to be a part of code I did not change by the end.)
Changelog:
==========
v2.1
----
* Graphs:
* Adding option to generate graph from DLL or EXE and adding Yamakawa's YGraph as an option
* Updated NPlot library to 0.9.10.0 and due to NPlot a .NET 4.0 Client Profile is not enough and a full .NET 4.0 is needed
* Changed default graph config to not output unused images
* Changed default graph background to transparent
* Networking:
* Fixed new Insim flags (AXIS_CLUTCH / THROTTLE, ...), proper names and exporting all of them, including SwapSide
* Changed them to be displayed via CSS3 - easy to modify at any time
* Added changes from Luron's v1.12 in Insim4.cs but TCP is still buggy
* Added changes from Luron's LFSLapper update tcp.cs/GetPackFromInsimServer, it could now support TCP better
* (InSim.Decoder.PIT.PIT) Pit flags text but still needs localization I think
* Ohter:
* Looked up and commented out some unused code
* Fixed {*Conditions} "Sunny,no wind" formatting to "Sunny, no wind"
* Added a few language file substitutions
* LFSStat changed to .NET 4.0 Client Profile and update some outdated code for better performance and conventions
* Cleaner version reporting and maintaining in the project
* Removed #MONO and #WINDOWS from source files since these are supposed to be defined elsewhere, in build/compiler options,
and not in source files, just change the #IFs back to #IF MONO and define #IF at build/compile level not in source files
* Command line options with help text and usage
* Customizable program ouput verbosity
* fixed 45 sec. penalty string
* Config errors are not reported but wrong values are set to default
* IMPORTANT: the application is now multithreaded, uses .NET tasks for exporting the collected data,
removes slight application hang up while exporting, thus main thread = networking runs continuously and exporting is asynchronous
* All command line interaction removed except when config defines to ask for filename, it should not hang up anywhere and should
quit on errors
* Fixed some of the weird exceptions that were happening because Insim does not report well session states, thus things were being
accessed while a session did not even start yet. It should be safe now to browse LFS without LFSStats crashing.
* Cleaner and formatted output to command line and console title
* Exit codes: 0 success, 1 network error, 2 connect timeout, 3 template error
* Fixed LFS World links, HTML link encoding
* Fixed car plate export, HTML encoding
* Updated export of statistics to accomodate template changes = more freedom when making templates
* Rewrote the configuration importer that now contains the loaded settings and comments starting with '#' can be anywhere on a line
* Templates:
* Changed template names to .html for easier processing
* Added back to templates what Yamakawa decided to throw away but LFSStats can export and is useful, like driver swaps!
* LBL integrated in template
* LBL colors are HSLA, partly transparent and colors change continuously not discretely, saturation and alpha can be changed in tempplate
in code easily, want only 2 colors sure, want crazy mixed rainbow with 100 colors and all the way to 2000% best laptime? sure!
Just type it in there.
* More sensible html titles (16 laps of Fern Bay Green)
* Tag start "[-" disables output of that tag content, ends normally with tag end "]", used on [Include in the template for example
* Chat integrated in template
v2.0
----
* Nickname colors - fixed
* Nickname 2 HTML - fixed
* Chat 2 HTML - fixed
* Some minor renaming of templates and generated files
* Changed templates (hope old templates will still work), more space saving, added link to Chat
* When exporting on STAte changed (leave, exit) added option to CFG yes/no/ask to decide if export.
* When exporting on Race STart (race [re]started, mpr [re]starts from begining) added option to CFG yes/no/ask to decide if export.
* Question for name of stats instead of generated time, for STA and RST separatedly
* Globals in templates now work for chat to.
* Chat template and language files updated.
* StartOrder Nickname link to LFSW - fixed
* Dns.Resolve() changed to Dns.GetHostEntry()
* integrate Graph.exe (got original src files for v1.20 )
* integrated as .DLL
* fixed .TSV path
* added option to LFSStats.CFG, generate automatically YES/NO
* fix some tables in templates, no white backround
* update Console.WriteLine() stuff (names, emails, ...)
Command line usage:
LFSStats v2.1
Copyright (C) 2008-2013 Jaroslav Černý
Usage: Statistics [options]
-c, --config (Default: LFSStats.cfg) Config file.
-i, --interval (Default: 100) Insim refresh interval: [1-1000]ms.
-v, --verbose (Default: 1) Verbose level: [0-4] Program, Session, Lap,
Split, Info.
--version Display version information.
--help Display this information.
I'm not sure what are valid Insim interval times, anybody knows?
The rest of configuration is per usual in a config file.
---
OLD version 2.0 (temporary hosting, same release only config changed to UDP mode):
binary
source
v2.1
I'll get the newer versions on one of the open source project hosting sites sourceforge, github, codeplex or similar once it's done and releasable.
---
The templates are made new from scratch, HTML5 and CSS3, not finished yet with Qualification, Practice and CSS. Here is a preview of LBL colors that LFSStats generates so it's something not changeable in CSS completely.
The colors are continuous and can be redefined in source code easily if needed. Any other colors are only temporary in CSS.
I'm thinking of changing the menu once again, right now it works the same way as Yamakawa's template that is via JavaScript showing and hiding parts of the webpage but it's not very user friendly to be honest. Thinking of switching it to scrolling down and up with the header and menu being fixed on top and possibly avoiding JavaScript.
This is the current HTML5 outline of race statistics template:
If you wish for a different order or grouping in navigation, let me know below.
Update: Splits were changed to sectors.
---
Please keep bug reports for later when v2.1 is released, a lot has been already fixed.
Can't help you with bugs of older versions made by Luron, please report those in his thread.