diff --git a/gamedir/Data/Helicopter_Settings.INI b/gamedir/Data/Helicopter_Settings.INI
new file mode 100644
index 000000000..75261ed12
--- /dev/null
+++ b/gamedir/Data/Helicopter_Settings.INI
@@ -0,0 +1,80 @@
+[Helicopter Repair Settings]
+
+; How much repair will cost if helicopter is slightly (1 hit) damaged (0 - 100000).
+HELICOPTER_BASIC_REPAIR_COST = 2500
+
+; How much repair will cost if helicopter is seriously (2 hits) damaged (0 - 100000).
+HELICOPTER_SERIOUS_REPAIR_COST = 7500
+
+; How long repair will take if helicopter is seriously damaged (in hours, 1 - 255).
+HELICOPTER_BASIC_REPAIR_TIME = 8
+
+; HELICOPTER_REPAIR_TIME may randomly vary by this amount (in hours, 0 - 255).
+HELICOPTER_BASIC_REPAIR_TIME_VARIATION = 2
+
+; How long repair will take if helicopter is seriously damaged (in hours, 1 - 255).
+HELICOPTER_SERIOUS_REPAIR_TIME = 24
+
+; HELICOPTER_SERIOUS_REPAIR_TIME may randomly vary by this amount (in hours, 0 - 255).
+HELICOPTER_SERIOUS_REPAIR_TIME_VARIATION = 6
+
+; How much cost of repairs will increase after every repair - for balancing reasons, and simulating parts scarcity (0 - 100000).
+HELICOPTER_BASIC_COST_INCREASE_AFTER_BASIC_REPAIR = 500
+HELICOPTER_BASIC_COST_INCREASE_AFTER_SERIOUS_REPAIR = 1000
+HELICOPTER_SERIOUS_COST_INCREASE_AFTER_BASIC_REPAIR = 1500
+HELICOPTER_SERIOUS_COST_INCREASE_AFTER_SERIOUS_REPAIR = 3000
+
+; How much basic repair will cost at absolute maximum - to avoid immersion breaking ridiculous costs (0 - 1000000).
+HELICOPTER_BASIC_REPAIR_COST_MAX = 10000
+
+; How much serious repair will cost at absolute maximum - to avoid immersion breaking ridiculous costs (0 - 1000000).
+HELICOPTER_SERIOUS_REPAIR_COST_MAX = 25000
+
+[Helicopter Refuel Settings]
+
+; How far can helicopter go without refuel if its tank is full (in sectors, 1-255). Note: distance between Drassen airport and Estoni equals 14 sectors.
+; Only used if alternative fuel system is on.
+; Vanilla-ish (technically it's wasn't used) JA2 - 25.
+HELICOPTER_DISTANCE_WITHOUT_REFUEL = 25
+
+; How long can helicopter hover before using single fuel unit (in minutes, 1-255).
+; Only used if alternative fuel system is on.
+HELICOPTER_HOVER_TIME_PER_FUEL_UNIT = 10
+
+; How long helicopter needs to fully refuel (in minutes, 1-255).
+; Only used if alternative fuel system is on.
+; Vanilla-ish (technically it's wasn't used) JA2 - 30.
+HELICOPTER_REFUEL_TIME = 30
+
+; How long can helicopter hover before Skyrider whines (in minutes, 1-255).
+; Only used if alternative fuel system is off.
+; Vanilla JA2 - 10.
+HELICOPTER_TIME_DELAY_FOR_HOVER_WAIT = 10
+
+; How long can helicopter hover before Skyrider returns to base (in minutes, 1-255).
+; Only used if alternative fuel system is off.
+; Vanilla JA2 - 20.
+HELICOPTER_TIME_DELAY_FOR_HOVER_WAIT_TOO_LONG = 20
+
+; If TRUE, Skyrider won't automatically kick everyone out after running out of fuel, instead prompt will be shown.
+HELICOPTER_ASK_BEFORE_KICKING_PASSENGERS_OUT = TRUE
+
+[Helicopter SAM Settings]
+
+; Chance that helicopter gets hit by SAM attack when arriving at sector in hostile air zone (in percents).
+; Vanilla JA2 - 33.
+HELICOPTER_SAM_SITE_ACCURACY = 33
+
+; Chance per passenger he will get hurt when helicopter is hit (in percents).
+HELICOPTER_PASSENGER_HIT_CHANCE = 30
+
+; Minimum damage passenger will take when hit in helicopter.
+HELICOPTER_PASSENGER_HIT_MIN_DAMAGE = 1
+
+; Maximum damage passenger will take when hit in helicopter.
+HELICOPTER_PASSENGER_HIT_MAX_DAMAGE = 10
+
+[Helicopter Other Settings]
+
+; If FALSE, Skyrider will always fly when other conditions are satisfied, ignoring his associated town loyalty check. Vanilla JA2 - TRUE
+HELICOPTER_TOWN_LOYALTY_CHECK = TRUE
\ No newline at end of file
diff --git a/gamedir/Data-1.13/Interface/POS2_ALTERNATE.STI b/gamedir/Data/Interface/POS2_ALTERNATE.STI
similarity index 100%
rename from gamedir/Data-1.13/Interface/POS2_ALTERNATE.STI
rename to gamedir/Data/Interface/POS2_ALTERNATE.STI
diff --git a/gamedir/Data/Ja2_Options.INI b/gamedir/Data/Ja2_Options.INI
index a0a42ce4d..c8e360230 100644
--- a/gamedir/Data/Ja2_Options.INI
+++ b/gamedir/Data/Ja2_Options.INI
@@ -387,7 +387,6 @@ SHOW_SKILLS_IN_HIRING_PAGE = FALSE
; Exp = 8 will random between 7-9 due to 9 maximum limit
; Exp = 2 will random between 1-3 due to 1 minimum limit
; Exp = 1/9 will not random
-;
;------------------------------------------------------------------------------------------------------------------------------
MERCS_RANDOM_STATS = 0
@@ -507,7 +506,21 @@ HELICOPTER_BASE_COST_PER_GREEN_TILE = 100
;Cost for moving through sectors that are being controlled by an enemy SAM Site.
HELICOPTER_BASE_COST_PER_RED_TILE = 1000
+;------------------------------------------------------------------------------------------------------------------------------
+; Change the cost of helicopter hovering in sector.
+;------------------------------------------------------------------------------------------------------------------------------
+;Cost for hovering in sectors that are free of enemy SAM Site control.
+HELICOPTER_HOVER_COST_ON_GREEN_TILE = 50
+
+;Cost for hovering in sectors that are being controlled by an enemy SAM Site.
+HELICOPTER_HOVER_COST_ON_RED_TILE = 500
+
+;If TRUE, player will have to pay Skyrider even if he returns to base automatically - no more hovering until he runs out of fuel to save money.
+HELICOPTER_RETURN_TO_BASE_IS_NOT_FREE = FALSE
+
+;If TRUE, Skyrider will demand money only after safely landing in base.
+HELICOPTER_PAY_SKYRIDER_IN_BASE = TRUE
;******************************************************************************************************************************
;******************************************************************************************************************************
@@ -1493,7 +1506,7 @@ FASTER_SHOT_FROM_ALTWEAPHOLD_PERC = 10
; The base (N)CtH penalty when firing from alternative weapon holding.
CTH_PENALTY_FROM_ALTWEAPHOLD = 30
-; The base penalty when aiming from alternative weapon holding, if aiming from it is allowed. (This modifier is DOUBLED under NCTH,
+; The base penalty when aiming from alternative weapon holding, if aiming from it is allowed.
AIMING_PENALY_FROM_ALTWEAPHOLD = 30
; Aiming levels of the gun are reduced percentually by this number on alternative weapon holding. So 50 here means only half aiming
@@ -1524,7 +1537,7 @@ WEAPON_RESTING_PRONE_BONI_PERCENTAGE = 50
; Allow manual toggle between a gun's different scopes/sights (toggle via '.' in tactical)
USE_SCOPE_MODES = FALSE
-; Allow display of scope modes on weapons in tactical
+; Allow display of scope modes on weapon
DISPLAY_SCOPE_MODES = FALSE
;------------------------------------------------------------------------------------------------------------------------------
@@ -2822,6 +2835,32 @@ PRISONER_INTERROGATION_POINTS_REGULAR = 100
PRISONER_INTERROGATION_POINTS_ELITE = 140
PRISONER_INTERROGATION_POINTS_SPECIAL = 250
+;------------------------------------------------------------------------------------------------------------------------------
+; Helicopter Repair
+;------------------------------------------------------------------------------------------------------------------------------
+
+; If TRUE, Waldo can repair helicopter. You need to talk to him or give him money after damaged helicopter lands in his sector.
+WALDO_CAN_REPAIR_HELICOPTER = FALSE
+
+; If TRUE, Waldo will offer repair in strategic view, as soon as damaged helicopter lands in his sector and player has enough money.
+WALDO_OFFERS_REPAIR_IN_STRATEGIC = FALSE
+
+; If TRUE, each helicopter repair will cost more - for balancing reasons and to simulate parts scarcity.
+WALDO_SUBSEQUENT_REPAIRS_COST_INCREASE = FALSE
+
+; If TRUE, Skyrider will refuse to fly if helicopter is seriously damaged (he already returns to base, so it makes sense).
+SERIOUSLY_DAMAGED_SKYRIDER_WONT_FLY = FALSE
+
+;------------------------------------------------------------------------------------------------------------------------------
+; Helicopter Refuel
+;------------------------------------------------------------------------------------------------------------------------------
+
+; If TRUE, Skyrider will have a limited amount of fuel, and will require refills in the base. Flying and hovering will burn fuel.
+ALTERNATIVE_HELICOPTER_FUEL_SYSTEM = FALSE
+
+; If TRUE, after helicopter gets hit by SAM, there's chance passengers will be wounded.
+HELICOPTER_PASSENGERS_CAN_GET_HIT = FALSE
+
;******************************************************************************************************************************
;******************************************************************************************************************************
@@ -2888,6 +2927,12 @@ FAST_WWW_SITES_LOADING = FALSE
; If set to TRUE, mouse boundary will be locked on the laptop, default behaviour. Ctrl + Z / Ctrl + Y to toggle current laptop session only
LAPTOP_MOUSE_CAPTURED = FALSE
+; if true, campaign history site (Arulco Press Council) is accessible
+CAMPAIGN_HISTORY = FALSE
+
+; Only read the last ... battle reports, forget older ones. With -1 (default), read all of them. Reports lost this way cannot be recreated!
+CAMPAIGN_HISTORY_MAX_REPORTS = -1
+
;******************************************************************************************************************************
;******************************************************************************************************************************
diff --git a/gamedir/Data-1.13/NpcData/097.EDT b/gamedir/Data/NPCData/097.EDT
similarity index 100%
rename from gamedir/Data-1.13/NpcData/097.EDT
rename to gamedir/Data/NPCData/097.EDT
diff --git a/gamedir/Data-1.13/NpcData/138.EDT b/gamedir/Data/NPCData/138.EDT
similarity index 100%
rename from gamedir/Data-1.13/NpcData/138.EDT
rename to gamedir/Data/NPCData/138.EDT
diff --git a/gamedir/Data-1.13/NpcData/138.NPC b/gamedir/Data/NPCData/138.NPC
similarity index 100%
rename from gamedir/Data-1.13/NpcData/138.NPC
rename to gamedir/Data/NPCData/138.NPC
diff --git a/gamedir/Data-1.13/Npc_Speech/097_057.WAV b/gamedir/Data/NPC_Speech/097_057.WAV
similarity index 100%
rename from gamedir/Data-1.13/Npc_Speech/097_057.WAV
rename to gamedir/Data/NPC_Speech/097_057.WAV
diff --git a/gamedir/Data-1.13/Npc_Speech/097_057.gap b/gamedir/Data/NPC_Speech/097_057.gap
similarity index 100%
rename from gamedir/Data-1.13/Npc_Speech/097_057.gap
rename to gamedir/Data/NPC_Speech/097_057.gap
diff --git a/gamedir/Data-1.13/Npc_Speech/138_022.gap b/gamedir/Data/NPC_Speech/138_022.gap
similarity index 100%
rename from gamedir/Data-1.13/Npc_Speech/138_022.gap
rename to gamedir/Data/NPC_Speech/138_022.gap
diff --git a/gamedir/Data-1.13/Npc_Speech/138_022.wav b/gamedir/Data/NPC_Speech/138_022.wav
similarity index 100%
rename from gamedir/Data-1.13/Npc_Speech/138_022.wav
rename to gamedir/Data/NPC_Speech/138_022.wav
diff --git a/gamedir/Data-1.13/Npc_Speech/138_023.gap b/gamedir/Data/NPC_Speech/138_023.gap
similarity index 100%
rename from gamedir/Data-1.13/Npc_Speech/138_023.gap
rename to gamedir/Data/NPC_Speech/138_023.gap
diff --git a/gamedir/Data-1.13/Npc_Speech/138_023.wav b/gamedir/Data/NPC_Speech/138_023.wav
similarity index 100%
rename from gamedir/Data-1.13/Npc_Speech/138_023.wav
rename to gamedir/Data/NPC_Speech/138_023.wav
diff --git a/gamedir/Data-1.13/Npc_Speech/138_024.wav b/gamedir/Data/NPC_Speech/138_024.wav
similarity index 100%
rename from gamedir/Data-1.13/Npc_Speech/138_024.wav
rename to gamedir/Data/NPC_Speech/138_024.wav
diff --git a/gamedir/Data-1.13/Npc_Speech/138_025.wav b/gamedir/Data/NPC_Speech/138_025.wav
similarity index 100%
rename from gamedir/Data-1.13/Npc_Speech/138_025.wav
rename to gamedir/Data/NPC_Speech/138_025.wav
diff --git a/gamedir/Data-1.13/Npc_Speech/138_026.wav b/gamedir/Data/NPC_Speech/138_026.wav
similarity index 100%
rename from gamedir/Data-1.13/Npc_Speech/138_026.wav
rename to gamedir/Data/NPC_Speech/138_026.wav
diff --git a/gamedir/Data-1.13/Npc_Speech/138_027.wav b/gamedir/Data/NPC_Speech/138_027.wav
similarity index 100%
rename from gamedir/Data-1.13/Npc_Speech/138_027.wav
rename to gamedir/Data/NPC_Speech/138_027.wav
diff --git a/gamedir/Data/TableData/RPCFacesSmall.xml b/gamedir/Data/TableData/RPCFacesSmall.xml
index 0870c37ef..e61c399e5 100644
--- a/gamedir/Data/TableData/RPCFacesSmall.xml
+++ b/gamedir/Data/TableData/RPCFacesSmall.xml
@@ -259,5 +259,14 @@ MouthY - position of mouth Y (required)
7
8
22
+
+
+ 28
+ Waldo
+ 138
+ 9
+ 9
+ 9
+ 27
\ No newline at end of file
diff --git a/gamedir/Data-1.13/faces/138.sti b/gamedir/Data/faces/138.sti
similarity index 100%
rename from gamedir/Data-1.13/faces/138.sti
rename to gamedir/Data/faces/138.sti