AETR tachograph v.1.0 released!
Version 2.0 with ATS support (Hours of Service regulations are issued by the Federal Motor 
Carrier Safety Administration (FMCSA)) is under construction!

======================================================================================================

v1.0

AETR rules control completed. Fixed bugs in calculations of reduced weekly rest 
compensations.

Fixed bug with incorrect indication of current rest time on first plugin start.

Fixed bugs with backup copies of ini-file after save game load.

New parameter in ini-file
profile_name
is used in name-generation of backup copies of ini-file.

New parameter in ini-file
make_backup_on_startup
Backup copy will be created every tiime at startup when value is 1. 
It can be useful to save ini-file data when you will load wrong profile.

Status string can be divided by 5 lines. Added new params:
drive_mask0 - drive_mask4
rest_mask0 - rest_mask4

clear_minicon is obsolete. you can override it's functions with a new
drive_mask, rest_mask with a value "_" (will be changed for " ").
drive_mask, rest_mask with empty values are ignoring.

======================================================================================================

v0.9b

Added analyz of weekly rests and compensations for reduced weekly rests. 
Added rate settings for messages.
Added user-defined ststus string.

Default status string of 0.9beta:

Drive:
00:30:30.947 : TACHOGRAPH: (o):(01:53); tm:(th 05:10); st:(th 07:47); ps:(02:37); dl:(04:34), ex:(1); wk:(11:32)
(o):(01:53) - status (sign of the "steering wheel" ;) time of current continuous driving (without a pause)
tm:(th 05:10) - current time
st:(th 07:47) - time of next rest stop
ps:(02:37) - time left to drive to 45-min pause
dl:(04:34) - time left to drive to daily rest
ex:(1) - count of unused extended daily drives (10hrs)
wk:(11:32) - time left to drive to weekly rest

Rest:
00:31:11.751 : TACHOGRAPH: (h):(00:01); tm:(th 05:12); ps:(02:35); dl:(04:32), ex:(1), rd:(1); wk:(11:30), rd:(1); wk1:(30:29), wk2:(78:30), wk1cmp:(00:00), wk2cmp:(00:00)
(h):(00:01) - status (sign of the "bed" ;) time of current rest
tm:(th 05:12) - current time
ps:(02:35) - time left to drive to 45-min pause
dl:(04:32) - time left to drive to daily rest
ex:(1) - count of unused extended daily drives (10hrs)
rd:(1) - count of unused reduced daily rests (9hrs)
wk:(11:30) - time left to drive to weekly rest
rd:(1) - count of unused reduced weekly rests (24hrs)
wk1:(30:29) - last week driving time
wk2:(78:30) - last 2-week driving time
wk1cmp:(00:00) - time of weekly rest to compensate from previous week
wk2cmp:(00:00) - time of weekly rest to compensate from pre-previous week (you need to use it till the end of current week)

