From a7e673c2ec6a5ed25f3bae8caab90e2113158c03 Mon Sep 17 00:00:00 2001
From: Nikolay Korolev <nickvnuk@gmail.com>
Date: Sat, 24 Jul 2021 00:47:04 +0300
Subject: [PATCH] sync

---
 .vscode/settings.json                     |   2 +-
 codewarrior/re3.mcp.xml                   |   6 +-
 premake5.lua                              |   4 +-
 src/audio/sampman.h                       | 110 +++++++++++++++++-
 src/audio/sampman_miles.cpp               | 132 ++++++++++++++++++----
 src/audio/sampman_oal.cpp                 |  39 ++++---
 src/control/Garages.cpp                   |   3 +
 src/control/Script.cpp                    |  28 ++---
 src/control/Script.h                      |   1 +
 src/control/Script6.cpp                   |   4 +
 src/core/Fire.cpp                         |   2 +-
 src/core/config.h                         |   4 +-
 src/peds/PedFight.cpp                     |   8 ++
 src/{render => renderer}/2dEffect.h       |   0
 src/{render => renderer}/Antennas.cpp     |   0
 src/{render => renderer}/Antennas.h       |   0
 src/{render => renderer}/Clouds.cpp       |   0
 src/{render => renderer}/Clouds.h         |   0
 src/{render => renderer}/Console.cpp      |   0
 src/{render => renderer}/Console.h        |   0
 src/{render => renderer}/Coronas.cpp      |   0
 src/{render => renderer}/Coronas.h        |   0
 src/{render => renderer}/Credits.cpp      |   0
 src/{render => renderer}/Credits.h        |   0
 src/{render => renderer}/Draw.cpp         |   0
 src/{render => renderer}/Draw.h           |   0
 src/{render => renderer}/Fluff.cpp        |   0
 src/{render => renderer}/Fluff.h          |   0
 src/{render => renderer}/Font.cpp         |   0
 src/{render => renderer}/Font.h           |   0
 src/{render => renderer}/Glass.cpp        |   0
 src/{render => renderer}/Glass.h          |   0
 src/{render => renderer}/Hud.cpp          |   0
 src/{render => renderer}/Hud.h            |   0
 src/{render => renderer}/Instance.cpp     |   0
 src/{render => renderer}/Instance.h       |   0
 src/{render => renderer}/Lines.cpp        |   0
 src/{render => renderer}/Lines.h          |   0
 src/{render => renderer}/MBlur.cpp        |   0
 src/{render => renderer}/MBlur.h          |   0
 src/{render => renderer}/Particle.cpp     |   0
 src/{render => renderer}/Particle.h       |   0
 src/{render => renderer}/ParticleMgr.cpp  |   0
 src/{render => renderer}/ParticleMgr.h    |   0
 src/{render => renderer}/ParticleType.h   |   0
 src/{render => renderer}/PlayerSkin.cpp   |   0
 src/{render => renderer}/PlayerSkin.h     |   0
 src/{render => renderer}/PointLights.cpp  |   0
 src/{render => renderer}/PointLights.h    |   0
 src/{render => renderer}/RenderBuffer.cpp |   0
 src/{render => renderer}/RenderBuffer.h   |   0
 src/{render => renderer}/Renderer.cpp     |   0
 src/{render => renderer}/Renderer.h       |   0
 src/{render => renderer}/Rubbish.cpp      |   0
 src/{render => renderer}/Rubbish.h        |   0
 src/{render => renderer}/Shadows.cpp      |   0
 src/{render => renderer}/Shadows.h        |   0
 src/{render => renderer}/Skidmarks.cpp    |   0
 src/{render => renderer}/Skidmarks.h      |   0
 src/{render => renderer}/SpecialFX.cpp    |   0
 src/{render => renderer}/SpecialFX.h      |   0
 src/{render => renderer}/Sprite.cpp       |   0
 src/{render => renderer}/Sprite.h         |   0
 src/{render => renderer}/Sprite2d.cpp     |   0
 src/{render => renderer}/Sprite2d.h       |   0
 src/{render => renderer}/TexList.cpp      |   0
 src/{render => renderer}/TexList.h        |   0
 src/{render => renderer}/Timecycle.cpp    |   0
 src/{render => renderer}/Timecycle.h      |   0
 src/{render => renderer}/WaterCannon.cpp  |   0
 src/{render => renderer}/WaterCannon.h    |   0
 src/{render => renderer}/WaterLevel.cpp   |   0
 src/{render => renderer}/WaterLevel.h     |   0
 src/{render => renderer}/Weather.cpp      |   0
 src/{render => renderer}/Weather.h        |   0
 75 files changed, 277 insertions(+), 66 deletions(-)
 rename src/{render => renderer}/2dEffect.h (100%)
 rename src/{render => renderer}/Antennas.cpp (100%)
 rename src/{render => renderer}/Antennas.h (100%)
 rename src/{render => renderer}/Clouds.cpp (100%)
 rename src/{render => renderer}/Clouds.h (100%)
 rename src/{render => renderer}/Console.cpp (100%)
 rename src/{render => renderer}/Console.h (100%)
 rename src/{render => renderer}/Coronas.cpp (100%)
 rename src/{render => renderer}/Coronas.h (100%)
 rename src/{render => renderer}/Credits.cpp (100%)
 rename src/{render => renderer}/Credits.h (100%)
 rename src/{render => renderer}/Draw.cpp (100%)
 rename src/{render => renderer}/Draw.h (100%)
 rename src/{render => renderer}/Fluff.cpp (100%)
 rename src/{render => renderer}/Fluff.h (100%)
 rename src/{render => renderer}/Font.cpp (100%)
 rename src/{render => renderer}/Font.h (100%)
 rename src/{render => renderer}/Glass.cpp (100%)
 rename src/{render => renderer}/Glass.h (100%)
 rename src/{render => renderer}/Hud.cpp (100%)
 rename src/{render => renderer}/Hud.h (100%)
 rename src/{render => renderer}/Instance.cpp (100%)
 rename src/{render => renderer}/Instance.h (100%)
 rename src/{render => renderer}/Lines.cpp (100%)
 rename src/{render => renderer}/Lines.h (100%)
 rename src/{render => renderer}/MBlur.cpp (100%)
 rename src/{render => renderer}/MBlur.h (100%)
 rename src/{render => renderer}/Particle.cpp (100%)
 rename src/{render => renderer}/Particle.h (100%)
 rename src/{render => renderer}/ParticleMgr.cpp (100%)
 rename src/{render => renderer}/ParticleMgr.h (100%)
 rename src/{render => renderer}/ParticleType.h (100%)
 rename src/{render => renderer}/PlayerSkin.cpp (100%)
 rename src/{render => renderer}/PlayerSkin.h (100%)
 rename src/{render => renderer}/PointLights.cpp (100%)
 rename src/{render => renderer}/PointLights.h (100%)
 rename src/{render => renderer}/RenderBuffer.cpp (100%)
 rename src/{render => renderer}/RenderBuffer.h (100%)
 rename src/{render => renderer}/Renderer.cpp (100%)
 rename src/{render => renderer}/Renderer.h (100%)
 rename src/{render => renderer}/Rubbish.cpp (100%)
 rename src/{render => renderer}/Rubbish.h (100%)
 rename src/{render => renderer}/Shadows.cpp (100%)
 rename src/{render => renderer}/Shadows.h (100%)
 rename src/{render => renderer}/Skidmarks.cpp (100%)
 rename src/{render => renderer}/Skidmarks.h (100%)
 rename src/{render => renderer}/SpecialFX.cpp (100%)
 rename src/{render => renderer}/SpecialFX.h (100%)
 rename src/{render => renderer}/Sprite.cpp (100%)
 rename src/{render => renderer}/Sprite.h (100%)
 rename src/{render => renderer}/Sprite2d.cpp (100%)
 rename src/{render => renderer}/Sprite2d.h (100%)
 rename src/{render => renderer}/TexList.cpp (100%)
 rename src/{render => renderer}/TexList.h (100%)
 rename src/{render => renderer}/Timecycle.cpp (100%)
 rename src/{render => renderer}/Timecycle.h (100%)
 rename src/{render => renderer}/WaterCannon.cpp (100%)
 rename src/{render => renderer}/WaterCannon.h (100%)
 rename src/{render => renderer}/WaterLevel.cpp (100%)
 rename src/{render => renderer}/WaterLevel.h (100%)
 rename src/{render => renderer}/Weather.cpp (100%)
 rename src/{render => renderer}/Weather.h (100%)

