diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/.fxap b/resources/[defaultmaps]/tstudio_audioocclusion/.fxap
new file mode 100644
index 000000000..3a0a9568f
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/.fxap differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_aldentes/FE580F1A_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_aldentes/FE580F1A_game.dat151.rel
new file mode 100644
index 000000000..c0cc19140
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_aldentes/FE580F1A_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_ammunation/D5A57622_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_ammunation/D5A57622_game.dat151.rel
new file mode 100644
index 000000000..59d7f80fe
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_ammunation/D5A57622_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_bennys_docks/CAB17A88_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_bennys_docks/CAB17A88_game.dat151.rel
new file mode 100644
index 000000000..24ed433b3
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_bennys_docks/CAB17A88_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_bennys_luxury/915FBB78_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_bennys_luxury/915FBB78_game.dat151.rel
new file mode 100644
index 000000000..ba948ef85
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_bennys_luxury/915FBB78_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_bennys_racetrack/EA7BB406_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_bennys_racetrack/EA7BB406_game.dat151.rel
new file mode 100644
index 000000000..8126c8047
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_bennys_racetrack/EA7BB406_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_burgershot/F2B01B7B_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_burgershot/F2B01B7B_game.dat151.rel
new file mode 100644
index 000000000..72a54788a
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_burgershot/F2B01B7B_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_impound/93DA1F40_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_impound/93DA1F40_game.dat151.rel
new file mode 100644
index 000000000..c21a429fe
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_impound/93DA1F40_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_jurassic_jackpot/E8139E0_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_jurassic_jackpot/E8139E0_game.dat151.rel
new file mode 100644
index 000000000..0eaf7abed
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_jurassic_jackpot/E8139E0_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_kebabking/E3ABAA89_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_kebabking/E3ABAA89_game.dat151.rel
new file mode 100644
index 000000000..2138ad2d7
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_kebabking/E3ABAA89_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_laundromat/89AD6DDA_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_laundromat/89AD6DDA_game.dat151.rel
new file mode 100644
index 000000000..e3f3d0ec5
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_laundromat/89AD6DDA_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_laundromat/A32D396_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_laundromat/A32D396_game.dat151.rel
new file mode 100644
index 000000000..5eb96eeb9
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_laundromat/A32D396_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_leapfrog/6ABD73F7_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_leapfrog/6ABD73F7_game.dat151.rel
new file mode 100644
index 000000000..6664c7409
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_leapfrog/6ABD73F7_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_lsia/704CD1C5_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_lsia/704CD1C5_game.dat151.rel
new file mode 100644
index 000000000..133c5fc68
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_lsia/704CD1C5_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_opium_nights/997AEB4_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_opium_nights/997AEB4_game.dat151.rel
new file mode 100644
index 000000000..cba0030b4
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_opium_nights/997AEB4_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_opium_nights/B45FE305_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_opium_nights/B45FE305_game.dat151.rel
new file mode 100644
index 000000000..ac99e9995
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_opium_nights/B45FE305_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_opium_nights/CD1CB701_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_opium_nights/CD1CB701_game.dat151.rel
new file mode 100644
index 000000000..e8f1b7883
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_opium_nights/CD1CB701_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_opium_nights/FECFF813_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_opium_nights/FECFF813_game.dat151.rel
new file mode 100644
index 000000000..c34b95979
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_opium_nights/FECFF813_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_paleto_bewo/67AEE5BD_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_paleto_bewo/67AEE5BD_game.dat151.rel
new file mode 100644
index 000000000..aa16a8873
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_paleto_bewo/67AEE5BD_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_paleto_cardealer/C7599380_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_paleto_cardealer/C7599380_game.dat151.rel
new file mode 100644
index 000000000..2434318f4
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_paleto_cardealer/C7599380_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_redstuner/2EA0C864_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_redstuner/2EA0C864_game.dat151.rel
new file mode 100644
index 000000000..7d7250729
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_redstuner/2EA0C864_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_rockford_church/ECD29CE0_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_rockford_church/ECD29CE0_game.dat151.rel
new file mode 100644
index 000000000..0145108ee
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_rockford_church/ECD29CE0_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_smokeys/C132AAA0_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_smokeys/C132AAA0_game.dat151.rel
new file mode 100644
index 000000000..5e45af9ae
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_smokeys/C132AAA0_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_smokeys/CC549F6D_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_smokeys/CC549F6D_game.dat151.rel
new file mode 100644
index 000000000..f5cf20dbc
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_smokeys/CC549F6D_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_taxi/5D54ADFC_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_taxi/5D54ADFC_game.dat151.rel
new file mode 100644
index 000000000..5e5d1887a
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_taxi/5D54ADFC_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_tropical_heights/7B9DB0CC_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_tropical_heights/7B9DB0CC_game.dat151.rel
new file mode 100644
index 000000000..d7cc0b93e
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_tropical_heights/7B9DB0CC_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_tropical_heights/CAFDE1CC_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_tropical_heights/CAFDE1CC_game.dat151.rel
new file mode 100644
index 000000000..3bc7fe119
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_tropical_heights/CAFDE1CC_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_vmc/7A510CA2_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_vmc/7A510CA2_game.dat151.rel
new file mode 100644
index 000000000..7576033f4
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_vmc/7A510CA2_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_vmc/D55F387A_game.dat151.rel b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_vmc/D55F387A_game.dat151.rel
new file mode 100644
index 000000000..a98434a66
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/audio/tstudio_vmc/D55F387A_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/fxmanifest.lua b/resources/[defaultmaps]/tstudio_audioocclusion/fxmanifest.lua
new file mode 100644
index 000000000..b9a039889
--- /dev/null
+++ b/resources/[defaultmaps]/tstudio_audioocclusion/fxmanifest.lua
@@ -0,0 +1,83 @@
+fx_version 'cerulean'
+game 'gta5'
+
+this_is_a_map 'yes'
+
+files {
+ 'audio/**/*.rel'
+}
+
+dependencies {
+ '/server:4960', -- ⚠️PLEASE READ⚠️; Requires at least SERVER build 4960.
+ '/gameBuild:2545', -- ⚠️PLEASE READ⚠️; Requires at least GAME build 2545.
+ 'tstudio_zmapdata', -- ⚠️PLEASE READ⚠️; Requires to be started before this resource.
+}
+
+-- Here you will include lines for each dat151 file
+-- Cutting off the the line at .dat is intentional
+--data_file 'AUDIO_GAMEDATA' 'audio/11D54B69_game.dat'
+
+-- Al Dente's
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_aldentes/FE580F1A_game.dat'
+
+-- Ammunation
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_ammunation/D5A57622_game.dat'
+
+-- Bennys Luxury
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_bennys_luxury/915FBB78_game.dat'
+
+-- Bennys Luxury Racetrack
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_bennys_racetrack/EA7BB406_game.dat'
+
+-- Burgershot
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_burgershot/F2B01B7B_game.dat'
+
+-- Impound
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_impound/93DA1F40_game.dat'
+
+-- Jurassic Jackpot
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_jurassic_jackpot/E8139E0_game.dat'
+
+-- Kebab King
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_kebabking/E3ABAA89_game.dat'
+
+-- Laundromat
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_laundromat/89AD6DDA_game.dat'
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_laundromat/A32D396_game.dat'
+
+-- Leapfrog
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_leapfrog/6ABD73F7_game.dat'
+
+-- LSIA
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_lsia/704CD1C5_game.dat'
+
+-- Opium Nights
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_opium_nights/997AEB4_game.dat'
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_opium_nights/CD1CB701_game.dat'
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_opium_nights/FECFF813_game.dat'
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_opium_nights/B45FE305_game.dat'
+
+-- Paleto Bennys Workshop
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_paleto_bewo/67AEE5BD_game.dat'
+
+-- Paleto Cardealer
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_paleto_cardealer/C7599380_game.dat'
+
+-- Reds Tuner
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_redstuner/2EA0C864_game.dat'
+
+-- Smokeys
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_smokeys/C132AAA0_game.dat'
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_smokeys/CC549F6D_game.dat'
+
+-- Taxi
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_taxi/5D54ADFC_game.dat'
+
+-- Tropical Height
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_tropical_heights/7B9DB0CC_game.dat'
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_tropical_heights/CAFDE1CC_game.dat'
+
+-- VMC
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_vmc/7A510CA2_game.dat'
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_vmc/D55F387A_game.dat'
+dependency '/assetpacks'
\ No newline at end of file
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_aldentes/4267440303.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_aldentes/4267440303.ymt
new file mode 100644
index 000000000..322d93fb0
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_aldentes/4267440303.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_ammunation/710620350.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_ammunation/710620350.ymt
new file mode 100644
index 000000000..64e8bdde9
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_ammunation/710620350.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_bennys_docks/894047521.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_bennys_docks/894047521.ymt
new file mode 100644
index 000000000..58c766254
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_bennys_docks/894047521.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_bennys_luxury/2438843788.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_bennys_luxury/2438843788.ymt
new file mode 100644
index 000000000..7eced5da1
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_bennys_luxury/2438843788.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_bennys_racetrack/3933847285.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_bennys_racetrack/3933847285.ymt
new file mode 100644
index 000000000..d578a1e9e
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_bennys_racetrack/3933847285.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_burgershot/4071658161.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_burgershot/4071658161.ymt
new file mode 100644
index 000000000..8e0859922
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_burgershot/4071658161.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_impound/1814338008.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_impound/1814338008.ymt
new file mode 100644
index 000000000..fcd5b649b
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_impound/1814338008.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_jurassic_jackpot/243282362.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_jurassic_jackpot/243282362.ymt
new file mode 100644
index 000000000..9616c4ce7
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_jurassic_jackpot/243282362.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_kebabking/475333985.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_kebabking/475333985.ymt
new file mode 100644
index 000000000..b4fe8e01b
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_kebabking/475333985.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_laundromat/1985016622.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_laundromat/1985016622.ymt
new file mode 100644
index 000000000..e295e14bc
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_laundromat/1985016622.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_laundromat/4124003682.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_laundromat/4124003682.ymt
new file mode 100644
index 000000000..4affd8d35
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_laundromat/4124003682.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_leapfrog/2504250693.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_leapfrog/2504250693.ymt
new file mode 100644
index 000000000..51146f2d3
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_leapfrog/2504250693.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_lsia/1883846874.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_lsia/1883846874.ymt
new file mode 100644
index 000000000..dbeacdea3
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_lsia/1883846874.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_opium_nights/160810533.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_opium_nights/160810533.ymt
new file mode 100644
index 000000000..6aebe541c
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_opium_nights/160810533.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_opium_nights/3026031915.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_opium_nights/3026031915.ymt
new file mode 100644
index 000000000..735296f0f
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_opium_nights/3026031915.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_opium_nights/3441350491.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_opium_nights/3441350491.ymt
new file mode 100644
index 000000000..117dcd0ce
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_opium_nights/3441350491.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_opium_nights/4274885348.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_opium_nights/4274885348.ymt
new file mode 100644
index 000000000..c6a5ddc68
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_opium_nights/4274885348.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_paleto_bewo/1739025133.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_paleto_bewo/1739025133.ymt
new file mode 100644
index 000000000..4958101bd
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_paleto_bewo/1739025133.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_paleto_cardealer/951039872.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_paleto_cardealer/951039872.ymt
new file mode 100644
index 000000000..58e2f927f
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_paleto_cardealer/951039872.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_redstuner/782398463.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_redstuner/782398463.ymt
new file mode 100644
index 000000000..7018fc256
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_redstuner/782398463.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_rockford_church/3973293993.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_rockford_church/3973293993.ymt
new file mode 100644
index 000000000..73b61be79
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_rockford_church/3973293993.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_smokeys/1053653014.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_smokeys/1053653014.ymt
new file mode 100644
index 000000000..a044051d9
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_smokeys/1053653014.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_smokeys/866862451.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_smokeys/866862451.ymt
new file mode 100644
index 000000000..b771a3479
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_smokeys/866862451.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_taxi/1565983850.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_taxi/1565983850.ymt
new file mode 100644
index 000000000..974116a4a
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_taxi/1565983850.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_tropical_heights/2221098524.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_tropical_heights/2221098524.ymt
new file mode 100644
index 000000000..40ddd5e36
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_tropical_heights/2221098524.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_tropical_heights/889389281.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_tropical_heights/889389281.ymt
new file mode 100644
index 000000000..1835cddcd
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_tropical_heights/889389281.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_vmc/2052182667.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_vmc/2052182667.ymt
new file mode 100644
index 000000000..38bcca480
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_vmc/2052182667.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_vmc/3579830773.ymt b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_vmc/3579830773.ymt
new file mode 100644
index 000000000..5b68953a8
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_audioocclusion/stream/tstudio_vmc/3579830773.ymt differ
diff --git a/resources/[defaultmaps]/tstudio_doortuning/.fxap b/resources/[defaultmaps]/tstudio_doortuning/.fxap
new file mode 100644
index 000000000..998da3371
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_doortuning/.fxap differ
diff --git a/resources/[defaultmaps]/tstudio_doortuning/README.md b/resources/[defaultmaps]/tstudio_doortuning/README.md
new file mode 100644
index 000000000..aebdecf16
--- /dev/null
+++ b/resources/[defaultmaps]/tstudio_doortuning/README.md
@@ -0,0 +1,224 @@
+# TStudio Door Tuning Resource
+
+A GTA V FiveM resource for advanced door tuning functionality developed by TStudio3d.
+
+## 📁 Project Structure
+
+```
+tstudio_doortuning/
+├── README.md # This file
+├── fxmanifest.lua # FiveM resource manifest
+├── gta5.meta # GTA V data file configuration
+├── doortuning.ymt # Door tuning configuration
+├── heightmap.dat # Water level data (enables swimming anywhere)
+└── audio/
+ ├── tstudio_door_game.dat151.nametable # Audio name table
+ └── tstudio_door_game.dat151.rel # Audio relations file
+```
+
+## 🚀 For Multimedia Team Members
+
+### Getting Started
+
+1. **Clone the Repository**
+ ```bash
+ git clone https://github.com/TStudio3d/tstudio_doortuning.git
+ cd tstudio_doortuning
+ ```
+
+2. **Switch to Development Branch**
+ ```bash
+ git checkout dev
+ git pull origin dev
+ ```
+
+### 🌿 Working with Feature Branches
+
+#### Creating a New Feature Branch
+
+Always create feature branches from the `dev` branch, not from `main`. This ensures a clean workflow and easier collaboration.
+
+```bash
+# 1. Make sure you're on the dev branch
+git checkout dev
+
+# 2. Pull the latest changes
+git pull origin dev
+
+# 3. Create your feature branch (use descriptive names)
+git checkout -b feature/your-feature-name
+
+# Examples of good branch names:
+# feature/audio-enhancement
+# feature/door-animation-fix
+# feature/new-sound-effects
+# bugfix/door-sync-issue
+# improvement/performance-optimization
+```
+
+#### Working on Your Feature
+
+```bash
+# 1. Make your changes to files
+# 2. Check what files you've modified
+git status
+
+# 3. Add your changes
+git add .
+# or add specific files
+git add filename.ext
+
+# 4. Commit your changes with a descriptive message
+git commit -m "Add new door sound effects for luxury vehicles"
+
+# 5. Push your feature branch to GitHub
+git push -u origin feature/your-feature-name
+```
+
+#### Submitting Your Work
+
+1. **Push your feature branch** to GitHub
+2. **Create a Pull Request** from your feature branch to the `dev` branch
+3. **Request review** from team leads
+4. **Merge** will be handled by team leads after review
+
+#### Keeping Your Feature Branch Updated
+
+```bash
+# While working on your feature, regularly sync with dev branch
+git checkout dev
+git pull origin dev
+git checkout feature/your-feature-name
+git merge dev
+```
+
+### 📋 Branch Strategy
+
+- **`main`** - Production-ready code, stable releases
+- **`dev`** - Development branch, integration of new features
+- **`feature/*`** - Individual feature branches created from `dev`
+- **`bugfix/*`** - Bug fix branches created from `dev`
+- **`hotfix/*`** - Critical fixes that go directly to `main`
+
+### 🎯 File Modification Guidelines
+
+#### Audio Files (`audio/` directory)
+- **What they do**: Handle door sound effects and audio cues
+- **When to modify**: Adding new sounds, adjusting audio timing, fixing audio bugs
+- **Format**: DAT151 format (GTA V audio format)
+
+#### Configuration Files
+- **`fxmanifest.lua`**: Resource configuration for FiveM
+- **`gta5.meta`**: GTA V data file references and configurations
+- **`doortuning.ymt`**: Door behavior and tuning parameters
+
+#### Data Files
+- **`heightmap.dat`**: Water level configuration that enables swimming anywhere on the map
+ - ⚠️ **Note**: This file is not directly related to door tuning but is included here because the resource requires the `gta5.meta` file structure
+- **`doortuning.ymt`**: Core door tuning configurations
+
+### 🛠️ Common Tasks
+
+#### Adding New Audio Files
+1. Place new audio files in the `audio/` directory
+2. Update references in `gta5.meta` if needed
+3. Test in-game before committing
+
+#### Modifying Door Behavior
+1. Edit `doortuning.ymt` for door parameters
+2. Update `gta5.meta` if adding new references
+3. Test functionality thoroughly
+
+#### Performance Optimization
+1. Check file sizes and optimize where possible
+2. Ensure compatibility with existing configurations
+3. Document any breaking changes
+
+#### Understanding the Heightmap File
+The `heightmap.dat` file included in this resource serves a specific purpose:
+- **Primary function**: Configures water levels across the entire GTA V map
+- **Effect**: Allows players to swim anywhere, regardless of terrain elevation
+- **Why it's here**: Despite being unrelated to door tuning, this file is included because:
+ - The resource structure requires the `gta5.meta` configuration file
+ - The meta file provides the framework needed for both door tuning and water level modifications
+ - Bundling them together reduces server resource overhead
+- **⚠️ Important**: Do not modify this file unless you understand water level mechanics
+
+### 🔍 Testing Your Changes
+
+1. **Local Testing**: Always test your changes locally before pushing
+2. **Documentation**: Update relevant documentation for new features
+3. **Compatibility**: Ensure changes don't break existing functionality
+
+### 📞 Getting Help
+
+- **Team Lead**: Contact for major changes or architecture decisions
+- **Documentation**: Check this README and inline code comments
+- **Issues**: Use GitHub Issues for bug reports and feature requests
+
+### 🚫 What NOT to Do
+
+- ❌ Don't commit directly to `main` branch
+- ❌ Don't push broken or untested code
+- ❌ Don't modify files without understanding their purpose
+- ❌ Don't forget to pull latest changes before starting work
+
+### 📝 Commit Message Guidelines
+
+Use clear, descriptive commit messages:
+
+```bash
+# Good examples:
+git commit -m "Add luxury vehicle door sound effects"
+git commit -m "Fix door animation timing issue"
+git commit -m "Optimize audio file loading performance"
+git commit -m "Update door tuning parameters for sports cars"
+
+# Bad examples:
+git commit -m "fix stuff"
+git commit -m "changes"
+git commit -m "audio"
+```
+
+### 🔄 Quick Reference Commands
+
+```bash
+# Clone and setup
+git clone https://github.com/TStudio3d/tstudio_doortuning.git
+cd tstudio_doortuning
+git checkout dev
+
+# Create feature branch
+git checkout -b feature/my-new-feature
+
+# Save your work
+git add .
+git commit -m "Descriptive commit message"
+git push -u origin feature/my-new-feature
+
+# Update from dev
+git checkout dev
+git pull origin dev
+git checkout feature/my-new-feature
+git merge dev
+
+# Check status
+git status
+git log --oneline
+git branch -a
+```
+
+---
+
+## 📄 License
+
+This project is proprietary to TStudio3d. All rights reserved.
+
+## 👥 Contributors
+
+- TStudio3d Team
+- Multimedia Team Members
+
+---
+
+**Remember**: When in doubt, ask! It's better to clarify than to break something. Happy coding! 🚀
diff --git a/resources/[defaultmaps]/tstudio_doortuning/audio/tstudio_door_game.dat151.nametable b/resources/[defaultmaps]/tstudio_doortuning/audio/tstudio_door_game.dat151.nametable
new file mode 100644
index 000000000..72cfc707a
--- /dev/null
+++ b/resources/[defaultmaps]/tstudio_doortuning/audio/tstudio_door_game.dat151.nametable
@@ -0,0 +1,114 @@
+d_turbosaif_alamo_island_asset_ext_fnc_gatel
+d_turbosaif_alamo_island_asset_ext_fnc_gater
+d_johanni_aldentes_asset_door04_secret
+d_johanni_torture_asset_door
+d_johanni_tstudio_asset_elevator_door_ext
+d_johanni_aldentes_asset_door02
+d_johanni_tstudio_asset_elevator_door
+d_johanni_aldentes_asset_door03_toilet
+d_johanni_aldentes_asset_door01
+d_johanni_aldentes_asset_door05_l
+d_johanni_aldentes_asset_door02b
+d_johanni_aldentes_asset_door05_r
+d_tstudio_qx_ammunation_prop_officedoor
+d_tstudio_qx_ammunation_prop_door01
+d_tstudio_qx_ammunation_prop_officedoor2
+d_tstudio_qx_ammunation_prop_edoor_r
+d_tstudio_qx_ammunation_prop_edoor_l
+d_turbosaif_bennys_room_door03
+d_turbosaif_bennys_main_door02
+d_turbosaif_bennys_room_door
+d_turbosaif_bennys_exitdoor
+d_turbosaif_bennys_main_door01
+d_turbosaif_bennys_room_door02
+d_turbosaif_bennys_garage_door
+d_turbosaif_bennysd_door_r
+d_turbosaif_bennysd_garage_door
+d_turbosaif_bennysd_door_front
+d_turbosaif_racetrack_pitoffice_door02
+d_turbosaif_racetrack_pitoffice_door01
+d_turbosaif_bs_door03
+d_turbosaif_bs_door01
+d_turbosaif_bs_door02
+d_turbosaif_bs_door01_l
+d_turbosaif_carrent_main_door2
+d_turbosaif_carrent_main_door
+d_turbosaif_carrent_door_wc
+d_turbosaif_carrent_door_r
+d_uniqx_flecca_lockerdoor01
+d_uniqx_flecca_secdoor
+d_uniqx_flecca_safedoor02
+d_uniqx_flecca_safedoor01
+d_uniqx_flecca_entrance_door2
+d_uniqx_flecca_entrance_door1
+d_tstudio_impound_entrancegate01
+d_tstudio_impound_door01
+d_johanni_jurassic_asset_door03
+d_johanni_jurassic_asset_door02
+d_johanni_jurassic_asset_door01_wc_r
+d_johanni_jurassic_asset_door03_l
+d_johanni_jurassic_asset_door04
+d_johanni_jurassic_asset_door01_wc_l
+d_johanni_jurassic_asset_elevator_door
+d_adr0o_kebabking_wcdoor
+d_adr0o_kebabking_frontdoor
+d_johanni_frog_asset_door01_r
+d_johanni_frog_asset_door02
+d_johanni_frog_asset_door01_l
+d_johanni_frog_asset_door03
+d_turbosaif_lsia_exitarea_door01
+d_turbosaif_lsia_officearea_exitdoor
+d_johanni_opium_door02
+d_johanni_opium_door01
+d_tstudio_tuner_asset_gdoor2a
+d_tstudio_tuner_asset_gdoor1a
+d_tstudio_jhn_resort_asset_int_door04
+d_tstudio_jhn_resort_asset_int_door03
+d_tstudio_jhn_resort_asset_int_slide_door01
+d_tstudio_jhn_resort_asset_int_slidedoor01
+d_tstudio_jhn_resort_asset_int_door01
+d_tstudio_jhn_resort_asset_int_door02
+d_tstudio_jhn_resort_asset_int_door01b
+d_tstudio_jhn_resort_asset_int_door01c
+d_johanni_pillbox_md_asset_door07
+d_johanni_pillbox_md_asset_door06_r
+d_johanni_pillbox_md_asset_door03_l
+d_johanni_pillbox_md_asset_door02
+d_johanni_pillbox_md_asset_door01
+d_johanni_pillbox_md_asset_door08
+d_johanni_pillbox_md_asset_door03_r
+d_johanni_pillbox_md_asset_door08b
+d_johanni_pillbox_md_asset_garage_door
+d_johanni_pillbox_md_asset_slidedoor
+d_johanni_pillbox_md_asset_door04
+d_johanni_pillbox_md_asset_door06_l
+d_johanni_pillbox_md_asset_door05
+d_tstudio_tuner_asset_gdoor2
+d_tstudio_tuner_asset_gdoor1
+d_tstudio_tuner_asset_door_r
+d_tstudio_tuner_asset_door_l
+d_johanni_church_asset_door01_l
+d_johanni_church_asset_door02
+d_johanni_church_asset_door01_r
+d_turbosaif_taxi_door02
+d_turbosaif_taxi_door01
+d_johanni_skybar_asset_door02_l
+d_johanni_skybar_asset_door01
+d_johanni_skybar_asset_door03
+d_johanni_skybar_asset_door02
+d_johanni_vhotel_asset_ext_door02_r
+d_johanni_vhotel_asset_door01
+d_johanni_vhotel_asset_int_door02_b
+d_johanni_vhotel_asset_int_door02_a
+d_johanni_vhotel_asset_ext_door02_l
+d_turbosaif_vmc_slidedoor02
+d_turbosaif_vmc_slidedoor01
+d_turbosaif_vmc_slidedoor03
+d_turbosaif_vmc_door03
+d_turbosaif_vmc_door05
+d_turbosaif_vmc_door04
+d_turbosaif_vmc_door01
+d_turbosaif_vmc_door_garage
+d_turbosaif_vmc_door_elevator
+d_turbosaif_vmc_ext_door01
+d_turbosaif_vmc_door02
\ No newline at end of file
diff --git a/resources/[defaultmaps]/tstudio_doortuning/audio/tstudio_door_game.dat151.rel b/resources/[defaultmaps]/tstudio_doortuning/audio/tstudio_door_game.dat151.rel
new file mode 100644
index 000000000..eedfee562
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_doortuning/audio/tstudio_door_game.dat151.rel differ
diff --git a/resources/[defaultmaps]/tstudio_doortuning/doortuning.ymt b/resources/[defaultmaps]/tstudio_doortuning/doortuning.ymt
new file mode 100644
index 000000000..e1c847f8e
--- /dev/null
+++ b/resources/[defaultmaps]/tstudio_doortuning/doortuning.ymt
@@ -0,0 +1,1347 @@
+
+
+
+ -
+ BarrierArmCustomBox
+
+
+ DontCloseWhenTouched AutoOpensForSPVehicleWithPedsOnly
+ AutoOpensForMPVehicleWithPedsOnly
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ ChopShopGarageCustomBox
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ CultistGate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ DefaultBarrierArm
+
+
+ AutoOpensForSPVehicleWithPedsOnly AutoOpensForMPVehicleWithPedsOnly
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ DefaultGarage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ DefaultGarageBox
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ DefaultGarageCustomBox
+
+
+ DontCloseWhenTouched
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ DefaultSlidingHorizontal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ DefaultSlidingVertical
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ DefaultStandard
+
+
+ DelayDoorClosingForPlayer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ DefaultStandardLatchShut
+
+
+ DelayDoorClosingForPlayer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ NoRotationLimitStandardLatchShut
+
+
+ DelayDoorClosingForPlayer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ FBISecurityGate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ FenceGate
+
+
+ DontCloseWhenTouched IgnoreOpenDoorTaskEdgeLerp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ FragBarrierArm
+
+
+ AutoOpensForSPVehicleWithPedsOnly AutoOpensForMPVehicleWithPedsOnly
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ FragBarrierArmCustomBox
+
+
+ AutoOpensForSPVehicleWithPedsOnly AutoOpensForMPVehicleWithPedsOnly
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ FranklinGarage2
+
+
+ AutoOpensForSPPlayerPedsOnly
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ FranklinGarageCustomBox
+
+
+ AutoOpensForSPPlayerPedsOnly
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ GangGarageCustomBox
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ HeavyVaultDoor
+
+
+ DontCloseWhenTouched IgnoreOpenDoorTaskEdgeLerp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenNegDir
+
+
+ -
+ HeavyWoodDoor
+
+
+ IgnoreOpenDoorTaskEdgeLerp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ LargeFenceGate
+
+
+ DelayDoorClosingForPlayer IgnoreOpenDoorTaskEdgeLerp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ LargeGate
+
+
+ IgnoreOpenDoorTaskEdgeLerp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ MichaelGarageCustomBox
+
+
+ AutoOpensForSPPlayerPedsOnly
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ ReduceOpenGarage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ SlidingHorizontalExtendedRange
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ SlidingHorizontalSPVehiclesAndMPPlayerPeds
+
+
+ AutoOpensForSPVehicleWithPedsOnly AutoOpensForMPPlayerPedsOnly
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ SlidingHorizontalVehiclesOnly
+
+
+ AutoOpensForSPVehicleWithPedsOnly AutoOpensForMPVehicleWithPedsOnly
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ SprayDoors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ StandardHeavy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ TollBarrierArmCustomBox
+
+
+ DontCloseWhenTouched AutoOpensForAllVehicles
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ TrevorGarageCustomBox
+
+
+ AutoOpensForSPPlayerPedsOnly
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ TowTruckYardSlidingHorizontal
+
+
+ AutoOpensForSPPlayerPedsOnly AutoOpensForMPPlayerPedsOnly
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ SlidingHorizontalPoliceSPVehiclesAndMPPlayerPeds
+
+
+ AutoOpensForSPPlayerPedsOnly AutoOpensForMPPlayerPedsOnly AutoOpensForLawEnforcement
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ SupermodGarage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+ -
+ SupermodGarage2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StdDoorOpenBothDir
+
+
+
+
+ -
+ bh1_48_gate_1
+ DefaultStandardLatchShut
+
+ -
+ prop_arm_gate_l
+ LargeFenceGate
+
+ -
+ prop_bh1_48_backdoor_l
+ DefaultStandardLatchShut
+
+ -
+ prop_bh1_48_backdoor_r
+ DefaultStandardLatchShut
+
+ -
+ prop_ch_025c_g_door_01
+ FranklinGarage2
+
+ -
+ prop_com_gar_door_01
+ DefaultGarageCustomBox
+
+ -
+ prop_com_ls_door_01
+ ChopShopGarageCustomBox
+
+ -
+ prop_cs4_05_tdoor
+ DefaultStandardLatchShut
+
+ -
+ prop_cs4_10_tr_gd_01
+ TrevorGarageCustomBox
+
+ -
+ prop_door_balcony_left
+ DefaultStandardLatchShut
+
+ -
+ prop_door_balcony_right
+ DefaultStandardLatchShut
+
+ -
+ prop_facgate_01
+ SlidingHorizontalSPVehiclesAndMPPlayerPeds
+
+ -
+ prop_facgate_01b
+ SlidingHorizontalSPVehiclesAndMPPlayerPeds
+
+ -
+ prop_facgate_03_l
+ LargeFenceGate
+
+ -
+ prop_facgate_03_r
+ LargeFenceGate
+
+ -
+ prop_facgate_04_l
+ LargeFenceGate
+
+ -
+ prop_facgate_04_r
+ LargeFenceGate
+
+ -
+ prop_facgate_05_r
+ LargeGate
+
+ -
+ prop_facgate_06_l
+ StandardHeavy
+
+ -
+ prop_facgate_06_r
+ StandardHeavy
+
+ -
+ prop_facgate_11
+ LargeFenceGate
+
+ -
+ prop_fnclink_01gate1
+ FenceGate
+
+ -
+ prop_fnclink_02gate1
+ LargeFenceGate
+
+ -
+ prop_fnclink_02gate5
+ LargeFenceGate
+
+ -
+ prop_fnclink_02gate6_l
+ LargeFenceGate
+
+ -
+ prop_fnclink_02gate6_r
+ LargeFenceGate
+
+ -
+ prop_fnclink_02gate7
+ LargeFenceGate
+
+ -
+ prop_fnclink_03gate4
+ LargeFenceGate
+
+ -
+ prop_fnclink_03gate5
+ FenceGate
+
+ -
+ prop_fnclink_04gate1
+ LargeFenceGate
+
+ -
+ prop_fnclink_06gate2
+ LargeFenceGate
+
+ -
+ prop_fnclink_06gate3
+ LargeFenceGate
+
+ -
+ prop_fnclink_07gate1
+ FenceGate
+
+ -
+ prop_fnclink_07gate1
+ FenceGate
+
+ -
+ prop_fnclink_07gate2
+ FenceGate
+
+ -
+ prop_fnclink_07gate3
+ FenceGate
+
+ -
+ prop_fnclink_09gate1
+ LargeFenceGate
+
+ -
+ prop_fncres_02_gate1
+ FenceGate
+
+ -
+ prop_fncres_03gate1
+ FenceGate
+
+ -
+ prop_fncwood_07gate1
+ FenceGate
+
+ -
+ prop_gar_door_03_ld
+ GangGarageCustomBox
+
+ -
+ prop_gate_cult_01_l
+ CultistGate
+
+ -
+ prop_gate_cult_01_r
+ CultistGate
+
+ -
+ prop_gate_tep_01_l
+ LargeGate
+
+ -
+ prop_gate_tep_01_r
+ LargeGate
+
+ -
+ prop_gate_farm_01a
+ FenceGate
+
+ -
+ prop_ld_bankdoors_01
+ HeavyWoodDoor
+
+ -
+ prop_ld_garaged_01
+ MichaelGarageCustomBox
+
+ -
+ prop_lrggate_02_ld
+ LargeGate
+
+ -
+ prop_police_door_l
+ DefaultStandardLatchShut
+
+ -
+ prop_police_door_r
+ DefaultStandardLatchShut
+
+ -
+ prop_sc1_21_g_door_01
+ FranklinGarageCustomBox
+
+ -
+ prop_sec_barrier_ld_01a
+ FragBarrierArmCustomBox
+
+ -
+ prop_sec_barrier_ld_02a
+ TollBarrierArmCustomBox
+
+ -
+ v_ilev_arm_secdoor
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_bk_vaultdoor
+ HeavyVaultDoor
+
+ -
+ v_ilev_bl_doorsl_l
+ SlidingHorizontalExtendedRange
+
+ -
+ v_ilev_bl_doorsl_r
+ SlidingHorizontalExtendedRange
+
+ -
+ v_ilev_cd_entrydoor
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_cor_firedoor
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_cor_firedoorwide
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_fa_dinedoor
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_fa_frontdoor
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_fa_roomdoor
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_fbisecgate
+ FBISecurityGate
+
+ -
+ v_ilev_fib_door3
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_gc_door01
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_gc_door02
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_gc_door03
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_gc_door04
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_lostdoor
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_mm_door
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_mm_doorm_l
+ NoRotationLimitStandardLatchShut
+
+ -
+ v_ilev_mm_doorm_r
+ NoRotationLimitStandardLatchShut
+
+ -
+ v_ilev_mm_doorw
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_ph_gendoor
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_ph_gendoor002
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_ph_gendoor003
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_phroofdoor
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_spraydoor
+ SprayDoors
+
+ -
+ v_ilev_ss_door02
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_ss_door5_l
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_ss_door5_r
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_ss_door7
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_ss_door8
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_trev_door
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_trev_door
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_trev_doorbath
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_trev_doorfront
+ DefaultStandardLatchShut
+
+ -
+ v_ilev_trevtrailerdr
+ DefaultStandardLatchShut
+
+ -
+ vb_35_lifeguarddoor2
+ ReduceOpenGarage
+
+ -
+ prop_facgate_08
+ TowTruckYardSlidingHorizontal
+
+ -
+ hei_prop_station_gate
+ SlidingHorizontalPoliceSPVehiclesAndMPPlayerPeds
+
+ -
+ lr_prop_supermod_door_01
+ SupermodGarage
+
+
+ -
+ tstudio_tuner_asset_gdoor1
+ SupermodGarage
+
+ -
+ tstudio_tuner_asset_gdoor2
+ SupermodGarage
+
+ -
+ tstudio_tuner_asset_gdoor1a
+ SupermodGarage
+
+ -
+ tstudio_tuner_asset_gdoor2a
+ SupermodGarage
+
+ -
+ tstudio_tuner_asset_door_l
+ DefaultStandardLatchShut
+
+ -
+ tstudio_tuner_asset_door_r
+ DefaultStandardLatchShut
+
+ -
+ ch_prop_ch_utility_door_01a
+ DefaultStandardLatchShut
+
+
+ -
+ johanni_vhotel_asset_door_secret
+ DefaultStandardLatchShut
+
+ -
+ johanni_vhotel_asset_door01
+ DefaultStandardLatchShut
+
+ -
+ johanni_vhotel_asset_ext_door02_l
+ DefaultStandardLatchShut
+
+ -
+ johanni_vhotel_asset_ext_door02_r
+ DefaultStandardLatchShut
+
+ -
+ johanni_vhotel_asset_int_door02_a
+ DefaultStandardLatchShut
+
+ -
+ johanni_vhotel_asset_int_door02_b
+ DefaultStandardLatchShut
+
+
+ -
+ johanni_pillbox_md_asset_garage_door
+ SupermodGarage
+
+
+
\ No newline at end of file
diff --git a/resources/[defaultmaps]/tstudio_doortuning/fxmanifest.lua b/resources/[defaultmaps]/tstudio_doortuning/fxmanifest.lua
new file mode 100644
index 000000000..b252439fb
--- /dev/null
+++ b/resources/[defaultmaps]/tstudio_doortuning/fxmanifest.lua
@@ -0,0 +1,30 @@
+fx_version 'cerulean'
+lua54 'yes'
+game "gta5"
+replace_level_meta 'gta5'
+
+author 'TStudio'
+description 'Overrides GTA Vanilla doortuning to adapt with TStudio MLOs'
+version '1.0.0'
+
+dependencies {
+ '/gameBuild:2545', -- ⚠️PLEASE READ⚠️; Requires at least GAME build 2545.
+ -- 'tstudio_zmapdata', -- ⚠️PLEASE READ⚠️; Requires to be started before this resource.
+}
+
+data_file 'AUDIO_GAMEDATA' 'audio/tstudio_door_game.dat'
+
+files {
+ 'gta5.meta',
+ 'doortuning.ymt',
+ 'heightmap.dat',
+ 'audio/tstudio_door_game.dat151.rel'
+}
+
+escrow_ignore {
+ 'gta5.meta',
+ 'doortuning.ymt',
+ 'heightmap.dat',
+ 'audio/*.*'
+}
+dependency '/assetpacks'
\ No newline at end of file
diff --git a/resources/[defaultmaps]/tstudio_doortuning/gta5.meta b/resources/[defaultmaps]/tstudio_doortuning/gta5.meta
new file mode 100644
index 000000000..379bf39ba
--- /dev/null
+++ b/resources/[defaultmaps]/tstudio_doortuning/gta5.meta
@@ -0,0 +1,1162 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ - commoncrc:/data/common_cutscene.meta
+
+
+ -
+ platform:/levels/gta5/vehiclemods/hotknife_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/speedo2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/khamelion_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/elegy2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/intruder_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/zion2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/zion_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/oracle2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/cheetah_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/sabregt_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/infernus_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/rapidgt2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/rapidgt_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/vacca_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/carbonizzare_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/coquette_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/buffalo2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/entityxf_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/peyote_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/bagger_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/tornado_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/manana_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/sentinel2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/sandking2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/sandking_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/schwarzer_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/vigero_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/prairie_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/comet2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/primo_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/schafter2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/banshee_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/sentinel_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/fusilade_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/rebel_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/pcj_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/serrano_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/sultan_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/ruiner_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/landstalker_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/premier_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/penumbra_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/issi2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/bjxl_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/gresley_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/voltic_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/dominator_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/blista_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/felon_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/phoenix_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/ninef_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/dubsta2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/ratloader_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/jackal_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/surano_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/asea_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/surge_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/youga_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/double_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/baller_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/ztype_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/ruffian_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/tailgater_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/daemon_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/ninef2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/police3_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/cavalcade_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/bodhi2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/akuma_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/feltzer2_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/futo_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/buccaneer_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/buffalo_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/dubsta_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/vehiclemods/wheels_mods.rpf
+ RPF_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/script/script.rpf
+ RPF_FILE_PRE_INSTALL
+
+ PARTITION_2
+
+ -
+ platform:/data/cdimages/carrec.rpf
+ RPF_FILE
+
+ -
+ platform:/data/cdimages/moviesubs.rpf
+ RPF_FILE
+
+ -
+ platform:/levels/gta5/generic/gtxd.ityp
+ PERMANENT_ITYP_FILE
+
+ -
+ platform:/levels/gta5/generic/gtxd.rpf
+ RPF_FILE
+ CONTENTS_MAP
+
+ -
+ platform:/data/effects/ptfx.rpf
+ RPF_FILE
+
+
+ -
+ commoncrc:/data/levels/gta5/water.xml
+ WATER_FILE
+
+ -
+ common:/data/levels/gta5/time.xml
+ TIME_FILE
+
+ -
+ common:/data/levels/gta5/weather.xml
+ WEATHER_FILE
+
+ -
+ common:/data/timecycle/underwater_deep.xml
+ TIMECYCLE_FILE
+
+ -
+ common:/data/timecycle/timecycle_mods_1.xml
+ TIMECYCLEMOD_FILE
+
+ -
+ common:/data/timecycle/timecycle_mods_2.xml
+ TIMECYCLEMOD_FILE
+
+ -
+ common:/data/timecycle/timecycle_mods_3.xml
+ TIMECYCLEMOD_FILE
+
+ -
+ common:/data/timecycle/timecycle_mods_4.xml
+ TIMECYCLEMOD_FILE
+
+ -
+ common:/data/materials/procedural.dat
+ PROCOBJ_FILE
+
+ -
+ common:/data/materials/procedural.meta
+ PROC_META_FILE
+
+ -
+ common:/data/levels/gta5/vfx.dat
+ VFX_SETTINGS_FILE
+
+ -
+ common:/data/effects/bloodfx.dat
+ BLOODFX_FILE
+
+ -
+ common:/data/effects/entityfx.dat
+ ENTITYFX_FILE
+
+ -
+ commoncrc:/data/effects/explosionfx.dat
+ EXPLOSIONFX_FILE
+
+ -
+ common:/data/effects/firefx.dat
+ FIREFX_FILE
+
+ -
+ common:/data/effects/liquidfx.dat
+ LIQUIDFX_FILE
+
+ -
+ common:/data/effects/materialfx.dat
+ MATERIALFX_FILE
+
+ -
+ common:/data/effects/wheelfx.dat
+ WHEELFX_FILE
+
+ -
+ commoncrc:/data/effects/weaponfx.dat
+ WEAPONFX_FILE
+
+ -
+ common:/data/effects/decals.dat
+ DECALS_FILE
+
+ -
+ platform:/data/effects/vfxvehicleinfo
+ VFXVEHICLEINFO_FILE
+
+ -
+ platform:/data/effects/vfxpedinfo
+ VFXPEDINFO_FILE
+
+ -
+ platform:/data/effects/vfxweaponinfo
+ VFXWEAPONINFO_FILE
+
+ -
+ platform:/data/effects/vfxinteriorinfo
+ VFXINTERIORINFO_FILE
+
+ -
+ platform:/data/effects/vfxregioninfo
+ VFXREGIONINFO_FILE
+
+ -
+ common:/data/effects/scriptfx.dat
+ SCRIPTFX_FILE
+
+ -
+ platform:/data/effects/ptfxassetinfo
+ PTFXASSETINFO_FILE
+
+ -
+ platform:/data/effects/vfxfogvolumeinfo
+ VFXFOGVOLUMEINFO_FILE
+
+ -
+ commoncrc:/data/levels/gta5/vehicles.meta
+ VEHICLE_METADATA_FILE
+
+ -
+ platform:/levels/gta5/generic/icons.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/generic/procobj.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/interiors/int_props/int_lev_des.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/interiors/int_props/int_light_rig.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/rt_bink/vfx_reference.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/building/v_rooftop.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/recreational/v_coin_op.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/recreational/v_sports.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/residential/v_bathroom.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/residential/v_garden.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/residential/v_electrical.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/residential/v_seating.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/residential/v_kitchen.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/commercial/v_bar.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/commercial/v_fastfood.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/commercial/v_garage.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/commercial/v_office.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/procedural/v_proc1.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/procedural/v_proc2.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/procedural/v_proc3.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/vegetation/v_ext_veg.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/vegetation/v_fanpalm.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/vegetation/v_palm.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/vegetation/v_trees.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/vegetation/v_bush.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/vegetation/v_potted.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/vegetation/v_cacti.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/vegetation/v_crops.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/vegetation/v_rocks.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/vegetation/v_snow.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/industrial/v_airport.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/industrial/v_industrial.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/industrial/v_industrial_2.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/roadside/v_bins.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/roadside/v_construction.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/roadside/v_fences.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/roadside/v_fences_2.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/_citye/downtown_01/downtown_01_metadata_permanent.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_MAP
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/roadside/v_rubbish.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/roadside/v_seating_tables.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/roadside/v_signs.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/roadside/v_storage.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/roadside/v_traffic_lights.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/roadside/v_utility.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/rural/v_farm.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/Lev_Des/Lev_Des.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/Lev_Des/v_minigame.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/Lev_Des/V_Set_Pieces.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/Lev_Des/V_Lev_Doors.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/props/Lev_Des/P_V_Lev_Des_skin.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/outsource/building_xrefs.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/_hills/cs_xref.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/_citye/citye_xr.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/_citye/port_xr.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/_cityw/marina_xr.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_fib_door.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_fib_ceiling.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_fib_floor.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_fib_glass.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_jewel_cab.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_jewel_cab2.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_jewel_cab3.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_showroom.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_vaultdoor.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_tvsmash.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_fibstairs.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_jewel_cab4.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_hospitaldoors.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_finale_tunnel.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_finale_vault.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_frenchdoors.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/des_server.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/DES_prologue_door.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/interior/int_props/int_retail.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_setpiece2.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_stilthouse.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_scaffolding.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_gasstation.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_farmhouse.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_methtrailer.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_traincrash.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_trailerparka.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_trailerparkb.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_trailerparkc.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_trailerparkd.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_trailerparke.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_protree.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_apartmentblock.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_tankercrash.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_tankerexplosion.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/destruction/exterior/des_shipsink.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ platform:/levels/gta5/popgroups
+ POPGRP_FILE
+
+ -
+ commoncrc:/data/levels/gta5/popcycle.dat
+ POPSCHED_FILE
+
+ -
+ common:/data/levels/gta5/MAPAREA.IPL
+ IPL_FILE
+
+ -
+ common:/data/levels/gta5/POPZONE.IPL
+ IPL_FILE
+
+ -
+ platform:/levels/gta5/zonebind
+ ZONEBIND_FILE
+
+ -
+ common:/data/levels/gta5/ambient.IPL
+ IPL_FILE
+
+ -
+ common:/data/levels/gta5/ambient_Leeds.IPL
+ IPL_FILE
+
+ -
+ common:/data/levels/gta5/ambient_MP.IPL
+ IPL_FILE
+
+ -
+ common:/data/levels/gta5/ambient_SD.IPL
+ IPL_FILE
+
+ -
+ commoncrc:/data/levels/gta5/trains.xml
+ TRAINCONFIGS_FILE
+
+ -
+ commoncrc:/data/levels/gta5/traintracks.xml
+ TRAINTRACK_FILE
+
+ -
+ platform:/levels/gta5/cloudhats/v_clouds.ityp
+ PERMANENT_ITYP_FILE
+ PARTITION_2
+
+ -
+ common:/data/levels/gta5/NavmeshIndexMapping.dat
+ NAVMESH_INDEXREMAPPING_FILE
+
+ -
+ common:/data/levels/gta5/junctions.xml
+ JUNCTION_TEMPLATES_FILE
+
+ -
+ common:/data/levels/gta5/junctions.pso
+ JUNCTION_TEMPLATES_PSO_FILE
+
+ -
+ common:/data/levels/gta5/pathzones.xml
+ PATH_ZONES_FILE
+
+ -
+ commoncrc:/data/levels/gta5/vehiclepopulation.xml
+ VEHICLE_POPULATION_FILE
+
+ -
+ common:/data/levels/gta5/vehgen_markup.xml
+ VEHGEN_MARKUP_FILE
+
+ -
+ common:/data/levels/gta5/streetvehicleassoc.xml
+ STREET_VEHICLE_ASSOCIATION_FILE
+
+ -
+ common:/data/levels/gta5/distantlights.dat
+ DISTANT_LIGHTS_FILE
+
+ -
+ common:/data/levels/gta5/distantlights_hd.dat
+ DISTANT_LIGHTS_HD_FILE
+
+ -
+ platform:/levels/gta5/sp_manifest.#mt
+ SCENARIO_POINTS_PSO_FILE
+
+ -
+ platform:/levels/gta5/generic/objectcovertuning
+ OBJ_COVER_TUNING_FILE
+
+ -
+ resources:/tstudio_doortuning/doortuning
+ DOOR_TUNING_FILE
+
+ -
+ platformcrc:/levels/gta5/slownesszones
+ SLOWNESS_ZONES_FILE
+
+ -
+ common:/data/levels/gta5/mapzones.xml
+ MAPZONES_FILE
+
+ -
+ resources:/tstudio_doortuning/heightmap.dat
+ WORLD_HEIGHTMAP_FILE
+
+ -
+ COMMON:/data/levels/gta5/waterheight.dat
+ WORLD_WATERHEIGHT_FILE
+
+ -
+ platform:/levels/gta5/props/vegetation/v_prop_patch.ityp
+ PERMANENT_ITYP_FILE
+ CONTENTS_PROPS
+ PARTITION_2
+
+
+
diff --git a/resources/[defaultmaps]/tstudio_doortuning/heightmap.dat b/resources/[defaultmaps]/tstudio_doortuning/heightmap.dat
new file mode 100644
index 000000000..29f63827b
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_doortuning/heightmap.dat differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/.fxap b/resources/[defaultmaps]/tstudio_zmapdata/.fxap
new file mode 100644
index 000000000..6fc47a6f8
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/.fxap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/README.md b/resources/[defaultmaps]/tstudio_zmapdata/README.md
new file mode 100644
index 000000000..377745929
--- /dev/null
+++ b/resources/[defaultmaps]/tstudio_zmapdata/README.md
@@ -0,0 +1,128 @@
+# 📦 TStudio ZMapData - Interior & Compatibility Management
+
+A comprehensive FiveM resource for managing interior configurations, entity sets, and automatic compatibility patches for TStudio map resources.
+
+## 🚀 Features
+
+- **Interior Management**: Automated interior blocking and entity set configuration
+- **Compatibility Patches**: Intelligent patch system for map combinations
+- **Floor Management**: Dynamic floor loading for multi-level interiors
+- **Privacy Controls**: Interactive privacy glass controls
+- **Debug Support**: Comprehensive debugging tools
+
+## 🔧 Server Requirements
+
+Before installation, ensure your server meets these requirements:
+
+| Requirement | Minimum Version |
+|-------------|----------------|
+| **FXServer Artifact** | `7290` or higher |
+| **Game Build** | `3258` or higher |
+| **Recommended** | txAdmin for resource management |
+
+---
+
+## 🔧 Configuration
+
+### Supported Map Combinations
+
+This resource automatically detects and applies compatibility patches for:
+
+#### TStudio Maps
+- Mission Row Park combinations
+- Opium Nights integrations
+- Legion Square compatibility
+- Tropical Heights support
+- Pillbox Medical combinations
+
+#### Third-Party Maps
+- **Kiiya MRPD**: Comprehensive compatibility with all TStudio maps
+- **Fiv3Devs**: Pillbox and other map integrations
+- **FM Maps**: MRPD compatibility patches
+
+### Interior Blocking
+
+Automatically blocks conflicting default GTA interiors:
+- Fleeca Banks (6 locations)
+- Ammunation stores (11 locations)
+- Tattoo parlors (4 locations)
+
+---
+
+## 📦 Installation Steps
+
+### 1. Prepare Resource Folders
+
+Create the following folder structure in your `resources` directory:
+
+```
+resources/
+├── [tstudio_maps]/
+└── [_tstudio_maps_patches]/
+```
+
+
+### 2. Install Resources
+
+- **Drag and drop** all `tstudio_*` resources into `[tstudio_maps]/` folder
+- **Drag and drop** all `tstudio_zpatch_*` resources into `[_tstudio_maps_patches]/` folder
+
+### 3. Configure server.cfg
+
+Add this line to your `server.cfg`:
+
+```cfg
+ensure [tstudio_maps]
+```
+
+### 4. Finalize Installation
+
+1. **Clear your server cache** after installation
+2. **Restart your server**
+
+> ⚠️ **Important:** Do not manually start the patches folder - our system handles this automatically!
+
+---
+
+## 🔄 Update Process
+
+Follow these steps to update your resources:
+
+1. **Delete** old `tstudio_*` resources
+2. **Replace** with new versions
+3. **Clear** server cache
+4. **Restart** server
+
+---
+
+## � Performance Tips
+
+### Load Order Priority
+- Load `tstudio_zmapdata` and `tstudio_audioocclusion` **first**
+- Maintain original file structure
+- Test on development server before production deployment
+
+### Best Practices
+- ✅ Keep original filenames and folder structure
+- ✅ Clear cache after each update
+- ✅ Use txAdmin for easier management
+- ❌ Don't rename resources or files
+- ❌ Don't modify folder structure
+
+---
+
+## 🆘 Support & Community
+
+Need help? Join our community:
+
+[](https://discord.gg/tstudio)
+
+**🌐 Official Discord:** [https://discord.gg/tstudio](https://discord.gg/tstudio)
+
+---
+
+
+
+**Made with ❤️ by TStudio**
+
+
\ No newline at end of file
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/client/activate_ipl.lua b/resources/[defaultmaps]/tstudio_zmapdata/client/activate_ipl.lua
new file mode 100644
index 000000000..4908f2081
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/client/activate_ipl.lua differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/client/entitysets_loader.lua b/resources/[defaultmaps]/tstudio_zmapdata/client/entitysets_loader.lua
new file mode 100644
index 000000000..1ef01fc87
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/client/entitysets_loader.lua differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/client/ipl_blocker.lua b/resources/[defaultmaps]/tstudio_zmapdata/client/ipl_blocker.lua
new file mode 100644
index 000000000..f5d784bfe
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/client/ipl_blocker.lua differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/client/privacy_glass.lua b/resources/[defaultmaps]/tstudio_zmapdata/client/privacy_glass.lua
new file mode 100644
index 000000000..9ae31a8fe
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/client/privacy_glass.lua differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/config.lua b/resources/[defaultmaps]/tstudio_zmapdata/config.lua
new file mode 100644
index 000000000..539fd2aa9
--- /dev/null
+++ b/resources/[defaultmaps]/tstudio_zmapdata/config.lua
@@ -0,0 +1,655 @@
+-- ## Interior Configurations
+Config = {
+ Debug = false, -- Set to true to enable debug prints
+
+ -- EntitySets define the interior configurations for various locations
+ EntitySets = {
+ {
+ name = "Laundromat Dollar Pills Paleto Bay",
+ coords = vector3(-44.39701, 6453.24756, 32.15056),
+ ipl = "tstudio_laundromat_paleto",
+ entitySets = {
+ {name = "door_open", enable = true}, -- Enable the door_open entity set
+ {name = "door_closed", enable = false} -- Disable the door_closed entity set
+ }
+ }, {
+ name = "Laundromat Dollar Pills Davis",
+ coords = vector3(62.1981468, -1604.00537, 30.2375851),
+ ipl = "tstudio_laundromat_dollar_pills",
+ entitySets = {
+ {name = "door_open", enable = false}, -- Disable the door_open entity set
+ {name = "door_closed", enable = true} -- Enable the door_closed entity set
+ }
+ }, {
+ name = "Laundromat Dollar Pills Banyon Canyon",
+ coords = vector3(-3062.18, 630.528, 8.03883),
+ ipl = "tstudio_laundromat_bc",
+ entitySets = {
+ {name = "door_open", enable = true}, -- Enable the door_open entity set
+ {name = "door_closed", enable = false} -- Disable the door_closed entity set
+ }
+ }, {
+ name = "Jurassic Jackpot",
+ coords = vector3(-247.246368, -919.344238, 40.5292854),
+ ipl = "johanni_jurassic_jackpot_milo",
+ entitySets = {
+ {name = "casino_table_yes_w_car_podium", enable = true}, -- Enable the casino_table_yes_w_car_podium entity set
+ {name = "casino_table_no_w_car_podium", enable = false}, -- Enable the casino_table_no_w_car_podium entity set
+ {name = "casino_table_yes", enable = false}, -- Enable the casino_table_yes entity set
+ {name = "casino_table_no", enable = false} -- Disable the casino_table_no entity set
+ }
+ }, {
+ name = "VHotel Estate",
+ coords = vector3(-1354.21887, -1071.3999, 9.128438),
+ ipl = "johanni_vhotel_milo_",
+ entitySets = {
+ {name = "r16_casino_slots_on", enable = true}, -- Enable the casino slots entity set
+ {name = "r2_r3_pool_tables_on", enable = true} -- Enable the pool tables entity set
+ }
+ }, {
+ name = "Fleeca Bank Vinewood",
+ coords = vector3(-355.435852, -48.5326, 48.1063843),
+ ipl = "uniqx_flecca_l1_milo_",
+ entitySets = {
+ {name = "fleeca_vaultprops", enable = true}, -- Enable the casino slots entity set
+ }
+ }, {
+ name = "Fleeca Bank Vinewood (Lower Level)",
+ coords = vector3(309.74646, -277.644165, 53.2345963),
+ ipl = "uniqx_flecca_l2_milo_",
+ entitySets = {
+ {name = "fleeca_vaultprops", enable = true}, -- Enable the casino slots entity set
+ }
+ }, {
+ name = "Fleeca Bank Legion Square",
+ coords = vector3(145.416824, -1039.277, 28.4378834),
+ ipl = "uniqx_flecca_l3_milo_",
+ entitySets = {
+ {name = "fleeca_vaultprops", enable = true}, -- Enable the casino slots entity set
+ }
+ }, {
+ name = "Fleeca Bank Movie Studio",
+ coords = vector3(-1216.7616, -333.000763, 36.85084),
+ ipl = "uniqx_flecca_l4_milo_",
+ entitySets = {
+ {name = "fleeca_vaultprops", enable = true}, -- Enable the casino slots entity set
+ }
+ }, {
+ name = "Fleeca Bank East Highway",
+ coords = vector3(-2962.59131, 478.238037, 14.7668953),
+ ipl = "uniqx_flecca_l5_milo_",
+ entitySets = {
+ {name = "fleeca_vaultprops", enable = true}, -- Enable the casino slots entity set
+ }
+ }, {
+ name = "Fleeca Bank Sandy Shores",
+ coords = vector3(1179.74475, 2706.985, 37.15784),
+ ipl = "uniqx_flecca_l6_milo_",
+ entitySets = {
+ {name = "fleeca_vaultprops", enable = true}, -- Enable the casino slots entity set
+ }
+ },
+ -- #########################################
+ -- Pearls Resort Entity Set Configuration
+ -- #########################################
+ {
+ name = "Villa Small Interior 01",
+ coords = vector3(-1919.861694, -1461.563599, 2.169187),
+ ipl = "tstudio_jhn_resort_int_villa_s_01_milo_",
+ entitySets = {
+ {name = "villa_s_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Villa Small Interior 02",
+ coords = vector3(-1938.779663, -1500.747437, 2.169187),
+ ipl = "tstudio_jhn_resort_int_villa_s_02_milo_",
+ entitySets = {
+ {name = "villa_s_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Villa Small Interior 03",
+ coords = vector3(-1964.696533, -1518.412964, 2.169187),
+ ipl = "tstudio_jhn_resort_int_villa_s_03_milo_",
+ entitySets = {
+ {name = "villa_s_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Villa Small Interior 04",
+ coords = vector3(-1994.894653, -1474.635742, 2.169187),
+ ipl = "tstudio_jhn_resort_int_villa_s_04_milo_",
+ entitySets = {
+ {name = "villa_s_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Villa Small Interior 05",
+ coords = vector3(-1969.661743, -1458.650879, 2.169187),
+ ipl = "tstudio_jhn_resort_int_villa_s_05_milo_",
+ entitySets = {
+ {name = "villa_s_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Villa Small Interior 06",
+ coords = vector3(-2050.360840, -1427.984985, 2.169187),
+ ipl = "tstudio_jhn_resort_int_villa_s_06_milo_",
+ entitySets = {
+ {name = "villa_s_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Villa Small Interior 07",
+ coords = vector3(-2038.969727, -1400.422729, 2.169187),
+ ipl = "tstudio_jhn_resort_int_villa_s_07_milo_",
+ entitySets = {
+ {name = "villa_s_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Villa Small Interior 08",
+ coords = vector3(-2098.611572, -1406.019897, 2.169187),
+ ipl = "tstudio_jhn_resort_int_villa_s_08_milo_",
+ entitySets = {
+ {name = "villa_s_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Villa Small Interior 09",
+ coords = vector3(-2085.950684, -1377.324097, 2.169187),
+ ipl = "tstudio_jhn_resort_int_villa_s_09_milo_",
+ entitySets = {
+ {name = "villa_s_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Villa Small Interior 10",
+ coords = vector3(-2050.601318, -1351.971924, 2.169187),
+ ipl = "tstudio_jhn_resort_int_villa_s_10_milo_",
+ entitySets = {
+ {name = "villa_s_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Villa Large Interior 01",
+ coords = vector3(-2062.492920, -1498.251099, 2.171660),
+ ipl = "tstudio_jhn_resort_int_villa_l_01_milo_",
+ entitySets = {
+ {name = "villa_l_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Villa Large Interior 02",
+ coords = vector3(-2013.281982, -1518.893188, 2.171660),
+ ipl = "tstudio_jhn_resort_int_villa_l_02_milo_",
+ entitySets = {
+ {name = "villa_l_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Villa Large Interior 03",
+ coords = vector3(-2090.989990, -1453.017822, 2.171660),
+ ipl = "tstudio_jhn_resort_int_villa_l_03_milo_",
+ entitySets = {
+ {name = "villa_l_props_yes", enable = true}, -- Enable this entity set
+ {name = "villa_s_props_no", enable = false} -- Disable this entity set
+ }
+ },
+ {
+ name = "Pearls Restaurant",
+ coords = vector3(-1934.319580, -1334.520142, 2.050076),
+ ipl = "tstudio_jhn_resort_int_pearls_milo_",
+ entitySets = {
+ {name = "casino_table_slots_wheel_yes", enable = true}, -- Enable this entity set
+ {name = "enable_3d_logos", enable = true}, -- Enable this entity set
+ }
+ },
+ },
+
+ PrivacySwitch = {
+ positions = {
+ vector3(306.003, -568.511, 63.181), -- Office 1
+ vector3(305.963, -568.432, 67.184), -- Office 2
+ vector3(306.056, -568.902, 59.229) -- etc.
+ },
+ entitySetA = "r7_privacy_off",
+ entitySetB = "r7_privacy_on",
+ marker = {type = 6, r = 19, g = 87, b = 66, alpha = 100},
+ range = 2
+ },
+
+ -- CompatibilityPatches define fixes for specific combinations of maps
+ CompatibilityPatches = {
+ -- ===========================================
+ -- TStudio Maps Compatibility Patches
+ -- ===========================================
+ {
+ name = "Fix for Opium Nights & LSI Square",
+ requiredMaps = {"tstudio_opium_nights", "tstudio_lsi_square"},
+ fixResource = "tstudio_zpatch_opium_lsis" -- Resource to apply the fix
+ }, {
+ name = "Fix for Opium Nights & Bennys Racetrack",
+ requiredMaps = {"tstudio_opium_nights", "tstudio_bennys_racetrack"},
+ fixResource = "tstudio_zpatch_opium_racetrack" -- Resource to apply the fix
+ }, {
+ name = "Fix for Opium Nights, Bennys Racetrack & LSI Square",
+ requiredMaps = {
+ "tstudio_opium_nights", "tstudio_lsi_square",
+ "tstudio_bennys_racetrack"
+ },
+ fixResource = "tstudio_zpatch_opium_racetrack_lsis" -- Resource to apply the fix
+ }, {
+ name = "Fix for Missionrowpark, Kebabking, Tropical Heights & Legion",
+ requiredMaps = {
+ "tstudio_missionrow_park", "tstudio_legionsquare",
+ "tstudio_tropical_heights", "tstudio_kebabking"
+ },
+ fixResource = "tstudio_zpatch_mrpark_kebab_th_ls" -- Resource to apply the fix
+ }, {
+ name = "Fix for Missionrowpark, Kebabking & Tropical Heights",
+ requiredMaps = {
+ "tstudio_missionrow_park", "tstudio_kebabking",
+ "tstudio_tropical_heights"
+ },
+ fixResource = "tstudio_zpatch_mrpark_kebab_th" -- Resource to apply the fix
+ }, {
+ name = "Fix for Missionrowpark & Tropical Heights",
+ requiredMaps = {
+ "tstudio_missionrow_park", "tstudio_tropical_heights"
+ },
+ fixResource = "tstudio_zpatch_mrpark_th" -- Resource to apply the fix
+ }, {
+ name = "Fix for Missionrowpark, Legion & Tropical Heights",
+ requiredMaps = {
+ "tstudio_missionrow_park", "tstudio_tropical_heights",
+ "tstudio_legionsquare"
+ },
+ fixResource = "tstudio_zpatch_mrpark_th_ls" -- Resource to apply the fix
+ }, {
+ name = "Fix for Missionrowpark, Kebabking & Legion",
+ requiredMaps = {
+ "tstudio_missionrow_park", "tstudio_kebabking",
+ "tstudio_legionsquare"
+ },
+ fixResource = "tstudio_zpatch_mrpark_kebab_ls" -- Resource to apply the fix
+ }, {
+ name = "Fix for Missionrowpark & Legion",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_legionsquare"},
+ fixResource = "tstudio_zpatch_mrpark_ls" -- Resource to apply the fix
+ }, {
+ name = "Fix for Missionrowpark & Reds Tuner",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_redstuner"},
+ fixResource = "tstudio_zpatch_mrpark_reds" -- Resource to apply the fix
+ }, {
+ name = "Fix for Missionrowpark, Kebabking",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_kebabking"},
+ fixResource = "tstudio_zpatch_mrpark_kebab" -- Resource to apply the fix
+ }, {
+ name = "Fix for Impound & Carrent",
+ requiredMaps = {"tstudio_impound", "tstudio_carrent"},
+ fixResource = "tstudio_zpatch_impound_carrent" -- Resource to apply the fix
+ }, {
+ name = "Fix for Missionrowpark & Impound",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_impound"},
+ fixResource = "tstudio_zpatch_mrpark_impound" -- Resource to apply the fix
+ }, {
+ name = "Fix for Legion Garage & Kebab",
+ requiredMaps = {"tstudio_legionsquare_garage", "tstudio_kebabking"},
+ fixResource = "tstudio_zpatch_garage_kebab" -- Resource to apply the fix
+ }, {
+ name = "Fix for Pillbox, Legion Garage & Kebab",
+ requiredMaps = {
+ "tstudio_pillbox_md", "tstudio_legionsquare_garage",
+ "tstudio_kebabking"
+ },
+ fixResource = "tstudio_zpatch_pillbox_garage_kebab" -- Resource to apply the fix
+ }, {
+ name = "Fix for Pillbox & Legion Garage",
+ requiredMaps = {"tstudio_pillbox_md", "tstudio_legionsquare_garage"},
+ fixResource = "tstudio_zpatch_pillbox_garage" -- Resource to apply the fix
+ }, {
+ name = "Fix for Pillbox & Kebab",
+ requiredMaps = {"tstudio_pillbox_md", "tstudio_kebabking"},
+ fixResource = "tstudio_zpatch_pillbox_kebab" -- Resource to apply the fix
+ }, {
+ name = "Fix for Pillbox & Kebab",
+ requiredMaps = {"tstudio_pillbox_md", "tstudio_kebabking"},
+ fixResource = "tstudio_zpatch_pillbox_kebab" -- Resource to apply the fix
+ },
+ {
+ name = "Fix for Mission Row Park & Jurassic Jackpot",
+ requiredMaps = {"tstudio_jurassic_jackpot", "tstudio_missionrow_park"},
+ fixResource = "tstudio_zpatch_mrpark_jj",
+ },
+ {
+ name = "Fix for Aldente's & VHotel",
+ requiredMaps = {"tstudio_aldentes", "tstudio_vhotel_estate"},
+ fixResource = "tstudio_zpatch_aldentes_vhotel"
+ },
+ {
+ name = "Fix for Paleto Bewo & Paleto Cardealer & Taxi",
+ requiredMaps = {"tstudio_paleto_bewo", "tstudio_paleto_cardealer", "tstudio_taxi"},
+ fixResource = "tstudio_zpatch_bw_cardealer_taxi",
+ },
+ {
+ name = "Fix for Ammunation & Gabz PDM",
+ requiredMaps = {"tstudio_ammunation", "cfx-gabz-pdm"},
+ fixResource = "tstudio_zpatch_ammunation_gabz_pdm",
+ },
+
+ -- ===========================================
+ -- Fiv3Devs Maps Compatibility Patches
+ -- ===========================================
+ {
+ name = "Fix for Mission Row Park, Legion Square & Fiv3Devs Pillbox",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_legionsquare", "fiv3devs_pillbox"},
+ fixResource = "tstudio_zpatch_mrpark_ls_fiv3dev_pillbox"
+ },
+ {
+ name = "Fix for Kebab & Fiv3Devs Pillbox",
+ requiredMaps = {"tstudio_kebabking", "fiv3devs_pillbox"},
+ fixResource = "tstudio_zpatch_kebab_fiv3devs_pillbox"
+ },
+
+ -- ===========================================
+ -- Kiiya Maps Compatibility Patches
+ -- ===========================================
+
+ { -- This patch is for the Mission Row Park, Legion Square, Tropical Heights & Kiiya MRPD
+ name = "Fix for Mission Row Park, Legion Square, Tropical Heights & Kiiya MRPD",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_legionsquare", "tstudio_tropical_heights", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_mrpark_ls_th_kiiya_mrpd"
+ },
+ { -- This patch is for the Mission Row Park & Kiiya MRPD
+ name = "Fix for Mission Row Park & Kiiya MRPD",
+ requiredMaps = {"tstudio_missionrow_park", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_mrpark_kiiya_mrpd"
+ },
+ { -- This patch is for the Mission Row Park, Tropical Heights & Kiiya MRPD
+ name = "Fix for Mission Row Park, Tropical Heights & Kiiya MRPD",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_tropical_heights", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_mrpark_th_kiiya_mrpd"
+ },
+ { -- This patch is for the Kebabking & Kiiya MRPD
+ name = "Fix for Kebabking & Kiiya MRPD",
+ requiredMaps = {"tstudio_kebabking", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_kebab_kiiya_mrpd"
+ },
+ { -- This patch is for the Legion Square, Kebabking & Kiiya MRPD
+ name = "Fix for Legion Square, Kebabking & Kiiya MRPD",
+ requiredMaps = {"tstudio_legionsquare", "tstudio_kebabking", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_ls_kebab_kiiya_mrpd"
+ },
+ { -- This patch is for the Legion Square, Tropical Heights, Kebabking & Kiiya MRPD
+ name = "Fix for Legion Square, Tropical Heights & Kebabking & Kiiya MRPD",
+ requiredMaps = {"tstudio_legionsquare", "tstudio_tropical_heights", "tstudio_kebabking", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_ls_th_kebab_kiiya_mrpd"
+ },
+ { -- This patch is for the Kebabking, Tropical Heights & Kiiya MRPD
+ name = "Fix for Kebabking, Tropical Heights & Kiiya MRPD",
+ requiredMaps = {"tstudio_kebabking", "tstudio_tropical_heights", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_kebab_th_kiiya_mrpd"
+ },
+ { -- This patch is for the Legion Square & Kiiya MRPD
+ name = "Fix for Legion Square & Kiiya MRPD",
+ requiredMaps = {"tstudio_legionsquare", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_ls_kiiya_mrpd"
+ },
+ { -- This patch is for the Legion Square, Tropical Heights & Kiiya MRPD
+ name = "Fix for Legion Square, Tropical Heights & Kiiya MRPD",
+ requiredMaps = {"tstudio_legionsquare", "tstudio_tropical_heights", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_ls_th_kiiya_mrpd"
+ },
+ { -- This patch is for the Tropical Heights & Kiiya MRPD
+ name = "Fix for Tropical Heights & Kiiya MRPD",
+ requiredMaps = {"tstudio_tropical_heights", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_th_kiiya_mrpd"
+ },
+ { -- This patch is for the Mission Row Park, Legionsquare, Kebabking & Kiiya MRPD
+ name = "Fix for Mission Row Park, Legionsquare, Kebabking & Kiiya MRPD",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_legionsquare", "tstudio_kebabking", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_mrpark_ls_kebab_kiiya_mrpd"
+ },
+ { -- This patch is for the Mission Row Park, Legionsquare, Tropical Heights, Kebabking & Kiiya MRPD
+ name = "Fix for Mission Row Park, Legionsquare, Tropical Heights, Kebabking & Kiiya MRPD",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_legionsquare", "tstudio_kebabking", "tstudio_tropical_heights", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_mrpark_ls_kebab_th_kiiya_mrpd"
+ },
+ { -- This patch is for the Mission Row Park, Kebabking & Kiiya MRPD
+ name = "Fix for Mission Row Park, Kebabking & Kiiya MRPD",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_kebabking", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_mrpark_kebab_kiiya_mrpd"
+ },
+ { -- This patch is for the Mission Row Park, Kebabking, Tropical Heights & Kiiya MRPD
+ name = "Fix for Mission Row Park, Kebabking, Tropical Heights & Kiiya MRPD",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_kebabking", "tstudio_tropical_heights", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_mrpark_kebab_th_kiiya_mrpd"
+ },
+ { -- This patch is for the Mission Row Park, Legionsquare & Kiiya MRPD
+ name = "Fix for Mission Row Park, Legionsquare & Kiiya MRPD",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_legionsquare", "kiiya_mrpd"},
+ fixResource = "tstudio_zpatch_mrpark_ls_kiiya_mrpd"
+ },
+
+ -- ===========================================
+ -- FM Maps Compatibility Patches
+ -- ===========================================
+ {
+ name = "Fix for Legion Square & FM MRPD",
+ requiredMaps = {"tstudio_legionsquare", "cfx-fm-mrpd"},
+ fixResource = "tstudio_zpatch_ls_fm_mrpd"
+ },
+ {
+ name = "Fix for Mission Row Park & FM MRPD",
+ requiredMaps = {"tstudio_missionrow_park", "cfx-fm-mrpd"},
+ fixResource = "tstudio_zpatch_mrpark_fm_mrpd"
+ },
+ {
+ name = "Fix for Mission Row Park, Legion Square & FM MRPD",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_legionsquare", "cfx-fm-mrpd"},
+ fixResource = "tstudio_zpatch_mrpark_ls_fm_mrpd"
+ },
+ {
+ name = "Fix for Mission Row Park, Legion Square, Tropical Heights & FM MRPD",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_legionsquare", "tstudio_tropical_heights", "cfx-fm-mrpd"},
+ fixResource = "tstudio_zpatch_mrpark_ls_th_fm_mrpd"
+ },
+ {
+ name = "Fix for Mission Row Park, Tropical Heights & FM MRPD",
+ requiredMaps = {"tstudio_missionrow_park", "tstudio_tropical_heights", "cfx-fm-mrpd"},
+ fixResource = "tstudio_zpatch_mrpark_th_fm_mrpd"
+ },
+ {
+ name = "Fix for Tropical Heights & FM MRPD",
+ requiredMaps = {"tstudio_tropical_heights", "cfx-fm-mrpd"},
+ fixResource = "tstudio_zpatch_th_fm_mrpd"
+ }
+ },
+
+ -- Section for automatic floor ipl loading configurations
+ FloorConfigs = {
+ pillbox = {
+ resourceName = "tstudio_pillbox_md", -- Added name for debug purposes
+ center = vector3(306.003, -568.511, 63.181), -- Center of the area for checking player position
+ floors = {
+ [0] = {height = 64.159, ipls = {"johanni_pillbox_e03_01_milo_"}},
+ [1] = {height = 68.162, ipls = {"johanni_pillbox_e03_02_milo_"}},
+ [2] = {height = 60.025, ipls = {"johanni_pillbox_e03_03_milo_"}}
+ }
+ },
+ opium = {
+ resourceName = "tstudio_opium_nights", -- Added name for debug purposes
+ center = vector3(-720.0305, -2268.00635, 16.2695923), -- Center of the area for checking player position
+ floors = {
+ [0] = {
+ height = 28.00,
+ ipls = {
+ "johanni_opium_penthouse_e01_milo_",
+ "johanni_opium_hallway_e01_milo_",
+ "johanni_opium_hotel_e01_r01_milo_",
+ "johanni_opium_hotel_e01_r02_milo_",
+ "johanni_opium_hotel_e01_r03_milo_",
+ "johanni_opium_hotel_e01_r04_milo_",
+ "johanni_opium_hotel_e01_r05_milo_",
+ "johanni_opium_hotel_e01_r06_milo_",
+ "johanni_opium_hotel_e01_r07_milo_",
+ "johanni_opium_hotel_e01_r08_milo_",
+ "johanni_opium_hotel_e01_r09_milo_",
+ "johanni_opium_hotel_e01_r10_milo_",
+ "johanni_opium_hotel_e01_r11_milo_",
+ "johanni_opium_hotel_e01_r12_milo_"
+ }
+ },
+ [1] = {
+ height = 38.14,
+ ipls = {
+ "johanni_opium_penthouse_e02_milo_",
+ "johanni_opium_hallway_e02_milo_",
+ "johanni_opium_hotel_e02_r01_milo_",
+ "johanni_opium_hotel_e02_r02_milo_",
+ "johanni_opium_hotel_e02_r03_milo_",
+ "johanni_opium_hotel_e02_r04_milo_",
+ "johanni_opium_hotel_e02_r05_milo_",
+ "johanni_opium_hotel_e02_r06_milo_",
+ "johanni_opium_hotel_e02_r07_milo_",
+ "johanni_opium_hotel_e02_r08_milo_",
+ "johanni_opium_hotel_e02_r09_milo_",
+ "johanni_opium_hotel_e02_r10_milo_",
+ "johanni_opium_hotel_e02_r11_milo_",
+ "johanni_opium_hotel_e02_r12_milo_"
+ }
+ },
+ [2] = {
+ height = 47.04,
+ ipls = {
+ "johanni_opium_penthouse_e03_milo_",
+ "johanni_opium_hallway_e03_milo_",
+ "johanni_opium_hotel_e03_r01_milo_",
+ "johanni_opium_hotel_e03_r02_milo_",
+ "johanni_opium_hotel_e03_r03_milo_",
+ "johanni_opium_hotel_e03_r04_milo_",
+ "johanni_opium_hotel_e03_r05_milo_",
+ "johanni_opium_hotel_e03_r06_milo_",
+ "johanni_opium_hotel_e03_r07_milo_",
+ "johanni_opium_hotel_e03_r08_milo_",
+ "johanni_opium_hotel_e03_r09_milo_",
+ "johanni_opium_hotel_e03_r10_milo_",
+ "johanni_opium_hotel_e03_r11_milo_",
+ "johanni_opium_hotel_e03_r12_milo_"
+ }
+ },
+ [3] = {
+ height = 55.88,
+ ipls = {
+ "johanni_opium_penthouse_e04_milo_",
+ "johanni_opium_hallway_e04_milo_",
+ "johanni_opium_hotel_e04_r01_milo_",
+ "johanni_opium_hotel_e04_r02_milo_",
+ "johanni_opium_hotel_e04_r03_milo_",
+ "johanni_opium_hotel_e04_r04_milo_",
+ "johanni_opium_hotel_e04_r05_milo_",
+ "johanni_opium_hotel_e04_r06_milo_",
+ "johanni_opium_hotel_e04_r07_milo_",
+ "johanni_opium_hotel_e04_r08_milo_",
+ "johanni_opium_hotel_e04_r09_milo_",
+ "johanni_opium_hotel_e04_r10_milo_",
+ "johanni_opium_hotel_e04_r11_milo_",
+ "johanni_opium_hotel_e04_r12_milo_"
+ }
+ },
+ [4] = {
+ height = 64.55,
+ ipls = {
+ "johanni_opium_penthouse_e05_milo_",
+ "johanni_opium_hallway_e05_milo_",
+ "johanni_opium_hotel_e05_r01_milo_",
+ "johanni_opium_hotel_e05_r02_milo_",
+ "johanni_opium_hotel_e05_r03_milo_",
+ "johanni_opium_hotel_e05_r04_milo_",
+ "johanni_opium_hotel_e05_r05_milo_",
+ "johanni_opium_hotel_e05_r06_milo_",
+ "johanni_opium_hotel_e05_r07_milo_",
+ "johanni_opium_hotel_e05_r08_milo_",
+ "johanni_opium_hotel_e05_r09_milo_",
+ "johanni_opium_hotel_e05_r10_milo_",
+ "johanni_opium_hotel_e05_r11_milo_",
+ "johanni_opium_hotel_e05_r12_milo_"
+ }
+ },
+ [5] = {
+ height = 73.35,
+ ipls = {
+ "johanni_opium_penthouse_e06_milo_",
+ "johanni_opium_hallway_e06_milo_",
+ "johanni_opium_hotel_e06_r01_milo_",
+ "johanni_opium_hotel_e06_r02_milo_",
+ "johanni_opium_hotel_e06_r03_milo_",
+ "johanni_opium_hotel_e06_r04_milo_",
+ "johanni_opium_hotel_e06_r05_milo_",
+ "johanni_opium_hotel_e06_r06_milo_",
+ "johanni_opium_hotel_e06_r07_milo_",
+ "johanni_opium_hotel_e06_r08_milo_",
+ "johanni_opium_hotel_e06_r09_milo_",
+ "johanni_opium_hotel_e06_r10_milo_",
+ "johanni_opium_hotel_e06_r11_milo_",
+ "johanni_opium_hotel_e06_r12_milo_"
+ }
+ }
+ }
+ }
+ },
+
+ -- Interior blocking configurations
+ -- Each interior can be configured with the following properties:
+ -- coords: The coordinates of the interior
+ -- interiorName: The name of the interior to disable
+ -- enabled: Whether this interior blocking is enabled
+ -- resourceDependency: (Optional) Only disable this interior if the specified resource is started
+ -- This prevents breaking default interiors when custom resources aren't loaded
+ Interiors = {
+ ["tstudio_tattoo_studio"] = {
+ [1] = { enabled = true, name = "v_tattoo", coords = vec3(-3171.2937, 1076.24451, 19.8303947) },
+ [2] = { enabled = true, name = "v_tattoo", coords = vec3(322.967865, 181.942917, 102.587761) },
+ [3] = { enabled = true, name = "v_tattoo", coords = vec3(1323.765, -1653.43164, 51.27684) },
+ [4] = { enabled = true, name = "v_tattoo", coords = vec3(-1153.18408, -1427.0127, 3.955685) },
+ },
+ ["tstudio_ammunation"] = {
+ [1] = { enabled = true, name = "v_gun", coords = vec3(821.144043, -2154.8916, 28.61892) }, -- Cypress
+ [2] = { enabled = true, name = "v_gun2", coords = vec3(843.2987, -1028.10669, 27.1947746) }, -- LaMesa
+ [3] = { enabled = true, name = "v_gun", coords = vec3(10.9070005, -1105.65833, 28.7969322) }, -- Legion
+ [4] = { enabled = true, name = "v_gun2", coords = vec3(247.371582, -47.245163, 68.9409943) }, -- Hawick
+ [5] = { enabled = true, name = "v_gun2", coords = vec3(-1310.87659, -392.009644, 35.6957169) }, -- MorningWood
+ [6] = { enabled = true, name = "v_gun2", coords = vec3(-663.1717, -940.758057, 20.8291473) }, -- Little Seoul
+ [7] = { enabled = true, name = "v_gun2", coords = vec3(-3167.29614, 1084.70984, 19.8386574) }, -- Chumash
+ [8] = { enabled = true, name = "v_gun2", coords = vec3(2568.834, 299.788116, 107.734818) }, -- East Highway
+ [9] = { enabled = true, name = "v_gun2", coords = vec3(1696.95251, 3755.445, 33.7052574) }, -- Sandy Shores
+ [10] = { enabled = true, name = "v_gun2", coords = vec3(-327.1706, 6079.257, 30.4546967) }, -- Paleto Bay
+ [11] = { enabled = true, name = "v_gun2", coords = vec3(-1114.84509, 2693.80957, 17.55406) } -- Route 68
+ },
+ ["tstudio_fleeca"] = {
+ [1] = { enabled = true, name = "v_genbank", coords = vec3(-355.435852, -48.5326, 48.1063843) }, -- Vinewood
+ [2] = { enabled = true, name = "v_genbank", coords = vec3(309.74646, -277.644165, 53.2345963) }, -- Vinewood (Lower Level)
+ [3] = { enabled = true, name = "v_genbank", coords = vec3(145.416824, -1039.277, 28.4378834) }, -- Legion Square
+ [4] = { enabled = true, name = "v_genbank", coords = vec3(-1216.7616, -333.000763, 36.85084) }, -- Movie Studio
+ [5] = { enabled = true, name = "hei_generic_bank_dlc", coords = vec3(-2962.59131, 478.238037, 14.7668953) }, -- West Highway
+ [6] = { enabled = true, name = "v_genbank", coords = vec3(1179.74475, 2706.985, 37.15784) } -- Sandy Shores
+ },
+ ["tstudio_pillbox_md"] = {
+ [1] = { enabled = true, name = "rc12b_default", ipl = "rc12b_default", coords = vec3(307.1680, -590.807, 43.280) }, -- Pillbox Hill
+ },
+ }
+ }
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/fxmanifest.lua b/resources/[defaultmaps]/tstudio_zmapdata/fxmanifest.lua
new file mode 100644
index 000000000..070410610
--- /dev/null
+++ b/resources/[defaultmaps]/tstudio_zmapdata/fxmanifest.lua
@@ -0,0 +1,46 @@
+fx_version 'cerulean'
+lua54 'yes'
+game "gta5"
+
+author 'TStudio - mandatory mapdata'
+description 'TStudio Mapdata - important for TStudio maps'
+version '1.0'
+
+this_is_a_map 'yes'
+
+dependencies {
+ '/server:4960', -- ⚠️PLEASE READ⚠️; Requires at least SERVER build 4960.
+ '/gameBuild:2545', -- ⚠️PLEASE READ⚠️; Requires at least GAME build 2545.
+}
+
+data_file 'TIMECYCLEMOD_FILE' 'tstudio_timecycles.xml'
+
+shared_scripts {
+ 'config.lua',
+ 'utils/utils.lua',
+ 'utils/misc.lua',
+}
+
+client_scripts {
+ 'client/activate_ipl.lua',
+ 'client/entitysets_loader.lua',
+ 'client/ipl_blocker.lua',
+ 'client/privacy_glass.lua',
+}
+
+server_scripts {
+ 'server/patch_loader.lua',
+ 'server/resource_monitor.lua',
+}
+
+files {
+ 'tstudio_timecycles.xml',
+}
+
+escrow_ignore {
+ 'stream/*/*.*',
+ 'locales/*.lua',
+ 'config.lua',
+}
+
+dependency '/assetpacks'
\ No newline at end of file
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/server/patch_loader.lua b/resources/[defaultmaps]/tstudio_zmapdata/server/patch_loader.lua
new file mode 100644
index 000000000..0dcec4fb2
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/server/patch_loader.lua differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/server/resource_monitor.lua b/resources/[defaultmaps]/tstudio_zmapdata/server/resource_monitor.lua
new file mode 100644
index 000000000..c1feb1c8b
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/server/resource_monitor.lua differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium009.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium009.ymap
new file mode 100644
index 000000000..e2b4c5778
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium009.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium010.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium010.ymap
new file mode 100644
index 000000000..7bc2f69f2
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium010.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium012.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium012.ymap
new file mode 100644
index 000000000..29bc05a83
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium012.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium015.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium015.ymap
new file mode 100644
index 000000000..3aeda655a
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium015.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium019.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium019.ymap
new file mode 100644
index 000000000..8737e9205
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium019.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium022.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium022.ymap
new file mode 100644
index 000000000..cb901b48e
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_medium022.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small017.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small017.ymap
new file mode 100644
index 000000000..6b643995e
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small017.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small021.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small021.ymap
new file mode 100644
index 000000000..84a721429
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small021.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small029.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small029.ymap
new file mode 100644
index 000000000..a827e0f17
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small029.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small037.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small037.ymap
new file mode 100644
index 000000000..95bde0c61
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small037.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small046.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small046.ymap
new file mode 100644
index 000000000..ab843fbd7
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_distlodlights_small046.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium009.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium009.ymap
new file mode 100644
index 000000000..5312eb791
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium009.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium010.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium010.ymap
new file mode 100644
index 000000000..0d53458de
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium010.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium012.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium012.ymap
new file mode 100644
index 000000000..1c6e639b0
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium012.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium015.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium015.ymap
new file mode 100644
index 000000000..85379713c
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium015.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium019.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium019.ymap
new file mode 100644
index 000000000..6311b89d9
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium019.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium022.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium022.ymap
new file mode 100644
index 000000000..28a76fe6d
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_medium022.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small017.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small017.ymap
new file mode 100644
index 000000000..444e1c3f7
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small017.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small021.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small021.ymap
new file mode 100644
index 000000000..9761a33a7
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small021.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small029.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small029.ymap
new file mode 100644
index 000000000..7ab67c664
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small029.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small037.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small037.ymap
new file mode 100644
index 000000000..a31ff61c4
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small037.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small046.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small046.ymap
new file mode 100644
index 000000000..a32615500
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-lodlights/vw_lodlights_small046.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/ap1_occl_00.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/ap1_occl_00.ymap
new file mode 100644
index 000000000..64a982dbe
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/ap1_occl_00.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/ap1_occl_01.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/ap1_occl_01.ymap
new file mode 100644
index 000000000..8ab6b7f14
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/ap1_occl_01.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/ch1_occl_02.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/ch1_occl_02.ymap
new file mode 100644
index 000000000..5d2af9325
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/ch1_occl_02.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/cs1_occl_10.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/cs1_occl_10.ymap
new file mode 100644
index 000000000..e4bac156f
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/cs1_occl_10.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_bh1_occl_06.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_bh1_occl_06.ymap
new file mode 100644
index 000000000..59ea0ca9f
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_bh1_occl_06.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_dt1_occl_02.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_dt1_occl_02.ymap
new file mode 100644
index 000000000..8ac3e8b56
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_dt1_occl_02.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_dt1_occl_04.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_dt1_occl_04.ymap
new file mode 100644
index 000000000..6facb25a6
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_dt1_occl_04.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_dt1_occl_05.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_dt1_occl_05.ymap
new file mode 100644
index 000000000..d2d80e42a
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_dt1_occl_05.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_dt1_occl_07.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_dt1_occl_07.ymap
new file mode 100644
index 000000000..76b9f847e
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_dt1_occl_07.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_id2_occl_01.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_id2_occl_01.ymap
new file mode 100644
index 000000000..614431ea4
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_id2_occl_01.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_id2_occl_03.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_id2_occl_03.ymap
new file mode 100644
index 000000000..a5b4fb099
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_id2_occl_03.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_po1_occl_02.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_po1_occl_02.ymap
new file mode 100644
index 000000000..54a1d964e
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/hei_po1_occl_02.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/lr_sc1_occl_00.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/lr_sc1_occl_00.ymap
new file mode 100644
index 000000000..b718d5bee
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/lr_sc1_occl_00.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/lr_sc1_occl_03.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/lr_sc1_occl_03.ymap
new file mode 100644
index 000000000..9ccdacd89
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/lr_sc1_occl_03.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/vb_occl_00.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/vb_occl_00.ymap
new file mode 100644
index 000000000..1a7d9bb71
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/vb_occl_00.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/vb_occl_01.ymap b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/vb_occl_01.ymap
new file mode 100644
index 000000000..910fcdea5
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/stream/tstudio-occlusion/vb_occl_01.ymap differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/tstudio_timecycles.xml b/resources/[defaultmaps]/tstudio_zmapdata/tstudio_timecycles.xml
new file mode 100644
index 000000000..06c7701cf
--- /dev/null
+++ b/resources/[defaultmaps]/tstudio_zmapdata/tstudio_timecycles.xml
@@ -0,0 +1,67 @@
+
+
+
+ 0.890 0.500
+ 0.675 0.500
+ 0.392 0.500
+ 0.000 0.250
+ 0.929 1.000
+ 0.765 1.000
+ 0.388 1.000
+ 1.000 0.000
+ 0.733 1.000
+ 0.796 1.000
+ 0.973 1.000
+ 1.000 0.000
+ 4.000 0.000
+ 0.000 0.000
+ 0.250 0.000
+ 0.100 0.000
+ 0.300 0.000
+ 0.025 0.000
+ 73.000 73.000
+ 0.000 0.000
+ 0.000 0.000
+ 0.000 0.000
+ 0.000 0.000
+ 16.448 0.000
+ 2.000 0.000
+ 20.000 0.000
+ 0.550 0.000
+ 0.600 0.000
+
+
+ 1.000 0.910
+ 0.910 0.910
+ 0.455 0.910
+ 0.641 0.000
+ 0.890 1.000
+ 0.875 1.000
+ 0.675 1.000
+ 1.300 0.000
+ 1.000 1.000
+ 0.824 1.000
+ 0.522 1.000
+ 1.300 0.000
+ 0.941 1.000
+ 1.000 1.000
+ 0.180 1.000
+ 0.200 1.000
+ -0.252 0.000
+ 0.400 0.000
+ 0.500 0.000
+ 0.500 0.000
+ 3.000 0.000
+ 0.700 0.000
+ 30.000 30.000
+ 0.000 0.000
+ 0.000 0.000
+ 0.000 0.000
+ 0.000 0.000
+ 15.000 0.000
+ 150.000 150.000
+ 20.000 0.000
+ 0.000 0.000
+ 0.500 0.000
+
+
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/utils/misc.lua b/resources/[defaultmaps]/tstudio_zmapdata/utils/misc.lua
new file mode 100644
index 000000000..fb796010e
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/utils/misc.lua differ
diff --git a/resources/[defaultmaps]/tstudio_zmapdata/utils/utils.lua b/resources/[defaultmaps]/tstudio_zmapdata/utils/utils.lua
new file mode 100644
index 000000000..44c2172e7
Binary files /dev/null and b/resources/[defaultmaps]/tstudio_zmapdata/utils/utils.lua differ