//***************************
//    SECOND WIND WIDE
//          0.70
//***************************
- Cockpit modding has been adapted for WIDE. For further information, read scripting.txt


//***************************
//    SECOND WIND WIDE
//          0.66
//***************************
- NEW CFG SETTINGS: LOD (level of detail)
    - view_highLOD              default: 3
    - view_mediumLOD            default: 5

    view_highLOD sets where the high LOD ends
    view_mediumLOD sets where the medium LOD ends

    The range is
        high level of detail:   0 - view_highLOD
        medium level of detail: view_highLOD - view_mediumLOD
        low level of detail:    view_mediumLOD - view_renderDistance

    IMPORTANT: High-detail tracks may crash if high/medium LOD is set too high. I recommend testing a track before you start a serious a race on it.

- NEW HOT KEYS:
    - Decrease high LOD: CTRL+F5
    - Increase high LOD: CTRL+F6

    - Decrease medium LOD: CTRL+F7
    - Increase medium LOD: CTRL+F8

    IMPORTANT: The LOD distance changed through the hotkeys won't get saved to the config file!
    TIP: You can change the LOD distances while in the menu too. In that case, the feedback is shown in the console.


//***************************
//    SECOND WIND WIDE
//          0.65
//***************************
- NEW CFG SETTING: view_renderDistance [1-20]       default: 8
    IMPORTANT: 20 seems to be stable but some tracks may crash. I recommend testing a track before you start a serious race on it with the render distance maxed out!

- NEW HOT KEYS: 
    - Increase view distance: CTRL+F11
    - Decrease view distance: CTRL+F10

    IMPORTANT: The view distance changed through the hotkeys won't get saved to the config file!
    TIP: You can change the view distance while in the menu too. In that case, the feedback is shown in the console.

- a CTD patch causing AI speed up removed until further investigation


//***************************
//    SECOND WIND WIDE
//          0.62
//***************************
- fixed crash -1073741819 that occurred when analogue controls were configured but no device was connected which made the game expect keyboard settings
- fixed a bug where the engine physics parameters were selected based on the selected chassis, not the engine (thanks to SK Chow)
- potential CTD fixes (thanks to GPLaps)


//***************************
//    SECOND WIND WIDE
//          0.6
//***************************
- ULTRA RESOLUTION MODE HAS BEEN ADDED
- NEW CFG CMD: vid_resolution   high|ULTRA
- With the ULTRA mode on, 16:9 upgrades to 1920x960 (16:8 actually, not 16:9), and 24:9 upgrades to 2560x960
- IMPORTANT: If you're low on performance and not planning to use the ULTRA mode, stick to the old version as this version is slightly slower even without ULTRA turned on

- ISSUES with ULTRA:
    - In the F10 external view modes, you may see garbage rendered on the sides occasionally.
    - In 24:9, there's a black bar at the lower edges.


//***************************
//    SECOND WIND WIDE
//          0.54
//***************************
- joy_remapKey key fixes


//***************************
//    SECOND WIND WIDE
//          0.532
//***************************
- in fullscreen mode the overlay now fetches the monitor's resolution instead of querying the client rect of the game, a workaround for those who don't receive the correct window info for some reason


//***************************
//    SECOND WIND WIDE
//          0.53
//***************************
- drivers2.txt now won't be overwritten
- overlapping/cut-off messages fixed
- internal resolution forced to 640x480 as having it on other settings could cause issues


//***************************
//    SECOND WIND WIDE
//          0.521
//***************************
- joy_remapKey key fixes


//***************************
//    SECOND WIND WIDE
//           0.52
//***************************
- fixed special keys not working with joy_remapKey
- forced reported number of axes to always be 6 so that all of them show up in calibration regardless of their position, let me know if this allows out of order axes to be calibrated and bound


//***************************
//    SECOND WIND WIDE
//           0.51
//***************************
- intro is disabled as it breaks the game in widescreen


//***************************
//    SECOND WIND WIDE
//           0.50
//***************************
- WIDESCREEN AND "HIGH-RES" SUPPORT

WARNING: THIS RELEASE BREAKS SOME OF THE THINGS LISTED THROUGHOUT THE CHANGELOG!

    This is the widescreen and "high-res" version of secondwind. This is not optional in this release. If you would like to keep the original
rendering and performance and have all the features listed below still work fine, donwload the basic version of secondwind.