diff --git a/.vscode/settings.json b/.vscode/settings.json
index 10cb5627..fee80960 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -13,7 +13,7 @@
     "src/modelinfo",
     "src/objects",
     "src/peds",
-    "src/render",
+    "src/renderer",
     "src/rw",
     "src/save",
     "src/skel",
diff --git a/codewarrior/re3.mcp.xml b/codewarrior/re3.mcp.xml
index b18e2bcc..ca20ec2a 100644
--- a/codewarrior/re3.mcp.xml
+++ b/codewarrior/re3.mcp.xml
@@ -187,7 +187,7 @@
                     </SETTING>
                     <SETTING>
                         <SETTING><NAME>SearchPath</NAME>
-                            <SETTING><NAME>Path</NAME><VALUE>..\src\render</VALUE></SETTING>
+                            <SETTING><NAME>Path</NAME><VALUE>..\src\renderer</VALUE></SETTING>
                             <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
                             <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
                         </SETTING>
@@ -6424,7 +6424,7 @@
                     </SETTING>
                     <SETTING>
                         <SETTING><NAME>SearchPath</NAME>
-                            <SETTING><NAME>Path</NAME><VALUE>..\src\render</VALUE></SETTING>
+                            <SETTING><NAME>Path</NAME><VALUE>..\src\renderer</VALUE></SETTING>
                             <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
                             <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
                         </SETTING>
@@ -14281,7 +14281,7 @@
                 <PATHFORMAT>Windows</PATHFORMAT>
             </FILEREF>
         </GROUP>
-        <GROUP><NAME>render</NAME>
+        <GROUP><NAME>renderer</NAME>
             <FILEREF>
                 <TARGETNAME>Debug</TARGETNAME>
                 <PATHTYPE>Name</PATHTYPE>
diff --git a/premake5.lua b/premake5.lua
index 0a8faa07..25090dc6 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -264,7 +264,7 @@ project "re3"
 	files { addSrcFiles("src/modelinfo") }
 	files { addSrcFiles("src/objects") }
 	files { addSrcFiles("src/peds") }
-	files { addSrcFiles("src/render") }
+	files { addSrcFiles("src/renderer") }
 	files { addSrcFiles("src/rw") }
 	files { addSrcFiles("src/save") }
 	files { addSrcFiles("src/skel") }
@@ -293,7 +293,7 @@ project "re3"
 	includedirs { "src/modelinfo" }
 	includedirs { "src/objects" }
 	includedirs { "src/peds" }
-	includedirs { "src/render" }
+	includedirs { "src/renderer" }
 	includedirs { "src/rw" }
 	includedirs { "src/save/" }
 	includedirs { "src/skel/" }
diff --git a/src/audio/sampman.h b/src/audio/sampman.h
index d1ad9a26..dc95622b 100644
--- a/src/audio/sampman.h
+++ b/src/audio/sampman.h
@@ -259,8 +259,8 @@ static char StreamedNameTable[][25] = {
     "AUDIO\\door_2.OPUS",  "AUDIO\\door_3.OPUS",  "AUDIO\\door_4.OPUS",  "AUDIO\\door_5.OPUS",  "AUDIO\\door_6.OPUS",  "AUDIO\\t3_a.OPUS",
     "AUDIO\\t3_b.OPUS",    "AUDIO\\t3_c.OPUS",    "AUDIO\\k1_b.OPUS",    "AUDIO\\cat1.OPUS"};
 #else