Status string format is user-defined now! You can see default ststus string inside telemetry_tac.log
For adjust settings, you have to create a new section in ini-file (if it still don't exists):

[settings]
drive_mask=TACHOGRAPH: (o):(#PAUSE_DRIVE#); tm:(#CURRENT_TIME#); st:(#NEXT_STOP_TIME#); ps:(#PAUSE_STOP#); dl:(#DAILY_STOP#), ex:(#DAILY_EXTENDED#); wk:(#WEEKLY_STOP#)
rest_mask=TACHOGRAPH: (h):(#CURRENT_REST_TIME#); tm:(#CURRENT_TIME#); ps:(#PAUSE_STOP#); dl:(#DAILY_STOP#), ex:(#DAILY_EXTENDED#), rd:(#DAILY_REDUCED#); wk:(#WEEKLY_STOP#), rd:(#WEEKLY_REDUCED#); wk1:(#1_WEEK_DRIVE#), wk2:(#2_WEEK_DRIVE#), wk1cmp:(#WEEK_1_COMPENSATION#), wk2cmp:(#WEEK_2_COMPENSATION#)

Available tags (they will be replaced by proper calculated values):
#CURRENT_TIME#
#CURRENT_REST_TIME#
#NEXT_STOP_TIME#
#PAUSE_STOP#
#PAUSE_DRIVE#
#DAILY_STOP#
#DAILY_DRIVE#
#DAILY_EXTENDED#
#DAILY_REDUCED#
#WEEKLY_STOP#
#1_WEEK_DRIVE#
#2_WEEK_DRIVE#
#WEEK_1_COMPENSATION#
#WEEK_2_COMPENSATION#
#WEEKLY_REDUCED#
you can type anything you want as other text (but be careful with special symbols, of course)

Added messages rate params (t adjust defaults, just include 'em to the same [settings] section and edit values):
warning_rate=10
white messages rate (every minute that is fully devided by 10:  :00, :10, etc.)
warning_rate1=5
yellow messages & first sound rate (every minute that is fully devided by 5:  :00, :05, etc.)
warning_rate2=1
red messages & second sound rate (every minute)

Added "minicon clear" param that puts 4 empty strings to game log before each tacho string (turned on by default):
clear_minicon=1

Fixed some bugsin calculations

AETRViewer.exe - is a program to browse your ini-files as tachograms.

======================================================================================================

v0.2a

Log message example 0.2:

00:00:42.745 : TACHOGRAPH INFO (we 23:52): short rest stop in 04:30 / daily rest stop in 09:00 (+0 x 10:00 drive; +1 x 9:00 rest) / weekly rest stop in 18:02

(we 23:52) - current game time and weekday
+0 x 10:00 drive - how many days when you can drive 10 hours left
+1 x 9:00 rest - how many days when you can rest 9 hours left

Added full control of daily rest duration (according to AETR rules)
Added full control of 10-hours driving days (according to AETR rules)
Added full control of driving hours during every 1 & 2 weeks (according to AETR rules)
Control of weekly rest duration is under construction.

Added sound for yellow & red messages (short sound once per game minute)
files tac1.wav, tac2.wav

You can adjust appearance time of red & yellow messages by adding
this section to ini-file
[settings]
warning_time1=60
warning_time2=30
(current default values are listed).

Still not fixed.
After a short driving time (<1 game minute), if you will go to long rest too fast
(by pressing Enter in a rest places on map, or typing g_set_time command too fast)
this rest time may mark as a driving time. To pass it, wait 1-2 game minutes until
pressing Enter or typing g_set_time.

======================================================================================================

v0.1a

First small step to drive by AETR regulations in game.

The only way to get feedback from plugins to player is game.log.txt messages.
This plugin puts there a messages every game minute:
00:58:01.403 : <WARNING> TACHOGRAPH INFO: short rest stop in 00:19 / daily rest stop in 01:50 / weekly rest stop in 00:00 

For getting theese messages right in the game, you must start the game with a consoles 
enabled. Edit in tthe main game's config.cfg values:
uset g_developer "1"
uset g_minicon "1"
uset g_console "1"

Miniconsole will show tacho messages, main console will give you ability to rest by 
g_set_time <hh> <mm>
command.

Turn off fatigue simulation in game.

"Driving time" is time when truck
- moves forward/backward faster than 1 m/s
or
- engine is on and parking brake is off (for rest with working engine, but i don't sure 
it's correct).

This base  v0.1a controls only short rest stops (45 or 15+30 minutes in 4.5 hrs of driving) 
and daily rest stops (11 or 3+9 hrs of rest after 9 hrs of daily driving).
Other rules will be added later. Weekly rest stop is always 0:00 in 0.1a, just ignore it.

Plugin doesn't shows how many time you have to rest, it shows how many time you can drive. 
If you don't sure about how you have to rest, move time forward step-by-step (1 hr, for 
example) and soon you'll see increased values of allowed driving hours.

Be careful with stored info. Plugin doesn't work with different profiles (there is no values 
in telemetry library for getting current profile name). Thus if you want drive on another 
profile, you have to save somewhere telemetry_tac.ini for old profile. New profiles can delete 
info from old profile's telemetry_tac.ini because of lower absolute current game time.

Plugin works stable if you will load save made a not long ago from current moment. Older saves 
will delete stored tachograph info.

======================================================================================================

Installation:

Put plugin & wav files to 
"..\Euro Truck Simulator 2\bin\win_x86\plugins\" for 32-bit game version
"..\Euro Truck Simulator 2\bin\win_x64\plugins\" for 64-bit game version
if Plugins folder doesn't exists - create it.
If plugin file located correctly - you will see a warning message when starting the game.

Required:
MS VC++ Redistributable 2012 (exactly this version!) x86/x64.
