diff --git a/libspeex/arch.h b/lib/libspeex/arch.h
similarity index 100%
rename from libspeex/arch.h
rename to lib/libspeex/arch.h
diff --git a/libspeex/config.h b/lib/libspeex/config.h
similarity index 100%
rename from libspeex/config.h
rename to lib/libspeex/config.h
diff --git a/libspeex/os_support.h b/lib/libspeex/os_support.h
similarity index 100%
rename from libspeex/os_support.h
rename to lib/libspeex/os_support.h
diff --git a/libspeex/resample.c b/lib/libspeex/resample.c
similarity index 100%
rename from libspeex/resample.c
rename to lib/libspeex/resample.c
diff --git a/libspeex/speex/speex_resampler.h b/lib/libspeex/speex/speex_resampler.h
similarity index 100%
rename from libspeex/speex/speex_resampler.h
rename to lib/libspeex/speex/speex_resampler.h
diff --git a/libspeex/speex/speex_types.h b/lib/libspeex/speex/speex_types.h
similarity index 100%
rename from libspeex/speex/speex_types.h
rename to lib/libspeex/speex/speex_types.h
diff --git a/libspeex/stack_alloc.h b/lib/libspeex/stack_alloc.h
similarity index 100%
rename from libspeex/stack_alloc.h
rename to lib/libspeex/stack_alloc.h
diff --git a/lodepng/lodepng.c b/lib/lodepng/lodepng.c
similarity index 100%
rename from lodepng/lodepng.c
rename to lib/lodepng/lodepng.c
diff --git a/lodepng/lodepng.h b/lib/lodepng/lodepng.h
similarity index 100%
rename from lodepng/lodepng.h
rename to lib/lodepng/lodepng.h
diff --git a/projects/openrct2.vcxproj b/projects/openrct2.vcxproj
index b480d80723..d8737d4cf0 100644
--- a/projects/openrct2.vcxproj
+++ b/projects/openrct2.vcxproj
@@ -14,143 +14,6 @@
Win32
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -164,6 +27,140 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{D24D94F6-2A74-480C-B512-629C306CE92F}
openrct2
diff --git a/projects/openrct2.vcxproj.filters b/projects/openrct2.vcxproj.filters
index 5f0581eca7..ef32e47779 100644
--- a/projects/openrct2.vcxproj.filters
+++ b/projects/openrct2.vcxproj.filters
@@ -1,430 +1,58 @@
-
- {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
- cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
-
-
- {93995380-89BD-4b04-88EB-625FBE52EBFB}
- h;hh;hpp;hxx;hm;inl;inc;xsd
-
{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
-
- {611458dc-7dd2-4c37-af0f-306cf9d85fb9}
+
+ {29bd2abb-0a50-4c58-9031-bee3f966b249}
-
+
+ {e9219aff-1bb5-4065-8204-427a97344a43}
+
+
+ {3c824fc4-8242-4127-a4b4-248435ff9058}
+
+
+ {4c8348c7-dfe9-4368-9d87-29733fe5950a}
+
+
+ {8e15cd5b-d7a7-4bda-a58a-e1158ad6ffb4}
+
+
{ee2e3a6f-1209-407b-8000-a6a4b88d28d9}
-
+
{b344ca0f-b412-4924-be08-54bb6f83c3dd}
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Source Files
-
-
- Windows
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Windows
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Source Files
-
-
- Windows
-
-
- Windows
-
-
- Source Files
-
-
- Windows
-
-
- Windows
-
-
- Source Files
-
-
- Windows
-
-
- Source Files
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Source Files
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Windows
-
-
- Source Files
-
-
- Source Files
-
-
- Windows
-
-
- Source Files
-
-
- Windows
-
-
- Windows
-
-
- Source Files
-
-
- Windows
-
-
- Source Files
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Windows
-
-
- Windows
-
-
- Windows
-
+
+ {8a9b8831-4ba9-4104-b13f-949981e10c22}
+
+
+ {97950d17-f655-49bb-85f4-309feb332b02}
+
+
+ {9ac1caf2-4edc-4237-b441-16cc8923d9e3}
+
+
+ {7f7d04b9-188e-4086-a2a2-5b7b2eb2310b}
+
+
+ {22415bda-c4d8-425c-bd06-4c5bbdffe6d7}
+
+
+ {3af99868-3e47-4832-bf01-409aec0b08e7}
+
+
+ {2f881d9d-1f7e-40bf-ad3d-92db3a31ce90}
+
+
+ {6c8e1ad1-9d13-41f8-a9db-64501ad65503}
+
+
+ {81716f5d-b396-4a82-a450-76fee56d982b}
+
@@ -433,28 +61,422 @@
- Data\Language
+ Source\Data\Language
- Data\Language
+ Source\Data\Language
- Data\Language
+ Source\Data\Language
- Data\Language
+ Source\Data\Language
- Data\Language
+ Source\Data\Language
- Data\Language
+ Source\Data\Language
- Data\Language
+ Source\Data\Language
- Data\Language
+ Source\Data\Language
+
+
+ Source\Management
+
+
+ Source\Management
+
+
+ Source\Management
+
+
+ Source\Management
+
+
+ Source\Audio
+
+
+ Source\Audio
+
+
+ Source\Drawing
+
+
+ Source\Interface
+
+
+ Source\Interface
+
+
+ Source\Interface
+
+
+ Source\Interface
+
+
+ Source\Interface
+
+
+ Source\World
+
+
+ Source\World
+
+
+ Source\World
+
+
+ Source\World
+
+
+ Source\World
+
+
+ Source\World
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Localisation
+
+
+ Source\Localisation
+
+
+ Source\Localisation
+
+
+ Source\Platform
+
+
+ Source\Ride
+
+
+ Source\Ride
+
+
+ Source\Ride
+
+
+ Source\Ride
+
+
+ Source\Ride
+
+
+ Source\Util
+
+
+ Source\Util
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source\Localisation
+
+
+
+
+ Source\Management
+
+
+ Source\Management
+
+
+ Source\Management
+
+
+ Source\Management
+
+
+ Source\Audio
+
+
+ Source\Audio
+
+
+ Source\Drawing
+
+
+ Source\Interface
+
+
+ Source\Interface
+
+
+ Source\Interface
+
+
+ Source\Interface
+
+
+ Source\Interface
+
+
+ Source\World
+
+
+ Source\World
+
+
+ Source\World
+
+
+ Source\World
+
+
+ Source\World
+
+
+ Source\World
+
+
+ Source\World
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Windows
+
+
+ Source\Localisation
+
+
+ Source\Localisation
+
+
+ Source\Localisation
+
+
+ Source\Platform
+
+
+ Source\Ride
+
+
+ Source\Ride
+
+
+ Source\Ride
+
+
+ Source\Ride
+
+
+ Source\Ride
+
+
+ Source\Util
+
+
+ Source\Util
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source
+
+
+ Source\Localisation
+
+
\ No newline at end of file
diff --git a/src/audio.c b/src/audio/audio.c
similarity index 100%
rename from src/audio.c
rename to src/audio/audio.c
diff --git a/src/audio.h b/src/audio/audio.h
similarity index 100%
rename from src/audio.h
rename to src/audio/audio.h
diff --git a/src/mixer.cpp b/src/audio/mixer.cpp
similarity index 100%
rename from src/mixer.cpp
rename to src/audio/mixer.cpp
diff --git a/src/mixer.h b/src/audio/mixer.h
similarity index 100%
rename from src/mixer.h
rename to src/audio/mixer.h
diff --git a/src/gfx.c b/src/drawing/gfx.c
similarity index 100%
rename from src/gfx.c
rename to src/drawing/gfx.c
diff --git a/src/gfx.h b/src/drawing/gfx.h
similarity index 100%
rename from src/gfx.h
rename to src/drawing/gfx.h
diff --git a/src/graph.c b/src/interface/graph.c
similarity index 100%
rename from src/graph.c
rename to src/interface/graph.c
diff --git a/src/graph.h b/src/interface/graph.h
similarity index 100%
rename from src/graph.h
rename to src/interface/graph.h
diff --git a/src/screenshot.c b/src/interface/screenshot.c
similarity index 100%
rename from src/screenshot.c
rename to src/interface/screenshot.c
diff --git a/src/screenshot.h b/src/interface/screenshot.h
similarity index 100%
rename from src/screenshot.h
rename to src/interface/screenshot.h
diff --git a/src/viewport.c b/src/interface/viewport.c
similarity index 100%
rename from src/viewport.c
rename to src/interface/viewport.c
diff --git a/src/viewport.h b/src/interface/viewport.h
similarity index 100%
rename from src/viewport.h
rename to src/interface/viewport.h
diff --git a/src/widget.c b/src/interface/widget.c
similarity index 100%
rename from src/widget.c
rename to src/interface/widget.c
diff --git a/src/widget.h b/src/interface/widget.h
similarity index 100%
rename from src/widget.h
rename to src/interface/widget.h
diff --git a/src/window.c b/src/interface/window.c
similarity index 100%
rename from src/window.c
rename to src/interface/window.c
diff --git a/src/window.h b/src/interface/window.h
similarity index 100%
rename from src/window.h
rename to src/interface/window.h
diff --git a/src/currency.c b/src/localisation/currency.c
similarity index 100%
rename from src/currency.c
rename to src/localisation/currency.c
diff --git a/src/currency.h b/src/localisation/currency.h
similarity index 100%
rename from src/currency.h
rename to src/localisation/currency.h
diff --git a/src/date.c b/src/localisation/date.c
similarity index 100%
rename from src/date.c
rename to src/localisation/date.c
diff --git a/src/date.h b/src/localisation/date.h
similarity index 100%
rename from src/date.h
rename to src/localisation/date.h
diff --git a/src/language.c b/src/localisation/language.c
similarity index 100%
rename from src/language.c
rename to src/localisation/language.c
diff --git a/src/language.h b/src/localisation/language.h
similarity index 100%
rename from src/language.h
rename to src/localisation/language.h
diff --git a/src/string_ids.c b/src/localisation/string_ids.c
similarity index 100%
rename from src/string_ids.c
rename to src/localisation/string_ids.c
diff --git a/src/string_ids.h b/src/localisation/string_ids.h
similarity index 100%
rename from src/string_ids.h
rename to src/localisation/string_ids.h
diff --git a/src/award.c b/src/management/award.c
similarity index 100%
rename from src/award.c
rename to src/management/award.c
diff --git a/src/award.h b/src/management/award.h
similarity index 100%
rename from src/award.h
rename to src/management/award.h
diff --git a/src/finance.c b/src/management/finance.c
similarity index 100%
rename from src/finance.c
rename to src/management/finance.c
diff --git a/src/finance.h b/src/management/finance.h
similarity index 100%
rename from src/finance.h
rename to src/management/finance.h
diff --git a/src/marketing.c b/src/management/marketing.c
similarity index 100%
rename from src/marketing.c
rename to src/management/marketing.c
diff --git a/src/marketing.h b/src/management/marketing.h
similarity index 100%
rename from src/marketing.h
rename to src/management/marketing.h
diff --git a/src/news_item.c b/src/management/news_item.c
similarity index 100%
rename from src/news_item.c
rename to src/management/news_item.c
diff --git a/src/news_item.h b/src/management/news_item.h
similarity index 100%
rename from src/news_item.h
rename to src/management/news_item.h
diff --git a/src/osinterface.c b/src/platform/osinterface.c
similarity index 100%
rename from src/osinterface.c
rename to src/platform/osinterface.c
diff --git a/src/osinterface.h b/src/platform/osinterface.h
similarity index 100%
rename from src/osinterface.h
rename to src/platform/osinterface.h
diff --git a/src/readme.md b/src/readme.md
new file mode 100644
index 0000000000..f354d9e6fb
--- /dev/null
+++ b/src/readme.md
@@ -0,0 +1,45 @@
+# Source directory structure
+
+- **audio**
+
+ Contains files for mixing and playing music and sound.
+
+- **drawing**
+
+ Low level drawing logic and palette tables.
+
+- **interface**
+
+ Window and widget logic, includes high level drawing and input.
+
+- **localisation**
+
+ String IDs, currency and date logic.
+
+- **network**
+
+ Network and multiplayer logic, includes management of network games and downloading / uploading of content.
+
+- **management**
+
+ Park management logic such as finance, marketing and research.
+
+- **platform**
+
+ Compiler and operating system specific code such as type definitions, message handling and file input / output.
+
+- **ride**
+
+ Data and logic for rides, vehicles and track.
+
+- **util**
+
+ Utility and helper functions.
+
+- **windows**
+
+ Definitions and logic for all the windows in the game.
+
+- **world**
+
+ World objects and mechanics such as the climate, landscape, sprites and park.
\ No newline at end of file
diff --git a/src/ride.c b/src/ride/ride.c
similarity index 100%
rename from src/ride.c
rename to src/ride/ride.c
diff --git a/src/ride.h b/src/ride/ride.h
similarity index 100%
rename from src/ride.h
rename to src/ride/ride.h
diff --git a/src/ride_data.c b/src/ride/ride_data.c
similarity index 100%
rename from src/ride_data.c
rename to src/ride/ride_data.c
diff --git a/src/ride_data.h b/src/ride/ride_data.h
similarity index 100%
rename from src/ride_data.h
rename to src/ride/ride_data.h
diff --git a/src/ride_ratings.c b/src/ride/ride_ratings.c
similarity index 100%
rename from src/ride_ratings.c
rename to src/ride/ride_ratings.c
diff --git a/src/ride_ratings.h b/src/ride/ride_ratings.h
similarity index 100%
rename from src/ride_ratings.h
rename to src/ride/ride_ratings.h
diff --git a/src/track.c b/src/ride/track.c
similarity index 100%
rename from src/track.c
rename to src/ride/track.c
diff --git a/src/track.h b/src/ride/track.h
similarity index 100%
rename from src/track.h
rename to src/ride/track.h
diff --git a/src/vehicle.c b/src/ride/vehicle.c
similarity index 100%
rename from src/vehicle.c
rename to src/ride/vehicle.c
diff --git a/src/vehicle.h b/src/ride/vehicle.h
similarity index 100%
rename from src/vehicle.h
rename to src/ride/vehicle.h
diff --git a/src/sawyercoding.c b/src/util/sawyercoding.c
similarity index 100%
rename from src/sawyercoding.c
rename to src/util/sawyercoding.c
diff --git a/src/sawyercoding.h b/src/util/sawyercoding.h
similarity index 100%
rename from src/sawyercoding.h
rename to src/util/sawyercoding.h
diff --git a/src/util.c b/src/util/util.c
similarity index 100%
rename from src/util.c
rename to src/util/util.c
diff --git a/src/util.h b/src/util/util.h
similarity index 100%
rename from src/util.h
rename to src/util/util.h
diff --git a/src/window_about.c b/src/windows/about.c
similarity index 100%
rename from src/window_about.c
rename to src/windows/about.c
diff --git a/src/window_banner.c b/src/windows/banner.c
similarity index 100%
rename from src/window_banner.c
rename to src/windows/banner.c
diff --git a/src/window_cheats.c b/src/windows/cheats.c
similarity index 100%
rename from src/window_cheats.c
rename to src/windows/cheats.c
diff --git a/src/window_clear_scenery.c b/src/windows/clear_scenery.c
similarity index 100%
rename from src/window_clear_scenery.c
rename to src/windows/clear_scenery.c
diff --git a/src/window_dropdown.c b/src/windows/dropdown.c
similarity index 100%
rename from src/window_dropdown.c
rename to src/windows/dropdown.c
diff --git a/src/window_dropdown.h b/src/windows/dropdown.h
similarity index 100%
rename from src/window_dropdown.h
rename to src/windows/dropdown.h
diff --git a/src/window_error.c b/src/windows/error.c
similarity index 100%
rename from src/window_error.c
rename to src/windows/error.c
diff --git a/src/window_error.h b/src/windows/error.h
similarity index 100%
rename from src/window_error.h
rename to src/windows/error.h
diff --git a/src/window_finances.c b/src/windows/finances.c
similarity index 100%
rename from src/window_finances.c
rename to src/windows/finances.c
diff --git a/src/window_footpath.c b/src/windows/footpath.c
similarity index 100%
rename from src/window_footpath.c
rename to src/windows/footpath.c
diff --git a/src/window_game_bottom_toolbar.c b/src/windows/game_bottom_toolbar.c
similarity index 100%
rename from src/window_game_bottom_toolbar.c
rename to src/windows/game_bottom_toolbar.c
diff --git a/src/window_game_top_toolbar.c b/src/windows/game_top_toolbar.c
similarity index 100%
rename from src/window_game_top_toolbar.c
rename to src/windows/game_top_toolbar.c
diff --git a/src/window_guest_list.c b/src/windows/guest_list.c
similarity index 100%
rename from src/window_guest_list.c
rename to src/windows/guest_list.c
diff --git a/src/window_land.c b/src/windows/land.c
similarity index 100%
rename from src/window_land.c
rename to src/windows/land.c
diff --git a/src/window_main.c b/src/windows/main.c
similarity index 100%
rename from src/window_main.c
rename to src/windows/main.c
diff --git a/src/window_map.c b/src/windows/map.c
similarity index 100%
rename from src/window_map.c
rename to src/windows/map.c
diff --git a/src/window_music_credits.c b/src/windows/music_credits.c
similarity index 100%
rename from src/window_music_credits.c
rename to src/windows/music_credits.c
diff --git a/src/window_new_campaign.c b/src/windows/new_campaign.c
similarity index 100%
rename from src/window_new_campaign.c
rename to src/windows/new_campaign.c
diff --git a/src/window_new_ride.c b/src/windows/new_ride.c
similarity index 100%
rename from src/window_new_ride.c
rename to src/windows/new_ride.c
diff --git a/src/window_news.c b/src/windows/news.c
similarity index 100%
rename from src/window_news.c
rename to src/windows/news.c
diff --git a/src/window_options.c b/src/windows/options.c
similarity index 100%
rename from src/window_options.c
rename to src/windows/options.c
diff --git a/src/window_park.c b/src/windows/park.c
similarity index 100%
rename from src/window_park.c
rename to src/windows/park.c
diff --git a/src/window_peep.c b/src/windows/peep.c
similarity index 100%
rename from src/window_peep.c
rename to src/windows/peep.c
diff --git a/src/window_publisher_credits.c b/src/windows/publisher_credits.c
similarity index 100%
rename from src/window_publisher_credits.c
rename to src/windows/publisher_credits.c
diff --git a/src/window_research.c b/src/windows/research.c
similarity index 100%
rename from src/window_research.c
rename to src/windows/research.c
diff --git a/src/window_ride.c b/src/windows/ride.c
similarity index 100%
rename from src/window_ride.c
rename to src/windows/ride.c
diff --git a/src/window_ride_list.c b/src/windows/ride_list.c
similarity index 100%
rename from src/window_ride_list.c
rename to src/windows/ride_list.c
diff --git a/src/window_save_prompt.c b/src/windows/save_prompt.c
similarity index 100%
rename from src/window_save_prompt.c
rename to src/windows/save_prompt.c
diff --git a/src/window_scenery.c b/src/windows/scenery.c
similarity index 100%
rename from src/window_scenery.c
rename to src/windows/scenery.c
diff --git a/src/window_scenery.h b/src/windows/scenery.h
similarity index 100%
rename from src/window_scenery.h
rename to src/windows/scenery.h
diff --git a/src/window_staff.c b/src/windows/staff.c
similarity index 100%
rename from src/window_staff.c
rename to src/windows/staff.c
diff --git a/src/window_staff_peep.c b/src/windows/staff_peep.c
similarity index 100%
rename from src/window_staff_peep.c
rename to src/windows/staff_peep.c
diff --git a/src/window_title_exit.c b/src/windows/title_exit.c
similarity index 100%
rename from src/window_title_exit.c
rename to src/windows/title_exit.c
diff --git a/src/window_title_logo.c b/src/windows/title_logo.c
similarity index 100%
rename from src/window_title_logo.c
rename to src/windows/title_logo.c
diff --git a/src/window_title_menu.c b/src/windows/title_menu.c
similarity index 100%
rename from src/window_title_menu.c
rename to src/windows/title_menu.c
diff --git a/src/window_title_scenarioselect.c b/src/windows/title_scenarioselect.c
similarity index 100%
rename from src/window_title_scenarioselect.c
rename to src/windows/title_scenarioselect.c
diff --git a/src/window_tooltip.c b/src/windows/tooltip.c
similarity index 100%
rename from src/window_tooltip.c
rename to src/windows/tooltip.c
diff --git a/src/window_tooltip.h b/src/windows/tooltip.h
similarity index 100%
rename from src/window_tooltip.h
rename to src/windows/tooltip.h
diff --git a/src/window_track_list.c b/src/windows/track_list.c
similarity index 100%
rename from src/window_track_list.c
rename to src/windows/track_list.c
diff --git a/src/window_track_manage.c b/src/windows/track_manage.c
similarity index 100%
rename from src/window_track_manage.c
rename to src/windows/track_manage.c
diff --git a/src/window_track_place.c b/src/windows/track_place.c
similarity index 100%
rename from src/window_track_place.c
rename to src/windows/track_place.c
diff --git a/src/window_water.c b/src/windows/water.c
similarity index 100%
rename from src/window_water.c
rename to src/windows/water.c
diff --git a/src/climate.c b/src/world/climate.c
similarity index 100%
rename from src/climate.c
rename to src/world/climate.c
diff --git a/src/climate.h b/src/world/climate.h
similarity index 100%
rename from src/climate.h
rename to src/world/climate.h
diff --git a/src/map.c b/src/world/map.c
similarity index 100%
rename from src/map.c
rename to src/world/map.c
diff --git a/src/map.h b/src/world/map.h
similarity index 100%
rename from src/map.h
rename to src/world/map.h
diff --git a/src/park.c b/src/world/park.c
similarity index 100%
rename from src/park.c
rename to src/world/park.c
diff --git a/src/park.h b/src/world/park.h
similarity index 100%
rename from src/park.h
rename to src/world/park.h
diff --git a/src/peep.c b/src/world/peep.c
similarity index 100%
rename from src/peep.c
rename to src/world/peep.c
diff --git a/src/peep.h b/src/world/peep.h
similarity index 100%
rename from src/peep.h
rename to src/world/peep.h
diff --git a/src/scenery.h b/src/world/scenery.h
similarity index 100%
rename from src/scenery.h
rename to src/world/scenery.h
diff --git a/src/sprite.c b/src/world/sprite.c
similarity index 100%
rename from src/sprite.c
rename to src/world/sprite.c
diff --git a/src/sprite.h b/src/world/sprite.h
similarity index 100%
rename from src/sprite.h
rename to src/world/sprite.h
diff --git a/src/staff.c b/src/world/staff.c
similarity index 100%
rename from src/staff.c
rename to src/world/staff.c
diff --git a/src/staff.h b/src/world/staff.h
similarity index 100%
rename from src/staff.h
rename to src/world/staff.h