-#if defined(PS2_AUDIO_PATHS)
-static char StreamedNameTable[][25]=
+#ifdef PS2_AUDIO_PATHS
+static char PS2StreamedNameTable[][25]=
 {
 	"AUDIO\\MUSIC\\HEAD.VB",
 	"AUDIO\\MUSIC\\CLASS.VB",
@@ -357,7 +357,110 @@ static char StreamedNameTable[][25]=
 	"AUDIO\\PHONE\\MT_PH4.VB",
 	"AUDIO\\MUSIC\\MISCOM.VB",
 	"AUDIO\\MUSIC\\END.VB",
-#else
+	"AUDIO\\lib_a1.WAV",
+	"AUDIO\\lib_a2.WAV",
+	"AUDIO\\lib_a.WAV",
+	"AUDIO\\lib_b.WAV",
+	"AUDIO\\lib_c.WAV",
+	"AUDIO\\lib_d.WAV",
+	"AUDIO\\l2_a.WAV",
+	"AUDIO\\j4t_1.WAV",
+	"AUDIO\\j4t_2.WAV",
+	"AUDIO\\j4t_3.WAV",
+	"AUDIO\\j4t_4.WAV",
+	"AUDIO\\j4_a.WAV",
+	"AUDIO\\j4_b.WAV",
+	"AUDIO\\j4_c.WAV",
+	"AUDIO\\j4_d.WAV",
+	"AUDIO\\j4_e.WAV",
+	"AUDIO\\j4_f.WAV",
+	"AUDIO\\j6_1.WAV",
+	"AUDIO\\j6_a.WAV",
+	"AUDIO\\j6_b.WAV",
+	"AUDIO\\j6_c.WAV",
+	"AUDIO\\j6_d.WAV",
+	"AUDIO\\t4_a.WAV",
+	"AUDIO\\s1_a.WAV",
+	"AUDIO\\s1_a1.WAV",
+	"AUDIO\\s1_b.WAV",
+	"AUDIO\\s1_c.WAV",
+	"AUDIO\\s1_c1.WAV",
+	"AUDIO\\s1_d.WAV",
+	"AUDIO\\s1_e.WAV",
+	"AUDIO\\s1_f.WAV",
+	"AUDIO\\s1_g.WAV",
+	"AUDIO\\s1_h.WAV",
+	"AUDIO\\s1_i.WAV",
+	"AUDIO\\s1_j.WAV",
+	"AUDIO\\s1_k.WAV",
+	"AUDIO\\s1_l.WAV",
+	"AUDIO\\s3_a.WAV",
+	"AUDIO\\s3_b.WAV",
+	"AUDIO\\el3_a.WAV",
+	"AUDIO\\mf1_a.WAV",
+	"AUDIO\\mf2_a.WAV",
+	"AUDIO\\mf3_a.WAV",
+	"AUDIO\\mf3_b.WAV",
+	"AUDIO\\mf3_b1.WAV",
+	"AUDIO\\mf3_c.WAV",
+	"AUDIO\\mf4_a.WAV",
+	"AUDIO\\mf4_b.WAV",
+	"AUDIO\\mf4_c.WAV",
+	"AUDIO\\a1_a.WAV",
+	"AUDIO\\a3_a.WAV",
+	"AUDIO\\a5_a.WAV",
+	"AUDIO\\a4_a.WAV",
+	"AUDIO\\a4_b.WAV",
+	"AUDIO\\a4_c.WAV",
+	"AUDIO\\a4_d.WAV",
+	"AUDIO\\k1_a.WAV",
+	"AUDIO\\k3_a.WAV",
+	"AUDIO\\r1_a.WAV",
+	"AUDIO\\r2_a.WAV",
+	"AUDIO\\r2_b.WAV",
+	"AUDIO\\r2_c.WAV",
+	"AUDIO\\r2_d.WAV",
+	"AUDIO\\r2_e.WAV",
+	"AUDIO\\r2_f.WAV",
+	"AUDIO\\r2_g.WAV",
+	"AUDIO\\r2_h.WAV",
+	"AUDIO\\r5_a.WAV",
+	"AUDIO\\r6_a.WAV",
+	"AUDIO\\r6_a1.WAV",
+	"AUDIO\\r6_b.WAV",
+	"AUDIO\\lo2_a.WAV",
+	"AUDIO\\lo6_a.WAV",
+	"AUDIO\\yd2_a.WAV",
+	"AUDIO\\yd2_b.WAV",
+	"AUDIO\\yd2_c.WAV",
+	"AUDIO\\yd2_c1.WAV",
+	"AUDIO\\yd2_d.WAV",
+	"AUDIO\\yd2_e.WAV",
+	"AUDIO\\yd2_f.WAV",
+	"AUDIO\\yd2_g.WAV",
+	"AUDIO\\yd2_h.WAV",
+	"AUDIO\\yd2_ass.WAV",
+	"AUDIO\\yd2_ok.WAV",
+	"AUDIO\\h5_a.WAV",
+	"AUDIO\\h5_b.WAV",
+	"AUDIO\\h5_c.WAV",
+	"AUDIO\\ammu_a.WAV",
+	"AUDIO\\ammu_b.WAV",
+	"AUDIO\\ammu_c.WAV",
+	"AUDIO\\door_1.WAV",
+	"AUDIO\\door_2.WAV",
+	"AUDIO\\door_3.WAV",
+	"AUDIO\\door_4.WAV",
+	"AUDIO\\door_5.WAV",
+	"AUDIO\\door_6.WAV",
+	"AUDIO\\t3_a.WAV",
+	"AUDIO\\t3_b.WAV",
+	"AUDIO\\t3_c.WAV",
+	"AUDIO\\k1_b.WAV",
+	"AUDIO\\cat1.WAV"
+};
+#endif
+
 static char StreamedNameTable[][25] =
 {
 	"AUDIO\\HEAD.WAV",
@@ -455,7 +558,6 @@ static char StreamedNameTable[][25] =
 	"AUDIO\\MT_PH4.MP3",
 	"AUDIO\\MISCOM.WAV",
 	"AUDIO\\END.MP3",
-#endif
 	"AUDIO\\lib_a1.WAV",
 	"AUDIO\\lib_a2.WAV",
 	"AUDIO\\lib_a.WAV",
diff --git a/src/audio/sampman_miles.cpp b/src/audio/sampman_miles.cpp
index e820864c..d529513d 100644
--- a/src/audio/sampman_miles.cpp
+++ b/src/audio/sampman_miles.cpp
@@ -992,11 +992,20 @@ cSampleManager::Initialise(void)
 				
 				if ( GetDriveType(m_szCDRomRootPath) == DRIVE_CDROM )
 				{
+					FILE *f;
+#ifdef PS2_AUDIO_PATHS
 					strcpy(filepath, m_szCDRomRootPath);
-					strcat(filepath, StreamedNameTable[0]);
-					
-					FILE *f = fopen(filepath, "rb");
+					strcat(filepath, PS2StreamedNameTable[0]);
+					f = fopen(filepath, "rb");
+
+					if ( !f )
+#endif
+					{
+						strcpy(filepath, m_szCDRomRootPath);
+						strcat(filepath, StreamedNameTable[0]);
 					
+						f = fopen(filepath, "rb");
+					}
 					if ( f )
 					{
 						fclose(f);
@@ -1005,11 +1014,20 @@ cSampleManager::Initialise(void)
 
 						for ( int32 i = 0; i < TOTAL_STREAMED_SOUNDS; i++ )
 						{
+#ifdef PS2_AUDIO_PATHS
 							strcpy(filepath, m_szCDRomRootPath);
-							strcat(filepath, StreamedNameTable[i]);
-							
+							strcat(filepath, PS2StreamedNameTable[i]);
+
 							mp3Stream[0] = AIL_open_stream(DIG, filepath, 0);
-							
+							if ( !mp3Stream[0] )
+#endif
+							{
+								strcpy(filepath, m_szCDRomRootPath);
+								strcat(filepath, StreamedNameTable[i]);
+
+								mp3Stream[0] = AIL_open_stream(DIG, filepath, 0);
+							}
+
 							if ( mp3Stream[0] )
 							{
 								AIL_stream_ms_position(mp3Stream[0], &tatalms, NULL);
@@ -1078,7 +1096,14 @@ cSampleManager::Initialise(void)
 		strcpy(_aHDDPath, m_szCDRomRootPath);
 		rootpath[0] = '\0';
 		
-		FILE *f = fopen(StreamedNameTable[0], "rb");
+		FILE *f;
+
+#ifdef PS2_AUDIO_PATHS
+		f = fopen(PS2StreamedNameTable[0], "rb");
+		if (!f)
+#endif
+
+			f = fopen(StreamedNameTable[0], "rb");
 		
 		if ( f )
 		{
@@ -1086,11 +1111,20 @@ cSampleManager::Initialise(void)
 			
 			for ( int32 i = 0; i < TOTAL_STREAMED_SOUNDS; i++ )
 			{
+#ifdef PS2_AUDIO_PATHS
 				strcpy(filepath, rootpath);
-				strcat(filepath, StreamedNameTable[i]);
-				
+				strcat(filepath, PS2StreamedNameTable[i]);
+
 				mp3Stream[0] = AIL_open_stream(DIG, filepath, 0);
-				
+				if ( !mp3Stream[0] )
+#endif
+				{
+					strcpy(filepath, rootpath);
+					strcat(filepath, StreamedNameTable[i]);
+
+					mp3Stream[0] = AIL_open_stream(DIG, filepath, 0);
+				}
+
 				if ( mp3Stream[0] )
 				{
 					AIL_stream_ms_position(mp3Stream[0], &tatalms, NULL);
@@ -1299,9 +1333,11 @@ cSampleManager::CheckForAnAudioFileOnCD(void)
 {
 #if GTA_VERSION < GTA3_PC_STEAM && !defined(NO_CDCHECK)
 	char filepath[MAX_PATH];
+	FILE *f;
 	
+#ifdef PS2_AUDIO_PATHS
 #if GTA_VERSION >= GTA3_PC_11
-	if (_bUseHDDAudio)
+	if(_bUseHDDAudio)
 		strcpy(filepath, _aHDDPath);
 	else
 		strcpy(filepath, m_szCDRomRootPath);
@@ -1309,10 +1345,25 @@ cSampleManager::CheckForAnAudioFileOnCD(void)
 	strcpy(filepath, m_szCDRomRootPath);
 #endif // #if GTA_VERSION >= GTA3_PC_11
 
-	strcat(filepath, StreamedNameTable[AudioManager.GetRandomNumber(1) % TOTAL_STREAMED_SOUNDS]);
-	
-	FILE *f = fopen(filepath, "rb");
+	strcat(filepath, PS2StreamedNameTable[AudioManager.GetRandomNumber(1) % TOTAL_STREAMED_SOUNDS]);
+
+	f = fopen(filepath, "rb");
+	if ( !f )
+#endif // PS2_AUDIO_PATHS
+	{
+#if GTA_VERSION >= GTA3_PC_11
+		if (_bUseHDDAudio)
+			strcpy(filepath, _aHDDPath);
+		else
+			strcpy(filepath, m_szCDRomRootPath);
+#else
+		strcpy(filepath, m_szCDRomRootPath);
+#endif // #if GTA_VERSION >= GTA3_PC_11
+
+		strcat(filepath, StreamedNameTable[AudioManager.GetRandomNumber(1) % TOTAL_STREAMED_SOUNDS]);
 	
+		f = fopen(filepath, "rb");
+	}
 	if ( f )
 	{
 		fclose(f);
@@ -2007,11 +2058,19 @@ cSampleManager::PreloadStreamedFile(uint8 nFile, uint8 nStream)
 			}
 			
 			char filepath[MAX_PATH];
-			
+#ifdef PS2_AUDIO_PATHS
 			strcpy(filepath, m_szCDRomRootPath);
-			strcat(filepath, StreamedNameTable[nFile]);
-			
+			strcat(filepath, PS2StreamedNameTable[nFile]);
+
 			mp3Stream[nStream] = AIL_open_stream(DIG, filepath, 0);
+			if ( !mp3Stream[nStream] )
+#endif
+			{
+				strcpy(filepath, m_szCDRomRootPath);
+				strcat(filepath, StreamedNameTable[nFile]);
+
+				mp3Stream[nStream] = AIL_open_stream(DIG, filepath, 0);
+			}
 	
 			if ( mp3Stream[nStream] )
 			{
@@ -2073,10 +2132,19 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
 				// Try to continue from previous song, if already started
 				if(!_GetMP3PosFromStreamPos(&position, &e) && !e) {
 					nFile = 0;
+#ifdef PS2_AUDIO_PATHS
 					strcpy(filename, m_szCDRomRootPath);
-					strcat(filename, StreamedNameTable[nFile]);
-					
+					strcat(filename, PS2StreamedNameTable[nFile]);
+
 					mp3Stream[nStream] = AIL_open_stream(DIG, filename, 0);
+					if ( !mp3Stream[nStream] )
+#endif
+					{
+						strcpy(filename, m_szCDRomRootPath);
+						strcat(filename, StreamedNameTable[nFile]);
+					
+						mp3Stream[nStream] = AIL_open_stream(DIG, filename, 0);
+					}
 					if ( mp3Stream[nStream] )
 					{
 						AIL_set_stream_loop_count(mp3Stream[nStream], 1);
@@ -2120,10 +2188,19 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
 					{
 						nFile = 0;
 						_bIsMp3Active = 0;
+#ifdef PS2_AUDIO_PATHS
 						strcpy(filename, m_szCDRomRootPath);
-						strcat(filename, StreamedNameTable[nFile]);
-						
+						strcat(filename, PS2StreamedNameTable[nFile]);
+
 						mp3Stream[nStream] = AIL_open_stream(DIG, filename, 0);
+						if ( !mp3Stream[nStream] )
+#endif
+						{
+							strcpy(filename, m_szCDRomRootPath);
+							strcat(filename, StreamedNameTable[nFile]);
+						
+							mp3Stream[nStream] = AIL_open_stream(DIG, filename, 0);
+						}
 						if ( mp3Stream[nStream] )
 						{
 							AIL_set_stream_loop_count(mp3Stream[nStream], 1);
@@ -2161,10 +2238,19 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
 		position = 0;
 		nFile = 0;
 	}
+#ifdef PS2_AUDIO_PATHS
 	strcpy(filename, m_szCDRomRootPath);
-	strcat(filename, StreamedNameTable[nFile]);
-	
+	strcat(filename, PS2StreamedNameTable[nFile]);
+
 	mp3Stream[nStream] = AIL_open_stream(DIG, filename, 0);
+	if ( !mp3Stream[nStream] )
+#endif
+	{
+		strcpy(filename, m_szCDRomRootPath);
+		strcat(filename, StreamedNameTable[nFile]);
+	
+		mp3Stream[nStream] = AIL_open_stream(DIG, filename, 0);
+	}
 	if ( mp3Stream[nStream] )
 	{
 		AIL_set_stream_loop_count(mp3Stream[nStream], 1);
diff --git a/src/audio/sampman_oal.cpp b/src/audio/sampman_oal.cpp
index fdd449f7..2d9f9e86 100644
--- a/src/audio/sampman_oal.cpp
+++ b/src/audio/sampman_oal.cpp
@@ -894,7 +894,11 @@ cSampleManager::Initialise(void)
 
 		for ( int32 i = 0; i < TOTAL_STREAMED_SOUNDS; i++ )
 		{	
-			if ( aStream[0] && aStream[0]->Open(StreamedNameTable[i], IsThisTrackAt16KHz(i) ? 16000 : 32000) )
+			if(aStream[0] && (
+#ifdef PS2_AUDIO_PATHS
+				aStream[0]->Open(PS2StreamedNameTable[i], IsThisTrackAt16KHz(i) ? 16000 : 32000) || 
+#endif
+				aStream[0]->Open(StreamedNameTable[i], IsThisTrackAt16KHz(i) ? 16000 : 32000)))
 			{
 				uint32 tatalms = aStream[0]->GetLengthMS();
 				aStream[0]->Close();
@@ -1601,8 +1605,6 @@ cSampleManager::StopChannel(uint32 nChannel)
 void
 cSampleManager::PreloadStreamedFile(uint8 nFile, uint8 nStream)
 {
-	char filename[MAX_PATH];
-	
 	ASSERT( nStream < MAX_STREAMS );
 
 	if ( nFile < TOTAL_STREAMED_SOUNDS )
@@ -1611,9 +1613,10 @@ cSampleManager::PreloadStreamedFile(uint8 nFile, uint8 nStream)
 
 		stream->Close();
 
-		strcpy(filename, StreamedNameTable[nFile]);
-		
-		stream->Open(filename, IsThisTrackAt16KHz(nFile) ? 16000 : 32000);
+#ifdef PS2_AUDIO_PATHS
+		if(!stream->Open(PS2StreamedNameTable[nFile], IsThisTrackAt16KHz(nFile) ? 16000 : 32000))
+#endif
+			stream->Open(StreamedNameTable[nFile], IsThisTrackAt16KHz(nFile) ? 16000 : 32000);
 		if ( !stream->Setup() )
 		{
 			stream->Close();
@@ -1673,10 +1676,11 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
 				// Try to continue from previous song, if already started
 				if(!_GetMP3PosFromStreamPos(&position, &e) && !e) {
 					nFile = 0;
-					strcpy(filename, StreamedNameTable[nFile]);
-
 					CStream *stream = aStream[nStream];
-					stream->Open(filename, IsThisTrackAt16KHz(nFile) ? 16000 : 32000);
+#ifdef PS2_AUDIO_PATHS
+					if(!stream->Open(PS2StreamedNameTable[nFile], IsThisTrackAt16KHz(nFile) ? 16000 : 32000))
+#endif
+						stream->Open(StreamedNameTable[nFile], IsThisTrackAt16KHz(nFile) ? 16000 : 32000);
 					if ( stream->Setup() ) {
 						if (position != 0)
 							stream->SetPosMS(position);
@@ -1725,10 +1729,11 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
 					{
 						nFile = 0;
 						_bIsMp3Active = 0;
-						strcpy(filename, StreamedNameTable[nFile]);
-
-						CStream* stream = aStream[nStream];
-						stream->Open(filename, IsThisTrackAt16KHz(nFile) ? 16000 : 32000);
+						CStream *stream = aStream[nStream];
+#ifdef PS2_AUDIO_PATHS
+						if(!stream->Open(PS2StreamedNameTable[nFile], IsThisTrackAt16KHz(nFile) ? 16000 : 32000))
+#endif
+							stream->Open(StreamedNameTable[nFile], IsThisTrackAt16KHz(nFile) ? 16000 : 32000);
 
 						if (stream->Setup()) {
 							if (position != 0)
@@ -1768,11 +1773,11 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
 		position = 0;
 		nFile = 0;
 	}
-	strcpy(filename, StreamedNameTable[nFile]);
-	
 	CStream *stream = aStream[nStream];
-
-	aStream[nStream]->Open(filename, IsThisTrackAt16KHz(nFile) ? 16000 : 32000);
+#ifdef PS2_AUDIO_PATHS
+	if(!stream->Open(PS2StreamedNameTable[nFile], IsThisTrackAt16KHz(nFile) ? 16000 : 32000))
+#endif
+		stream->Open(StreamedNameTable[nFile], IsThisTrackAt16KHz(nFile) ? 16000 : 32000);
 	
 	if ( stream->Setup() ) {
 		if (position != 0)
diff --git a/src/control/Garages.cpp b/src/control/Garages.cpp
index 91971ae7..245e961d 100644
--- a/src/control/Garages.cpp
+++ b/src/control/Garages.cpp
@@ -2305,6 +2305,9 @@ void CGarages::Save(uint8 * buf, uint32 * size)
 	*size = (6 * sizeof(uint32) + TOTAL_COLLECTCARS_GARAGES * sizeof(*CarTypesCollected) + sizeof(uint32) + 3 * NUM_GARAGE_STORED_CARS * sizeof(CStoredCar) + NUM_GARAGES * sizeof(CGarage));
 #else
 	* size = 5484;
+#endif
+#if !defined THIS_IS_STUPID && !defined FIX_GARAGE_SIZE && defined COMPATIBLE_SAVES
+	memset(buf + 5240, 0, *size - 5240); // garbage data is written otherwise
 #endif
 	CloseHideOutGaragesBeforeSave();
 	WriteSaveBuf(buf, NumGarages);
diff --git a/src/control/Script.cpp b/src/control/Script.cpp
index e06acdc3..b07c0701 100644
--- a/src/control/Script.cpp
+++ b/src/control/Script.cpp
@@ -1771,20 +1771,12 @@ int scriptToLoad = 0;
 
 int open_script()
 {
-	// glfwGetKey doesn't work because of CGame::Initialise is blocking
-	CPad::UpdatePads();
-	if (CPad::GetPad(0)->GetChar('G'))
-		scriptToLoad = 0;
-	if (CPad::GetPad(0)->GetChar('R'))
-		scriptToLoad = 1;
-	if (CPad::GetPad(0)->GetChar('D'))
-		scriptToLoad = 2;
 	switch (scriptToLoad) {
-	case 0: return CFileMgr::OpenFile("main.scm", "rb");
-	case 1: return CFileMgr::OpenFile("main_freeroam.scm", "rb");
-	case 2: return CFileMgr::OpenFile("main_d.scm", "rb");
+	case 0: return CFileMgr::OpenFile("data\\main.scm", "rb");
+	case 1: return CFileMgr::OpenFile("data\\main_freeroam.scm", "rb");
+	case 2: return CFileMgr::OpenFile("data\\main_d.scm", "rb");
 	}
-	return CFileMgr::OpenFile("main.scm", "rb");
+	return CFileMgr::OpenFile("data\\main.scm", "rb");
 }
 #endif
 
@@ -1800,10 +1792,16 @@ void CTheScripts::Init()
 	MissionCleanUp.Init();
 	UpsideDownCars.Init();
 	StuckCars.Init();
-	CFileMgr::SetDir("data");
 #ifdef USE_DEBUG_SCRIPT_LOADER
+	// glfwGetKey doesn't work because of CGame::Initialise is blocking
+	CPad::UpdatePads();
+	if(CPad::GetPad(0)->GetChar('G')) scriptToLoad = 0;
+	if(CPad::GetPad(0)->GetChar('R')) scriptToLoad = 1;
+	if(CPad::GetPad(0)->GetChar('D')) scriptToLoad = 2;
+
 	int mainf = open_script();
 #else
+	CFileMgr::SetDir("data");
 	int mainf = CFileMgr::OpenFile("main.scm", "rb");
 #endif
 	CFileMgr::Read(mainf, (char*)ScriptSpace, SIZE_MAIN_SCRIPT);
@@ -4392,7 +4390,11 @@ CTheScripts::SwitchToMission(int32 mission)
 	CTimer::Suspend();
 	int offset = CTheScripts::MultiScriptArray[mission];
 	CFileMgr::ChangeDir("\\");
+#ifdef USE_DEBUG_SCRIPT_LOADER
+	int handle = open_script();
+#else
 	int handle = CFileMgr::OpenFile("data\\main.scm", "rb");
+#endif
 	CFileMgr::Seek(handle, offset, 0);
 	CFileMgr::Read(handle, (const char*)&CTheScripts::ScriptSpace[SIZE_MAIN_SCRIPT], SIZE_MISSION_SCRIPT);
 	CFileMgr::CloseFile(handle);
diff --git a/src/control/Script.h b/src/control/Script.h
index 5682024b..cefd6747 100644
--- a/src/control/Script.h
+++ b/src/control/Script.h
@@ -591,5 +591,6 @@ void RetryMission(int, int);
 #endif
 
 #ifdef USE_DEBUG_SCRIPT_LOADER
+int open_script();
 extern int scriptToLoad;
 #endif
\ No newline at end of file
diff --git a/src/control/Script6.cpp b/src/control/Script6.cpp
index 31be6987..c9b2b070 100644
--- a/src/control/Script6.cpp
+++ b/src/control/Script6.cpp
@@ -305,7 +305,11 @@ int8 CRunningScript::ProcessCommands1000To1099(int32 command)
 		CTimer::Suspend();
 		int offset = CTheScripts::MultiScriptArray[ScriptParams[0]];
 		CFileMgr::ChangeDir("\\");
+#ifdef USE_DEBUG_SCRIPT_LOADER
+		int handle = open_script();
+#else
 		int handle = CFileMgr::OpenFile("data\\main.scm", "rb");
+#endif
 		CFileMgr::Seek(handle, offset, 0);
 		CFileMgr::Read(handle, (const char*)&CTheScripts::ScriptSpace[SIZE_MAIN_SCRIPT], SIZE_MISSION_SCRIPT);
 		CFileMgr::CloseFile(handle);
diff --git a/src/core/Fire.cpp b/src/core/Fire.cpp
index 984b21bb..8b184622 100644
--- a/src/core/Fire.cpp
+++ b/src/core/Fire.cpp
@@ -396,7 +396,7 @@ CFireManager::StartScriptFire(const CVector &pos, CEntity *target, float strengt
 	if (target) {
 		if (target->IsPed()) {
 			ped->m_pFire = fire;
-			if (target != (CVehicle *)FindPlayerPed()) {
+			if (target != FindPlayerPed()) {
 				CVector2D pos = target->GetPosition();
 				ped->SetFlee(pos, 10000);
 				ped->SetMoveAnim();
diff --git a/src/core/config.h b/src/core/config.h
index 885f98b8..f0960e44 100644
--- a/src/core/config.h
+++ b/src/core/config.h
@@ -259,7 +259,7 @@ enum Config {
 
 #define FIX_BUGS		// fixes bugs that we've came across during reversing. You can undefine this only on release builds.
 #define MORE_LANGUAGES		// Add more translations to the game
-#define COMPATIBLE_SAVES // this allows changing structs while keeping saves compatible, and keeps saves compatible between platforms
+#define COMPATIBLE_SAVES // this allows changing structs while keeping saves compatible, and keeps saves compatible between platforms, needs to be enabled on 64bit builds!
 #define FIX_INCOMPATIBLE_SAVES // try to fix incompatible saves, requires COMPATIBLE_SAVES
 #define LOAD_INI_SETTINGS // as the name suggests. fundamental for CUSTOM_FRONTEND_OPTIONS
 
@@ -420,7 +420,7 @@ enum Config {
 #define RADIO_SCROLL_TO_PREV_STATION
 #define AUDIO_CACHE
 #define PS2_AUDIO_CHANNELS // increases the maximum number of audio channels to PS2 value of 44 (PC has 28 originally)
-//#define PS2_AUDIO_PATHS // changes audio paths for cutscenes and radio to PS2 paths (needs vbdec on MSS builds)
+#define PS2_AUDIO_PATHS // changes audio paths for cutscenes and radio to PS2 paths (needs vbdec on MSS builds)
 //#define AUDIO_OAL_USE_SNDFILE // use libsndfile to decode WAVs instead of our internal decoder
 #define AUDIO_OAL_USE_MPG123 // use mpg123 to support mp3 files
 #define PAUSE_RADIO_IN_FRONTEND // pause radio when game is paused
diff --git a/src/peds/PedFight.cpp b/src/peds/PedFight.cpp
index 46ac369c..13d3930c 100644
--- a/src/peds/PedFight.cpp
+++ b/src/peds/PedFight.cpp
@@ -320,6 +320,14 @@ CPed::SetAttack(CEntity *victim)
 				((CPlayerPed*)this)->m_fFPSMoveHeading = TheCamera.Find3rdPersonQuickAimPitch();
 		}
 	}
+#ifdef FIX_BUGS
+	// fix aiming for flamethrower while using PC controls
+	else if (GetWeapon()->m_eWeaponType == WEAPONTYPE_FLAMETHROWER && TheCamera.Cams[0].Using3rdPersonMouseCam() && this == FindPlayerPed())
+	{
+		SetAimFlag(m_fRotationCur);
+		((CPlayerPed*)this)->m_fFPSMoveHeading = TheCamera.Find3rdPersonQuickAimPitch();
+	}
+#endif
 	if (m_nPedState == PED_ATTACK) {
 		bIsAttacking = true;
 		return;
diff --git a/src/render/2dEffect.h b/src/renderer/2dEffect.h
similarity index 100%
rename from src/render/2dEffect.h
rename to src/renderer/2dEffect.h
diff --git a/src/render/Antennas.cpp b/src/renderer/Antennas.cpp
similarity index 100%
rename from src/render/Antennas.cpp
rename to src/renderer/Antennas.cpp
diff --git a/src/render/Antennas.h b/src/renderer/Antennas.h
similarity index 100%
rename from src/render/Antennas.h
rename to src/renderer/Antennas.h
diff --git a/src/render/Clouds.cpp b/src/renderer/Clouds.cpp
similarity index 100%
rename from src/render/Clouds.cpp
rename to src/renderer/Clouds.cpp
diff --git a/src/render/Clouds.h b/src/renderer/Clouds.h
similarity index 100%
rename from src/render/Clouds.h
rename to src/renderer/Clouds.h
diff --git a/src/render/Console.cpp b/src/renderer/Console.cpp
similarity index 100%
rename from src/render/Console.cpp
rename to src/renderer/Console.cpp
diff --git a/src/render/Console.h b/src/renderer/Console.h
similarity index 100%
rename from src/render/Console.h
rename to src/renderer/Console.h
diff --git a/src/render/Coronas.cpp b/src/renderer/Coronas.cpp
similarity index 100%
rename from src/render/Coronas.cpp
rename to src/renderer/Coronas.cpp
diff --git a/src/render/Coronas.h b/src/renderer/Coronas.h
similarity index 100%
rename from src/render/Coronas.h
rename to src/renderer/Coronas.h
diff --git a/src/render/Credits.cpp b/src/renderer/Credits.cpp
similarity index 100%
rename from src/render/Credits.cpp
rename to src/renderer/Credits.cpp
diff --git a/src/render/Credits.h b/src/renderer/Credits.h
similarity index 100%
rename from src/render/Credits.h
rename to src/renderer/Credits.h
diff --git a/src/render/Draw.cpp b/src/renderer/Draw.cpp
similarity index 100%
rename from src/render/Draw.cpp
rename to src/renderer/Draw.cpp
diff --git a/src/render/Draw.h b/src/renderer/Draw.h
similarity index 100%
rename from src/render/Draw.h
rename to src/renderer/Draw.h
diff --git a/src/render/Fluff.cpp b/src/renderer/Fluff.cpp
similarity index 100%
rename from src/render/Fluff.cpp
rename to src/renderer/Fluff.cpp
diff --git a/src/render/Fluff.h b/src/renderer/Fluff.h
similarity index 100%
rename from src/render/Fluff.h
rename to src/renderer/Fluff.h
diff --git a/src/render/Font.cpp b/src/renderer/Font.cpp
similarity index 100%
rename from src/render/Font.cpp
rename to src/renderer/Font.cpp
diff --git a/src/render/Font.h b/src/renderer/Font.h
similarity index 100%
rename from src/render/Font.h
rename to src/renderer/Font.h
diff --git a/src/render/Glass.cpp b/src/renderer/Glass.cpp
similarity index 100%
rename from src/render/Glass.cpp
rename to src/renderer/Glass.cpp
diff --git a/src/render/Glass.h b/src/renderer/Glass.h
similarity index 100%
rename from src/render/Glass.h
rename to src/renderer/Glass.h
diff --git a/src/render/Hud.cpp b/src/renderer/Hud.cpp
similarity index 100%
rename from src/render/Hud.cpp
rename to src/renderer/Hud.cpp
diff --git a/src/render/Hud.h b/src/renderer/Hud.h
similarity index 100%
rename from src/render/Hud.h
rename to src/renderer/Hud.h
diff --git a/src/render/Instance.cpp b/src/renderer/Instance.cpp
similarity index 100%
rename from src/render/Instance.cpp
rename to src/renderer/Instance.cpp
diff --git a/src/render/Instance.h b/src/renderer/Instance.h
similarity index 100%
rename from src/render/Instance.h
rename to src/renderer/Instance.h
diff --git a/src/render/Lines.cpp b/src/renderer/Lines.cpp
similarity index 100%
rename from src/render/Lines.cpp
rename to src/renderer/Lines.cpp
diff --git a/src/render/Lines.h b/src/renderer/Lines.h
similarity index 100%
rename from src/render/Lines.h
rename to src/renderer/Lines.h
diff --git a/src/render/MBlur.cpp b/src/renderer/MBlur.cpp
similarity index 100%
rename from src/render/MBlur.cpp
rename to src/renderer/MBlur.cpp
diff --git a/src/render/MBlur.h b/src/renderer/MBlur.h
similarity index 100%
rename from src/render/MBlur.h
rename to src/renderer/MBlur.h
diff --git a/src/render/Particle.cpp b/src/renderer/Particle.cpp
similarity index 100%
rename from src/render/Particle.cpp
rename to src/renderer/Particle.cpp
diff --git a/src/render/Particle.h b/src/renderer/Particle.h
similarity index 100%
rename from src/render/Particle.h
rename to src/renderer/Particle.h
diff --git a/src/render/ParticleMgr.cpp b/src/renderer/ParticleMgr.cpp
similarity index 100%
rename from src/render/ParticleMgr.cpp
rename to src/renderer/ParticleMgr.cpp
diff --git a/src/render/ParticleMgr.h b/src/renderer/ParticleMgr.h
similarity index 100%
rename from src/render/ParticleMgr.h
rename to src/renderer/ParticleMgr.h
diff --git a/src/render/ParticleType.h b/src/renderer/ParticleType.h
similarity index 100%
rename from src/render/ParticleType.h
rename to src/renderer/ParticleType.h
diff --git a/src/render/PlayerSkin.cpp b/src/renderer/PlayerSkin.cpp
similarity index 100%
rename from src/render/PlayerSkin.cpp
rename to src/renderer/PlayerSkin.cpp
diff --git a/src/render/PlayerSkin.h b/src/renderer/PlayerSkin.h
similarity index 100%
rename from src/render/PlayerSkin.h
rename to src/renderer/PlayerSkin.h
diff --git a/src/render/PointLights.cpp b/src/renderer/PointLights.cpp
similarity index 100%
rename from src/render/PointLights.cpp
rename to src/renderer/PointLights.cpp
diff --git a/src/render/PointLights.h b/src/renderer/PointLights.h
similarity index 100%
rename from src/render/PointLights.h
rename to src/renderer/PointLights.h
diff --git a/src/render/RenderBuffer.cpp b/src/renderer/RenderBuffer.cpp
similarity index 100%
rename from src/render/RenderBuffer.cpp
rename to src/renderer/RenderBuffer.cpp
diff --git a/src/render/RenderBuffer.h b/src/renderer/RenderBuffer.h
similarity index 100%
rename from src/render/RenderBuffer.h
rename to src/renderer/RenderBuffer.h
diff --git a/src/render/Renderer.cpp b/src/renderer/Renderer.cpp
similarity index 100%
rename from src/render/Renderer.cpp
rename to src/renderer/Renderer.cpp
diff --git a/src/render/Renderer.h b/src/renderer/Renderer.h
similarity index 100%
rename from src/render/Renderer.h
rename to src/renderer/Renderer.h
diff --git a/src/render/Rubbish.cpp b/src/renderer/Rubbish.cpp
similarity index 100%
rename from src/render/Rubbish.cpp
rename to src/renderer/Rubbish.cpp
diff --git a/src/render/Rubbish.h b/src/renderer/Rubbish.h
similarity index 100%
rename from src/render/Rubbish.h
rename to src/renderer/Rubbish.h
diff --git a/src/render/Shadows.cpp b/src/renderer/Shadows.cpp
similarity index 100%
rename from src/render/Shadows.cpp
rename to src/renderer/Shadows.cpp
diff --git a/src/render/Shadows.h b/src/renderer/Shadows.h
similarity index 100%
rename from src/render/Shadows.h
rename to src/renderer/Shadows.h
diff --git a/src/render/Skidmarks.cpp b/src/renderer/Skidmarks.cpp
similarity index 100%
rename from src/render/Skidmarks.cpp
rename to src/renderer/Skidmarks.cpp
diff --git a/src/render/Skidmarks.h b/src/renderer/Skidmarks.h
similarity index 100%
rename from src/render/Skidmarks.h
rename to src/renderer/Skidmarks.h
diff --git a/src/render/SpecialFX.cpp b/src/renderer/SpecialFX.cpp
similarity index 100%
rename from src/render/SpecialFX.cpp
rename to src/renderer/SpecialFX.cpp
diff --git a/src/render/SpecialFX.h b/src/renderer/SpecialFX.h
similarity index 100%
rename from src/render/SpecialFX.h
rename to src/renderer/SpecialFX.h
diff --git a/src/render/Sprite.cpp b/src/renderer/Sprite.cpp
similarity index 100%
rename from src/render/Sprite.cpp
rename to src/renderer/Sprite.cpp
diff --git a/src/render/Sprite.h b/src/renderer/Sprite.h
similarity index 100%
rename from src/render/Sprite.h
rename to src/renderer/Sprite.h
diff --git a/src/render/Sprite2d.cpp b/src/renderer/Sprite2d.cpp
similarity index 100%
rename from src/render/Sprite2d.cpp
rename to src/renderer/Sprite2d.cpp
diff --git a/src/render/Sprite2d.h b/src/renderer/Sprite2d.h
similarity index 100%
rename from src/render/Sprite2d.h
rename to src/renderer/Sprite2d.h
diff --git a/src/render/TexList.cpp b/src/renderer/TexList.cpp
similarity index 100%
rename from src/render/TexList.cpp
rename to src/renderer/TexList.cpp
diff --git a/src/render/TexList.h b/src/renderer/TexList.h
similarity index 100%
rename from src/render/TexList.h
rename to src/renderer/TexList.h
diff --git a/src/render/Timecycle.cpp b/src/renderer/Timecycle.cpp
similarity index 100%
rename from src/render/Timecycle.cpp
rename to src/renderer/Timecycle.cpp
diff --git a/src/render/Timecycle.h b/src/renderer/Timecycle.h
similarity index 100%
rename from src/render/Timecycle.h
rename to src/renderer/Timecycle.h
diff --git a/src/render/WaterCannon.cpp b/src/renderer/WaterCannon.cpp
similarity index 100%
rename from src/render/WaterCannon.cpp
rename to src/renderer/WaterCannon.cpp
diff --git a/src/render/WaterCannon.h b/src/renderer/WaterCannon.h
similarity index 100%
rename from src/render/WaterCannon.h
rename to src/renderer/WaterCannon.h
diff --git a/src/render/WaterLevel.cpp b/src/renderer/WaterLevel.cpp
similarity index 100%
rename from src/render/WaterLevel.cpp
rename to src/renderer/WaterLevel.cpp
diff --git a/src/render/WaterLevel.h b/src/renderer/WaterLevel.h
similarity index 100%
rename from src/render/WaterLevel.h
rename to src/renderer/WaterLevel.h
diff --git a/src/render/Weather.cpp b/src/renderer/Weather.cpp
similarity index 100%
rename from src/render/Weather.cpp
rename to src/renderer/Weather.cpp
diff --git a/src/render/Weather.h b/src/renderer/Weather.h
similarity index 100%
rename from src/render/Weather.h
rename to src/renderer/Weather.h