- NEW CFG CMD: - vid_aspectRatio 4:3|16:9|24:9

    The resolutions for the aspect ratios are:
        - 4:3  = 1280x960
        - 16:9 = 1280x720
        - 24:9 = 1280x480

    vid_aspectRatio will set these window sizes by defualt, vid_windowSize will overwrite it.

- NEW CFG CMD: - view_mirrorAngle     Tilts the rear view mirror between -30 and 30 degrees. Default: 0
- IMPORTANT: vid_rearViewMirrorFov is renamed to view_mirrorFov 

- NEW CFG CMD: - view_cockpitColor    [0-255][0-255][0-255]
- NEW CFG CMD: - view_mirrorColor     [0-255][0-255][0-255]
- NEW CFG CMD: - view_LCDFontColor    [0-255][0-255][0-255]

- NEW CFG CMD: - vid_cockpitBilinearFiltering

- IN-BUILT SCREENSHOT OPTION: CTRL+F12


---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
//***************************
// WINDY GETS A SECOND WIND
//          0.41
//***************************
- small version of the rear-view mirror added, accessible with vid_drawRearViewMirror 2
- flag animation is now moved down when the mirror is turned on
- session timer is moved to the side if the mirror is turned on
- "game paused" appearing in the mirror too removed


//***************************
// WINDY GETS A SECOND WIND
//          0.40
//***************************
- ADDED VIRTUAL 3D REAR-VIEW MIRROR:
    It's not perfect (yet), I just wanted to make a release to have something to show for my new grey hairs. It covers up the flag animation which I temporarily
solved by making the mirror transparent when a flag is out. I'm hoping I can figure out how to move the flag graphics downwards in the future. It's still usable
though, what is not really usuble as of now is the F-key info box which is partially covered. I'd like to move it out of the game's actual screen into the 16:9 area
to have more room but I don't know how feasable that is. Alternatively an option to scale down the mirror and have the info box visible in 4:3 is also in the plans.
Keep in mind, the rear-view mirror requires another render of the game and every extra render halves your fps.

    NEW CFG CMD: vid_drawRearViewMirror               0 = off | 1 = large | 2 = small
    NEW CFG CMD: view_mirrorFov                       A value between 100000 and 300000. Default: 200000

- ADDED ADJUSTABLE COCKPIT HEIGHT
    NEW CFG CMD: view_raiseCockpitHeight              A value between 0 and 2000.

Fixes:
- flag animation speed fixed
- look around roll and pitch fixed


//***************************
// WINDY GETS A SECOND WIND
//          0.38
//***************************
- [BETA] COCKPIT OVERLAY SCRIPTING: Added lua scripting for cockpit overlays. As of now there isn't a user-friendly way to load it,
    you have to use the -cockpit command line argument followed by the directory name of the cockpit. More information in scripting.txt
- NEW CFG CMD: vid_unlockDrawAheadBehind            Automatically unlocks the car drawing limit in the game, no need to touch the values in the menu.
- NEW CFG CMD: mouse_showCursorInFullscreen


//***************************
// WINDY GETS A SECOND WIND
//          0.36
//***************************
- NEW CFG CMD: menu_scaleWindowsUI            Attempts to scale up the Windows UI. It's neither pretty, nor consistent, nor does it work with everything.
- added command line argument -nocheck to skip exe integrity checking
- new possible config file: memEdit.cfg, see syntax below
- added "edit" inspector command for memory editing


//***************************
// WINDY GETS A SECOND WIND
//          0.34
//***************************
- compatibility with GPLaps' FFB app has been added, available at https://github.com/gplaps/ICR2FFB
- keys can now be ramapped onto pov hat buttons too
- NEW CFG CMD: joy_remapPov [key] [device] [pov axis] [axis min value] [axis max value] 


//***************************
// WINDY GETS A SECOND WIND
//          0.32
//***************************
- external cameras are back
- fixed "game paused" text flashing too fast


//***************************
// WINDY GETS A SECOND WIND
//          0.30
//***************************
- fullscreen and windowed screen fixes
- NEW CFG CMD: vid_windowSize [width] [height]          default: 640 480, setting it to 0 0 automatically sizes the window to your screen resolution
- original fps display is replaced with a new one that follows the edge of the window and also shows the actual number of game updates


//***************************
// WINDY GETS A SECOND WIND
//          0.28
//***************************
- Added the option to change the field of view of the look-around camera. A bigger number means a wider FOV. It's in a completely arbitrary unit, not degrees.
- NEW CFG CMD: vid_lookAroundFov [1-100]        default: 50
- Fixed the issue of key remapping not working with every key on localised keyboard layouts.


//***************************
// WINDY GETS A SECOND WIND
//          0.26
//***************************
- Added the ability to look around. It's not without issues though. Currently it blocks the F10 external cameras and your head always stays level
  which becomes noticable on sharp bankings. Hoping to fix the first one, no guarantees about the second one. I think it can still be useful even
  in an imperfect state to give you more awareness of what's happening around you which is badly needed against the AI.

- NEW CFG CMDs: joy_lookLeft, joy_lookRight, joy_lookBack

- the issue with the game thinking that a device currently having 0 as its X and Y value doesn't exist fixed

INFORMATION: Key and axis remapping only works with the newly added DirectInput.


//***************************
// WINDY GETS A SECOND WIND
//          0.24
//***************************
- disabling DirectDraw automatically disabled DirectSound too resulting in audio latency, DirectSound is now reenabled
- IMPORTANT CHANGE: joy_remap is now renamed to joy_remapKey
- NEW CFG CMD: joy_remapAxis [device id] [original axis] [new virtual axis]
    It may be essential to have your working axes start from 0, otherwise the game may not recognise the device for calibration.
    UPDATE: The device is now recognised but you still have to make your axes come in order starting from 0 because if your device
            returns 3 axes, the game will always just enumerate the first 3.


//***************************
// WINDY GETS A SECOND WIND
//          0.22
//***************************
- added special keys to remapping: SPACE, ESC, LEFT, RIGHT and the F keys
- CTRL+J now switches to INSPECTOR MODE
- NEW INSPECTOR CMDs: listJoyAxes, listJoyButtons
- NEW CFG CMD: menu_skipIntro
- DirectDraw DISABLED for causing issues (if you stil want to use it, you have to reeanble it with vid_reenableDirectDraw)


//***************************
// WINDY GETS A SECOND WIND
//          0.20
//***************************
- maximum devices increased to 16
- key remapping added
- NEW CFG CMD: joy_remapKey [key] [device] [button] for example: joy_remap P 0 10

    As of now it only accepts ASCII characters and there's no graphical UI for it. You have to figure out the devices/buttons yourself.


//***************************
// WINDY GETS A SECOND WIND
//          0.18
//***************************
- DirectInput added as deprecated WinMM can be problematic on Windows 11
- NEW CFG CMD: joy_inputMethod WINMM|DIRECTINPUT            default: WINMM

- TIP: Any graphical issues? Make sure DirectDraw is off.


//***************************
// WINDY GETS A SECOND WIND
//          0.16
//***************************
- INSPECTOR MODE added for those memory hunters who also don't like staring at cheatengine for too long
- NEW CMD LINE ARGUMENT: -inspector, more information is at the end of this file
- new possible config file: memWatch.cfg with the same syntax as the inspector "watch" command to avoid typing in the oft-used addresses all the time


//***************************
// WINDY GETS A SECOND WIND
//          0.14
//***************************
- added resizable windowed mode
- NEW CFG CMD: vid_fullscreen

- added command line arguments -debug and -debugger, more information is at the end of this file


//***************************
// WINDY GETS A SECOND WIND
//          0.12
//***************************
   So apparently the latest ICR2 Win version and the latest CART Win version are the same game. If you replace the data folders
and the MAIN.DAT, you have the Paul Page intro and the ICR2 splashscreen back and everything works fine, so I'm going to stick with
the CART version's exe as it's already working with the patch and it also has a working 32-bit installer in case installing the game
proves to be essential.

- added file existence and Windy version checking
- added automatic scaling to monitor resolution
- removed white border in fullscreen
- added a very basic config file, it's not self-generating, you have to create it manually if you want to use it, info at the end of this file

TIP: I find not using DirectDraw faster in terms of loading time. There's no noticable difference in performance as the rendering is done
     by the software renderer either way, it's only used for drawing the buffer to the screen but its initialisation may take longer.


//***************************
// WINDY GETS A SECOND WIND
//           0.1
//***************************
   A very rudimentary first release for testing. Currently this patch does nothing except make the game work again on modern
Windows which is quite a lot actually. Well, at least it does on my Windows 10 machine. I'd like to hear your experience too.

   For now, this patch only works with the CART 1.1 (1.0.1?) version. I had other, path related issues with the ICR2 version
which may be due to its installer. ICR2 has a 16-bit installer which doesn't work anymore so I just copied the files over,
while CART has a 32-bit installer and I installed it properly. The issue could be that it tries to read the path from the
registry causing it to fail and I decided that wasn't what I wanted to troubleshoot, I wanted to fix the real issue.

   I understand many people may have sentimental reasons to prefer the IndyCar-labeled version, in that case I may look into
trying to fix that too. As long as the patch is this small, supporting multiple versions shouldn't be an issue but if more
and more features get added, it would become untenable.

   I also understand that the Windows version is not and has never been the preferred way to play this game, especially now
that it's possible to play it with a Rendition wrapper but still, this is the version that's piqued my interest the most
as I think it could be the most beneficial both for live debugging for reverse-engineering and patching in new features.
It could also be useful for modders/track makers to quickly and conveniently load up a test.

   As far as I know this patch doesn't need anything. No admin rights, no dgVoodoo, just copy it next to WINDY.EXE and run it.
 Your mileage may vary so let me know if your experiences tell you otherwise.

 Regards
 hatcher
 ------------------------------------------------------------------------------------------------------------------------------


 //***********************************
 // COMMAND LINE ARGUMENTS
 //***********************************
 -debug         Runs the game in debug mode and gives a crash report if one is to occur
 -debugger      Simply waits for you at the start so you can attach your own debugger
 -inspector     Starts in inspector mode to watch memory values, see comands below
 -nocheck       Skips exe integrity checking
 -cockpit [dirname]


 //***********************************
 // CONFIG COMMANDS 
 // manually create secondwind.cfg
 //***********************************
 - menu_skipIntro
 - menu_scaleWindowsUI                          Attempts to scale the Windows UI.

 - vid_reenableDirectDraw

 - vid_fullscreen 0|1
 - vid_scaleToFullscreen 0|1                    Scales the game image to full size regardless whether it's windowed or fullscreen.
 - vid_windowSize [width] [height]              default: 640 480, setting it to 0 0 automatically sizes the window to your screen resolution
 - vid_resolution   normal|ULTRA

 - vid_cockpitBilinearFiltering

 - vid_drawRearViewMirror                       0 = off | 1 = large | 2 = small

 - vid_lookAroundFov [1-100]                    default: 50, it's in a completely arbitrary unit, not degrees
 - vid_unlockDrawAheadBehind                    Automatically raises the car drawing limit in the engine, no need to touch the values in the menu.

 - view_raiseCockpitHeight                      A value between 0 and 1000.
 - view_mirrorFov                               A value between 100000 and 300000. Default: 200000
 - view_mirrorAngle                             Tilts the rear view mirror between -30 and 30 degrees. Default: 0

 - view_cockpitColor    [0-255][0-255][0-255]
 - view_mirrortColor    [0-255][0-255][0-255]
 - view_LCDFontColor    [0-255][0-255][0-255]

 - mouse_showCursorInFullscreen


 - joy_inputMethod WINMM|DIRECTINPUT            default: WINMM
 - joy_remapKey [key] [device] [button]
 - joy_remapAxis [device] [original axis] [new virtual axis]
 - joy_remapPov [key] [device] [pov axis] [axis min value] [axis max value] 

 - joy_lookLeft [device] [button]
 - joy_lookRight [device] [button]
 - joy_lookBack [device] [button]


 //***********************************
 // INSPECTOR MODE COMMANDS
 //***********************************
 - watch
    syntax: watch [name] [address] [size] [type] (for example: watch fpsCounter 0x4FC87C 32 u)
        name: a string of maximum 16 characters with no quotation marks and no spaces
        address: a memory address in hex
        size: 8 = byte/char, 16 = word/short, 32 = dword/int
        type: u = unsigned, s = signed, x = hex, b = binary

- edit
    syntax: edit [address] [size] [value]
    
- del                   -> deletes the last memory entry
- del [number]          -> deletes the mentioned row
- del all
- cls                   -> clears residue off the console caused by resizing or upsizing

- listJoyAxes           -> adding the paramater "pov" adds the pov hat axes too
- listJoyButtons


 //***********************************
 // MEM EDIT COMMAND
 //***********************************
- edit [name] [address] [size] [value]
        name: a string of maximum 16 characters with no quotation marks and no spaces
        address: a memory address in hex
        size: 8 = byte/char, 16 = word/short, 32 = dword/int
        value: can be both decimal and hex
