diff --git a/OpenRCT2.xcodeproj/project.pbxproj b/OpenRCT2.xcodeproj/project.pbxproj index 05303d303c..76de164e44 100644 --- a/OpenRCT2.xcodeproj/project.pbxproj +++ b/OpenRCT2.xcodeproj/project.pbxproj @@ -7,188 +7,191 @@ objects = { /* Begin PBXBuildFile section */ - 001085F01C90FD030075A2AD /* textinputbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 001085EE1C90FD030075A2AD /* textinputbuffer.c */; }; - 426da7e58564472ba1b7991f /* crash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = a9793fe06a4244938f5d4b61 /* crash.cpp */; }; - C62A08D51C787C2A00F3AA76 /* drawing_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C62A08D41C787C2A00F3AA76 /* drawing_fast.cpp */; }; D41B73EF1C2101890080A7B9 /* libcurl.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D41B73EE1C2101890080A7B9 /* libcurl.tbd */; }; D41B73F11C21018C0080A7B9 /* libssl.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D41B73F01C21018C0080A7B9 /* libssl.tbd */; }; D41B741D1C210A7A0080A7B9 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D41B741C1C210A7A0080A7B9 /* libiconv.tbd */; }; D41B74731C2125E50080A7B9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D41B74721C2125E50080A7B9 /* Assets.xcassets */; }; D435325F1C3472E500BA219B /* libpng.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D435325E1C3472E500BA219B /* libpng.dylib */; }; D43532601C34730200BA219B /* libpng.dylib in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D435325E1C3472E500BA219B /* libpng.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - D46105CE1C38828D00DB1EE3 /* scenario_sources.c in Sources */ = {isa = PBXBuildFile; fileRef = D46105CD1C38828D00DB1EE3 /* scenario_sources.c */; }; + D44271F51CC81B3200D84D28 /* addresses.c in Sources */ = {isa = PBXBuildFile; fileRef = D44270CD1CC81B3200D84D28 /* addresses.c */; }; + D44271F61CC81B3200D84D28 /* audio.c in Sources */ = {isa = PBXBuildFile; fileRef = D44270D01CC81B3200D84D28 /* audio.c */; }; + D44271F71CC81B3200D84D28 /* mixer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44270D21CC81B3200D84D28 /* mixer.cpp */; }; + D44271F81CC81B3200D84D28 /* cheats.c in Sources */ = {isa = PBXBuildFile; fileRef = D44270D41CC81B3200D84D28 /* cheats.c */; }; + D44271F91CC81B3200D84D28 /* CommandLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44270D71CC81B3200D84D28 /* CommandLine.cpp */; }; + D44271FA1CC81B3200D84D28 /* RootCommands.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44270D91CC81B3200D84D28 /* RootCommands.cpp */; }; + D44271FB1CC81B3200D84D28 /* ScreenshotCommands.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44270DA1CC81B3200D84D28 /* ScreenshotCommands.cpp */; }; + D44271FC1CC81B3200D84D28 /* SpriteCommands.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44270DB1CC81B3200D84D28 /* SpriteCommands.cpp */; }; + D44271FD1CC81B3200D84D28 /* cmdline_sprite.c in Sources */ = {isa = PBXBuildFile; fileRef = D44270DC1CC81B3200D84D28 /* cmdline_sprite.c */; }; + D44271FE1CC81B3200D84D28 /* config.c in Sources */ = {isa = PBXBuildFile; fileRef = D44270DE1CC81B3200D84D28 /* config.c */; }; + D44271FF1CC81B3200D84D28 /* Console.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44270E11CC81B3200D84D28 /* Console.cpp */; }; + D44272001CC81B3200D84D28 /* Diagnostics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44270E31CC81B3200D84D28 /* Diagnostics.cpp */; }; + D44272011CC81B3200D84D28 /* Guard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44270E71CC81B3200D84D28 /* Guard.cpp */; }; + D44272021CC81B3200D84D28 /* Json.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44270EB1CC81B3200D84D28 /* Json.cpp */; }; + D44272031CC81B3200D84D28 /* Path.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44270F01CC81B3200D84D28 /* Path.cpp */; }; + D44272041CC81B3200D84D28 /* Stopwatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44270F21CC81B3200D84D28 /* Stopwatch.cpp */; }; + D44272051CC81B3200D84D28 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44270F51CC81B3200D84D28 /* String.cpp */; }; + D44272061CC81B3200D84D28 /* textinputbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = D44270F91CC81B3200D84D28 /* textinputbuffer.c */; }; + D44272071CC81B3200D84D28 /* cursors.c in Sources */ = {isa = PBXBuildFile; fileRef = D44270FC1CC81B3200D84D28 /* cursors.c */; }; + D44272081CC81B3200D84D28 /* diagnostic.c in Sources */ = {isa = PBXBuildFile; fileRef = D44270FE1CC81B3200D84D28 /* diagnostic.c */; }; + D44272091CC81B3200D84D28 /* drawing.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271011CC81B3200D84D28 /* drawing.c */; }; + D442720A1CC81B3200D84D28 /* drawing_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44271031CC81B3200D84D28 /* drawing_fast.cpp */; }; + D442720B1CC81B3200D84D28 /* font.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271041CC81B3200D84D28 /* font.c */; }; + D442720C1CC81B3200D84D28 /* line.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271061CC81B3200D84D28 /* line.c */; }; + D442720D1CC81B3200D84D28 /* rain.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271071CC81B3200D84D28 /* rain.c */; }; + D442720E1CC81B3200D84D28 /* rect.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271081CC81B3200D84D28 /* rect.c */; }; + D442720F1CC81B3200D84D28 /* scrolling_text.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271091CC81B3200D84D28 /* scrolling_text.c */; }; + D44272101CC81B3200D84D28 /* sprite.c in Sources */ = {isa = PBXBuildFile; fileRef = D442710A1CC81B3200D84D28 /* sprite.c */; }; + D44272111CC81B3200D84D28 /* string.c in Sources */ = {isa = PBXBuildFile; fileRef = D442710B1CC81B3200D84D28 /* string.c */; }; + D44272121CC81B3200D84D28 /* supports.c in Sources */ = {isa = PBXBuildFile; fileRef = D442710C1CC81B3200D84D28 /* supports.c */; }; + D44272131CC81B3200D84D28 /* editor.c in Sources */ = {isa = PBXBuildFile; fileRef = D442710E1CC81B3200D84D28 /* editor.c */; }; + D44272141CC81B3200D84D28 /* game.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271101CC81B3200D84D28 /* game.c */; }; + D44272151CC81B3200D84D28 /* hook.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271121CC81B3200D84D28 /* hook.c */; }; + D44272161CC81B3200D84D28 /* image_io.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271141CC81B3200D84D28 /* image_io.c */; }; + D44272171CC81B3200D84D28 /* input.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271161CC81B3200D84D28 /* input.c */; }; + D44272181CC81B3200D84D28 /* chat.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271191CC81B3200D84D28 /* chat.c */; }; + D44272191CC81B3200D84D28 /* colour.c in Sources */ = {isa = PBXBuildFile; fileRef = D442711B1CC81B3200D84D28 /* colour.c */; }; + D442721A1CC81B3200D84D28 /* console.c in Sources */ = {isa = PBXBuildFile; fileRef = D442711D1CC81B3200D84D28 /* console.c */; }; + D442721B1CC81B3200D84D28 /* graph.c in Sources */ = {isa = PBXBuildFile; fileRef = D442711F1CC81B3200D84D28 /* graph.c */; }; + D442721C1CC81B3200D84D28 /* keyboard_shortcut.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271211CC81B3200D84D28 /* keyboard_shortcut.c */; }; + D442721D1CC81B3200D84D28 /* screenshot.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271231CC81B3200D84D28 /* screenshot.c */; }; + D442721E1CC81B3200D84D28 /* Theme.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44271251CC81B3200D84D28 /* Theme.cpp */; }; + D442721F1CC81B3200D84D28 /* title_sequences.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271271CC81B3200D84D28 /* title_sequences.c */; }; + D44272201CC81B3200D84D28 /* viewport.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271291CC81B3200D84D28 /* viewport.c */; }; + D44272211CC81B3200D84D28 /* viewport_interaction.c in Sources */ = {isa = PBXBuildFile; fileRef = D442712B1CC81B3200D84D28 /* viewport_interaction.c */; }; + D44272221CC81B3200D84D28 /* widget.c in Sources */ = {isa = PBXBuildFile; fileRef = D442712C1CC81B3200D84D28 /* widget.c */; }; + D44272231CC81B3200D84D28 /* window.c in Sources */ = {isa = PBXBuildFile; fileRef = D442712E1CC81B3200D84D28 /* window.c */; }; + D44272241CC81B3200D84D28 /* intro.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271301CC81B3200D84D28 /* intro.c */; }; + D44272251CC81B3200D84D28 /* convert.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271331CC81B3200D84D28 /* convert.c */; }; + D44272261CC81B3200D84D28 /* currency.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271341CC81B3200D84D28 /* currency.c */; }; + D44272271CC81B3200D84D28 /* date.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271361CC81B3200D84D28 /* date.c */; }; + D44272281CC81B3200D84D28 /* language.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44271391CC81B3200D84D28 /* language.cpp */; }; + D44272291CC81B3200D84D28 /* LanguagePack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D442713B1CC81B3200D84D28 /* LanguagePack.cpp */; }; + D442722A1CC81B3200D84D28 /* localisation.c in Sources */ = {isa = PBXBuildFile; fileRef = D442713D1CC81B3200D84D28 /* localisation.c */; }; + D442722B1CC81B3200D84D28 /* real_names.c in Sources */ = {isa = PBXBuildFile; fileRef = D442713F1CC81B3200D84D28 /* real_names.c */; }; + D442722C1CC81B3200D84D28 /* user.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271411CC81B3200D84D28 /* user.c */; }; + D442722D1CC81B3200D84D28 /* utf8.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271431CC81B3200D84D28 /* utf8.c */; }; + D442722E1CC81B3200D84D28 /* award.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271451CC81B3200D84D28 /* award.c */; }; + D442722F1CC81B3200D84D28 /* finance.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271471CC81B3200D84D28 /* finance.c */; }; + D44272301CC81B3200D84D28 /* marketing.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271491CC81B3200D84D28 /* marketing.c */; }; + D44272311CC81B3200D84D28 /* news_item.c in Sources */ = {isa = PBXBuildFile; fileRef = D442714B1CC81B3200D84D28 /* news_item.c */; }; + D44272321CC81B3200D84D28 /* research.c in Sources */ = {isa = PBXBuildFile; fileRef = D442714D1CC81B3200D84D28 /* research.c */; }; + D44272331CC81B3200D84D28 /* http.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44271501CC81B3200D84D28 /* http.cpp */; }; + D44272341CC81B3200D84D28 /* network.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44271521CC81B3200D84D28 /* network.cpp */; }; + D44272351CC81B3200D84D28 /* twitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44271541CC81B3200D84D28 /* twitch.cpp */; }; + D44272361CC81B3200D84D28 /* object_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271561CC81B3200D84D28 /* object_list.c */; }; + D44272371CC81B3200D84D28 /* object.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271571CC81B3200D84D28 /* object.c */; }; + D44272381CC81B3200D84D28 /* openrct2.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271591CC81B3200D84D28 /* openrct2.c */; }; + D44272391CC81B3200D84D28 /* peep.c in Sources */ = {isa = PBXBuildFile; fileRef = D442715C1CC81B3200D84D28 /* peep.c */; }; + D442723A1CC81B3200D84D28 /* staff.c in Sources */ = {isa = PBXBuildFile; fileRef = D442715E1CC81B3200D84D28 /* staff.c */; }; + D442723B1CC81B3200D84D28 /* crash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44271611CC81B3200D84D28 /* crash.cpp */; }; + D442723C1CC81B3200D84D28 /* linux.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271631CC81B3200D84D28 /* linux.c */; }; + D442723D1CC81B3200D84D28 /* osx.m in Sources */ = {isa = PBXBuildFile; fileRef = D44271641CC81B3200D84D28 /* osx.m */; }; + D442723E1CC81B3200D84D28 /* posix.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271661CC81B3200D84D28 /* posix.c */; }; + D442723F1CC81B3200D84D28 /* shared.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271671CC81B3200D84D28 /* shared.c */; }; + D44272401CC81B3200D84D28 /* windows.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271681CC81B3200D84D28 /* windows.c */; }; + D44272411CC81B3200D84D28 /* rct1.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271691CC81B3200D84D28 /* rct1.c */; }; + D44272421CC81B3200D84D28 /* rct2.c in Sources */ = {isa = PBXBuildFile; fileRef = D442716B1CC81B3200D84D28 /* rct2.c */; }; + D44272441CC81B3200D84D28 /* cable_lift.c in Sources */ = {isa = PBXBuildFile; fileRef = D442716F1CC81B3200D84D28 /* cable_lift.c */; }; + D44272451CC81B3200D84D28 /* ride.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271711CC81B3200D84D28 /* ride.c */; }; + D44272461CC81B3200D84D28 /* ride_data.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271731CC81B3200D84D28 /* ride_data.c */; }; + D44272471CC81B3200D84D28 /* ride_ratings.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271751CC81B3200D84D28 /* ride_ratings.c */; }; + D44272481CC81B3200D84D28 /* station.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271771CC81B3200D84D28 /* station.c */; }; + D44272491CC81B3200D84D28 /* track.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271791CC81B3200D84D28 /* track.c */; }; + D442724A1CC81B3200D84D28 /* track_data.c in Sources */ = {isa = PBXBuildFile; fileRef = D442717B1CC81B3200D84D28 /* track_data.c */; }; + D442724B1CC81B3200D84D28 /* track_paint.c in Sources */ = {isa = PBXBuildFile; fileRef = D442717D1CC81B3200D84D28 /* track_paint.c */; }; + D442724C1CC81B3200D84D28 /* vehicle.c in Sources */ = {isa = PBXBuildFile; fileRef = D442717F1CC81B3200D84D28 /* vehicle.c */; }; + D442724D1CC81B3200D84D28 /* scenario_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271811CC81B3200D84D28 /* scenario_list.c */; }; + D442724E1CC81B3200D84D28 /* scenario_sources.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271821CC81B3200D84D28 /* scenario_sources.c */; }; + D442724F1CC81B3200D84D28 /* scenario.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271831CC81B3200D84D28 /* scenario.c */; }; + D44272501CC81B3200D84D28 /* title.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271861CC81B3200D84D28 /* title.c */; }; + D44272511CC81B3200D84D28 /* sawyercoding.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271891CC81B3200D84D28 /* sawyercoding.c */; }; + D44272521CC81B3200D84D28 /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = D442718B1CC81B3200D84D28 /* util.c */; }; + D44272531CC81B3200D84D28 /* about.c in Sources */ = {isa = PBXBuildFile; fileRef = D442718F1CC81B3200D84D28 /* about.c */; }; + D44272541CC81B3200D84D28 /* banner.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271901CC81B3200D84D28 /* banner.c */; }; + D44272551CC81B3200D84D28 /* changelog.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271911CC81B3200D84D28 /* changelog.c */; }; + D44272561CC81B3200D84D28 /* cheats.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271921CC81B3200D84D28 /* cheats.c */; }; + D44272571CC81B3200D84D28 /* clear_scenery.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271931CC81B3200D84D28 /* clear_scenery.c */; }; + D44272581CC81B3200D84D28 /* demolish_ride_prompt.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271941CC81B3200D84D28 /* demolish_ride_prompt.c */; }; + D44272591CC81B3200D84D28 /* dropdown.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271951CC81B3200D84D28 /* dropdown.c */; }; + D442725A1CC81B3200D84D28 /* editor_bottom_toolbar.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271971CC81B3200D84D28 /* editor_bottom_toolbar.c */; }; + D442725B1CC81B3200D84D28 /* editor_inventions_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271981CC81B3200D84D28 /* editor_inventions_list.c */; }; + D442725C1CC81B3200D84D28 /* editor_main.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271991CC81B3200D84D28 /* editor_main.c */; }; + D442725D1CC81B3200D84D28 /* editor_object_selection.c in Sources */ = {isa = PBXBuildFile; fileRef = D442719A1CC81B3200D84D28 /* editor_object_selection.c */; }; + D442725E1CC81B3200D84D28 /* editor_objective_options.c in Sources */ = {isa = PBXBuildFile; fileRef = D442719B1CC81B3200D84D28 /* editor_objective_options.c */; }; + D442725F1CC81B3200D84D28 /* editor_scenario_options.c in Sources */ = {isa = PBXBuildFile; fileRef = D442719C1CC81B3200D84D28 /* editor_scenario_options.c */; }; + D44272601CC81B3200D84D28 /* error.c in Sources */ = {isa = PBXBuildFile; fileRef = D442719D1CC81B3200D84D28 /* error.c */; }; + D44272611CC81B3200D84D28 /* finances.c in Sources */ = {isa = PBXBuildFile; fileRef = D442719F1CC81B3200D84D28 /* finances.c */; }; + D44272621CC81B3200D84D28 /* footpath.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271A01CC81B3200D84D28 /* footpath.c */; }; + D44272631CC81B3200D84D28 /* game_bottom_toolbar.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271A11CC81B3200D84D28 /* game_bottom_toolbar.c */; }; + D44272641CC81B3200D84D28 /* guest.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271A21CC81B3200D84D28 /* guest.c */; }; + D44272651CC81B3200D84D28 /* guest_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271A31CC81B3200D84D28 /* guest_list.c */; }; + D44272661CC81B3200D84D28 /* install_track.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271A41CC81B3200D84D28 /* install_track.c */; }; + D44272671CC81B3200D84D28 /* land.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271A51CC81B3200D84D28 /* land.c */; }; + D44272681CC81B3200D84D28 /* land_rights.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271A61CC81B3200D84D28 /* land_rights.c */; }; + D44272691CC81B3200D84D28 /* loadsave.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271A71CC81B3200D84D28 /* loadsave.c */; }; + D442726A1CC81B3200D84D28 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271A81CC81B3200D84D28 /* main.c */; }; + D442726B1CC81B3200D84D28 /* map.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271A91CC81B3200D84D28 /* map.c */; }; + D442726C1CC81B3200D84D28 /* map_tooltip.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271AA1CC81B3200D84D28 /* map_tooltip.c */; }; + D442726D1CC81B3200D84D28 /* mapgen.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271AB1CC81B3200D84D28 /* mapgen.c */; }; + D442726E1CC81B3200D84D28 /* maze_construction.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271AC1CC81B3200D84D28 /* maze_construction.c */; }; + D442726F1CC81B3200D84D28 /* multiplayer.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271AD1CC81B3200D84D28 /* multiplayer.c */; }; + D44272701CC81B3200D84D28 /* music_credits.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271AE1CC81B3200D84D28 /* music_credits.c */; }; + D44272711CC81B3200D84D28 /* network_status.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271AF1CC81B3200D84D28 /* network_status.c */; }; + D44272721CC81B3200D84D28 /* new_campaign.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271B01CC81B3200D84D28 /* new_campaign.c */; }; + D44272731CC81B3200D84D28 /* new_ride.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271B11CC81B3200D84D28 /* new_ride.c */; }; + D44272741CC81B3200D84D28 /* news.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271B21CC81B3200D84D28 /* news.c */; }; + D44272751CC81B3200D84D28 /* news_options.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271B31CC81B3200D84D28 /* news_options.c */; }; + D44272761CC81B3200D84D28 /* options.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271B41CC81B3200D84D28 /* options.c */; }; + D44272771CC81B3200D84D28 /* park.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271B51CC81B3200D84D28 /* park.c */; }; + D44272781CC81B3200D84D28 /* player.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271B61CC81B3200D84D28 /* player.c */; }; + D44272791CC81B3200D84D28 /* publisher_credits.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271B71CC81B3200D84D28 /* publisher_credits.c */; }; + D442727A1CC81B3200D84D28 /* research.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271B81CC81B3200D84D28 /* research.c */; }; + D442727B1CC81B3200D84D28 /* ride.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271B91CC81B3200D84D28 /* ride.c */; }; + D442727C1CC81B3200D84D28 /* ride_construction.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271BA1CC81B3200D84D28 /* ride_construction.c */; }; + D442727D1CC81B3200D84D28 /* ride_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271BB1CC81B3200D84D28 /* ride_list.c */; }; + D442727E1CC81B3200D84D28 /* save_prompt.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271BC1CC81B3200D84D28 /* save_prompt.c */; }; + D442727F1CC81B3200D84D28 /* scenery.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271BD1CC81B3200D84D28 /* scenery.c */; }; + D44272801CC81B3200D84D28 /* server_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271BE1CC81B3200D84D28 /* server_list.c */; }; + D44272811CC81B3200D84D28 /* server_start.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271BF1CC81B3200D84D28 /* server_start.c */; }; + D44272821CC81B3200D84D28 /* shortcut_key_change.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271C01CC81B3200D84D28 /* shortcut_key_change.c */; }; + D44272831CC81B3200D84D28 /* shortcut_keys.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271C11CC81B3200D84D28 /* shortcut_keys.c */; }; + D44272841CC81B3200D84D28 /* sign.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271C21CC81B3200D84D28 /* sign.c */; }; + D44272851CC81B3200D84D28 /* staff.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271C31CC81B3200D84D28 /* staff.c */; }; + D44272861CC81B3200D84D28 /* staff_fire_prompt.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271C41CC81B3200D84D28 /* staff_fire_prompt.c */; }; + D44272871CC81B3200D84D28 /* staff_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271C51CC81B3200D84D28 /* staff_list.c */; }; + D44272881CC81B3200D84D28 /* text_input.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271C61CC81B3200D84D28 /* text_input.c */; }; + D44272891CC81B3200D84D28 /* themes.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271C71CC81B3200D84D28 /* themes.c */; }; + D442728A1CC81B3200D84D28 /* tile_inspector.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271C81CC81B3200D84D28 /* tile_inspector.c */; }; + D442728B1CC81B3200D84D28 /* title_command_editor.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271C91CC81B3200D84D28 /* title_command_editor.c */; }; + D442728C1CC81B3200D84D28 /* title_editor.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271CA1CC81B3200D84D28 /* title_editor.c */; }; + D442728D1CC81B3200D84D28 /* title_exit.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271CB1CC81B3200D84D28 /* title_exit.c */; }; + D442728E1CC81B3200D84D28 /* title_logo.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271CC1CC81B3200D84D28 /* title_logo.c */; }; + D442728F1CC81B3200D84D28 /* title_menu.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271CD1CC81B3200D84D28 /* title_menu.c */; }; + D44272901CC81B3200D84D28 /* title_options.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271CE1CC81B3200D84D28 /* title_options.c */; }; + D44272911CC81B3200D84D28 /* title_scenarioselect.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271CF1CC81B3200D84D28 /* title_scenarioselect.c */; }; + D44272921CC81B3200D84D28 /* tooltip.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271D01CC81B3200D84D28 /* tooltip.c */; }; + D44272931CC81B3200D84D28 /* top_toolbar.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271D21CC81B3200D84D28 /* top_toolbar.c */; }; + D44272941CC81B3200D84D28 /* track_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271D31CC81B3200D84D28 /* track_list.c */; }; + D44272951CC81B3200D84D28 /* track_manage.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271D41CC81B3200D84D28 /* track_manage.c */; }; + D44272961CC81B3200D84D28 /* track_place.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271D51CC81B3200D84D28 /* track_place.c */; }; + D44272971CC81B3200D84D28 /* viewport.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271D61CC81B3200D84D28 /* viewport.c */; }; + D44272981CC81B3200D84D28 /* water.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271D71CC81B3200D84D28 /* water.c */; }; + D44272991CC81B3200D84D28 /* balloon.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271D91CC81B3200D84D28 /* balloon.c */; }; + D442729A1CC81B3200D84D28 /* banner.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271DA1CC81B3200D84D28 /* banner.c */; }; + D442729B1CC81B3200D84D28 /* climate.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271DC1CC81B3200D84D28 /* climate.c */; }; + D442729C1CC81B3200D84D28 /* duck.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271DE1CC81B3200D84D28 /* duck.c */; }; + D442729D1CC81B3200D84D28 /* footpath.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271E01CC81B3200D84D28 /* footpath.c */; }; + D442729E1CC81B3200D84D28 /* fountain.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271E21CC81B3200D84D28 /* fountain.c */; }; + D442729F1CC81B3200D84D28 /* map.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271E41CC81B3200D84D28 /* map.c */; }; + D44272A01CC81B3200D84D28 /* map_animation.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271E61CC81B3200D84D28 /* map_animation.c */; }; + D44272A11CC81B3200D84D28 /* map_helpers.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271E81CC81B3200D84D28 /* map_helpers.c */; }; + D44272A21CC81B3200D84D28 /* mapgen.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271EA1CC81B3200D84D28 /* mapgen.c */; }; + D44272A31CC81B3200D84D28 /* money_effect.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271EC1CC81B3200D84D28 /* money_effect.c */; }; + D44272A41CC81B3200D84D28 /* park.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271ED1CC81B3200D84D28 /* park.c */; }; + D44272A51CC81B3200D84D28 /* particle.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271EF1CC81B3200D84D28 /* particle.c */; }; + D44272A61CC81B3200D84D28 /* scenery.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271F01CC81B3200D84D28 /* scenery.c */; }; + D44272A71CC81B3200D84D28 /* sprite.c in Sources */ = {isa = PBXBuildFile; fileRef = D44271F21CC81B3200D84D28 /* sprite.c */; }; D47304D51C4FF8250015C0EA /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D47304D41C4FF8250015C0EA /* libz.tbd */; }; - D4A3511E1C6067C400CBCBA4 /* Json.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4A3511C1C6067C400CBCBA4 /* Json.cpp */; }; - D4A351211C60680300CBCBA4 /* Theme.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4A351201C60680300CBCBA4 /* Theme.cpp */; }; - D4ABAB061C2F812B0080CAD9 /* news_options.c in Sources */ = {isa = PBXBuildFile; fileRef = D4ABAB051C2F812B0080CAD9 /* news_options.c */; }; - D4B63B8F1C43025600367A37 /* CommandLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4B63B8A1C43025600367A37 /* CommandLine.cpp */; }; - D4B63B901C43025600367A37 /* RootCommands.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4B63B8C1C43025600367A37 /* RootCommands.cpp */; }; - D4B63B911C43025600367A37 /* ScreenshotCommands.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4B63B8D1C43025600367A37 /* ScreenshotCommands.cpp */; }; - D4B63B921C43025600367A37 /* SpriteCommands.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4B63B8E1C43025600367A37 /* SpriteCommands.cpp */; }; - D4B63B951C43028200367A37 /* Console.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4B63B931C43028200367A37 /* Console.cpp */; }; - D4B63B981C43028F00367A37 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4B63B961C43028F00367A37 /* String.cpp */; }; - D4B85B5B1C41C7F3005C568A /* cable_lift.c in Sources */ = {isa = PBXBuildFile; fileRef = D4B85B591C41C7F3005C568A /* cable_lift.c */; }; - D4C0EDCF1C52EA5000A03A06 /* multiplayer.c in Sources */ = {isa = PBXBuildFile; fileRef = D4C0EDCE1C52EA5000A03A06 /* multiplayer.c */; }; - D4C0EDD11C52EA6400A03A06 /* player.c in Sources */ = {isa = PBXBuildFile; fileRef = D4C0EDD01C52EA6400A03A06 /* player.c */; }; - D4D35E2C1C45BD9B00AAFCB4 /* Path.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4D35E2A1C45BD9B00AAFCB4 /* Path.cpp */; }; - D4D4DF141C34697B0048BE43 /* image_io.c in Sources */ = {isa = PBXBuildFile; fileRef = D4D4DF121C34697B0048BE43 /* image_io.c */; }; - D4EC47DF1C26342F0024B507 /* addresses.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46D61C26342F0024B507 /* addresses.c */; }; - D4EC47E01C26342F0024B507 /* audio.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46D91C26342F0024B507 /* audio.c */; }; - D4EC47E11C26342F0024B507 /* mixer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46DB1C26342F0024B507 /* mixer.cpp */; }; - D4EC47E21C26342F0024B507 /* cheats.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46DD1C26342F0024B507 /* cheats.c */; }; - D4EC47E31C26342F0024B507 /* cmdline_sprite.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46DF1C26342F0024B507 /* cmdline_sprite.c */; }; - D4EC47E51C26342F0024B507 /* config.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46E31C26342F0024B507 /* config.c */; }; - D4EC47E61C26342F0024B507 /* cursors.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46EF1C26342F0024B507 /* cursors.c */; }; - D4EC47E71C26342F0024B507 /* diagnostic.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46F11C26342F0024B507 /* diagnostic.c */; }; - D4EC47E81C26342F0024B507 /* drawing.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46F41C26342F0024B507 /* drawing.c */; }; - D4EC47E91C26342F0024B507 /* font.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46F61C26342F0024B507 /* font.c */; }; - D4EC47EA1C26342F0024B507 /* line.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46F81C26342F0024B507 /* line.c */; }; - D4EC47EB1C26342F0024B507 /* rain.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46F91C26342F0024B507 /* rain.c */; }; - D4EC47EC1C26342F0024B507 /* rect.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46FA1C26342F0024B507 /* rect.c */; }; - D4EC47ED1C26342F0024B507 /* scrolling_text.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46FB1C26342F0024B507 /* scrolling_text.c */; }; - D4EC47EE1C26342F0024B507 /* sprite.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46FC1C26342F0024B507 /* sprite.c */; }; - D4EC47EF1C26342F0024B507 /* string.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46FD1C26342F0024B507 /* string.c */; }; - D4EC47F01C26342F0024B507 /* supports.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC46FE1C26342F0024B507 /* supports.c */; }; - D4EC47F11C26342F0024B507 /* editor.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47001C26342F0024B507 /* editor.c */; }; - D4EC47F21C26342F0024B507 /* game.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47021C26342F0024B507 /* game.c */; }; - D4EC47F31C26342F0024B507 /* hook.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47041C26342F0024B507 /* hook.c */; }; - D4EC47F41C26342F0024B507 /* input.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47061C26342F0024B507 /* input.c */; }; - D4EC47F51C26342F0024B507 /* chat.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47091C26342F0024B507 /* chat.c */; }; - D4EC47F61C26342F0024B507 /* colour.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC470B1C26342F0024B507 /* colour.c */; }; - D4EC47F71C26342F0024B507 /* console.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC470D1C26342F0024B507 /* console.c */; }; - D4EC47F81C26342F0024B507 /* graph.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC470F1C26342F0024B507 /* graph.c */; }; - D4EC47F91C26342F0024B507 /* keyboard_shortcut.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47111C26342F0024B507 /* keyboard_shortcut.c */; }; - D4EC47FA1C26342F0024B507 /* screenshot.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47131C26342F0024B507 /* screenshot.c */; }; - D4EC47FC1C26342F0024B507 /* title_sequences.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47171C26342F0024B507 /* title_sequences.c */; }; - D4EC47FD1C26342F0024B507 /* viewport.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47191C26342F0024B507 /* viewport.c */; }; - D4EC47FE1C26342F0024B507 /* viewport_interaction.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC471B1C26342F0024B507 /* viewport_interaction.c */; }; - D4EC47FF1C26342F0024B507 /* widget.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC471C1C26342F0024B507 /* widget.c */; }; - D4EC48001C26342F0024B507 /* window.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC471E1C26342F0024B507 /* window.c */; }; - D4EC48011C26342F0024B507 /* intro.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47201C26342F0024B507 /* intro.c */; }; - D4EC48021C26342F0024B507 /* convert.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47231C26342F0024B507 /* convert.c */; }; - D4EC48031C26342F0024B507 /* currency.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47241C26342F0024B507 /* currency.c */; }; - D4EC48041C26342F0024B507 /* date.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47261C26342F0024B507 /* date.c */; }; - D4EC48051C26342F0024B507 /* language.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47291C26342F0024B507 /* language.cpp */; }; - D4EC48061C26342F0024B507 /* LanguagePack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4EC472B1C26342F0024B507 /* LanguagePack.cpp */; }; - D4EC48071C26342F0024B507 /* localisation.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC472D1C26342F0024B507 /* localisation.c */; }; - D4EC48081C26342F0024B507 /* real_names.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC472F1C26342F0024B507 /* real_names.c */; }; - D4EC48091C26342F0024B507 /* user.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47311C26342F0024B507 /* user.c */; }; - D4EC480A1C26342F0024B507 /* utf8.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47331C26342F0024B507 /* utf8.c */; }; - D4EC480B1C26342F0024B507 /* award.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47351C26342F0024B507 /* award.c */; }; - D4EC480C1C26342F0024B507 /* finance.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47371C26342F0024B507 /* finance.c */; }; - D4EC480D1C26342F0024B507 /* marketing.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47391C26342F0024B507 /* marketing.c */; }; - D4EC480E1C26342F0024B507 /* news_item.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC473B1C26342F0024B507 /* news_item.c */; }; - D4EC480F1C26342F0024B507 /* research.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC473D1C26342F0024B507 /* research.c */; }; - D4EC48101C26342F0024B507 /* http.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47401C26342F0024B507 /* http.cpp */; }; - D4EC48111C26342F0024B507 /* network.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47421C26342F0024B507 /* network.cpp */; }; - D4EC48121C26342F0024B507 /* twitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47441C26342F0024B507 /* twitch.cpp */; }; - D4EC48131C26342F0024B507 /* object_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47461C26342F0024B507 /* object_list.c */; }; - D4EC48141C26342F0024B507 /* object.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47471C26342F0024B507 /* object.c */; }; - D4EC48151C26342F0024B507 /* openrct2.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47491C26342F0024B507 /* openrct2.c */; }; - D4EC48161C26342F0024B507 /* peep.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC474C1C26342F0024B507 /* peep.c */; }; - D4EC48171C26342F0024B507 /* staff.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC474E1C26342F0024B507 /* staff.c */; }; - D4EC48181C26342F0024B507 /* linux.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47511C26342F0024B507 /* linux.c */; }; - D4EC48191C26342F0024B507 /* osx.m in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47521C26342F0024B507 /* osx.m */; }; - D4EC481A1C26342F0024B507 /* posix.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47541C26342F0024B507 /* posix.c */; }; - D4EC481B1C26342F0024B507 /* shared.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47551C26342F0024B507 /* shared.c */; }; - D4EC481C1C26342F0024B507 /* windows.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47561C26342F0024B507 /* windows.c */; }; - D4EC481D1C26342F0024B507 /* rct1.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47571C26342F0024B507 /* rct1.c */; }; - D4EC481E1C26342F0024B507 /* rct2.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47591C26342F0024B507 /* rct2.c */; }; - D4EC48201C26342F0024B507 /* ride.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC475D1C26342F0024B507 /* ride.c */; }; - D4EC48211C26342F0024B507 /* ride_data.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC475F1C26342F0024B507 /* ride_data.c */; }; - D4EC48221C26342F0024B507 /* ride_ratings.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47611C26342F0024B507 /* ride_ratings.c */; }; - D4EC48231C26342F0024B507 /* station.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47631C26342F0024B507 /* station.c */; }; - D4EC48241C26342F0024B507 /* track.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47651C26342F0024B507 /* track.c */; }; - D4EC48251C26342F0024B507 /* track_data.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47671C26342F0024B507 /* track_data.c */; }; - D4EC48261C26342F0024B507 /* track_paint.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47691C26342F0024B507 /* track_paint.c */; }; - D4EC48271C26342F0024B507 /* vehicle.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC476B1C26342F0024B507 /* vehicle.c */; }; - D4EC48281C26342F0024B507 /* scenario_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC476D1C26342F0024B507 /* scenario_list.c */; }; - D4EC48291C26342F0024B507 /* scenario.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC476E1C26342F0024B507 /* scenario.c */; }; - D4EC482A1C26342F0024B507 /* title.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47711C26342F0024B507 /* title.c */; }; - D4EC482C1C26342F0024B507 /* sawyercoding.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47761C26342F0024B507 /* sawyercoding.c */; }; - D4EC482D1C26342F0024B507 /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47781C26342F0024B507 /* util.c */; }; - D4EC482E1C26342F0024B507 /* about.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC477B1C26342F0024B507 /* about.c */; }; - D4EC482F1C26342F0024B507 /* banner.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC477C1C26342F0024B507 /* banner.c */; }; - D4EC48301C26342F0024B507 /* changelog.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC477D1C26342F0024B507 /* changelog.c */; }; - D4EC48311C26342F0024B507 /* cheats.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC477E1C26342F0024B507 /* cheats.c */; }; - D4EC48321C26342F0024B507 /* clear_scenery.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC477F1C26342F0024B507 /* clear_scenery.c */; }; - D4EC48331C26342F0024B507 /* demolish_ride_prompt.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47801C26342F0024B507 /* demolish_ride_prompt.c */; }; - D4EC48341C26342F0024B507 /* dropdown.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47811C26342F0024B507 /* dropdown.c */; }; - D4EC48351C26342F0024B507 /* editor_bottom_toolbar.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47831C26342F0024B507 /* editor_bottom_toolbar.c */; }; - D4EC48361C26342F0024B507 /* editor_inventions_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47841C26342F0024B507 /* editor_inventions_list.c */; }; - D4EC48371C26342F0024B507 /* editor_main.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47851C26342F0024B507 /* editor_main.c */; }; - D4EC48381C26342F0024B507 /* editor_object_selection.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47861C26342F0024B507 /* editor_object_selection.c */; }; - D4EC48391C26342F0024B507 /* editor_objective_options.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47871C26342F0024B507 /* editor_objective_options.c */; }; - D4EC483A1C26342F0024B507 /* editor_scenario_options.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47881C26342F0024B507 /* editor_scenario_options.c */; }; - D4EC483B1C26342F0024B507 /* error.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47891C26342F0024B507 /* error.c */; }; - D4EC483C1C26342F0024B507 /* finances.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC478B1C26342F0024B507 /* finances.c */; }; - D4EC483D1C26342F0024B507 /* footpath.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC478C1C26342F0024B507 /* footpath.c */; }; - D4EC483E1C26342F0024B507 /* game_bottom_toolbar.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC478D1C26342F0024B507 /* game_bottom_toolbar.c */; }; - D4EC483F1C26342F0024B507 /* guest.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC478E1C26342F0024B507 /* guest.c */; }; - D4EC48401C26342F0024B507 /* guest_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC478F1C26342F0024B507 /* guest_list.c */; }; - D4EC48411C26342F0024B507 /* install_track.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47901C26342F0024B507 /* install_track.c */; }; - D4EC48421C26342F0024B507 /* land.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47911C26342F0024B507 /* land.c */; }; - D4EC48431C26342F0024B507 /* land_rights.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47921C26342F0024B507 /* land_rights.c */; }; - D4EC48441C26342F0024B507 /* loadsave.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47931C26342F0024B507 /* loadsave.c */; }; - D4EC48451C26342F0024B507 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47941C26342F0024B507 /* main.c */; }; - D4EC48461C26342F0024B507 /* map.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47951C26342F0024B507 /* map.c */; }; - D4EC48471C26342F0024B507 /* map_tooltip.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47961C26342F0024B507 /* map_tooltip.c */; }; - D4EC48481C26342F0024B507 /* mapgen.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47971C26342F0024B507 /* mapgen.c */; }; - D4EC48491C26342F0024B507 /* maze_construction.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47981C26342F0024B507 /* maze_construction.c */; }; - D4EC484A1C26342F0024B507 /* music_credits.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47991C26342F0024B507 /* music_credits.c */; }; - D4EC484B1C26342F0024B507 /* network_status.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC479A1C26342F0024B507 /* network_status.c */; }; - D4EC484C1C26342F0024B507 /* new_campaign.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC479B1C26342F0024B507 /* new_campaign.c */; }; - D4EC484D1C26342F0024B507 /* new_ride.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC479C1C26342F0024B507 /* new_ride.c */; }; - D4EC484E1C26342F0024B507 /* news.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC479D1C26342F0024B507 /* news.c */; }; - D4EC484F1C26342F0024B507 /* options.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC479E1C26342F0024B507 /* options.c */; }; - D4EC48501C26342F0024B507 /* park.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC479F1C26342F0024B507 /* park.c */; }; - D4EC48521C26342F0024B507 /* publisher_credits.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47A11C26342F0024B507 /* publisher_credits.c */; }; - D4EC48531C26342F0024B507 /* research.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47A21C26342F0024B507 /* research.c */; }; - D4EC48541C26342F0024B507 /* ride.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47A31C26342F0024B507 /* ride.c */; }; - D4EC48551C26342F0024B507 /* ride_construction.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47A41C26342F0024B507 /* ride_construction.c */; }; - D4EC48561C26342F0024B507 /* ride_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47A51C26342F0024B507 /* ride_list.c */; }; - D4EC48571C26342F0024B507 /* save_prompt.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47A61C26342F0024B507 /* save_prompt.c */; }; - D4EC48581C26342F0024B507 /* scenery.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47A71C26342F0024B507 /* scenery.c */; }; - D4EC48591C26342F0024B507 /* server_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47A81C26342F0024B507 /* server_list.c */; }; - D4EC485A1C26342F0024B507 /* server_start.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47A91C26342F0024B507 /* server_start.c */; }; - D4EC485B1C26342F0024B507 /* shortcut_key_change.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47AA1C26342F0024B507 /* shortcut_key_change.c */; }; - D4EC485C1C26342F0024B507 /* shortcut_keys.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47AB1C26342F0024B507 /* shortcut_keys.c */; }; - D4EC485D1C26342F0024B507 /* sign.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47AC1C26342F0024B507 /* sign.c */; }; - D4EC485E1C26342F0024B507 /* staff.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47AD1C26342F0024B507 /* staff.c */; }; - D4EC485F1C26342F0024B507 /* staff_fire_prompt.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47AE1C26342F0024B507 /* staff_fire_prompt.c */; }; - D4EC48601C26342F0024B507 /* staff_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47AF1C26342F0024B507 /* staff_list.c */; }; - D4EC48611C26342F0024B507 /* text_input.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47B01C26342F0024B507 /* text_input.c */; }; - D4EC48621C26342F0024B507 /* themes.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47B11C26342F0024B507 /* themes.c */; }; - D4EC48631C26342F0024B507 /* tile_inspector.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47B21C26342F0024B507 /* tile_inspector.c */; }; - D4EC48641C26342F0024B507 /* title_command_editor.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47B31C26342F0024B507 /* title_command_editor.c */; }; - D4EC48651C26342F0024B507 /* title_editor.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47B41C26342F0024B507 /* title_editor.c */; }; - D4EC48661C26342F0024B507 /* title_exit.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47B51C26342F0024B507 /* title_exit.c */; }; - D4EC48671C26342F0024B507 /* title_logo.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47B61C26342F0024B507 /* title_logo.c */; }; - D4EC48681C26342F0024B507 /* title_menu.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47B71C26342F0024B507 /* title_menu.c */; }; - D4EC48691C26342F0024B507 /* title_options.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47B81C26342F0024B507 /* title_options.c */; }; - D4EC486A1C26342F0024B507 /* title_scenarioselect.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47B91C26342F0024B507 /* title_scenarioselect.c */; }; - D4EC486B1C26342F0024B507 /* tooltip.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47BA1C26342F0024B507 /* tooltip.c */; }; - D4EC486C1C26342F0024B507 /* top_toolbar.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47BC1C26342F0024B507 /* top_toolbar.c */; }; - D4EC486D1C26342F0024B507 /* track_list.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47BD1C26342F0024B507 /* track_list.c */; }; - D4EC486E1C26342F0024B507 /* track_manage.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47BE1C26342F0024B507 /* track_manage.c */; }; - D4EC486F1C26342F0024B507 /* track_place.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47BF1C26342F0024B507 /* track_place.c */; }; - D4EC48701C26342F0024B507 /* viewport.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47C01C26342F0024B507 /* viewport.c */; }; - D4EC48711C26342F0024B507 /* water.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47C11C26342F0024B507 /* water.c */; }; - D4EC48721C26342F0024B507 /* balloon.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47C31C26342F0024B507 /* balloon.c */; }; - D4EC48731C26342F0024B507 /* banner.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47C41C26342F0024B507 /* banner.c */; }; - D4EC48741C26342F0024B507 /* climate.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47C61C26342F0024B507 /* climate.c */; }; - D4EC48751C26342F0024B507 /* duck.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47C81C26342F0024B507 /* duck.c */; }; - D4EC48761C26342F0024B507 /* footpath.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47CA1C26342F0024B507 /* footpath.c */; }; - D4EC48771C26342F0024B507 /* fountain.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47CC1C26342F0024B507 /* fountain.c */; }; - D4EC48781C26342F0024B507 /* map.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47CE1C26342F0024B507 /* map.c */; }; - D4EC48791C26342F0024B507 /* map_animation.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47D01C26342F0024B507 /* map_animation.c */; }; - D4EC487A1C26342F0024B507 /* map_helpers.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47D21C26342F0024B507 /* map_helpers.c */; }; - D4EC487B1C26342F0024B507 /* mapgen.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47D41C26342F0024B507 /* mapgen.c */; }; - D4EC487C1C26342F0024B507 /* money_effect.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47D61C26342F0024B507 /* money_effect.c */; }; - D4EC487D1C26342F0024B507 /* park.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47D71C26342F0024B507 /* park.c */; }; - D4EC487E1C26342F0024B507 /* particle.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47D91C26342F0024B507 /* particle.c */; }; - D4EC487F1C26342F0024B507 /* scenery.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47DA1C26342F0024B507 /* scenery.c */; }; - D4EC48801C26342F0024B507 /* sprite.c in Sources */ = {isa = PBXBuildFile; fileRef = D4EC47DC1C26342F0024B507 /* sprite.c */; }; D4EC48CA1C2634870024B507 /* libjansson.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D4EC48C51C2634870024B507 /* libjansson.dylib */; }; D4EC48CB1C2634870024B507 /* libSDL2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D4EC48C61C2634870024B507 /* libSDL2.dylib */; }; D4EC48CC1C2634870024B507 /* libSDL2_ttf.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D4EC48C71C2634870024B507 /* libSDL2_ttf.dylib */; }; @@ -223,288 +226,295 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 001085EE1C90FD030075A2AD /* textinputbuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = textinputbuffer.c; sourceTree = ""; }; - 001085EF1C90FD030075A2AD /* textinputbuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = textinputbuffer.h; sourceTree = ""; }; - C62A08D41C787C2A00F3AA76 /* drawing_fast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = drawing_fast.cpp; sourceTree = ""; }; - D4163F671C2A044D00B83136 /* version.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = version.h; path = src/version.h; sourceTree = ""; }; D41B73EE1C2101890080A7B9 /* libcurl.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libcurl.tbd; path = usr/lib/libcurl.tbd; sourceTree = SDKROOT; }; D41B73F01C21018C0080A7B9 /* libssl.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libssl.tbd; path = usr/lib/libssl.tbd; sourceTree = SDKROOT; }; D41B741C1C210A7A0080A7B9 /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; }; D41B74721C2125E50080A7B9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = distribution/osx/Assets.xcassets; sourceTree = SOURCE_ROOT; }; D435325E1C3472E500BA219B /* libpng.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = libpng.dylib; sourceTree = ""; }; - D46105CD1C38828D00DB1EE3 /* scenario_sources.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = scenario_sources.c; path = src/scenario_sources.c; sourceTree = ""; }; + D44270CD1CC81B3200D84D28 /* addresses.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = addresses.c; path = src/addresses.c; sourceTree = ""; }; + D44270CE1CC81B3200D84D28 /* addresses.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = addresses.h; path = src/addresses.h; sourceTree = ""; }; + D44270D01CC81B3200D84D28 /* audio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = audio.c; sourceTree = ""; }; + D44270D11CC81B3200D84D28 /* audio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio.h; sourceTree = ""; }; + D44270D21CC81B3200D84D28 /* mixer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mixer.cpp; sourceTree = ""; }; + D44270D31CC81B3200D84D28 /* mixer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mixer.h; sourceTree = ""; }; + D44270D41CC81B3200D84D28 /* cheats.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cheats.c; path = src/cheats.c; sourceTree = ""; }; + D44270D51CC81B3200D84D28 /* cheats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cheats.h; path = src/cheats.h; sourceTree = ""; }; + D44270D71CC81B3200D84D28 /* CommandLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CommandLine.cpp; sourceTree = ""; }; + D44270D81CC81B3200D84D28 /* CommandLine.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CommandLine.hpp; sourceTree = ""; }; + D44270D91CC81B3200D84D28 /* RootCommands.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RootCommands.cpp; sourceTree = ""; }; + D44270DA1CC81B3200D84D28 /* ScreenshotCommands.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScreenshotCommands.cpp; sourceTree = ""; }; + D44270DB1CC81B3200D84D28 /* SpriteCommands.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpriteCommands.cpp; sourceTree = ""; }; + D44270DC1CC81B3200D84D28 /* cmdline_sprite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cmdline_sprite.c; path = src/cmdline_sprite.c; sourceTree = ""; }; + D44270DD1CC81B3200D84D28 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = common.h; path = src/common.h; sourceTree = ""; }; + D44270DE1CC81B3200D84D28 /* config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = config.c; path = src/config.c; sourceTree = ""; }; + D44270DF1CC81B3200D84D28 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = config.h; path = src/config.h; sourceTree = ""; }; + D44270E11CC81B3200D84D28 /* Console.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Console.cpp; sourceTree = ""; }; + D44270E21CC81B3200D84D28 /* Console.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Console.hpp; sourceTree = ""; }; + D44270E31CC81B3200D84D28 /* Diagnostics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Diagnostics.cpp; sourceTree = ""; }; + D44270E41CC81B3200D84D28 /* Diagnostics.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Diagnostics.hpp; sourceTree = ""; }; + D44270E51CC81B3200D84D28 /* Exception.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Exception.hpp; sourceTree = ""; }; + D44270E61CC81B3200D84D28 /* FileStream.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = FileStream.hpp; sourceTree = ""; }; + D44270E71CC81B3200D84D28 /* Guard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Guard.cpp; sourceTree = ""; }; + D44270E81CC81B3200D84D28 /* Guard.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Guard.hpp; sourceTree = ""; }; + D44270E91CC81B3200D84D28 /* IDisposable.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = IDisposable.hpp; sourceTree = ""; }; + D44270EA1CC81B3200D84D28 /* IStream.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = IStream.hpp; sourceTree = ""; }; + D44270EB1CC81B3200D84D28 /* Json.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Json.cpp; sourceTree = ""; }; + D44270EC1CC81B3200D84D28 /* Json.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Json.hpp; sourceTree = ""; }; + D44270ED1CC81B3200D84D28 /* List.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = List.hpp; sourceTree = ""; }; + D44270EE1CC81B3200D84D28 /* Math.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Math.hpp; sourceTree = ""; }; + D44270EF1CC81B3200D84D28 /* Memory.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Memory.hpp; sourceTree = ""; }; + D44270F01CC81B3200D84D28 /* Path.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Path.cpp; sourceTree = ""; }; + D44270F11CC81B3200D84D28 /* Path.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Path.hpp; sourceTree = ""; }; + D44270F21CC81B3200D84D28 /* Stopwatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Stopwatch.cpp; sourceTree = ""; }; + D44270F31CC81B3200D84D28 /* stopwatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stopwatch.h; sourceTree = ""; }; + D44270F41CC81B3200D84D28 /* Stopwatch.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Stopwatch.hpp; sourceTree = ""; }; + D44270F51CC81B3200D84D28 /* String.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = String.cpp; sourceTree = ""; }; + D44270F61CC81B3200D84D28 /* String.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = String.hpp; sourceTree = ""; }; + D44270F71CC81B3200D84D28 /* StringBuilder.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = StringBuilder.hpp; sourceTree = ""; }; + D44270F81CC81B3200D84D28 /* StringReader.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = StringReader.hpp; sourceTree = ""; }; + D44270F91CC81B3200D84D28 /* textinputbuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = textinputbuffer.c; sourceTree = ""; }; + D44270FA1CC81B3200D84D28 /* textinputbuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = textinputbuffer.h; sourceTree = ""; }; + D44270FB1CC81B3200D84D28 /* Util.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Util.hpp; sourceTree = ""; }; + D44270FC1CC81B3200D84D28 /* cursors.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cursors.c; path = src/cursors.c; sourceTree = ""; }; + D44270FD1CC81B3200D84D28 /* cursors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cursors.h; path = src/cursors.h; sourceTree = ""; }; + D44270FE1CC81B3200D84D28 /* diagnostic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = diagnostic.c; path = src/diagnostic.c; sourceTree = ""; }; + D44270FF1CC81B3200D84D28 /* diagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = diagnostic.h; path = src/diagnostic.h; sourceTree = ""; }; + D44271011CC81B3200D84D28 /* drawing.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = drawing.c; sourceTree = ""; }; + D44271021CC81B3200D84D28 /* drawing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = drawing.h; sourceTree = ""; }; + D44271031CC81B3200D84D28 /* drawing_fast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = drawing_fast.cpp; sourceTree = ""; }; + D44271041CC81B3200D84D28 /* font.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = font.c; sourceTree = ""; }; + D44271051CC81B3200D84D28 /* font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = font.h; sourceTree = ""; }; + D44271061CC81B3200D84D28 /* line.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = line.c; sourceTree = ""; }; + D44271071CC81B3200D84D28 /* rain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rain.c; sourceTree = ""; }; + D44271081CC81B3200D84D28 /* rect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rect.c; sourceTree = ""; }; + D44271091CC81B3200D84D28 /* scrolling_text.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = scrolling_text.c; sourceTree = ""; }; + D442710A1CC81B3200D84D28 /* sprite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sprite.c; sourceTree = ""; }; + D442710B1CC81B3200D84D28 /* string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = string.c; sourceTree = ""; }; + D442710C1CC81B3200D84D28 /* supports.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = supports.c; sourceTree = ""; }; + D442710D1CC81B3200D84D28 /* supports.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = supports.h; sourceTree = ""; }; + D442710E1CC81B3200D84D28 /* editor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = editor.c; path = src/editor.c; sourceTree = ""; }; + D442710F1CC81B3200D84D28 /* editor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = editor.h; path = src/editor.h; sourceTree = ""; }; + D44271101CC81B3200D84D28 /* game.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = game.c; path = src/game.c; sourceTree = ""; }; + D44271111CC81B3200D84D28 /* game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = game.h; path = src/game.h; sourceTree = ""; }; + D44271121CC81B3200D84D28 /* hook.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = hook.c; path = src/hook.c; sourceTree = ""; }; + D44271131CC81B3200D84D28 /* hook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hook.h; path = src/hook.h; sourceTree = ""; }; + D44271141CC81B3200D84D28 /* image_io.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = image_io.c; path = src/image_io.c; sourceTree = ""; }; + D44271151CC81B3200D84D28 /* image_io.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = image_io.h; path = src/image_io.h; sourceTree = ""; }; + D44271161CC81B3200D84D28 /* input.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = input.c; path = src/input.c; sourceTree = ""; }; + D44271171CC81B3200D84D28 /* input.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = input.h; path = src/input.h; sourceTree = ""; }; + D44271191CC81B3200D84D28 /* chat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = chat.c; sourceTree = ""; }; + D442711A1CC81B3200D84D28 /* chat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chat.h; sourceTree = ""; }; + D442711B1CC81B3200D84D28 /* colour.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = colour.c; sourceTree = ""; }; + D442711C1CC81B3200D84D28 /* colour.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = colour.h; sourceTree = ""; }; + D442711D1CC81B3200D84D28 /* console.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = console.c; sourceTree = ""; }; + D442711E1CC81B3200D84D28 /* console.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = console.h; sourceTree = ""; }; + D442711F1CC81B3200D84D28 /* graph.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = graph.c; sourceTree = ""; }; + D44271201CC81B3200D84D28 /* graph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = graph.h; sourceTree = ""; }; + D44271211CC81B3200D84D28 /* keyboard_shortcut.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = keyboard_shortcut.c; sourceTree = ""; }; + D44271221CC81B3200D84D28 /* keyboard_shortcut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keyboard_shortcut.h; sourceTree = ""; }; + D44271231CC81B3200D84D28 /* screenshot.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = screenshot.c; sourceTree = ""; }; + D44271241CC81B3200D84D28 /* screenshot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = screenshot.h; sourceTree = ""; }; + D44271251CC81B3200D84D28 /* Theme.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Theme.cpp; sourceTree = ""; }; + D44271261CC81B3200D84D28 /* themes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = themes.h; sourceTree = ""; }; + D44271271CC81B3200D84D28 /* title_sequences.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_sequences.c; sourceTree = ""; }; + D44271281CC81B3200D84D28 /* title_sequences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = title_sequences.h; sourceTree = ""; }; + D44271291CC81B3200D84D28 /* viewport.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = viewport.c; sourceTree = ""; }; + D442712A1CC81B3200D84D28 /* viewport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = viewport.h; sourceTree = ""; }; + D442712B1CC81B3200D84D28 /* viewport_interaction.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = viewport_interaction.c; sourceTree = ""; }; + D442712C1CC81B3200D84D28 /* widget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = widget.c; sourceTree = ""; }; + D442712D1CC81B3200D84D28 /* widget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = widget.h; sourceTree = ""; }; + D442712E1CC81B3200D84D28 /* window.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = window.c; sourceTree = ""; }; + D442712F1CC81B3200D84D28 /* window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = window.h; sourceTree = ""; }; + D44271301CC81B3200D84D28 /* intro.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = intro.c; path = src/intro.c; sourceTree = ""; }; + D44271311CC81B3200D84D28 /* intro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = intro.h; path = src/intro.h; sourceTree = ""; }; + D44271331CC81B3200D84D28 /* convert.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = convert.c; sourceTree = ""; }; + D44271341CC81B3200D84D28 /* currency.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = currency.c; sourceTree = ""; }; + D44271351CC81B3200D84D28 /* currency.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = currency.h; sourceTree = ""; }; + D44271361CC81B3200D84D28 /* date.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = date.c; sourceTree = ""; }; + D44271371CC81B3200D84D28 /* date.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = date.h; sourceTree = ""; }; + D44271381CC81B3200D84D28 /* format_codes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = format_codes.h; sourceTree = ""; }; + D44271391CC81B3200D84D28 /* language.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = language.cpp; sourceTree = ""; }; + D442713A1CC81B3200D84D28 /* language.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = language.h; sourceTree = ""; }; + D442713B1CC81B3200D84D28 /* LanguagePack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LanguagePack.cpp; sourceTree = ""; }; + D442713C1CC81B3200D84D28 /* LanguagePack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LanguagePack.h; sourceTree = ""; }; + D442713D1CC81B3200D84D28 /* localisation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = localisation.c; sourceTree = ""; }; + D442713E1CC81B3200D84D28 /* localisation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = localisation.h; sourceTree = ""; }; + D442713F1CC81B3200D84D28 /* real_names.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = real_names.c; sourceTree = ""; }; + D44271401CC81B3200D84D28 /* string_ids.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_ids.h; sourceTree = ""; }; + D44271411CC81B3200D84D28 /* user.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = user.c; sourceTree = ""; }; + D44271421CC81B3200D84D28 /* user.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = user.h; sourceTree = ""; }; + D44271431CC81B3200D84D28 /* utf8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = utf8.c; sourceTree = ""; }; + D44271451CC81B3200D84D28 /* award.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = award.c; sourceTree = ""; }; + D44271461CC81B3200D84D28 /* award.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = award.h; sourceTree = ""; }; + D44271471CC81B3200D84D28 /* finance.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = finance.c; sourceTree = ""; }; + D44271481CC81B3200D84D28 /* finance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = finance.h; sourceTree = ""; }; + D44271491CC81B3200D84D28 /* marketing.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = marketing.c; sourceTree = ""; }; + D442714A1CC81B3200D84D28 /* marketing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = marketing.h; sourceTree = ""; }; + D442714B1CC81B3200D84D28 /* news_item.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = news_item.c; sourceTree = ""; }; + D442714C1CC81B3200D84D28 /* news_item.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = news_item.h; sourceTree = ""; }; + D442714D1CC81B3200D84D28 /* research.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = research.c; sourceTree = ""; }; + D442714E1CC81B3200D84D28 /* research.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = research.h; sourceTree = ""; }; + D44271501CC81B3200D84D28 /* http.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = http.cpp; sourceTree = ""; }; + D44271511CC81B3200D84D28 /* http.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = http.h; sourceTree = ""; }; + D44271521CC81B3200D84D28 /* network.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = network.cpp; sourceTree = ""; }; + D44271531CC81B3200D84D28 /* network.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = network.h; sourceTree = ""; }; + D44271541CC81B3200D84D28 /* twitch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = twitch.cpp; sourceTree = ""; }; + D44271551CC81B3200D84D28 /* twitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = twitch.h; sourceTree = ""; }; + D44271561CC81B3200D84D28 /* object_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = object_list.c; path = src/object_list.c; sourceTree = ""; }; + D44271571CC81B3200D84D28 /* object.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = object.c; path = src/object.c; sourceTree = ""; }; + D44271581CC81B3200D84D28 /* object.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = object.h; path = src/object.h; sourceTree = ""; }; + D44271591CC81B3200D84D28 /* openrct2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = openrct2.c; path = src/openrct2.c; sourceTree = ""; }; + D442715A1CC81B3200D84D28 /* openrct2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = openrct2.h; path = src/openrct2.h; sourceTree = ""; }; + D442715C1CC81B3200D84D28 /* peep.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = peep.c; sourceTree = ""; }; + D442715D1CC81B3200D84D28 /* peep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = peep.h; sourceTree = ""; }; + D442715E1CC81B3200D84D28 /* staff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = staff.c; sourceTree = ""; }; + D442715F1CC81B3200D84D28 /* staff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = staff.h; sourceTree = ""; }; + D44271611CC81B3200D84D28 /* crash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = crash.cpp; sourceTree = ""; }; + D44271621CC81B3200D84D28 /* crash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crash.h; sourceTree = ""; }; + D44271631CC81B3200D84D28 /* linux.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = linux.c; sourceTree = ""; }; + D44271641CC81B3200D84D28 /* osx.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = osx.m; sourceTree = ""; }; + D44271651CC81B3200D84D28 /* platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform.h; sourceTree = ""; }; + D44271661CC81B3200D84D28 /* posix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = posix.c; sourceTree = ""; }; + D44271671CC81B3200D84D28 /* shared.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = shared.c; sourceTree = ""; }; + D44271681CC81B3200D84D28 /* windows.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = windows.c; sourceTree = ""; }; + D44271691CC81B3200D84D28 /* rct1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = rct1.c; path = src/rct1.c; sourceTree = ""; }; + D442716A1CC81B3200D84D28 /* rct1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rct1.h; path = src/rct1.h; sourceTree = ""; }; + D442716B1CC81B3200D84D28 /* rct2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = rct2.c; path = src/rct2.c; sourceTree = ""; }; + D442716C1CC81B3200D84D28 /* rct2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rct2.h; path = src/rct2.h; sourceTree = ""; }; + D442716F1CC81B3200D84D28 /* cable_lift.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cable_lift.c; sourceTree = ""; }; + D44271701CC81B3200D84D28 /* cable_lift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cable_lift.h; sourceTree = ""; }; + D44271711CC81B3200D84D28 /* ride.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ride.c; sourceTree = ""; }; + D44271721CC81B3200D84D28 /* ride.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ride.h; sourceTree = ""; }; + D44271731CC81B3200D84D28 /* ride_data.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ride_data.c; sourceTree = ""; }; + D44271741CC81B3200D84D28 /* ride_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ride_data.h; sourceTree = ""; }; + D44271751CC81B3200D84D28 /* ride_ratings.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ride_ratings.c; sourceTree = ""; }; + D44271761CC81B3200D84D28 /* ride_ratings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ride_ratings.h; sourceTree = ""; }; + D44271771CC81B3200D84D28 /* station.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = station.c; sourceTree = ""; }; + D44271781CC81B3200D84D28 /* station.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = station.h; sourceTree = ""; }; + D44271791CC81B3200D84D28 /* track.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = track.c; sourceTree = ""; }; + D442717A1CC81B3200D84D28 /* track.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = track.h; sourceTree = ""; }; + D442717B1CC81B3200D84D28 /* track_data.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = track_data.c; sourceTree = ""; }; + D442717C1CC81B3200D84D28 /* track_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = track_data.h; sourceTree = ""; }; + D442717D1CC81B3200D84D28 /* track_paint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = track_paint.c; sourceTree = ""; }; + D442717E1CC81B3200D84D28 /* track_paint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = track_paint.h; sourceTree = ""; }; + D442717F1CC81B3200D84D28 /* vehicle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vehicle.c; sourceTree = ""; }; + D44271801CC81B3200D84D28 /* vehicle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vehicle.h; sourceTree = ""; }; + D44271811CC81B3200D84D28 /* scenario_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = scenario_list.c; path = src/scenario_list.c; sourceTree = ""; }; + D44271821CC81B3200D84D28 /* scenario_sources.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = scenario_sources.c; path = src/scenario_sources.c; sourceTree = ""; }; + D44271831CC81B3200D84D28 /* scenario.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = scenario.c; path = src/scenario.c; sourceTree = ""; }; + D44271841CC81B3200D84D28 /* scenario.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scenario.h; path = src/scenario.h; sourceTree = ""; }; + D44271851CC81B3200D84D28 /* sprites.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sprites.h; path = src/sprites.h; sourceTree = ""; }; + D44271861CC81B3200D84D28 /* title.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = title.c; path = src/title.c; sourceTree = ""; }; + D44271871CC81B3200D84D28 /* title.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = title.h; path = src/title.h; sourceTree = ""; }; + D44271891CC81B3200D84D28 /* sawyercoding.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sawyercoding.c; sourceTree = ""; }; + D442718A1CC81B3200D84D28 /* sawyercoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sawyercoding.h; sourceTree = ""; }; + D442718B1CC81B3200D84D28 /* util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = util.c; sourceTree = ""; }; + D442718C1CC81B3200D84D28 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = ""; }; + D442718D1CC81B3200D84D28 /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = version.h; path = src/version.h; sourceTree = ""; }; + D442718F1CC81B3200D84D28 /* about.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = about.c; sourceTree = ""; }; + D44271901CC81B3200D84D28 /* banner.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = banner.c; sourceTree = ""; }; + D44271911CC81B3200D84D28 /* changelog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = changelog.c; sourceTree = ""; }; + D44271921CC81B3200D84D28 /* cheats.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cheats.c; sourceTree = ""; }; + D44271931CC81B3200D84D28 /* clear_scenery.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = clear_scenery.c; sourceTree = ""; }; + D44271941CC81B3200D84D28 /* demolish_ride_prompt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = demolish_ride_prompt.c; sourceTree = ""; }; + D44271951CC81B3200D84D28 /* dropdown.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dropdown.c; sourceTree = ""; }; + D44271961CC81B3200D84D28 /* dropdown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dropdown.h; sourceTree = ""; }; + D44271971CC81B3200D84D28 /* editor_bottom_toolbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = editor_bottom_toolbar.c; sourceTree = ""; }; + D44271981CC81B3200D84D28 /* editor_inventions_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = editor_inventions_list.c; sourceTree = ""; }; + D44271991CC81B3200D84D28 /* editor_main.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = editor_main.c; sourceTree = ""; }; + D442719A1CC81B3200D84D28 /* editor_object_selection.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = editor_object_selection.c; sourceTree = ""; }; + D442719B1CC81B3200D84D28 /* editor_objective_options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = editor_objective_options.c; sourceTree = ""; }; + D442719C1CC81B3200D84D28 /* editor_scenario_options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = editor_scenario_options.c; sourceTree = ""; }; + D442719D1CC81B3200D84D28 /* error.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = error.c; sourceTree = ""; }; + D442719E1CC81B3200D84D28 /* error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error.h; sourceTree = ""; }; + D442719F1CC81B3200D84D28 /* finances.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = finances.c; sourceTree = ""; }; + D44271A01CC81B3200D84D28 /* footpath.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = footpath.c; sourceTree = ""; }; + D44271A11CC81B3200D84D28 /* game_bottom_toolbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = game_bottom_toolbar.c; sourceTree = ""; }; + D44271A21CC81B3200D84D28 /* guest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = guest.c; sourceTree = ""; }; + D44271A31CC81B3200D84D28 /* guest_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = guest_list.c; sourceTree = ""; }; + D44271A41CC81B3200D84D28 /* install_track.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = install_track.c; sourceTree = ""; }; + D44271A51CC81B3200D84D28 /* land.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = land.c; sourceTree = ""; }; + D44271A61CC81B3200D84D28 /* land_rights.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = land_rights.c; sourceTree = ""; }; + D44271A71CC81B3200D84D28 /* loadsave.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = loadsave.c; sourceTree = ""; }; + D44271A81CC81B3200D84D28 /* main.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = ""; }; + D44271A91CC81B3200D84D28 /* map.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = map.c; sourceTree = ""; }; + D44271AA1CC81B3200D84D28 /* map_tooltip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = map_tooltip.c; sourceTree = ""; }; + D44271AB1CC81B3200D84D28 /* mapgen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mapgen.c; sourceTree = ""; }; + D44271AC1CC81B3200D84D28 /* maze_construction.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = maze_construction.c; sourceTree = ""; }; + D44271AD1CC81B3200D84D28 /* multiplayer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = multiplayer.c; sourceTree = ""; }; + D44271AE1CC81B3200D84D28 /* music_credits.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = music_credits.c; sourceTree = ""; }; + D44271AF1CC81B3200D84D28 /* network_status.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = network_status.c; sourceTree = ""; }; + D44271B01CC81B3200D84D28 /* new_campaign.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = new_campaign.c; sourceTree = ""; }; + D44271B11CC81B3200D84D28 /* new_ride.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = new_ride.c; sourceTree = ""; }; + D44271B21CC81B3200D84D28 /* news.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = news.c; sourceTree = ""; }; + D44271B31CC81B3200D84D28 /* news_options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = news_options.c; sourceTree = ""; }; + D44271B41CC81B3200D84D28 /* options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = options.c; sourceTree = ""; }; + D44271B51CC81B3200D84D28 /* park.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = park.c; sourceTree = ""; }; + D44271B61CC81B3200D84D28 /* player.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = player.c; sourceTree = ""; }; + D44271B71CC81B3200D84D28 /* publisher_credits.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = publisher_credits.c; sourceTree = ""; }; + D44271B81CC81B3200D84D28 /* research.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = research.c; sourceTree = ""; }; + D44271B91CC81B3200D84D28 /* ride.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ride.c; sourceTree = ""; }; + D44271BA1CC81B3200D84D28 /* ride_construction.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ride_construction.c; sourceTree = ""; }; + D44271BB1CC81B3200D84D28 /* ride_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ride_list.c; sourceTree = ""; }; + D44271BC1CC81B3200D84D28 /* save_prompt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = save_prompt.c; sourceTree = ""; }; + D44271BD1CC81B3200D84D28 /* scenery.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = scenery.c; sourceTree = ""; }; + D44271BE1CC81B3200D84D28 /* server_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = server_list.c; sourceTree = ""; }; + D44271BF1CC81B3200D84D28 /* server_start.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = server_start.c; sourceTree = ""; }; + D44271C01CC81B3200D84D28 /* shortcut_key_change.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = shortcut_key_change.c; sourceTree = ""; }; + D44271C11CC81B3200D84D28 /* shortcut_keys.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = shortcut_keys.c; sourceTree = ""; }; + D44271C21CC81B3200D84D28 /* sign.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sign.c; sourceTree = ""; }; + D44271C31CC81B3200D84D28 /* staff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = staff.c; sourceTree = ""; }; + D44271C41CC81B3200D84D28 /* staff_fire_prompt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = staff_fire_prompt.c; sourceTree = ""; }; + D44271C51CC81B3200D84D28 /* staff_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = staff_list.c; sourceTree = ""; }; + D44271C61CC81B3200D84D28 /* text_input.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = text_input.c; sourceTree = ""; }; + D44271C71CC81B3200D84D28 /* themes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = themes.c; sourceTree = ""; }; + D44271C81CC81B3200D84D28 /* tile_inspector.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tile_inspector.c; sourceTree = ""; }; + D44271C91CC81B3200D84D28 /* title_command_editor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_command_editor.c; sourceTree = ""; }; + D44271CA1CC81B3200D84D28 /* title_editor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_editor.c; sourceTree = ""; }; + D44271CB1CC81B3200D84D28 /* title_exit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_exit.c; sourceTree = ""; }; + D44271CC1CC81B3200D84D28 /* title_logo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_logo.c; sourceTree = ""; }; + D44271CD1CC81B3200D84D28 /* title_menu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_menu.c; sourceTree = ""; }; + D44271CE1CC81B3200D84D28 /* title_options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_options.c; sourceTree = ""; }; + D44271CF1CC81B3200D84D28 /* title_scenarioselect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_scenarioselect.c; sourceTree = ""; }; + D44271D01CC81B3200D84D28 /* tooltip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tooltip.c; sourceTree = ""; }; + D44271D11CC81B3200D84D28 /* tooltip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tooltip.h; sourceTree = ""; }; + D44271D21CC81B3200D84D28 /* top_toolbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = top_toolbar.c; sourceTree = ""; }; + D44271D31CC81B3200D84D28 /* track_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = track_list.c; sourceTree = ""; }; + D44271D41CC81B3200D84D28 /* track_manage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = track_manage.c; sourceTree = ""; }; + D44271D51CC81B3200D84D28 /* track_place.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = track_place.c; sourceTree = ""; }; + D44271D61CC81B3200D84D28 /* viewport.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = viewport.c; sourceTree = ""; }; + D44271D71CC81B3200D84D28 /* water.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = water.c; sourceTree = ""; }; + D44271D91CC81B3200D84D28 /* balloon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = balloon.c; sourceTree = ""; }; + D44271DA1CC81B3200D84D28 /* banner.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = banner.c; sourceTree = ""; }; + D44271DB1CC81B3200D84D28 /* banner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = banner.h; sourceTree = ""; }; + D44271DC1CC81B3200D84D28 /* climate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = climate.c; sourceTree = ""; }; + D44271DD1CC81B3200D84D28 /* climate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = climate.h; sourceTree = ""; }; + D44271DE1CC81B3200D84D28 /* duck.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = duck.c; sourceTree = ""; }; + D44271DF1CC81B3200D84D28 /* entrance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = entrance.h; sourceTree = ""; }; + D44271E01CC81B3200D84D28 /* footpath.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = footpath.c; sourceTree = ""; }; + D44271E11CC81B3200D84D28 /* footpath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = footpath.h; sourceTree = ""; }; + D44271E21CC81B3200D84D28 /* fountain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fountain.c; sourceTree = ""; }; + D44271E31CC81B3200D84D28 /* fountain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fountain.h; sourceTree = ""; }; + D44271E41CC81B3200D84D28 /* map.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = map.c; sourceTree = ""; }; + D44271E51CC81B3200D84D28 /* map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = map.h; sourceTree = ""; }; + D44271E61CC81B3200D84D28 /* map_animation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = map_animation.c; sourceTree = ""; }; + D44271E71CC81B3200D84D28 /* map_animation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = map_animation.h; sourceTree = ""; }; + D44271E81CC81B3200D84D28 /* map_helpers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = map_helpers.c; sourceTree = ""; }; + D44271E91CC81B3200D84D28 /* map_helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = map_helpers.h; sourceTree = ""; }; + D44271EA1CC81B3200D84D28 /* mapgen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mapgen.c; sourceTree = ""; }; + D44271EB1CC81B3200D84D28 /* mapgen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mapgen.h; sourceTree = ""; }; + D44271EC1CC81B3200D84D28 /* money_effect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = money_effect.c; sourceTree = ""; }; + D44271ED1CC81B3200D84D28 /* park.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = park.c; sourceTree = ""; }; + D44271EE1CC81B3200D84D28 /* park.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = park.h; sourceTree = ""; }; + D44271EF1CC81B3200D84D28 /* particle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = particle.c; sourceTree = ""; }; + D44271F01CC81B3200D84D28 /* scenery.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = scenery.c; sourceTree = ""; }; + D44271F11CC81B3200D84D28 /* scenery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scenery.h; sourceTree = ""; }; + D44271F21CC81B3200D84D28 /* sprite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sprite.c; sourceTree = ""; }; + D44271F31CC81B3200D84D28 /* sprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sprite.h; sourceTree = ""; }; + D44271F41CC81B3200D84D28 /* water.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = water.h; sourceTree = ""; }; D47304D41C4FF8250015C0EA /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; D4895D321C23EFDD000CD788 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = distribution/osx/Info.plist; sourceTree = SOURCE_ROOT; }; D497D0781C20FD52002BF46A /* OpenRCT2.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenRCT2.app; sourceTree = BUILT_PRODUCTS_DIR; }; - D4A3511A1C6067B000CBCBA4 /* Diagnostics.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Diagnostics.hpp; sourceTree = ""; }; - D4A3511B1C6067B900CBCBA4 /* Guard.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Guard.hpp; sourceTree = ""; }; - D4A3511C1C6067C400CBCBA4 /* Json.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Json.cpp; sourceTree = ""; }; - D4A3511D1C6067C400CBCBA4 /* Json.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Json.hpp; sourceTree = ""; }; - D4A3511F1C6067E500CBCBA4 /* List.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = List.hpp; sourceTree = ""; }; - D4A351201C60680300CBCBA4 /* Theme.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Theme.cpp; sourceTree = ""; }; - D4ABAB051C2F812B0080CAD9 /* news_options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = news_options.c; sourceTree = ""; }; - D4B63B8A1C43025600367A37 /* CommandLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CommandLine.cpp; sourceTree = ""; }; - D4B63B8B1C43025600367A37 /* CommandLine.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CommandLine.hpp; sourceTree = ""; }; - D4B63B8C1C43025600367A37 /* RootCommands.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RootCommands.cpp; sourceTree = ""; }; - D4B63B8D1C43025600367A37 /* ScreenshotCommands.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScreenshotCommands.cpp; sourceTree = ""; }; - D4B63B8E1C43025600367A37 /* SpriteCommands.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpriteCommands.cpp; sourceTree = ""; }; - D4B63B931C43028200367A37 /* Console.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Console.cpp; sourceTree = ""; }; - D4B63B941C43028200367A37 /* Console.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Console.hpp; sourceTree = ""; }; - D4B63B961C43028F00367A37 /* String.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = String.cpp; sourceTree = ""; }; - D4B63B971C43028F00367A37 /* String.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = String.hpp; sourceTree = ""; }; - D4B85B591C41C7F3005C568A /* cable_lift.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cable_lift.c; sourceTree = ""; }; - D4B85B5A1C41C7F3005C568A /* cable_lift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cable_lift.h; sourceTree = ""; }; - D4C0EDCE1C52EA5000A03A06 /* multiplayer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = multiplayer.c; sourceTree = ""; }; - D4C0EDD01C52EA6400A03A06 /* player.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = player.c; sourceTree = ""; }; - D4D35E2A1C45BD9B00AAFCB4 /* Path.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Path.cpp; sourceTree = ""; }; - D4D35E2B1C45BD9B00AAFCB4 /* Path.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Path.hpp; sourceTree = ""; }; - D4D4DF121C34697B0048BE43 /* image_io.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = image_io.c; path = src/image_io.c; sourceTree = ""; }; - D4D4DF131C34697B0048BE43 /* image_io.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = image_io.h; path = src/image_io.h; sourceTree = ""; }; - D4EC46D61C26342F0024B507 /* addresses.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = addresses.c; path = src/addresses.c; sourceTree = ""; }; - D4EC46D71C26342F0024B507 /* addresses.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = addresses.h; path = src/addresses.h; sourceTree = ""; }; - D4EC46D91C26342F0024B507 /* audio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = audio.c; sourceTree = ""; }; - D4EC46DA1C26342F0024B507 /* audio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio.h; sourceTree = ""; }; - D4EC46DB1C26342F0024B507 /* mixer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mixer.cpp; sourceTree = ""; }; - D4EC46DC1C26342F0024B507 /* mixer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mixer.h; sourceTree = ""; }; - D4EC46DD1C26342F0024B507 /* cheats.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cheats.c; path = src/cheats.c; sourceTree = ""; }; - D4EC46DE1C26342F0024B507 /* cheats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cheats.h; path = src/cheats.h; sourceTree = ""; }; - D4EC46DF1C26342F0024B507 /* cmdline_sprite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cmdline_sprite.c; path = src/cmdline_sprite.c; sourceTree = ""; }; - D4EC46E21C26342F0024B507 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = common.h; path = src/common.h; sourceTree = ""; }; - D4EC46E31C26342F0024B507 /* config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = config.c; path = src/config.c; sourceTree = ""; }; - D4EC46E41C26342F0024B507 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = config.h; path = src/config.h; sourceTree = ""; }; - D4EC46E61C26342F0024B507 /* Exception.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Exception.hpp; sourceTree = ""; }; - D4EC46E71C26342F0024B507 /* FileStream.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = FileStream.hpp; sourceTree = ""; }; - D4EC46E81C26342F0024B507 /* IDisposable.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = IDisposable.hpp; sourceTree = ""; }; - D4EC46E91C26342F0024B507 /* IStream.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = IStream.hpp; sourceTree = ""; }; - D4EC46EA1C26342F0024B507 /* Math.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Math.hpp; sourceTree = ""; }; - D4EC46EB1C26342F0024B507 /* Memory.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Memory.hpp; sourceTree = ""; }; - D4EC46EC1C26342F0024B507 /* StringBuilder.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = StringBuilder.hpp; sourceTree = ""; }; - D4EC46ED1C26342F0024B507 /* StringReader.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = StringReader.hpp; sourceTree = ""; }; - D4EC46EE1C26342F0024B507 /* Util.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Util.hpp; sourceTree = ""; }; - D4EC46EF1C26342F0024B507 /* cursors.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cursors.c; path = src/cursors.c; sourceTree = ""; }; - D4EC46F01C26342F0024B507 /* cursors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cursors.h; path = src/cursors.h; sourceTree = ""; }; - D4EC46F11C26342F0024B507 /* diagnostic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = diagnostic.c; path = src/diagnostic.c; sourceTree = ""; }; - D4EC46F21C26342F0024B507 /* diagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = diagnostic.h; path = src/diagnostic.h; sourceTree = ""; }; - D4EC46F41C26342F0024B507 /* drawing.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = drawing.c; sourceTree = ""; }; - D4EC46F51C26342F0024B507 /* drawing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = drawing.h; sourceTree = ""; }; - D4EC46F61C26342F0024B507 /* font.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = font.c; sourceTree = ""; }; - D4EC46F71C26342F0024B507 /* font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = font.h; sourceTree = ""; }; - D4EC46F81C26342F0024B507 /* line.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = line.c; sourceTree = ""; }; - D4EC46F91C26342F0024B507 /* rain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rain.c; sourceTree = ""; }; - D4EC46FA1C26342F0024B507 /* rect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rect.c; sourceTree = ""; }; - D4EC46FB1C26342F0024B507 /* scrolling_text.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = scrolling_text.c; sourceTree = ""; }; - D4EC46FC1C26342F0024B507 /* sprite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sprite.c; sourceTree = ""; }; - D4EC46FD1C26342F0024B507 /* string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = string.c; sourceTree = ""; }; - D4EC46FE1C26342F0024B507 /* supports.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = supports.c; sourceTree = ""; }; - D4EC46FF1C26342F0024B507 /* supports.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = supports.h; sourceTree = ""; }; - D4EC47001C26342F0024B507 /* editor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = editor.c; path = src/editor.c; sourceTree = ""; }; - D4EC47011C26342F0024B507 /* editor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = editor.h; path = src/editor.h; sourceTree = ""; }; - D4EC47021C26342F0024B507 /* game.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = game.c; path = src/game.c; sourceTree = ""; }; - D4EC47031C26342F0024B507 /* game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = game.h; path = src/game.h; sourceTree = ""; }; - D4EC47041C26342F0024B507 /* hook.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = hook.c; path = src/hook.c; sourceTree = ""; }; - D4EC47051C26342F0024B507 /* hook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hook.h; path = src/hook.h; sourceTree = ""; }; - D4EC47061C26342F0024B507 /* input.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = input.c; path = src/input.c; sourceTree = ""; }; - D4EC47071C26342F0024B507 /* input.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = input.h; path = src/input.h; sourceTree = ""; }; - D4EC47091C26342F0024B507 /* chat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = chat.c; sourceTree = ""; }; - D4EC470A1C26342F0024B507 /* chat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chat.h; sourceTree = ""; }; - D4EC470B1C26342F0024B507 /* colour.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = colour.c; sourceTree = ""; }; - D4EC470C1C26342F0024B507 /* colour.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = colour.h; sourceTree = ""; }; - D4EC470D1C26342F0024B507 /* console.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = console.c; sourceTree = ""; }; - D4EC470E1C26342F0024B507 /* console.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = console.h; sourceTree = ""; }; - D4EC470F1C26342F0024B507 /* graph.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = graph.c; sourceTree = ""; }; - D4EC47101C26342F0024B507 /* graph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = graph.h; sourceTree = ""; }; - D4EC47111C26342F0024B507 /* keyboard_shortcut.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = keyboard_shortcut.c; sourceTree = ""; }; - D4EC47121C26342F0024B507 /* keyboard_shortcut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keyboard_shortcut.h; sourceTree = ""; }; - D4EC47131C26342F0024B507 /* screenshot.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = screenshot.c; sourceTree = ""; }; - D4EC47141C26342F0024B507 /* screenshot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = screenshot.h; sourceTree = ""; }; - D4EC47161C26342F0024B507 /* themes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = themes.h; sourceTree = ""; }; - D4EC47171C26342F0024B507 /* title_sequences.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_sequences.c; sourceTree = ""; }; - D4EC47181C26342F0024B507 /* title_sequences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = title_sequences.h; sourceTree = ""; }; - D4EC47191C26342F0024B507 /* viewport.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = viewport.c; sourceTree = ""; }; - D4EC471A1C26342F0024B507 /* viewport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = viewport.h; sourceTree = ""; }; - D4EC471B1C26342F0024B507 /* viewport_interaction.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = viewport_interaction.c; sourceTree = ""; }; - D4EC471C1C26342F0024B507 /* widget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = widget.c; sourceTree = ""; }; - D4EC471D1C26342F0024B507 /* widget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = widget.h; sourceTree = ""; }; - D4EC471E1C26342F0024B507 /* window.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = window.c; sourceTree = ""; }; - D4EC471F1C26342F0024B507 /* window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = window.h; sourceTree = ""; }; - D4EC47201C26342F0024B507 /* intro.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = intro.c; path = src/intro.c; sourceTree = ""; }; - D4EC47211C26342F0024B507 /* intro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = intro.h; path = src/intro.h; sourceTree = ""; }; - D4EC47231C26342F0024B507 /* convert.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = convert.c; sourceTree = ""; }; - D4EC47241C26342F0024B507 /* currency.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = currency.c; sourceTree = ""; }; - D4EC47251C26342F0024B507 /* currency.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = currency.h; sourceTree = ""; }; - D4EC47261C26342F0024B507 /* date.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = date.c; sourceTree = ""; }; - D4EC47271C26342F0024B507 /* date.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = date.h; sourceTree = ""; }; - D4EC47281C26342F0024B507 /* format_codes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = format_codes.h; sourceTree = ""; }; - D4EC47291C26342F0024B507 /* language.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = language.cpp; sourceTree = ""; }; - D4EC472A1C26342F0024B507 /* language.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = language.h; sourceTree = ""; }; - D4EC472B1C26342F0024B507 /* LanguagePack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LanguagePack.cpp; sourceTree = ""; }; - D4EC472C1C26342F0024B507 /* LanguagePack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LanguagePack.h; sourceTree = ""; }; - D4EC472D1C26342F0024B507 /* localisation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = localisation.c; sourceTree = ""; }; - D4EC472E1C26342F0024B507 /* localisation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = localisation.h; sourceTree = ""; }; - D4EC472F1C26342F0024B507 /* real_names.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = real_names.c; sourceTree = ""; }; - D4EC47301C26342F0024B507 /* string_ids.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_ids.h; sourceTree = ""; }; - D4EC47311C26342F0024B507 /* user.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = user.c; sourceTree = ""; }; - D4EC47321C26342F0024B507 /* user.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = user.h; sourceTree = ""; }; - D4EC47331C26342F0024B507 /* utf8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = utf8.c; sourceTree = ""; }; - D4EC47351C26342F0024B507 /* award.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = award.c; sourceTree = ""; }; - D4EC47361C26342F0024B507 /* award.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = award.h; sourceTree = ""; }; - D4EC47371C26342F0024B507 /* finance.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = finance.c; sourceTree = ""; }; - D4EC47381C26342F0024B507 /* finance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = finance.h; sourceTree = ""; }; - D4EC47391C26342F0024B507 /* marketing.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = marketing.c; sourceTree = ""; }; - D4EC473A1C26342F0024B507 /* marketing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = marketing.h; sourceTree = ""; }; - D4EC473B1C26342F0024B507 /* news_item.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = news_item.c; sourceTree = ""; }; - D4EC473C1C26342F0024B507 /* news_item.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = news_item.h; sourceTree = ""; }; - D4EC473D1C26342F0024B507 /* research.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = research.c; sourceTree = ""; }; - D4EC473E1C26342F0024B507 /* research.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = research.h; sourceTree = ""; }; - D4EC47401C26342F0024B507 /* http.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = http.cpp; sourceTree = ""; }; - D4EC47411C26342F0024B507 /* http.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = http.h; sourceTree = ""; }; - D4EC47421C26342F0024B507 /* network.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = network.cpp; sourceTree = ""; }; - D4EC47431C26342F0024B507 /* network.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = network.h; sourceTree = ""; }; - D4EC47441C26342F0024B507 /* twitch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = twitch.cpp; sourceTree = ""; }; - D4EC47451C26342F0024B507 /* twitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = twitch.h; sourceTree = ""; }; - D4EC47461C26342F0024B507 /* object_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = object_list.c; path = src/object_list.c; sourceTree = ""; }; - D4EC47471C26342F0024B507 /* object.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = object.c; path = src/object.c; sourceTree = ""; }; - D4EC47481C26342F0024B507 /* object.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = object.h; path = src/object.h; sourceTree = ""; }; - D4EC47491C26342F0024B507 /* openrct2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = openrct2.c; path = src/openrct2.c; sourceTree = ""; }; - D4EC474A1C26342F0024B507 /* openrct2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = openrct2.h; path = src/openrct2.h; sourceTree = ""; }; - D4EC474C1C26342F0024B507 /* peep.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = peep.c; sourceTree = ""; }; - D4EC474D1C26342F0024B507 /* peep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = peep.h; sourceTree = ""; }; - D4EC474E1C26342F0024B507 /* staff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = staff.c; sourceTree = ""; }; - D4EC474F1C26342F0024B507 /* staff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = staff.h; sourceTree = ""; }; - D4EC47511C26342F0024B507 /* linux.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = linux.c; sourceTree = ""; }; - D4EC47521C26342F0024B507 /* osx.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = osx.m; sourceTree = ""; }; - D4EC47531C26342F0024B507 /* platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform.h; sourceTree = ""; }; - D4EC47541C26342F0024B507 /* posix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = posix.c; sourceTree = ""; }; - D4EC47551C26342F0024B507 /* shared.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = shared.c; sourceTree = ""; }; - D4EC47561C26342F0024B507 /* windows.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = windows.c; sourceTree = ""; }; - D4EC47571C26342F0024B507 /* rct1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = rct1.c; path = src/rct1.c; sourceTree = ""; }; - D4EC47581C26342F0024B507 /* rct1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rct1.h; path = src/rct1.h; sourceTree = ""; }; - D4EC47591C26342F0024B507 /* rct2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = rct2.c; path = src/rct2.c; sourceTree = ""; }; - D4EC475A1C26342F0024B507 /* rct2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rct2.h; path = src/rct2.h; sourceTree = ""; }; - D4EC475D1C26342F0024B507 /* ride.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ride.c; sourceTree = ""; }; - D4EC475E1C26342F0024B507 /* ride.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ride.h; sourceTree = ""; }; - D4EC475F1C26342F0024B507 /* ride_data.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ride_data.c; sourceTree = ""; }; - D4EC47601C26342F0024B507 /* ride_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ride_data.h; sourceTree = ""; }; - D4EC47611C26342F0024B507 /* ride_ratings.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ride_ratings.c; sourceTree = ""; }; - D4EC47621C26342F0024B507 /* ride_ratings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ride_ratings.h; sourceTree = ""; }; - D4EC47631C26342F0024B507 /* station.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = station.c; sourceTree = ""; }; - D4EC47641C26342F0024B507 /* station.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = station.h; sourceTree = ""; }; - D4EC47651C26342F0024B507 /* track.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = track.c; sourceTree = ""; }; - D4EC47661C26342F0024B507 /* track.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = track.h; sourceTree = ""; }; - D4EC47671C26342F0024B507 /* track_data.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = track_data.c; sourceTree = ""; }; - D4EC47681C26342F0024B507 /* track_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = track_data.h; sourceTree = ""; }; - D4EC47691C26342F0024B507 /* track_paint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = track_paint.c; sourceTree = ""; }; - D4EC476A1C26342F0024B507 /* track_paint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = track_paint.h; sourceTree = ""; }; - D4EC476B1C26342F0024B507 /* vehicle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vehicle.c; sourceTree = ""; }; - D4EC476C1C26342F0024B507 /* vehicle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vehicle.h; sourceTree = ""; }; - D4EC476D1C26342F0024B507 /* scenario_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = scenario_list.c; path = src/scenario_list.c; sourceTree = ""; }; - D4EC476E1C26342F0024B507 /* scenario.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = scenario.c; path = src/scenario.c; sourceTree = ""; }; - D4EC476F1C26342F0024B507 /* scenario.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scenario.h; path = src/scenario.h; sourceTree = ""; }; - D4EC47701C26342F0024B507 /* sprites.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sprites.h; path = src/sprites.h; sourceTree = ""; }; - D4EC47711C26342F0024B507 /* title.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = title.c; path = src/title.c; sourceTree = ""; }; - D4EC47721C26342F0024B507 /* title.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = title.h; path = src/title.h; sourceTree = ""; }; - D4EC47761C26342F0024B507 /* sawyercoding.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sawyercoding.c; sourceTree = ""; }; - D4EC47771C26342F0024B507 /* sawyercoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sawyercoding.h; sourceTree = ""; }; - D4EC47781C26342F0024B507 /* util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = util.c; sourceTree = ""; }; - D4EC47791C26342F0024B507 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = ""; }; - D4EC477B1C26342F0024B507 /* about.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = about.c; sourceTree = ""; }; - D4EC477C1C26342F0024B507 /* banner.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = banner.c; sourceTree = ""; }; - D4EC477D1C26342F0024B507 /* changelog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = changelog.c; sourceTree = ""; }; - D4EC477E1C26342F0024B507 /* cheats.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cheats.c; sourceTree = ""; }; - D4EC477F1C26342F0024B507 /* clear_scenery.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = clear_scenery.c; sourceTree = ""; }; - D4EC47801C26342F0024B507 /* demolish_ride_prompt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = demolish_ride_prompt.c; sourceTree = ""; }; - D4EC47811C26342F0024B507 /* dropdown.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dropdown.c; sourceTree = ""; }; - D4EC47821C26342F0024B507 /* dropdown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dropdown.h; sourceTree = ""; }; - D4EC47831C26342F0024B507 /* editor_bottom_toolbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = editor_bottom_toolbar.c; sourceTree = ""; }; - D4EC47841C26342F0024B507 /* editor_inventions_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = editor_inventions_list.c; sourceTree = ""; }; - D4EC47851C26342F0024B507 /* editor_main.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = editor_main.c; sourceTree = ""; }; - D4EC47861C26342F0024B507 /* editor_object_selection.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = editor_object_selection.c; sourceTree = ""; }; - D4EC47871C26342F0024B507 /* editor_objective_options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = editor_objective_options.c; sourceTree = ""; }; - D4EC47881C26342F0024B507 /* editor_scenario_options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = editor_scenario_options.c; sourceTree = ""; }; - D4EC47891C26342F0024B507 /* error.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = error.c; sourceTree = ""; }; - D4EC478A1C26342F0024B507 /* error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error.h; sourceTree = ""; }; - D4EC478B1C26342F0024B507 /* finances.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = finances.c; sourceTree = ""; }; - D4EC478C1C26342F0024B507 /* footpath.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = footpath.c; sourceTree = ""; }; - D4EC478D1C26342F0024B507 /* game_bottom_toolbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = game_bottom_toolbar.c; sourceTree = ""; }; - D4EC478E1C26342F0024B507 /* guest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = guest.c; sourceTree = ""; }; - D4EC478F1C26342F0024B507 /* guest_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = guest_list.c; sourceTree = ""; }; - D4EC47901C26342F0024B507 /* install_track.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = install_track.c; sourceTree = ""; }; - D4EC47911C26342F0024B507 /* land.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = land.c; sourceTree = ""; }; - D4EC47921C26342F0024B507 /* land_rights.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = land_rights.c; sourceTree = ""; }; - D4EC47931C26342F0024B507 /* loadsave.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = loadsave.c; sourceTree = ""; }; - D4EC47941C26342F0024B507 /* main.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = ""; }; - D4EC47951C26342F0024B507 /* map.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = map.c; sourceTree = ""; }; - D4EC47961C26342F0024B507 /* map_tooltip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = map_tooltip.c; sourceTree = ""; }; - D4EC47971C26342F0024B507 /* mapgen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mapgen.c; sourceTree = ""; }; - D4EC47981C26342F0024B507 /* maze_construction.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = maze_construction.c; sourceTree = ""; }; - D4EC47991C26342F0024B507 /* music_credits.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = music_credits.c; sourceTree = ""; }; - D4EC479A1C26342F0024B507 /* network_status.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = network_status.c; sourceTree = ""; }; - D4EC479B1C26342F0024B507 /* new_campaign.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = new_campaign.c; sourceTree = ""; }; - D4EC479C1C26342F0024B507 /* new_ride.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = new_ride.c; sourceTree = ""; }; - D4EC479D1C26342F0024B507 /* news.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = news.c; sourceTree = ""; }; - D4EC479E1C26342F0024B507 /* options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = options.c; sourceTree = ""; }; - D4EC479F1C26342F0024B507 /* park.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = park.c; sourceTree = ""; }; - D4EC47A11C26342F0024B507 /* publisher_credits.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = publisher_credits.c; sourceTree = ""; }; - D4EC47A21C26342F0024B507 /* research.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = research.c; sourceTree = ""; }; - D4EC47A31C26342F0024B507 /* ride.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ride.c; sourceTree = ""; }; - D4EC47A41C26342F0024B507 /* ride_construction.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ride_construction.c; sourceTree = ""; }; - D4EC47A51C26342F0024B507 /* ride_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ride_list.c; sourceTree = ""; }; - D4EC47A61C26342F0024B507 /* save_prompt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = save_prompt.c; sourceTree = ""; }; - D4EC47A71C26342F0024B507 /* scenery.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = scenery.c; sourceTree = ""; }; - D4EC47A81C26342F0024B507 /* server_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = server_list.c; sourceTree = ""; }; - D4EC47A91C26342F0024B507 /* server_start.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = server_start.c; sourceTree = ""; }; - D4EC47AA1C26342F0024B507 /* shortcut_key_change.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = shortcut_key_change.c; sourceTree = ""; }; - D4EC47AB1C26342F0024B507 /* shortcut_keys.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = shortcut_keys.c; sourceTree = ""; }; - D4EC47AC1C26342F0024B507 /* sign.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sign.c; sourceTree = ""; }; - D4EC47AD1C26342F0024B507 /* staff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = staff.c; sourceTree = ""; }; - D4EC47AE1C26342F0024B507 /* staff_fire_prompt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = staff_fire_prompt.c; sourceTree = ""; }; - D4EC47AF1C26342F0024B507 /* staff_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = staff_list.c; sourceTree = ""; }; - D4EC47B01C26342F0024B507 /* text_input.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = text_input.c; sourceTree = ""; }; - D4EC47B11C26342F0024B507 /* themes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = themes.c; sourceTree = ""; }; - D4EC47B21C26342F0024B507 /* tile_inspector.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tile_inspector.c; sourceTree = ""; }; - D4EC47B31C26342F0024B507 /* title_command_editor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_command_editor.c; sourceTree = ""; }; - D4EC47B41C26342F0024B507 /* title_editor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_editor.c; sourceTree = ""; }; - D4EC47B51C26342F0024B507 /* title_exit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_exit.c; sourceTree = ""; }; - D4EC47B61C26342F0024B507 /* title_logo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_logo.c; sourceTree = ""; }; - D4EC47B71C26342F0024B507 /* title_menu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_menu.c; sourceTree = ""; }; - D4EC47B81C26342F0024B507 /* title_options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_options.c; sourceTree = ""; }; - D4EC47B91C26342F0024B507 /* title_scenarioselect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = title_scenarioselect.c; sourceTree = ""; }; - D4EC47BA1C26342F0024B507 /* tooltip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tooltip.c; sourceTree = ""; }; - D4EC47BB1C26342F0024B507 /* tooltip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tooltip.h; sourceTree = ""; }; - D4EC47BC1C26342F0024B507 /* top_toolbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = top_toolbar.c; sourceTree = ""; }; - D4EC47BD1C26342F0024B507 /* track_list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = track_list.c; sourceTree = ""; }; - D4EC47BE1C26342F0024B507 /* track_manage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = track_manage.c; sourceTree = ""; }; - D4EC47BF1C26342F0024B507 /* track_place.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = track_place.c; sourceTree = ""; }; - D4EC47C01C26342F0024B507 /* viewport.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = viewport.c; sourceTree = ""; }; - D4EC47C11C26342F0024B507 /* water.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = water.c; sourceTree = ""; }; - D4EC47C31C26342F0024B507 /* balloon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = balloon.c; sourceTree = ""; }; - D4EC47C41C26342F0024B507 /* banner.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = banner.c; sourceTree = ""; }; - D4EC47C51C26342F0024B507 /* banner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = banner.h; sourceTree = ""; }; - D4EC47C61C26342F0024B507 /* climate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = climate.c; sourceTree = ""; }; - D4EC47C71C26342F0024B507 /* climate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = climate.h; sourceTree = ""; }; - D4EC47C81C26342F0024B507 /* duck.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = duck.c; sourceTree = ""; }; - D4EC47C91C26342F0024B507 /* entrance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = entrance.h; sourceTree = ""; }; - D4EC47CA1C26342F0024B507 /* footpath.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = footpath.c; sourceTree = ""; }; - D4EC47CB1C26342F0024B507 /* footpath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = footpath.h; sourceTree = ""; }; - D4EC47CC1C26342F0024B507 /* fountain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fountain.c; sourceTree = ""; }; - D4EC47CD1C26342F0024B507 /* fountain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fountain.h; sourceTree = ""; }; - D4EC47CE1C26342F0024B507 /* map.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = map.c; sourceTree = ""; }; - D4EC47CF1C26342F0024B507 /* map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = map.h; sourceTree = ""; }; - D4EC47D01C26342F0024B507 /* map_animation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = map_animation.c; sourceTree = ""; }; - D4EC47D11C26342F0024B507 /* map_animation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = map_animation.h; sourceTree = ""; }; - D4EC47D21C26342F0024B507 /* map_helpers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = map_helpers.c; sourceTree = ""; }; - D4EC47D31C26342F0024B507 /* map_helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = map_helpers.h; sourceTree = ""; }; - D4EC47D41C26342F0024B507 /* mapgen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mapgen.c; sourceTree = ""; }; - D4EC47D51C26342F0024B507 /* mapgen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mapgen.h; sourceTree = ""; }; - D4EC47D61C26342F0024B507 /* money_effect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = money_effect.c; sourceTree = ""; }; - D4EC47D71C26342F0024B507 /* park.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = park.c; sourceTree = ""; }; - D4EC47D81C26342F0024B507 /* park.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = park.h; sourceTree = ""; }; - D4EC47D91C26342F0024B507 /* particle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = particle.c; sourceTree = ""; }; - D4EC47DA1C26342F0024B507 /* scenery.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = scenery.c; sourceTree = ""; }; - D4EC47DB1C26342F0024B507 /* scenery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scenery.h; sourceTree = ""; }; - D4EC47DC1C26342F0024B507 /* sprite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sprite.c; sourceTree = ""; }; - D4EC47DD1C26342F0024B507 /* sprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sprite.h; sourceTree = ""; }; - D4EC47DE1C26342F0024B507 /* water.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = water.h; sourceTree = ""; }; D4EC48821C2634870024B507 /* jansson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = jansson.h; sourceTree = ""; }; D4EC48831C2634870024B507 /* jansson_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = jansson_config.h; sourceTree = ""; }; D4EC48851C2634870024B507 /* begin_code.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = begin_code.h; sourceTree = ""; }; @@ -576,7 +586,6 @@ D4EC48E31C2637710024B507 /* g2.dat */ = {isa = PBXFileReference; lastKnownFileType = file; name = g2.dat; path = data/g2.dat; sourceTree = SOURCE_ROOT; }; D4EC48E41C2637710024B507 /* language */ = {isa = PBXFileReference; lastKnownFileType = folder; name = language; path = data/language; sourceTree = SOURCE_ROOT; }; D4EC48E51C2637710024B507 /* title */ = {isa = PBXFileReference; lastKnownFileType = folder; name = title; path = data/title; sourceTree = SOURCE_ROOT; }; - a9793fe06a4244938f5d4b61 /* crash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = crash.cpp; path = src/platform/crash.cpp; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -602,62 +611,61 @@ D41B72431C21015A0080A7B9 /* Sources */ = { isa = PBXGroup; children = ( - D4EC46D81C26342F0024B507 /* audio */, - D4B63B891C43025600367A37 /* cmdline */, - D4EC46E51C26342F0024B507 /* core */, - D4EC46F31C26342F0024B507 /* drawing */, - D4EC47081C26342F0024B507 /* interface */, - D4EC47221C26342F0024B507 /* localisation */, - D4EC47341C26342F0024B507 /* management */, - D4EC473F1C26342F0024B507 /* network */, - D4EC474B1C26342F0024B507 /* peep */, - D4EC47501C26342F0024B507 /* platform */, - D4EC475C1C26342F0024B507 /* ride */, - D4EC47751C26342F0024B507 /* util */, - D4EC477A1C26342F0024B507 /* windows */, - D4EC47C21C26342F0024B507 /* world */, - D4EC46D61C26342F0024B507 /* addresses.c */, - D4EC46D71C26342F0024B507 /* addresses.h */, - D4EC46DD1C26342F0024B507 /* cheats.c */, - D4EC46DE1C26342F0024B507 /* cheats.h */, - D4EC46DF1C26342F0024B507 /* cmdline_sprite.c */, - D4EC46E21C26342F0024B507 /* common.h */, - D4EC46E31C26342F0024B507 /* config.c */, - D4EC46E41C26342F0024B507 /* config.h */, - D4EC46EF1C26342F0024B507 /* cursors.c */, - D4EC46F01C26342F0024B507 /* cursors.h */, - D4EC46F11C26342F0024B507 /* diagnostic.c */, - D4EC46F21C26342F0024B507 /* diagnostic.h */, - D4EC47001C26342F0024B507 /* editor.c */, - D4EC47011C26342F0024B507 /* editor.h */, - D4EC47021C26342F0024B507 /* game.c */, - D4EC47031C26342F0024B507 /* game.h */, - D4EC47041C26342F0024B507 /* hook.c */, - D4EC47051C26342F0024B507 /* hook.h */, - D4D4DF121C34697B0048BE43 /* image_io.c */, - D4D4DF131C34697B0048BE43 /* image_io.h */, - D4EC47061C26342F0024B507 /* input.c */, - D4EC47071C26342F0024B507 /* input.h */, - D4EC47201C26342F0024B507 /* intro.c */, - D4EC47211C26342F0024B507 /* intro.h */, - D4EC47461C26342F0024B507 /* object_list.c */, - D4EC47471C26342F0024B507 /* object.c */, - D4EC47481C26342F0024B507 /* object.h */, - D4EC47491C26342F0024B507 /* openrct2.c */, - D4EC474A1C26342F0024B507 /* openrct2.h */, - D4EC47571C26342F0024B507 /* rct1.c */, - D4EC47581C26342F0024B507 /* rct1.h */, - D4EC47591C26342F0024B507 /* rct2.c */, - D4EC475A1C26342F0024B507 /* rct2.h */, - D4EC476D1C26342F0024B507 /* scenario_list.c */, - D46105CD1C38828D00DB1EE3 /* scenario_sources.c */, - D4EC476E1C26342F0024B507 /* scenario.c */, - D4EC476F1C26342F0024B507 /* scenario.h */, - D4EC47701C26342F0024B507 /* sprites.h */, - D4EC47711C26342F0024B507 /* title.c */, - D4EC47721C26342F0024B507 /* title.h */, - D4163F671C2A044D00B83136 /* version.h */, - a9793fe06a4244938f5d4b61 /* crash.cpp */, + D44270CF1CC81B3200D84D28 /* audio */, + D44270D61CC81B3200D84D28 /* cmdline */, + D44270E01CC81B3200D84D28 /* core */, + D44271001CC81B3200D84D28 /* drawing */, + D44271181CC81B3200D84D28 /* interface */, + D44271321CC81B3200D84D28 /* localisation */, + D44271441CC81B3200D84D28 /* management */, + D442714F1CC81B3200D84D28 /* network */, + D442715B1CC81B3200D84D28 /* peep */, + D44271601CC81B3200D84D28 /* platform */, + D442716E1CC81B3200D84D28 /* ride */, + D44271881CC81B3200D84D28 /* util */, + D442718E1CC81B3200D84D28 /* windows */, + D44271D81CC81B3200D84D28 /* world */, + D44270CD1CC81B3200D84D28 /* addresses.c */, + D44270CE1CC81B3200D84D28 /* addresses.h */, + D44270D41CC81B3200D84D28 /* cheats.c */, + D44270D51CC81B3200D84D28 /* cheats.h */, + D44270DC1CC81B3200D84D28 /* cmdline_sprite.c */, + D44270DD1CC81B3200D84D28 /* common.h */, + D44270DE1CC81B3200D84D28 /* config.c */, + D44270DF1CC81B3200D84D28 /* config.h */, + D44270FC1CC81B3200D84D28 /* cursors.c */, + D44270FD1CC81B3200D84D28 /* cursors.h */, + D44270FE1CC81B3200D84D28 /* diagnostic.c */, + D44270FF1CC81B3200D84D28 /* diagnostic.h */, + D442710E1CC81B3200D84D28 /* editor.c */, + D442710F1CC81B3200D84D28 /* editor.h */, + D44271101CC81B3200D84D28 /* game.c */, + D44271111CC81B3200D84D28 /* game.h */, + D44271121CC81B3200D84D28 /* hook.c */, + D44271131CC81B3200D84D28 /* hook.h */, + D44271141CC81B3200D84D28 /* image_io.c */, + D44271151CC81B3200D84D28 /* image_io.h */, + D44271161CC81B3200D84D28 /* input.c */, + D44271171CC81B3200D84D28 /* input.h */, + D44271301CC81B3200D84D28 /* intro.c */, + D44271311CC81B3200D84D28 /* intro.h */, + D44271561CC81B3200D84D28 /* object_list.c */, + D44271571CC81B3200D84D28 /* object.c */, + D44271581CC81B3200D84D28 /* object.h */, + D44271591CC81B3200D84D28 /* openrct2.c */, + D442715A1CC81B3200D84D28 /* openrct2.h */, + D44271691CC81B3200D84D28 /* rct1.c */, + D442716A1CC81B3200D84D28 /* rct1.h */, + D442716B1CC81B3200D84D28 /* rct2.c */, + D442716C1CC81B3200D84D28 /* rct2.h */, + D44271811CC81B3200D84D28 /* scenario_list.c */, + D44271821CC81B3200D84D28 /* scenario_sources.c */, + D44271831CC81B3200D84D28 /* scenario.c */, + D44271841CC81B3200D84D28 /* scenario.h */, + D44271851CC81B3200D84D28 /* sprites.h */, + D44271861CC81B3200D84D28 /* title.c */, + D44271871CC81B3200D84D28 /* title.h */, + D442718D1CC81B3200D84D28 /* version.h */, ); name = Sources; sourceTree = ""; @@ -672,6 +680,358 @@ name = Libraries; sourceTree = ""; }; + D44270CF1CC81B3200D84D28 /* audio */ = { + isa = PBXGroup; + children = ( + D44270D01CC81B3200D84D28 /* audio.c */, + D44270D11CC81B3200D84D28 /* audio.h */, + D44270D21CC81B3200D84D28 /* mixer.cpp */, + D44270D31CC81B3200D84D28 /* mixer.h */, + ); + name = audio; + path = src/audio; + sourceTree = ""; + }; + D44270D61CC81B3200D84D28 /* cmdline */ = { + isa = PBXGroup; + children = ( + D44270D71CC81B3200D84D28 /* CommandLine.cpp */, + D44270D81CC81B3200D84D28 /* CommandLine.hpp */, + D44270D91CC81B3200D84D28 /* RootCommands.cpp */, + D44270DA1CC81B3200D84D28 /* ScreenshotCommands.cpp */, + D44270DB1CC81B3200D84D28 /* SpriteCommands.cpp */, + ); + name = cmdline; + path = src/cmdline; + sourceTree = ""; + }; + D44270E01CC81B3200D84D28 /* core */ = { + isa = PBXGroup; + children = ( + D44270E11CC81B3200D84D28 /* Console.cpp */, + D44270E21CC81B3200D84D28 /* Console.hpp */, + D44270E31CC81B3200D84D28 /* Diagnostics.cpp */, + D44270E41CC81B3200D84D28 /* Diagnostics.hpp */, + D44270E51CC81B3200D84D28 /* Exception.hpp */, + D44270E61CC81B3200D84D28 /* FileStream.hpp */, + D44270E71CC81B3200D84D28 /* Guard.cpp */, + D44270E81CC81B3200D84D28 /* Guard.hpp */, + D44270E91CC81B3200D84D28 /* IDisposable.hpp */, + D44270EA1CC81B3200D84D28 /* IStream.hpp */, + D44270EB1CC81B3200D84D28 /* Json.cpp */, + D44270EC1CC81B3200D84D28 /* Json.hpp */, + D44270ED1CC81B3200D84D28 /* List.hpp */, + D44270EE1CC81B3200D84D28 /* Math.hpp */, + D44270EF1CC81B3200D84D28 /* Memory.hpp */, + D44270F01CC81B3200D84D28 /* Path.cpp */, + D44270F11CC81B3200D84D28 /* Path.hpp */, + D44270F21CC81B3200D84D28 /* Stopwatch.cpp */, + D44270F31CC81B3200D84D28 /* stopwatch.h */, + D44270F41CC81B3200D84D28 /* Stopwatch.hpp */, + D44270F51CC81B3200D84D28 /* String.cpp */, + D44270F61CC81B3200D84D28 /* String.hpp */, + D44270F71CC81B3200D84D28 /* StringBuilder.hpp */, + D44270F81CC81B3200D84D28 /* StringReader.hpp */, + D44270F91CC81B3200D84D28 /* textinputbuffer.c */, + D44270FA1CC81B3200D84D28 /* textinputbuffer.h */, + D44270FB1CC81B3200D84D28 /* Util.hpp */, + ); + name = core; + path = src/core; + sourceTree = ""; + }; + D44271001CC81B3200D84D28 /* drawing */ = { + isa = PBXGroup; + children = ( + D44271011CC81B3200D84D28 /* drawing.c */, + D44271021CC81B3200D84D28 /* drawing.h */, + D44271031CC81B3200D84D28 /* drawing_fast.cpp */, + D44271041CC81B3200D84D28 /* font.c */, + D44271051CC81B3200D84D28 /* font.h */, + D44271061CC81B3200D84D28 /* line.c */, + D44271071CC81B3200D84D28 /* rain.c */, + D44271081CC81B3200D84D28 /* rect.c */, + D44271091CC81B3200D84D28 /* scrolling_text.c */, + D442710A1CC81B3200D84D28 /* sprite.c */, + D442710B1CC81B3200D84D28 /* string.c */, + D442710C1CC81B3200D84D28 /* supports.c */, + D442710D1CC81B3200D84D28 /* supports.h */, + ); + name = drawing; + path = src/drawing; + sourceTree = ""; + }; + D44271181CC81B3200D84D28 /* interface */ = { + isa = PBXGroup; + children = ( + D44271191CC81B3200D84D28 /* chat.c */, + D442711A1CC81B3200D84D28 /* chat.h */, + D442711B1CC81B3200D84D28 /* colour.c */, + D442711C1CC81B3200D84D28 /* colour.h */, + D442711D1CC81B3200D84D28 /* console.c */, + D442711E1CC81B3200D84D28 /* console.h */, + D442711F1CC81B3200D84D28 /* graph.c */, + D44271201CC81B3200D84D28 /* graph.h */, + D44271211CC81B3200D84D28 /* keyboard_shortcut.c */, + D44271221CC81B3200D84D28 /* keyboard_shortcut.h */, + D44271231CC81B3200D84D28 /* screenshot.c */, + D44271241CC81B3200D84D28 /* screenshot.h */, + D44271251CC81B3200D84D28 /* Theme.cpp */, + D44271261CC81B3200D84D28 /* themes.h */, + D44271271CC81B3200D84D28 /* title_sequences.c */, + D44271281CC81B3200D84D28 /* title_sequences.h */, + D44271291CC81B3200D84D28 /* viewport.c */, + D442712A1CC81B3200D84D28 /* viewport.h */, + D442712B1CC81B3200D84D28 /* viewport_interaction.c */, + D442712C1CC81B3200D84D28 /* widget.c */, + D442712D1CC81B3200D84D28 /* widget.h */, + D442712E1CC81B3200D84D28 /* window.c */, + D442712F1CC81B3200D84D28 /* window.h */, + ); + name = interface; + path = src/interface; + sourceTree = ""; + }; + D44271321CC81B3200D84D28 /* localisation */ = { + isa = PBXGroup; + children = ( + D44271331CC81B3200D84D28 /* convert.c */, + D44271341CC81B3200D84D28 /* currency.c */, + D44271351CC81B3200D84D28 /* currency.h */, + D44271361CC81B3200D84D28 /* date.c */, + D44271371CC81B3200D84D28 /* date.h */, + D44271381CC81B3200D84D28 /* format_codes.h */, + D44271391CC81B3200D84D28 /* language.cpp */, + D442713A1CC81B3200D84D28 /* language.h */, + D442713B1CC81B3200D84D28 /* LanguagePack.cpp */, + D442713C1CC81B3200D84D28 /* LanguagePack.h */, + D442713D1CC81B3200D84D28 /* localisation.c */, + D442713E1CC81B3200D84D28 /* localisation.h */, + D442713F1CC81B3200D84D28 /* real_names.c */, + D44271401CC81B3200D84D28 /* string_ids.h */, + D44271411CC81B3200D84D28 /* user.c */, + D44271421CC81B3200D84D28 /* user.h */, + D44271431CC81B3200D84D28 /* utf8.c */, + ); + name = localisation; + path = src/localisation; + sourceTree = ""; + }; + D44271441CC81B3200D84D28 /* management */ = { + isa = PBXGroup; + children = ( + D44271451CC81B3200D84D28 /* award.c */, + D44271461CC81B3200D84D28 /* award.h */, + D44271471CC81B3200D84D28 /* finance.c */, + D44271481CC81B3200D84D28 /* finance.h */, + D44271491CC81B3200D84D28 /* marketing.c */, + D442714A1CC81B3200D84D28 /* marketing.h */, + D442714B1CC81B3200D84D28 /* news_item.c */, + D442714C1CC81B3200D84D28 /* news_item.h */, + D442714D1CC81B3200D84D28 /* research.c */, + D442714E1CC81B3200D84D28 /* research.h */, + ); + name = management; + path = src/management; + sourceTree = ""; + }; + D442714F1CC81B3200D84D28 /* network */ = { + isa = PBXGroup; + children = ( + D44271501CC81B3200D84D28 /* http.cpp */, + D44271511CC81B3200D84D28 /* http.h */, + D44271521CC81B3200D84D28 /* network.cpp */, + D44271531CC81B3200D84D28 /* network.h */, + D44271541CC81B3200D84D28 /* twitch.cpp */, + D44271551CC81B3200D84D28 /* twitch.h */, + ); + name = network; + path = src/network; + sourceTree = ""; + }; + D442715B1CC81B3200D84D28 /* peep */ = { + isa = PBXGroup; + children = ( + D442715C1CC81B3200D84D28 /* peep.c */, + D442715D1CC81B3200D84D28 /* peep.h */, + D442715E1CC81B3200D84D28 /* staff.c */, + D442715F1CC81B3200D84D28 /* staff.h */, + ); + name = peep; + path = src/peep; + sourceTree = ""; + }; + D44271601CC81B3200D84D28 /* platform */ = { + isa = PBXGroup; + children = ( + D44271611CC81B3200D84D28 /* crash.cpp */, + D44271621CC81B3200D84D28 /* crash.h */, + D44271631CC81B3200D84D28 /* linux.c */, + D44271641CC81B3200D84D28 /* osx.m */, + D44271651CC81B3200D84D28 /* platform.h */, + D44271661CC81B3200D84D28 /* posix.c */, + D44271671CC81B3200D84D28 /* shared.c */, + D44271681CC81B3200D84D28 /* windows.c */, + ); + name = platform; + path = src/platform; + sourceTree = ""; + }; + D442716E1CC81B3200D84D28 /* ride */ = { + isa = PBXGroup; + children = ( + D442716F1CC81B3200D84D28 /* cable_lift.c */, + D44271701CC81B3200D84D28 /* cable_lift.h */, + D44271711CC81B3200D84D28 /* ride.c */, + D44271721CC81B3200D84D28 /* ride.h */, + D44271731CC81B3200D84D28 /* ride_data.c */, + D44271741CC81B3200D84D28 /* ride_data.h */, + D44271751CC81B3200D84D28 /* ride_ratings.c */, + D44271761CC81B3200D84D28 /* ride_ratings.h */, + D44271771CC81B3200D84D28 /* station.c */, + D44271781CC81B3200D84D28 /* station.h */, + D44271791CC81B3200D84D28 /* track.c */, + D442717A1CC81B3200D84D28 /* track.h */, + D442717B1CC81B3200D84D28 /* track_data.c */, + D442717C1CC81B3200D84D28 /* track_data.h */, + D442717D1CC81B3200D84D28 /* track_paint.c */, + D442717E1CC81B3200D84D28 /* track_paint.h */, + D442717F1CC81B3200D84D28 /* vehicle.c */, + D44271801CC81B3200D84D28 /* vehicle.h */, + ); + name = ride; + path = src/ride; + sourceTree = ""; + }; + D44271881CC81B3200D84D28 /* util */ = { + isa = PBXGroup; + children = ( + D44271891CC81B3200D84D28 /* sawyercoding.c */, + D442718A1CC81B3200D84D28 /* sawyercoding.h */, + D442718B1CC81B3200D84D28 /* util.c */, + D442718C1CC81B3200D84D28 /* util.h */, + ); + name = util; + path = src/util; + sourceTree = ""; + }; + D442718E1CC81B3200D84D28 /* windows */ = { + isa = PBXGroup; + children = ( + D442718F1CC81B3200D84D28 /* about.c */, + D44271901CC81B3200D84D28 /* banner.c */, + D44271911CC81B3200D84D28 /* changelog.c */, + D44271921CC81B3200D84D28 /* cheats.c */, + D44271931CC81B3200D84D28 /* clear_scenery.c */, + D44271941CC81B3200D84D28 /* demolish_ride_prompt.c */, + D44271951CC81B3200D84D28 /* dropdown.c */, + D44271961CC81B3200D84D28 /* dropdown.h */, + D44271971CC81B3200D84D28 /* editor_bottom_toolbar.c */, + D44271981CC81B3200D84D28 /* editor_inventions_list.c */, + D44271991CC81B3200D84D28 /* editor_main.c */, + D442719A1CC81B3200D84D28 /* editor_object_selection.c */, + D442719B1CC81B3200D84D28 /* editor_objective_options.c */, + D442719C1CC81B3200D84D28 /* editor_scenario_options.c */, + D442719D1CC81B3200D84D28 /* error.c */, + D442719E1CC81B3200D84D28 /* error.h */, + D442719F1CC81B3200D84D28 /* finances.c */, + D44271A01CC81B3200D84D28 /* footpath.c */, + D44271A11CC81B3200D84D28 /* game_bottom_toolbar.c */, + D44271A21CC81B3200D84D28 /* guest.c */, + D44271A31CC81B3200D84D28 /* guest_list.c */, + D44271A41CC81B3200D84D28 /* install_track.c */, + D44271A51CC81B3200D84D28 /* land.c */, + D44271A61CC81B3200D84D28 /* land_rights.c */, + D44271A71CC81B3200D84D28 /* loadsave.c */, + D44271A81CC81B3200D84D28 /* main.c */, + D44271A91CC81B3200D84D28 /* map.c */, + D44271AA1CC81B3200D84D28 /* map_tooltip.c */, + D44271AB1CC81B3200D84D28 /* mapgen.c */, + D44271AC1CC81B3200D84D28 /* maze_construction.c */, + D44271AD1CC81B3200D84D28 /* multiplayer.c */, + D44271AE1CC81B3200D84D28 /* music_credits.c */, + D44271AF1CC81B3200D84D28 /* network_status.c */, + D44271B01CC81B3200D84D28 /* new_campaign.c */, + D44271B11CC81B3200D84D28 /* new_ride.c */, + D44271B21CC81B3200D84D28 /* news.c */, + D44271B31CC81B3200D84D28 /* news_options.c */, + D44271B41CC81B3200D84D28 /* options.c */, + D44271B51CC81B3200D84D28 /* park.c */, + D44271B61CC81B3200D84D28 /* player.c */, + D44271B71CC81B3200D84D28 /* publisher_credits.c */, + D44271B81CC81B3200D84D28 /* research.c */, + D44271B91CC81B3200D84D28 /* ride.c */, + D44271BA1CC81B3200D84D28 /* ride_construction.c */, + D44271BB1CC81B3200D84D28 /* ride_list.c */, + D44271BC1CC81B3200D84D28 /* save_prompt.c */, + D44271BD1CC81B3200D84D28 /* scenery.c */, + D44271BE1CC81B3200D84D28 /* server_list.c */, + D44271BF1CC81B3200D84D28 /* server_start.c */, + D44271C01CC81B3200D84D28 /* shortcut_key_change.c */, + D44271C11CC81B3200D84D28 /* shortcut_keys.c */, + D44271C21CC81B3200D84D28 /* sign.c */, + D44271C31CC81B3200D84D28 /* staff.c */, + D44271C41CC81B3200D84D28 /* staff_fire_prompt.c */, + D44271C51CC81B3200D84D28 /* staff_list.c */, + D44271C61CC81B3200D84D28 /* text_input.c */, + D44271C71CC81B3200D84D28 /* themes.c */, + D44271C81CC81B3200D84D28 /* tile_inspector.c */, + D44271C91CC81B3200D84D28 /* title_command_editor.c */, + D44271CA1CC81B3200D84D28 /* title_editor.c */, + D44271CB1CC81B3200D84D28 /* title_exit.c */, + D44271CC1CC81B3200D84D28 /* title_logo.c */, + D44271CD1CC81B3200D84D28 /* title_menu.c */, + D44271CE1CC81B3200D84D28 /* title_options.c */, + D44271CF1CC81B3200D84D28 /* title_scenarioselect.c */, + D44271D01CC81B3200D84D28 /* tooltip.c */, + D44271D11CC81B3200D84D28 /* tooltip.h */, + D44271D21CC81B3200D84D28 /* top_toolbar.c */, + D44271D31CC81B3200D84D28 /* track_list.c */, + D44271D41CC81B3200D84D28 /* track_manage.c */, + D44271D51CC81B3200D84D28 /* track_place.c */, + D44271D61CC81B3200D84D28 /* viewport.c */, + D44271D71CC81B3200D84D28 /* water.c */, + ); + name = windows; + path = src/windows; + sourceTree = ""; + }; + D44271D81CC81B3200D84D28 /* world */ = { + isa = PBXGroup; + children = ( + D44271D91CC81B3200D84D28 /* balloon.c */, + D44271DA1CC81B3200D84D28 /* banner.c */, + D44271DB1CC81B3200D84D28 /* banner.h */, + D44271DC1CC81B3200D84D28 /* climate.c */, + D44271DD1CC81B3200D84D28 /* climate.h */, + D44271DE1CC81B3200D84D28 /* duck.c */, + D44271DF1CC81B3200D84D28 /* entrance.h */, + D44271E01CC81B3200D84D28 /* footpath.c */, + D44271E11CC81B3200D84D28 /* footpath.h */, + D44271E21CC81B3200D84D28 /* fountain.c */, + D44271E31CC81B3200D84D28 /* fountain.h */, + D44271E41CC81B3200D84D28 /* map.c */, + D44271E51CC81B3200D84D28 /* map.h */, + D44271E61CC81B3200D84D28 /* map_animation.c */, + D44271E71CC81B3200D84D28 /* map_animation.h */, + D44271E81CC81B3200D84D28 /* map_helpers.c */, + D44271E91CC81B3200D84D28 /* map_helpers.h */, + D44271EA1CC81B3200D84D28 /* mapgen.c */, + D44271EB1CC81B3200D84D28 /* mapgen.h */, + D44271EC1CC81B3200D84D28 /* money_effect.c */, + D44271ED1CC81B3200D84D28 /* park.c */, + D44271EE1CC81B3200D84D28 /* park.h */, + D44271EF1CC81B3200D84D28 /* particle.c */, + D44271F01CC81B3200D84D28 /* scenery.c */, + D44271F11CC81B3200D84D28 /* scenery.h */, + D44271F21CC81B3200D84D28 /* sprite.c */, + D44271F31CC81B3200D84D28 /* sprite.h */, + D44271F41CC81B3200D84D28 /* water.h */, + ); + name = world; + path = src/world; + sourceTree = ""; + }; D497D06F1C20FD52002BF46A = { isa = PBXGroup; children = ( @@ -702,19 +1062,6 @@ path = OpenRCT2; sourceTree = ""; }; - D4B63B891C43025600367A37 /* cmdline */ = { - isa = PBXGroup; - children = ( - D4B63B8A1C43025600367A37 /* CommandLine.cpp */, - D4B63B8B1C43025600367A37 /* CommandLine.hpp */, - D4B63B8C1C43025600367A37 /* RootCommands.cpp */, - D4B63B8D1C43025600367A37 /* ScreenshotCommands.cpp */, - D4B63B8E1C43025600367A37 /* SpriteCommands.cpp */, - ); - name = cmdline; - path = src/cmdline; - sourceTree = SOURCE_ROOT; - }; D4C1EDD01C266A0B00F71B63 /* data */ = { isa = PBXGroup; children = ( @@ -725,338 +1072,6 @@ name = data; sourceTree = ""; }; - D4EC46D81C26342F0024B507 /* audio */ = { - isa = PBXGroup; - children = ( - D4EC46D91C26342F0024B507 /* audio.c */, - D4EC46DA1C26342F0024B507 /* audio.h */, - D4EC46DB1C26342F0024B507 /* mixer.cpp */, - D4EC46DC1C26342F0024B507 /* mixer.h */, - ); - name = audio; - path = src/audio; - sourceTree = ""; - }; - D4EC46E51C26342F0024B507 /* core */ = { - isa = PBXGroup; - children = ( - 001085EE1C90FD030075A2AD /* textinputbuffer.c */, - 001085EF1C90FD030075A2AD /* textinputbuffer.h */, - D4B63B931C43028200367A37 /* Console.cpp */, - D4B63B941C43028200367A37 /* Console.hpp */, - D4A3511A1C6067B000CBCBA4 /* Diagnostics.hpp */, - D4EC46E61C26342F0024B507 /* Exception.hpp */, - D4EC46E71C26342F0024B507 /* FileStream.hpp */, - D4A3511B1C6067B900CBCBA4 /* Guard.hpp */, - D4EC46E81C26342F0024B507 /* IDisposable.hpp */, - D4EC46E91C26342F0024B507 /* IStream.hpp */, - D4A3511C1C6067C400CBCBA4 /* Json.cpp */, - D4A3511D1C6067C400CBCBA4 /* Json.hpp */, - D4A3511F1C6067E500CBCBA4 /* List.hpp */, - D4EC46EA1C26342F0024B507 /* Math.hpp */, - D4EC46EB1C26342F0024B507 /* Memory.hpp */, - D4D35E2A1C45BD9B00AAFCB4 /* Path.cpp */, - D4D35E2B1C45BD9B00AAFCB4 /* Path.hpp */, - D4B63B961C43028F00367A37 /* String.cpp */, - D4B63B971C43028F00367A37 /* String.hpp */, - D4EC46EC1C26342F0024B507 /* StringBuilder.hpp */, - D4EC46ED1C26342F0024B507 /* StringReader.hpp */, - D4EC46EE1C26342F0024B507 /* Util.hpp */, - ); - name = core; - path = src/core; - sourceTree = ""; - }; - D4EC46F31C26342F0024B507 /* drawing */ = { - isa = PBXGroup; - children = ( - D4EC46F41C26342F0024B507 /* drawing.c */, - D4EC46F51C26342F0024B507 /* drawing.h */, - C62A08D41C787C2A00F3AA76 /* drawing_fast.cpp */, - D4EC46F61C26342F0024B507 /* font.c */, - D4EC46F71C26342F0024B507 /* font.h */, - D4EC46F81C26342F0024B507 /* line.c */, - D4EC46F91C26342F0024B507 /* rain.c */, - D4EC46FA1C26342F0024B507 /* rect.c */, - D4EC46FB1C26342F0024B507 /* scrolling_text.c */, - D4EC46FC1C26342F0024B507 /* sprite.c */, - D4EC46FD1C26342F0024B507 /* string.c */, - D4EC46FE1C26342F0024B507 /* supports.c */, - D4EC46FF1C26342F0024B507 /* supports.h */, - ); - name = drawing; - path = src/drawing; - sourceTree = ""; - }; - D4EC47081C26342F0024B507 /* interface */ = { - isa = PBXGroup; - children = ( - D4EC47091C26342F0024B507 /* chat.c */, - D4EC470A1C26342F0024B507 /* chat.h */, - D4EC470B1C26342F0024B507 /* colour.c */, - D4EC470C1C26342F0024B507 /* colour.h */, - D4EC470D1C26342F0024B507 /* console.c */, - D4EC470E1C26342F0024B507 /* console.h */, - D4EC470F1C26342F0024B507 /* graph.c */, - D4EC47101C26342F0024B507 /* graph.h */, - D4EC47111C26342F0024B507 /* keyboard_shortcut.c */, - D4EC47121C26342F0024B507 /* keyboard_shortcut.h */, - D4EC47131C26342F0024B507 /* screenshot.c */, - D4EC47141C26342F0024B507 /* screenshot.h */, - D4A351201C60680300CBCBA4 /* Theme.cpp */, - D4EC47161C26342F0024B507 /* themes.h */, - D4EC47171C26342F0024B507 /* title_sequences.c */, - D4EC47181C26342F0024B507 /* title_sequences.h */, - D4EC47191C26342F0024B507 /* viewport.c */, - D4EC471A1C26342F0024B507 /* viewport.h */, - D4EC471B1C26342F0024B507 /* viewport_interaction.c */, - D4EC471C1C26342F0024B507 /* widget.c */, - D4EC471D1C26342F0024B507 /* widget.h */, - D4EC471E1C26342F0024B507 /* window.c */, - D4EC471F1C26342F0024B507 /* window.h */, - ); - name = interface; - path = src/interface; - sourceTree = ""; - }; - D4EC47221C26342F0024B507 /* localisation */ = { - isa = PBXGroup; - children = ( - D4EC47231C26342F0024B507 /* convert.c */, - D4EC47241C26342F0024B507 /* currency.c */, - D4EC47251C26342F0024B507 /* currency.h */, - D4EC47261C26342F0024B507 /* date.c */, - D4EC47271C26342F0024B507 /* date.h */, - D4EC47281C26342F0024B507 /* format_codes.h */, - D4EC47291C26342F0024B507 /* language.cpp */, - D4EC472A1C26342F0024B507 /* language.h */, - D4EC472B1C26342F0024B507 /* LanguagePack.cpp */, - D4EC472C1C26342F0024B507 /* LanguagePack.h */, - D4EC472D1C26342F0024B507 /* localisation.c */, - D4EC472E1C26342F0024B507 /* localisation.h */, - D4EC472F1C26342F0024B507 /* real_names.c */, - D4EC47301C26342F0024B507 /* string_ids.h */, - D4EC47311C26342F0024B507 /* user.c */, - D4EC47321C26342F0024B507 /* user.h */, - D4EC47331C26342F0024B507 /* utf8.c */, - ); - name = localisation; - path = src/localisation; - sourceTree = ""; - }; - D4EC47341C26342F0024B507 /* management */ = { - isa = PBXGroup; - children = ( - D4EC47351C26342F0024B507 /* award.c */, - D4EC47361C26342F0024B507 /* award.h */, - D4EC47371C26342F0024B507 /* finance.c */, - D4EC47381C26342F0024B507 /* finance.h */, - D4EC47391C26342F0024B507 /* marketing.c */, - D4EC473A1C26342F0024B507 /* marketing.h */, - D4EC473B1C26342F0024B507 /* news_item.c */, - D4EC473C1C26342F0024B507 /* news_item.h */, - D4EC473D1C26342F0024B507 /* research.c */, - D4EC473E1C26342F0024B507 /* research.h */, - ); - name = management; - path = src/management; - sourceTree = ""; - }; - D4EC473F1C26342F0024B507 /* network */ = { - isa = PBXGroup; - children = ( - D4EC47401C26342F0024B507 /* http.cpp */, - D4EC47411C26342F0024B507 /* http.h */, - D4EC47421C26342F0024B507 /* network.cpp */, - D4EC47431C26342F0024B507 /* network.h */, - D4EC47441C26342F0024B507 /* twitch.cpp */, - D4EC47451C26342F0024B507 /* twitch.h */, - ); - name = network; - path = src/network; - sourceTree = ""; - }; - D4EC474B1C26342F0024B507 /* peep */ = { - isa = PBXGroup; - children = ( - D4EC474C1C26342F0024B507 /* peep.c */, - D4EC474D1C26342F0024B507 /* peep.h */, - D4EC474E1C26342F0024B507 /* staff.c */, - D4EC474F1C26342F0024B507 /* staff.h */, - ); - name = peep; - path = src/peep; - sourceTree = ""; - }; - D4EC47501C26342F0024B507 /* platform */ = { - isa = PBXGroup; - children = ( - D4EC47511C26342F0024B507 /* linux.c */, - D4EC47521C26342F0024B507 /* osx.m */, - D4EC47531C26342F0024B507 /* platform.h */, - D4EC47541C26342F0024B507 /* posix.c */, - D4EC47551C26342F0024B507 /* shared.c */, - D4EC47561C26342F0024B507 /* windows.c */, - ); - name = platform; - path = src/platform; - sourceTree = ""; - }; - D4EC475C1C26342F0024B507 /* ride */ = { - isa = PBXGroup; - children = ( - D4B85B591C41C7F3005C568A /* cable_lift.c */, - D4B85B5A1C41C7F3005C568A /* cable_lift.h */, - D4EC475D1C26342F0024B507 /* ride.c */, - D4EC475E1C26342F0024B507 /* ride.h */, - D4EC475F1C26342F0024B507 /* ride_data.c */, - D4EC47601C26342F0024B507 /* ride_data.h */, - D4EC47611C26342F0024B507 /* ride_ratings.c */, - D4EC47621C26342F0024B507 /* ride_ratings.h */, - D4EC47631C26342F0024B507 /* station.c */, - D4EC47641C26342F0024B507 /* station.h */, - D4EC47651C26342F0024B507 /* track.c */, - D4EC47661C26342F0024B507 /* track.h */, - D4EC47671C26342F0024B507 /* track_data.c */, - D4EC47681C26342F0024B507 /* track_data.h */, - D4EC47691C26342F0024B507 /* track_paint.c */, - D4EC476A1C26342F0024B507 /* track_paint.h */, - D4EC476B1C26342F0024B507 /* vehicle.c */, - D4EC476C1C26342F0024B507 /* vehicle.h */, - ); - name = ride; - path = src/ride; - sourceTree = ""; - }; - D4EC47751C26342F0024B507 /* util */ = { - isa = PBXGroup; - children = ( - D4EC47761C26342F0024B507 /* sawyercoding.c */, - D4EC47771C26342F0024B507 /* sawyercoding.h */, - D4EC47781C26342F0024B507 /* util.c */, - D4EC47791C26342F0024B507 /* util.h */, - ); - name = util; - path = src/util; - sourceTree = ""; - }; - D4EC477A1C26342F0024B507 /* windows */ = { - isa = PBXGroup; - children = ( - D4EC477B1C26342F0024B507 /* about.c */, - D4EC477C1C26342F0024B507 /* banner.c */, - D4EC477D1C26342F0024B507 /* changelog.c */, - D4EC477E1C26342F0024B507 /* cheats.c */, - D4EC477F1C26342F0024B507 /* clear_scenery.c */, - D4EC47801C26342F0024B507 /* demolish_ride_prompt.c */, - D4EC47811C26342F0024B507 /* dropdown.c */, - D4EC47821C26342F0024B507 /* dropdown.h */, - D4EC47831C26342F0024B507 /* editor_bottom_toolbar.c */, - D4EC47841C26342F0024B507 /* editor_inventions_list.c */, - D4EC47851C26342F0024B507 /* editor_main.c */, - D4EC47861C26342F0024B507 /* editor_object_selection.c */, - D4EC47871C26342F0024B507 /* editor_objective_options.c */, - D4EC47881C26342F0024B507 /* editor_scenario_options.c */, - D4EC47891C26342F0024B507 /* error.c */, - D4EC478A1C26342F0024B507 /* error.h */, - D4EC478B1C26342F0024B507 /* finances.c */, - D4EC478C1C26342F0024B507 /* footpath.c */, - D4EC478D1C26342F0024B507 /* game_bottom_toolbar.c */, - D4EC478E1C26342F0024B507 /* guest.c */, - D4EC478F1C26342F0024B507 /* guest_list.c */, - D4EC47901C26342F0024B507 /* install_track.c */, - D4EC47911C26342F0024B507 /* land.c */, - D4EC47921C26342F0024B507 /* land_rights.c */, - D4EC47931C26342F0024B507 /* loadsave.c */, - D4EC47941C26342F0024B507 /* main.c */, - D4EC47951C26342F0024B507 /* map.c */, - D4EC47961C26342F0024B507 /* map_tooltip.c */, - D4EC47971C26342F0024B507 /* mapgen.c */, - D4EC47981C26342F0024B507 /* maze_construction.c */, - D4C0EDCE1C52EA5000A03A06 /* multiplayer.c */, - D4EC47991C26342F0024B507 /* music_credits.c */, - D4EC479A1C26342F0024B507 /* network_status.c */, - D4EC479B1C26342F0024B507 /* new_campaign.c */, - D4EC479C1C26342F0024B507 /* new_ride.c */, - D4ABAB051C2F812B0080CAD9 /* news_options.c */, - D4EC479D1C26342F0024B507 /* news.c */, - D4EC479E1C26342F0024B507 /* options.c */, - D4EC479F1C26342F0024B507 /* park.c */, - D4C0EDD01C52EA6400A03A06 /* player.c */, - D4EC47A11C26342F0024B507 /* publisher_credits.c */, - D4EC47A21C26342F0024B507 /* research.c */, - D4EC47A31C26342F0024B507 /* ride.c */, - D4EC47A41C26342F0024B507 /* ride_construction.c */, - D4EC47A51C26342F0024B507 /* ride_list.c */, - D4EC47A61C26342F0024B507 /* save_prompt.c */, - D4EC47A71C26342F0024B507 /* scenery.c */, - D4EC47A81C26342F0024B507 /* server_list.c */, - D4EC47A91C26342F0024B507 /* server_start.c */, - D4EC47AA1C26342F0024B507 /* shortcut_key_change.c */, - D4EC47AB1C26342F0024B507 /* shortcut_keys.c */, - D4EC47AC1C26342F0024B507 /* sign.c */, - D4EC47AD1C26342F0024B507 /* staff.c */, - D4EC47AE1C26342F0024B507 /* staff_fire_prompt.c */, - D4EC47AF1C26342F0024B507 /* staff_list.c */, - D4EC47B01C26342F0024B507 /* text_input.c */, - D4EC47B11C26342F0024B507 /* themes.c */, - D4EC47B21C26342F0024B507 /* tile_inspector.c */, - D4EC47B31C26342F0024B507 /* title_command_editor.c */, - D4EC47B41C26342F0024B507 /* title_editor.c */, - D4EC47B51C26342F0024B507 /* title_exit.c */, - D4EC47B61C26342F0024B507 /* title_logo.c */, - D4EC47B71C26342F0024B507 /* title_menu.c */, - D4EC47B81C26342F0024B507 /* title_options.c */, - D4EC47B91C26342F0024B507 /* title_scenarioselect.c */, - D4EC47BA1C26342F0024B507 /* tooltip.c */, - D4EC47BB1C26342F0024B507 /* tooltip.h */, - D4EC47BC1C26342F0024B507 /* top_toolbar.c */, - D4EC47BD1C26342F0024B507 /* track_list.c */, - D4EC47BE1C26342F0024B507 /* track_manage.c */, - D4EC47BF1C26342F0024B507 /* track_place.c */, - D4EC47C01C26342F0024B507 /* viewport.c */, - D4EC47C11C26342F0024B507 /* water.c */, - ); - name = windows; - path = src/windows; - sourceTree = ""; - }; - D4EC47C21C26342F0024B507 /* world */ = { - isa = PBXGroup; - children = ( - D4EC47C31C26342F0024B507 /* balloon.c */, - D4EC47C41C26342F0024B507 /* banner.c */, - D4EC47C51C26342F0024B507 /* banner.h */, - D4EC47C61C26342F0024B507 /* climate.c */, - D4EC47C71C26342F0024B507 /* climate.h */, - D4EC47C81C26342F0024B507 /* duck.c */, - D4EC47C91C26342F0024B507 /* entrance.h */, - D4EC47CA1C26342F0024B507 /* footpath.c */, - D4EC47CB1C26342F0024B507 /* footpath.h */, - D4EC47CC1C26342F0024B507 /* fountain.c */, - D4EC47CD1C26342F0024B507 /* fountain.h */, - D4EC47CE1C26342F0024B507 /* map.c */, - D4EC47CF1C26342F0024B507 /* map.h */, - D4EC47D01C26342F0024B507 /* map_animation.c */, - D4EC47D11C26342F0024B507 /* map_animation.h */, - D4EC47D21C26342F0024B507 /* map_helpers.c */, - D4EC47D31C26342F0024B507 /* map_helpers.h */, - D4EC47D41C26342F0024B507 /* mapgen.c */, - D4EC47D51C26342F0024B507 /* mapgen.h */, - D4EC47D61C26342F0024B507 /* money_effect.c */, - D4EC47D71C26342F0024B507 /* park.c */, - D4EC47D81C26342F0024B507 /* park.h */, - D4EC47D91C26342F0024B507 /* particle.c */, - D4EC47DA1C26342F0024B507 /* scenery.c */, - D4EC47DB1C26342F0024B507 /* scenery.h */, - D4EC47DC1C26342F0024B507 /* sprite.c */, - D4EC47DD1C26342F0024B507 /* sprite.h */, - D4EC47DE1C26342F0024B507 /* water.h */, - ); - name = world; - path = src/world; - sourceTree = ""; - }; D4EC48811C2634870024B507 /* include */ = { isa = PBXGroup; children = ( @@ -1334,181 +1349,184 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D4EC485D1C26342F0024B507 /* sign.c in Sources */, - D4EC47E61C26342F0024B507 /* cursors.c in Sources */, - D4EC48251C26342F0024B507 /* track_data.c in Sources */, - D4EC48661C26342F0024B507 /* title_exit.c in Sources */, - D4EC480C1C26342F0024B507 /* finance.c in Sources */, - D4EC47EB1C26342F0024B507 /* rain.c in Sources */, - D4EC48221C26342F0024B507 /* ride_ratings.c in Sources */, - D4EC48371C26342F0024B507 /* editor_main.c in Sources */, - D4EC48321C26342F0024B507 /* clear_scenery.c in Sources */, - D4EC48211C26342F0024B507 /* ride_data.c in Sources */, - D4EC47F11C26342F0024B507 /* editor.c in Sources */, - D4EC483A1C26342F0024B507 /* editor_scenario_options.c in Sources */, - D4EC48551C26342F0024B507 /* ride_construction.c in Sources */, - D4EC48461C26342F0024B507 /* map.c in Sources */, - D4EC481D1C26342F0024B507 /* rct1.c in Sources */, - D4B63B911C43025600367A37 /* ScreenshotCommands.cpp in Sources */, - D4EC48291C26342F0024B507 /* scenario.c in Sources */, - D4EC485B1C26342F0024B507 /* shortcut_key_change.c in Sources */, - D4EC48741C26342F0024B507 /* climate.c in Sources */, - D4EC48201C26342F0024B507 /* ride.c in Sources */, - D4EC485F1C26342F0024B507 /* staff_fire_prompt.c in Sources */, - D4EC48381C26342F0024B507 /* editor_object_selection.c in Sources */, - D4EC482C1C26342F0024B507 /* sawyercoding.c in Sources */, - D4EC48631C26342F0024B507 /* tile_inspector.c in Sources */, - D4EC48181C26342F0024B507 /* linux.c in Sources */, - D4EC48651C26342F0024B507 /* title_editor.c in Sources */, - D4EC47EC1C26342F0024B507 /* rect.c in Sources */, - D4EC48101C26342F0024B507 /* http.cpp in Sources */, - D4ABAB061C2F812B0080CAD9 /* news_options.c in Sources */, - D4EC47F21C26342F0024B507 /* game.c in Sources */, - D4EC48761C26342F0024B507 /* footpath.c in Sources */, - D4EC48031C26342F0024B507 /* currency.c in Sources */, - D4B63B8F1C43025600367A37 /* CommandLine.cpp in Sources */, - D4EC48011C26342F0024B507 /* intro.c in Sources */, - D4EC47EF1C26342F0024B507 /* string.c in Sources */, - D4EC48531C26342F0024B507 /* research.c in Sources */, - D4EC48401C26342F0024B507 /* guest_list.c in Sources */, - D4EC482F1C26342F0024B507 /* banner.c in Sources */, - D4EC47E91C26342F0024B507 /* font.c in Sources */, - D4A3511E1C6067C400CBCBA4 /* Json.cpp in Sources */, - D4EC48021C26342F0024B507 /* convert.c in Sources */, - D4EC48481C26342F0024B507 /* mapgen.c in Sources */, - D4EC48441C26342F0024B507 /* loadsave.c in Sources */, - D4EC47E21C26342F0024B507 /* cheats.c in Sources */, - D4EC481B1C26342F0024B507 /* shared.c in Sources */, - D4EC47FD1C26342F0024B507 /* viewport.c in Sources */, - D4EC480E1C26342F0024B507 /* news_item.c in Sources */, - D4EC48141C26342F0024B507 /* object.c in Sources */, - D4EC487F1C26342F0024B507 /* scenery.c in Sources */, - D4EC480A1C26342F0024B507 /* utf8.c in Sources */, - D4EC48681C26342F0024B507 /* title_menu.c in Sources */, - D4EC48751C26342F0024B507 /* duck.c in Sources */, - D4EC484F1C26342F0024B507 /* options.c in Sources */, - D4EC485C1C26342F0024B507 /* shortcut_keys.c in Sources */, - D4EC481A1C26342F0024B507 /* posix.c in Sources */, - D4D35E2C1C45BD9B00AAFCB4 /* Path.cpp in Sources */, - D4B63B981C43028F00367A37 /* String.cpp in Sources */, - 001085F01C90FD030075A2AD /* textinputbuffer.c in Sources */, - D4A351211C60680300CBCBA4 /* Theme.cpp in Sources */, - D4EC47E31C26342F0024B507 /* cmdline_sprite.c in Sources */, - D4EC48611C26342F0024B507 /* text_input.c in Sources */, - D4EC48431C26342F0024B507 /* land_rights.c in Sources */, - D4EC486B1C26342F0024B507 /* tooltip.c in Sources */, - D4EC48231C26342F0024B507 /* station.c in Sources */, - D4EC484D1C26342F0024B507 /* new_ride.c in Sources */, - D4EC484A1C26342F0024B507 /* music_credits.c in Sources */, - D4EC48241C26342F0024B507 /* track.c in Sources */, - D4EC47DF1C26342F0024B507 /* addresses.c in Sources */, - D4EC484B1C26342F0024B507 /* network_status.c in Sources */, - D4EC483E1C26342F0024B507 /* game_bottom_toolbar.c in Sources */, - D4EC48731C26342F0024B507 /* banner.c in Sources */, - D4EC47F51C26342F0024B507 /* chat.c in Sources */, - D4B63B901C43025600367A37 /* RootCommands.cpp in Sources */, - D4EC48591C26342F0024B507 /* server_list.c in Sources */, - D4EC48001C26342F0024B507 /* window.c in Sources */, - D4EC47F61C26342F0024B507 /* colour.c in Sources */, - D4EC486E1C26342F0024B507 /* track_manage.c in Sources */, - D4D4DF141C34697B0048BE43 /* image_io.c in Sources */, - D4EC48331C26342F0024B507 /* demolish_ride_prompt.c in Sources */, - D4EC48131C26342F0024B507 /* object_list.c in Sources */, - D4EC47ED1C26342F0024B507 /* scrolling_text.c in Sources */, - D4EC483D1C26342F0024B507 /* footpath.c in Sources */, - D4EC47E81C26342F0024B507 /* drawing.c in Sources */, - D4C0EDCF1C52EA5000A03A06 /* multiplayer.c in Sources */, - D4EC47F71C26342F0024B507 /* console.c in Sources */, - D4EC47FA1C26342F0024B507 /* screenshot.c in Sources */, - D4EC485A1C26342F0024B507 /* server_start.c in Sources */, - D4EC486D1C26342F0024B507 /* track_list.c in Sources */, - D4EC487B1C26342F0024B507 /* mapgen.c in Sources */, - D4EC48151C26342F0024B507 /* openrct2.c in Sources */, - D4EC48781C26342F0024B507 /* map.c in Sources */, - D4EC48411C26342F0024B507 /* install_track.c in Sources */, - D4EC48341C26342F0024B507 /* dropdown.c in Sources */, - D4EC48301C26342F0024B507 /* changelog.c in Sources */, - D4EC48521C26342F0024B507 /* publisher_credits.c in Sources */, - D4EC485E1C26342F0024B507 /* staff.c in Sources */, - D4EC486F1C26342F0024B507 /* track_place.c in Sources */, - D4EC48261C26342F0024B507 /* track_paint.c in Sources */, - D4EC48601C26342F0024B507 /* staff_list.c in Sources */, - D4EC48501C26342F0024B507 /* park.c in Sources */, - D4EC48041C26342F0024B507 /* date.c in Sources */, - D4EC486A1C26342F0024B507 /* title_scenarioselect.c in Sources */, - D4EC482A1C26342F0024B507 /* title.c in Sources */, - D4EC48491C26342F0024B507 /* maze_construction.c in Sources */, - D4EC48361C26342F0024B507 /* editor_inventions_list.c in Sources */, - D4EC482E1C26342F0024B507 /* about.c in Sources */, - D4EC487E1C26342F0024B507 /* particle.c in Sources */, - D4EC48071C26342F0024B507 /* localisation.c in Sources */, - D4EC47E01C26342F0024B507 /* audio.c in Sources */, - D4EC487D1C26342F0024B507 /* park.c in Sources */, - D4EC48161C26342F0024B507 /* peep.c in Sources */, - D4EC47FE1C26342F0024B507 /* viewport_interaction.c in Sources */, - D4EC48171C26342F0024B507 /* staff.c in Sources */, - D4EC48191C26342F0024B507 /* osx.m in Sources */, - D4EC48771C26342F0024B507 /* fountain.c in Sources */, - D4EC48711C26342F0024B507 /* water.c in Sources */, - D4EC48541C26342F0024B507 /* ride.c in Sources */, - D4EC484E1C26342F0024B507 /* news.c in Sources */, - D4EC47F31C26342F0024B507 /* hook.c in Sources */, - D4EC47F91C26342F0024B507 /* keyboard_shortcut.c in Sources */, - D4EC48351C26342F0024B507 /* editor_bottom_toolbar.c in Sources */, - D4EC487C1C26342F0024B507 /* money_effect.c in Sources */, - D4B63B921C43025600367A37 /* SpriteCommands.cpp in Sources */, - D4EC48641C26342F0024B507 /* title_command_editor.c in Sources */, - D4EC48671C26342F0024B507 /* title_logo.c in Sources */, - D4EC484C1C26342F0024B507 /* new_campaign.c in Sources */, - D4EC483B1C26342F0024B507 /* error.c in Sources */, - D4EC48121C26342F0024B507 /* twitch.cpp in Sources */, - D4EC48311C26342F0024B507 /* cheats.c in Sources */, - D4EC48051C26342F0024B507 /* language.cpp in Sources */, - D4EC48451C26342F0024B507 /* main.c in Sources */, - D4EC482D1C26342F0024B507 /* util.c in Sources */, - D4EC47EA1C26342F0024B507 /* line.c in Sources */, - D4EC48271C26342F0024B507 /* vehicle.c in Sources */, - D46105CE1C38828D00DB1EE3 /* scenario_sources.c in Sources */, - D4EC48281C26342F0024B507 /* scenario_list.c in Sources */, - D4EC48581C26342F0024B507 /* scenery.c in Sources */, - D4EC48061C26342F0024B507 /* LanguagePack.cpp in Sources */, - D4EC48091C26342F0024B507 /* user.c in Sources */, - D4EC47E11C26342F0024B507 /* mixer.cpp in Sources */, - D4B63B951C43028200367A37 /* Console.cpp in Sources */, - D4EC481E1C26342F0024B507 /* rct2.c in Sources */, - D4C0EDD11C52EA6400A03A06 /* player.c in Sources */, - C62A08D51C787C2A00F3AA76 /* drawing_fast.cpp in Sources */, - D4EC48801C26342F0024B507 /* sprite.c in Sources */, - D4EC486C1C26342F0024B507 /* top_toolbar.c in Sources */, - D4EC48621C26342F0024B507 /* themes.c in Sources */, - D4EC48081C26342F0024B507 /* real_names.c in Sources */, - D4EC481C1C26342F0024B507 /* windows.c in Sources */, - D4EC47EE1C26342F0024B507 /* sprite.c in Sources */, - D4EC480B1C26342F0024B507 /* award.c in Sources */, - D4EC47F81C26342F0024B507 /* graph.c in Sources */, - D4EC48111C26342F0024B507 /* network.cpp in Sources */, - D4EC47FF1C26342F0024B507 /* widget.c in Sources */, - D4EC48691C26342F0024B507 /* title_options.c in Sources */, - D4B85B5B1C41C7F3005C568A /* cable_lift.c in Sources */, - D4EC48471C26342F0024B507 /* map_tooltip.c in Sources */, - D4EC483F1C26342F0024B507 /* guest.c in Sources */, - D4EC487A1C26342F0024B507 /* map_helpers.c in Sources */, - D4EC480F1C26342F0024B507 /* research.c in Sources */, - D4EC48561C26342F0024B507 /* ride_list.c in Sources */, - D4EC47E71C26342F0024B507 /* diagnostic.c in Sources */, - D4EC47F41C26342F0024B507 /* input.c in Sources */, - D4EC48391C26342F0024B507 /* editor_objective_options.c in Sources */, - D4EC47E51C26342F0024B507 /* config.c in Sources */, - D4EC483C1C26342F0024B507 /* finances.c in Sources */, - D4EC47F01C26342F0024B507 /* supports.c in Sources */, - D4EC47FC1C26342F0024B507 /* title_sequences.c in Sources */, - D4EC48421C26342F0024B507 /* land.c in Sources */, - D4EC48791C26342F0024B507 /* map_animation.c in Sources */, - D4EC480D1C26342F0024B507 /* marketing.c in Sources */, - D4EC48721C26342F0024B507 /* balloon.c in Sources */, - D4EC48571C26342F0024B507 /* save_prompt.c in Sources */, - D4EC48701C26342F0024B507 /* viewport.c in Sources */, - 426da7e58564472ba1b7991f /* crash.cpp in Sources */, + D44272491CC81B3200D84D28 /* track.c in Sources */, + D44272561CC81B3200D84D28 /* cheats.c in Sources */, + D442722B1CC81B3200D84D28 /* real_names.c in Sources */, + D442721C1CC81B3200D84D28 /* keyboard_shortcut.c in Sources */, + D442728F1CC81B3200D84D28 /* title_menu.c in Sources */, + D44272A41CC81B3200D84D28 /* park.c in Sources */, + D44272441CC81B3200D84D28 /* cable_lift.c in Sources */, + D442729C1CC81B3200D84D28 /* duck.c in Sources */, + D442724E1CC81B3200D84D28 /* scenario_sources.c in Sources */, + D442729A1CC81B3200D84D28 /* banner.c in Sources */, + D44272211CC81B3200D84D28 /* viewport_interaction.c in Sources */, + D442721B1CC81B3200D84D28 /* graph.c in Sources */, + D44272101CC81B3200D84D28 /* sprite.c in Sources */, + D442721F1CC81B3200D84D28 /* title_sequences.c in Sources */, + D44272671CC81B3200D84D28 /* land.c in Sources */, + D442726D1CC81B3200D84D28 /* mapgen.c in Sources */, + D44272A71CC81B3200D84D28 /* sprite.c in Sources */, + D44272941CC81B3200D84D28 /* track_list.c in Sources */, + D44272711CC81B3200D84D28 /* network_status.c in Sources */, + D44272651CC81B3200D84D28 /* guest_list.c in Sources */, + D442724F1CC81B3200D84D28 /* scenario.c in Sources */, + D442723F1CC81B3200D84D28 /* shared.c in Sources */, + D442727E1CC81B3200D84D28 /* save_prompt.c in Sources */, + D442726A1CC81B3200D84D28 /* main.c in Sources */, + D44272341CC81B3200D84D28 /* network.cpp in Sources */, + D44272001CC81B3200D84D28 /* Diagnostics.cpp in Sources */, + D44272471CC81B3200D84D28 /* ride_ratings.c in Sources */, + D44272721CC81B3200D84D28 /* new_campaign.c in Sources */, + D44272021CC81B3200D84D28 /* Json.cpp in Sources */, + D44272591CC81B3200D84D28 /* dropdown.c in Sources */, + D44272081CC81B3200D84D28 /* diagnostic.c in Sources */, + D44272A51CC81B3200D84D28 /* particle.c in Sources */, + D44272811CC81B3200D84D28 /* server_start.c in Sources */, + D44272611CC81B3200D84D28 /* finances.c in Sources */, + D442722D1CC81B3200D84D28 /* utf8.c in Sources */, + D442720B1CC81B3200D84D28 /* font.c in Sources */, + D44272361CC81B3200D84D28 /* object_list.c in Sources */, + D44272581CC81B3200D84D28 /* demolish_ride_prompt.c in Sources */, + D442723E1CC81B3200D84D28 /* posix.c in Sources */, + D44271F91CC81B3200D84D28 /* CommandLine.cpp in Sources */, + D44272051CC81B3200D84D28 /* String.cpp in Sources */, + D442725A1CC81B3200D84D28 /* editor_bottom_toolbar.c in Sources */, + D442729D1CC81B3200D84D28 /* footpath.c in Sources */, + D44272501CC81B3200D84D28 /* title.c in Sources */, + D442721D1CC81B3200D84D28 /* screenshot.c in Sources */, + D44272381CC81B3200D84D28 /* openrct2.c in Sources */, + D44271FD1CC81B3200D84D28 /* cmdline_sprite.c in Sources */, + D442720C1CC81B3200D84D28 /* line.c in Sources */, + D442720A1CC81B3200D84D28 /* drawing_fast.cpp in Sources */, + D44272191CC81B3200D84D28 /* colour.c in Sources */, + D442724C1CC81B3200D84D28 /* vehicle.c in Sources */, + D44272261CC81B3200D84D28 /* currency.c in Sources */, + D44272921CC81B3200D84D28 /* tooltip.c in Sources */, + D44271FA1CC81B3200D84D28 /* RootCommands.cpp in Sources */, + D442726B1CC81B3200D84D28 /* map.c in Sources */, + D442721E1CC81B3200D84D28 /* Theme.cpp in Sources */, + D44272271CC81B3200D84D28 /* date.c in Sources */, + D44272371CC81B3200D84D28 /* object.c in Sources */, + D44272971CC81B3200D84D28 /* viewport.c in Sources */, + D44272661CC81B3200D84D28 /* install_track.c in Sources */, + D442727F1CC81B3200D84D28 /* scenery.c in Sources */, + D442723A1CC81B3200D84D28 /* staff.c in Sources */, + D44272931CC81B3200D84D28 /* top_toolbar.c in Sources */, + D44271F61CC81B3200D84D28 /* audio.c in Sources */, + D442728A1CC81B3200D84D28 /* tile_inspector.c in Sources */, + D44272571CC81B3200D84D28 /* clear_scenery.c in Sources */, + D442727D1CC81B3200D84D28 /* ride_list.c in Sources */, + D44272891CC81B3200D84D28 /* themes.c in Sources */, + D44272791CC81B3200D84D28 /* publisher_credits.c in Sources */, + D442723B1CC81B3200D84D28 /* crash.cpp in Sources */, + D44272291CC81B3200D84D28 /* LanguagePack.cpp in Sources */, + D44272901CC81B3200D84D28 /* title_options.c in Sources */, + D44272A01CC81B3200D84D28 /* map_animation.c in Sources */, + D44271F81CC81B3200D84D28 /* cheats.c in Sources */, + D44271FC1CC81B3200D84D28 /* SpriteCommands.cpp in Sources */, + D442728B1CC81B3200D84D28 /* title_command_editor.c in Sources */, + D44272231CC81B3200D84D28 /* window.c in Sources */, + D44272451CC81B3200D84D28 /* ride.c in Sources */, + D442726E1CC81B3200D84D28 /* maze_construction.c in Sources */, + D44272751CC81B3200D84D28 /* news_options.c in Sources */, + D44272551CC81B3200D84D28 /* changelog.c in Sources */, + D442720E1CC81B3200D84D28 /* rect.c in Sources */, + D44272351CC81B3200D84D28 /* twitch.cpp in Sources */, + D44272691CC81B3200D84D28 /* loadsave.c in Sources */, + D44272061CC81B3200D84D28 /* textinputbuffer.c in Sources */, + D44272801CC81B3200D84D28 /* server_list.c in Sources */, + D44272911CC81B3200D84D28 /* title_scenarioselect.c in Sources */, + D44272411CC81B3200D84D28 /* rct1.c in Sources */, + D44272621CC81B3200D84D28 /* footpath.c in Sources */, + D44272521CC81B3200D84D28 /* util.c in Sources */, + D44272071CC81B3200D84D28 /* cursors.c in Sources */, + D442724D1CC81B3200D84D28 /* scenario_list.c in Sources */, + D44272A21CC81B3200D84D28 /* mapgen.c in Sources */, + D44272201CC81B3200D84D28 /* viewport.c in Sources */, + D442722F1CC81B3200D84D28 /* finance.c in Sources */, + D44272831CC81B3200D84D28 /* shortcut_keys.c in Sources */, + D44272141CC81B3200D84D28 /* game.c in Sources */, + D44272A11CC81B3200D84D28 /* map_helpers.c in Sources */, + D44272281CC81B3200D84D28 /* language.cpp in Sources */, + D442729B1CC81B3200D84D28 /* climate.c in Sources */, + D44272121CC81B3200D84D28 /* supports.c in Sources */, + D442726F1CC81B3200D84D28 /* multiplayer.c in Sources */, + D442725B1CC81B3200D84D28 /* editor_inventions_list.c in Sources */, + D44272311CC81B3200D84D28 /* news_item.c in Sources */, + D442720D1CC81B3200D84D28 /* rain.c in Sources */, + D44272011CC81B3200D84D28 /* Guard.cpp in Sources */, + D44272951CC81B3200D84D28 /* track_manage.c in Sources */, + D44272851CC81B3200D84D28 /* staff.c in Sources */, + D442725F1CC81B3200D84D28 /* editor_scenario_options.c in Sources */, + D44272331CC81B3200D84D28 /* http.cpp in Sources */, + D44272841CC81B3200D84D28 /* sign.c in Sources */, + D44272481CC81B3200D84D28 /* station.c in Sources */, + D44272511CC81B3200D84D28 /* sawyercoding.c in Sources */, + D442728C1CC81B3200D84D28 /* title_editor.c in Sources */, + D44272161CC81B3200D84D28 /* image_io.c in Sources */, + D44272171CC81B3200D84D28 /* input.c in Sources */, + D44272741CC81B3200D84D28 /* news.c in Sources */, + D442723C1CC81B3200D84D28 /* linux.c in Sources */, + D44272421CC81B3200D84D28 /* rct2.c in Sources */, + D44272251CC81B3200D84D28 /* convert.c in Sources */, + D442727B1CC81B3200D84D28 /* ride.c in Sources */, + D44272031CC81B3200D84D28 /* Path.cpp in Sources */, + D44272401CC81B3200D84D28 /* windows.c in Sources */, + D44272881CC81B3200D84D28 /* text_input.c in Sources */, + D442720F1CC81B3200D84D28 /* scrolling_text.c in Sources */, + D44271F51CC81B3200D84D28 /* addresses.c in Sources */, + D44272041CC81B3200D84D28 /* Stopwatch.cpp in Sources */, + D44272241CC81B3200D84D28 /* intro.c in Sources */, + D44272631CC81B3200D84D28 /* game_bottom_toolbar.c in Sources */, + D44272091CC81B3200D84D28 /* drawing.c in Sources */, + D442728E1CC81B3200D84D28 /* title_logo.c in Sources */, + D442725E1CC81B3200D84D28 /* editor_objective_options.c in Sources */, + D44272531CC81B3200D84D28 /* about.c in Sources */, + D44272821CC81B3200D84D28 /* shortcut_key_change.c in Sources */, + D442722A1CC81B3200D84D28 /* localisation.c in Sources */, + D44272731CC81B3200D84D28 /* new_ride.c in Sources */, + D442721A1CC81B3200D84D28 /* console.c in Sources */, + D44271FB1CC81B3200D84D28 /* ScreenshotCommands.cpp in Sources */, + D442729E1CC81B3200D84D28 /* fountain.c in Sources */, + D44272131CC81B3200D84D28 /* editor.c in Sources */, + D442729F1CC81B3200D84D28 /* map.c in Sources */, + D44272541CC81B3200D84D28 /* banner.c in Sources */, + D44272A31CC81B3200D84D28 /* money_effect.c in Sources */, + D44272761CC81B3200D84D28 /* options.c in Sources */, + D44272111CC81B3200D84D28 /* string.c in Sources */, + D44272771CC81B3200D84D28 /* park.c in Sources */, + D44272461CC81B3200D84D28 /* ride_data.c in Sources */, + D44272181CC81B3200D84D28 /* chat.c in Sources */, + D442724B1CC81B3200D84D28 /* track_paint.c in Sources */, + D44272641CC81B3200D84D28 /* guest.c in Sources */, + D44272961CC81B3200D84D28 /* track_place.c in Sources */, + D442727A1CC81B3200D84D28 /* research.c in Sources */, + D442722E1CC81B3200D84D28 /* award.c in Sources */, + D44272861CC81B3200D84D28 /* staff_fire_prompt.c in Sources */, + D44272221CC81B3200D84D28 /* widget.c in Sources */, + D44271F71CC81B3200D84D28 /* mixer.cpp in Sources */, + D442723D1CC81B3200D84D28 /* osx.m in Sources */, + D44271FF1CC81B3200D84D28 /* Console.cpp in Sources */, + D44272781CC81B3200D84D28 /* player.c in Sources */, + D44272991CC81B3200D84D28 /* balloon.c in Sources */, + D442727C1CC81B3200D84D28 /* ride_construction.c in Sources */, + D442724A1CC81B3200D84D28 /* track_data.c in Sources */, + D442725C1CC81B3200D84D28 /* editor_main.c in Sources */, + D44272151CC81B3200D84D28 /* hook.c in Sources */, + D44272391CC81B3200D84D28 /* peep.c in Sources */, + D44272681CC81B3200D84D28 /* land_rights.c in Sources */, + D44272601CC81B3200D84D28 /* error.c in Sources */, + D442728D1CC81B3200D84D28 /* title_exit.c in Sources */, + D442722C1CC81B3200D84D28 /* user.c in Sources */, + D44272301CC81B3200D84D28 /* marketing.c in Sources */, + D44272321CC81B3200D84D28 /* research.c in Sources */, + D442725D1CC81B3200D84D28 /* editor_object_selection.c in Sources */, + D44272981CC81B3200D84D28 /* water.c in Sources */, + D442726C1CC81B3200D84D28 /* map_tooltip.c in Sources */, + D44272701CC81B3200D84D28 /* music_credits.c in Sources */, + D44272A61CC81B3200D84D28 /* scenery.c in Sources */, + D44271FE1CC81B3200D84D28 /* config.c in Sources */, + D44272871CC81B3200D84D28 /* staff_list.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/openrct2.vcxproj b/openrct2.vcxproj index ffc532b2e5..78ee3a6adb 100644 --- a/openrct2.vcxproj +++ b/openrct2.vcxproj @@ -30,6 +30,8 @@ + + @@ -394,4 +396,4 @@ - \ No newline at end of file + diff --git a/openrct2.vcxproj.filters b/openrct2.vcxproj.filters index a32d5449d7..b5e90178aa 100644 --- a/openrct2.vcxproj.filters +++ b/openrct2.vcxproj.filters @@ -576,6 +576,12 @@ Source\Core + + Source\Core + + + Source\Core + Source\Platform @@ -583,7 +589,7 @@ Source\Core - Source\Interface + Source\Windows diff --git a/src/core/Diagnostics.cpp b/src/core/Diagnostics.cpp new file mode 100644 index 0000000000..644cb59892 --- /dev/null +++ b/src/core/Diagnostics.cpp @@ -0,0 +1,22 @@ +#include + +#if defined(DEBUG) && defined(__WINDOWS__) + #define WIN32_LEAN_AND_MEAN + #include +#endif + +#include "Diagnostics.hpp" + +namespace Debug +{ + void Break() + { +#if DEBUG +#if __WINDOWS__ + if (IsDebuggerPresent()) { + DebugBreak(); + } +#endif +#endif + } +} diff --git a/src/core/Diagnostics.hpp b/src/core/Diagnostics.hpp index 5019b8c0d8..af5104819c 100644 --- a/src/core/Diagnostics.hpp +++ b/src/core/Diagnostics.hpp @@ -1,22 +1,9 @@ #pragma once -#if _WIN32 -#include -#endif - /** * Utility methods for asserting and logging. */ namespace Debug { - void Break() - { -#if DEBUG -#if _WIN32 - if (IsDebuggerPresent()) { - DebugBreak(); - } -#endif -#endif - } + void Break(); } diff --git a/src/core/Guard.cpp b/src/core/Guard.cpp new file mode 100644 index 0000000000..41b66ed19a --- /dev/null +++ b/src/core/Guard.cpp @@ -0,0 +1,24 @@ +#include +#include + +#include "Console.hpp" +#include "Diagnostics.hpp" +#include "Guard.hpp" + +namespace Guard +{ + void Assert(bool expression, const char * message) + { + if (expression) return; + + if (message != nullptr) + { + Console::Error::WriteLine(message); + } + +#if DEBUG + Debug::Break(); +#endif + assert(false); + } +} diff --git a/src/core/Guard.hpp b/src/core/Guard.hpp index 8556ce215a..48c89ae5c0 100644 --- a/src/core/Guard.hpp +++ b/src/core/Guard.hpp @@ -1,30 +1,11 @@ #pragma once -#include -#include - -#include "Console.hpp" -#include "Diagnostics.hpp" - /** * Utility methods for asserting function parameters. */ namespace Guard { - void Assert(bool expression, const char * message = nullptr) - { - if (expression) return; - - if (message != nullptr) - { - Console::Error::WriteLine(message); - } - -#if DEBUG - Debug::Break(); -#endif - assert(false); - } + void Assert(bool expression, const char * message = nullptr); template void ArgumentNotNull(T * argument, const char * message = nullptr) diff --git a/src/network/twitch.cpp b/src/network/twitch.cpp index 738df2791d..b52fecd95a 100644 --- a/src/network/twitch.cpp +++ b/src/network/twitch.cpp @@ -1,449 +1,577 @@ #ifdef DISABLE_TWITCH - extern "C" { - #include "twitch.h" - } + extern "C" + { + #include "twitch.h" + } - void twitch_update() { } + void twitch_update() { } #else -// REQUIRES HTTP +#ifdef DISABLE_HTTP + #error HTTP must be enabled to use the TWITCH functionality. +#endif -#include -#include - -extern "C" { - - #include "../addresses.h" - #include "../config.h" - #include "../interface/console.h" - #include "../localisation/localisation.h" - #include "../management/news_item.h" - #include "../peep/peep.h" - #include "../world/sprite.h" - #include "../util/util.h" - #include "http.h" - #include "twitch.h" +#include "../core/List.hpp" +#include "../core/Math.hpp" +#include "../core/String.hpp" +extern "C" +{ + #include "../addresses.h" + #include "../config.h" + #include "../drawing/drawing.h" + #include "../interface/console.h" + #include "../localisation/localisation.h" + #include "../management/news_item.h" + #include "../peep/peep.h" + #include "../world/sprite.h" + #include "../util/util.h" + #include "http.h" + #include "twitch.h" } -enum { - TWITCH_STATE_JOINING, - TWITCH_STATE_JOINED, - TWITCH_STATE_WAITING, - TWITCH_STATE_GET_FOLLOWERS, - TWITCH_STATE_GET_MESSAGES, - TWITCH_STATE_LEAVING, - TWITCH_STATE_LEFT -}; - -// The time between HTTP requests. -// TODO Ideally, the chat message pulse should be more frequent than the followers / chat members so that news messages etc. -// have a lower latency. -#define PULSE_TIME (10 * 1000) - -const char *TwitchExtendedBaseUrl = "http://openrct.ursalabs.co/api/1/"; - bool gTwitchEnable = false; -static int _twitchState = TWITCH_STATE_LEFT; -static bool _twitchIdle = true; -static uint32 _twitchLastPulseTick = 0; -static int _twitchLastPulseOperation = 1; -static http_json_response *_twitchJsonResponse; +namespace Twitch +{ + enum + { + TWITCH_STATE_JOINING, + TWITCH_STATE_JOINED, + TWITCH_STATE_WAITING, + TWITCH_STATE_GET_FOLLOWERS, + TWITCH_STATE_GET_MESSAGES, + TWITCH_STATE_LEAVING, + TWITCH_STATE_LEFT + }; -static void twitch_join(); -static void twitch_leave(); -static void twitch_get_followers(); -static void twitch_get_messages(); + enum + { + TWITCH_STATUS_OK = 200 + }; -static void twitch_parse_followers(); -static void twitch_parse_messages(); -static void twitch_parse_chat_message(const char *message); + struct AudienceMember + { + const char * Name; + bool IsFollower; + bool IsInChat; + bool IsMod; + bool Exists; + bool ShouldTrack; + + static AudienceMember FromJson(json_t * json) + { + AudienceMember member = { 0 }; + + if (!json_is_object(json)) return member; + json_t * name = json_object_get(json, "name"); + json_t * isFollower = json_object_get(json, "isFollower"); + json_t * isInChat = json_object_get(json, "inChat"); + json_t * isMod = json_object_get(json, "isMod"); + + member.Name = json_string_value(name); + member.IsFollower = json_boolean_value(isFollower); + member.IsInChat = json_boolean_value(isInChat); + member.IsMod = json_boolean_value(isMod); + member.Exists = false; + member.ShouldTrack = false; + return member; + } + }; + + /** + * The time between HTTP requests. + * TODO Ideally, the chat message pulse should be more frequent than the followers / chat members so that news messages etc. + * have a lower latency. + */ + constexpr uint32 PulseTime = 10 * 1000; + constexpr const char * TwitchExtendedBaseUrl = "http://openrct.ursalabs.co/api/1/"; + + static int _twitchState = TWITCH_STATE_LEFT; + static bool _twitchIdle = true; + static uint32 _twitchLastPulseTick = 0; + static int _twitchLastPulseOperation = 1; + static http_json_response * _twitchJsonResponse; + + static void Join(); + static void Leave(); + static void GetFollowers(); + static void GetMessages(); + static void ParseFollowers(); + static void ParseMessages(); + static bool ShouldTrackMember(const AudienceMember * member); + static bool ShouldMemberBeGuest(const AudienceMember * member); + static void ManageGuestNames(List &members); + static void ParseChatMessage(const char * message); + static void DoChatMessageNews(const char * message); + + static bool IsTwitchEnabled() + { + if (!gTwitchEnable) return false; + if (RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & (~SCREEN_FLAGS_PLAYING)) return false; + if (String::IsNullOrEmpty(gConfigTwitch.channel)) return false; + return true; + } + + static void Update() + { + if (!_twitchIdle) return; + if (IsTwitchEnabled()) { + if (RCT2_GLOBAL(RCT2_ADDRESS_GAME_PAUSED, uint8) != 0) return; + + switch (_twitchState) { + case TWITCH_STATE_LEFT: + { + uint32 currentTime = SDL_GetTicks(); + uint32 timeSinceLastPulse = currentTime - _twitchLastPulseTick; + if (_twitchLastPulseTick == 0 || timeSinceLastPulse > PulseTime) + { + _twitchLastPulseTick = currentTime; + Join(); + } + break; + } + case TWITCH_STATE_JOINED: + { + uint32 currentTime = SDL_GetTicks(); + uint32 timeSinceLastPulse = currentTime - _twitchLastPulseTick; + if (_twitchLastPulseTick == 0 || timeSinceLastPulse > PulseTime) { + _twitchLastPulseTick = currentTime; + _twitchLastPulseOperation = (_twitchLastPulseOperation + 1) % 2; + switch (_twitchLastPulseOperation + TWITCH_STATE_GET_FOLLOWERS) { + case TWITCH_STATE_GET_FOLLOWERS: + GetFollowers(); + break; + case TWITCH_STATE_GET_MESSAGES: + if (gConfigTwitch.enable_news) + { + GetMessages(); + } + break; + } + } + break; + } + case TWITCH_STATE_GET_FOLLOWERS: + ParseFollowers(); + break; + case TWITCH_STATE_GET_MESSAGES: + ParseMessages(); + break; + } + } + else + { + if (_twitchState != TWITCH_STATE_LEFT) + { + Leave(); + } + } + } + + /** + * GET /leave/:join + */ + static void Join() + { + char url[256]; + snprintf(url, sizeof(url), "%sjoin/%s", TwitchExtendedBaseUrl, gConfigTwitch.channel); + + _twitchState = TWITCH_STATE_JOINING; + _twitchIdle = false; + + http_json_request request; + request.url = url; + request.method = HTTP_METHOD_GET; + request.body = nullptr; + http_request_json_async(&request, [](http_json_response *jsonResponse) -> void + { + if (jsonResponse == nullptr) + { + _twitchState = TWITCH_STATE_LEFT; + console_writeline("Unable to connect to twitch channel."); + } + else + { + json_t * jsonStatus = json_object_get(jsonResponse->root, "status"); + if (json_is_number(jsonStatus) && json_integer_value(jsonStatus) == TWITCH_STATUS_OK) + { + _twitchState = TWITCH_STATE_JOINED; + } + else + { + _twitchState = TWITCH_STATE_LEFT; + } + + http_request_json_dispose(jsonResponse); + + _twitchLastPulseTick = 0; + console_writeline("Connected to twitch channel."); + } + _twitchIdle = true; + }); + } + + /** + * GET /leave/:channel + */ + static void Leave() + { + if (_twitchJsonResponse != nullptr) + { + http_request_json_dispose(_twitchJsonResponse); + _twitchJsonResponse = nullptr; + } + + console_writeline("Left twitch channel."); + _twitchState = TWITCH_STATE_LEFT; + _twitchLastPulseTick = 0; + gTwitchEnable = false; + + // TODO reset all peeps with twitch flag + + // HTTP request no longer used as it could be abused + // char url[256]; + // snprintf(url, sizeof(url), "%sleave/%s", TwitchExtendedBaseUrl, gConfigTwitch.channel); + // _twitchState = TWITCH_STATE_LEAVING; + // _twitchIdle = false; + // http_request_json_async(url, [](http_json_response * jsonResponse) -> void + // { + // http_request_json_dispose(jsonResponse); + // _twitchState = TWITCH_STATE_LEFT; + // _twitchIdle = true; + // + // console_writeline("Left twitch channel."); + // }); + } + + /** + * GET /channel/:channel/audience + */ + static void GetFollowers() + { + char url[256]; + snprintf(url, sizeof(url), "%schannel/%s/audience", TwitchExtendedBaseUrl, gConfigTwitch.channel); + + _twitchState = TWITCH_STATE_WAITING; + _twitchIdle = false; + + http_json_request request; + request.url = url; + request.method = HTTP_METHOD_GET; + request.body = NULL; + http_request_json_async(&request, [](http_json_response * jsonResponse) -> void + { + if (jsonResponse == nullptr) + { + _twitchState = TWITCH_STATE_JOINED; + } + else + { + _twitchJsonResponse = jsonResponse; + _twitchState = TWITCH_STATE_GET_FOLLOWERS; + } + _twitchIdle = true; + }); + } + + /** + * GET /channel/:channel/messages + */ + static void GetMessages() + { + char url[256]; + snprintf(url, sizeof(url), "%schannel/%s/messages", TwitchExtendedBaseUrl, gConfigTwitch.channel); + + _twitchState = TWITCH_STATE_WAITING; + _twitchIdle = false; + + http_json_request request; + request.url = url; + request.method = HTTP_METHOD_GET; + request.body = nullptr; + http_request_json_async(&request, [](http_json_response * jsonResponse) -> void + { + if (jsonResponse == nullptr) + { + _twitchState = TWITCH_STATE_JOINED; + } + else + { + _twitchJsonResponse = jsonResponse; + _twitchState = TWITCH_STATE_GET_MESSAGES; + } + _twitchIdle = true; + }); + } + + static void ParseFollowers() + { + http_json_response *jsonResponse = _twitchJsonResponse; + if (json_is_array(jsonResponse->root)) + { + List members; + + size_t audienceCount = json_array_size(jsonResponse->root); + for (size_t i = 0; i < audienceCount; i++) + { + json_t * jsonAudienceMember = json_array_get(jsonResponse->root, i); + auto member = AudienceMember::FromJson(jsonAudienceMember); + if (!String::IsNullOrEmpty(member.Name)) + { + member.ShouldTrack = ShouldTrackMember(&member); + if (ShouldMemberBeGuest(&member)) + { + members.Add(member); + } + } + } + + ManageGuestNames(members); + } + + http_request_json_dispose(_twitchJsonResponse); + _twitchJsonResponse = NULL; + _twitchState = TWITCH_STATE_JOINED; + + gfx_invalidate_screen(); + } + + static void ParseMessages() + { + http_json_response * jsonResponse = _twitchJsonResponse; + if (json_is_array(jsonResponse->root)) + { + size_t messageCount = json_array_size(jsonResponse->root); + for (size_t i = 0; i < messageCount; i++) { + json_t * jsonMessage = json_array_get(jsonResponse->root, i); + if (!json_is_object(jsonMessage)) + { + continue; + } + + json_t * jsonText = json_object_get(jsonMessage, "message"); + const char * text = json_string_value(jsonText); + ParseChatMessage(text); + } + } + + http_request_json_dispose(_twitchJsonResponse); + _twitchJsonResponse = nullptr; + _twitchState = TWITCH_STATE_JOINED; + } + + static bool ShouldTrackMember(const AudienceMember * member) + { + if (member->IsInChat && gConfigTwitch.enable_chat_peep_tracking) + { + return true; + } + else if (member->IsFollower && gConfigTwitch.enable_follower_peep_tracking) + { + return true; + } + return false; + } + + static bool ShouldMemberBeGuest(const AudienceMember * member) + { + if (gConfigTwitch.enable_chat_peep_names && member->IsInChat) + { + return true; + } + else if (gConfigTwitch.enable_follower_peep_names && member->IsFollower) + { + return true; + } + return false; + } + + static void ManageGuestNames(List &members) + { + // Check what followers are already in the park + uint16 spriteIndex; + rct_peep *peep; + FOR_ALL_GUESTS(spriteIndex, peep) + { + if (is_user_string_id(peep->name_string_idx)) + { + utf8 buffer[256]; + format_string(buffer, peep->name_string_idx, NULL); + + AudienceMember * member = nullptr; + for (AudienceMember &member : members) + { + if (String::Equals(buffer, member.Name, true)) + { + member.Exists = true; + break; + } + } + + if (peep->peep_flags & PEEP_FLAGS_TWITCH) + { + if (member == nullptr) + { + // Member no longer peep name worthy + peep->peep_flags &= ~(PEEP_FLAGS_TRACKING | PEEP_FLAGS_TWITCH); + + // TODO set peep name back to number / real name + } + else + { + if (member->ShouldTrack) + { + peep->peep_flags |= (PEEP_FLAGS_TRACKING); + } + else if (!member->ShouldTrack) + { + peep->peep_flags &= ~(PEEP_FLAGS_TRACKING); + } + } + } + else if (member != nullptr && !(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)) + { + // Peep with same name already exists but not twitch + peep->peep_flags |= PEEP_FLAGS_TWITCH; + if (member->ShouldTrack) + { + peep->peep_flags |= PEEP_FLAGS_TRACKING; + } + } + } + } + + // Rename non-named peeps to followers that aren't currently in the park. + if (members.GetCount() > 0) + { + size_t memberIndex = SIZE_MAX; + FOR_ALL_GUESTS(spriteIndex, peep) + { + int originalMemberIndex = memberIndex; + for (size_t i = memberIndex + 1; i < members.GetCount(); i++) + { + if (!members[i].Exists) + { + memberIndex = i; + break; + } + } + if (originalMemberIndex == memberIndex) + { + break; + } + + AudienceMember * member = &members[memberIndex]; + if (!is_user_string_id(peep->name_string_idx) && !(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)) + { + // Rename peep and add flags + rct_string_id newStringId = user_string_allocate(4, member->Name); + if (newStringId != 0) + { + peep->name_string_idx = newStringId; + peep->peep_flags |= PEEP_FLAGS_TWITCH; + if (member->ShouldTrack) + { + peep->peep_flags |= PEEP_FLAGS_TRACKING; + } + } + } + else + { + // Peep still yet to be found for member + memberIndex--; + } + } + } + } + + /** + * Like strchr but allows searching for one of many characters. + */ + static char * strchrm(const char * str, const char * find) + { + const char * result = nullptr; + do + { + const char * fch = find; + while (*fch != '\0') + { + if (*str == *fch) + { + return (char *)str; + } + fch++; + } + } + while (*str++ != '\0'); + return nullptr; + } + + static char * strskipwhitespace(const char * str) + { + while (*str == ' ' || *str == '\t') + { + str++; + } + return (char *)str; + } + + static void ParseChatMessage(const char * message) + { + message = strskipwhitespace(message); + if (!String::StartsWith(message, "!")) + { + return; + } + + // Skip '!' + message++; + + // Set buffer to the next word / token and skip + char buffer[32]; + const char * ch = strchrm(message, " \t"); + safe_strcpy(buffer, message, Math::Min(sizeof(buffer), (size_t)(ch - message + 1))); + ch = strskipwhitespace(ch); + + // Check what the word / token is + if (String::Equals(buffer, "news", true)) + { + DoChatMessageNews(ch); + } + } + + static void DoChatMessageNews(const char * message) + { + if (gConfigTwitch.enable_news) + { + utf8 buffer[256]; + buffer[0] = (utf8)FORMAT_TOPAZ; + safe_strcpy(buffer + 1, message, sizeof(buffer) - 1); + + // Remove unsupport characters + // TODO allow when OpenRCT2 gains unicode support + char * ch = buffer + 1; + while (ch[0] != '\0') + { + if ((unsigned char)ch[0] < 32 || (unsigned char)ch[0] > 122) + { + ch[0] = ' '; + } + ch++; + } + + // TODO Create a new news item type for twitch which has twitch icon + news_item_add_to_queue_raw(NEWS_ITEM_BLANK, buffer, 0); + } + } +} void twitch_update() { - if (!_twitchIdle) - return; - - bool twitchable = - !(RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & (~SCREEN_FLAGS_PLAYING)) && - gConfigTwitch.channel != NULL && - gConfigTwitch.channel[0] != 0 && - gTwitchEnable; - - if (twitchable) { - if (RCT2_GLOBAL(RCT2_ADDRESS_GAME_PAUSED, uint8) != 0) - return; - - switch (_twitchState) { - case TWITCH_STATE_LEFT: - { - uint32 currentTime = SDL_GetTicks(); - uint32 timeSinceLastPulse = currentTime - _twitchLastPulseTick; - if (_twitchLastPulseTick == 0 || timeSinceLastPulse > PULSE_TIME) { - _twitchLastPulseTick = currentTime; - twitch_join(); - } - break; - } - case TWITCH_STATE_JOINED: - { - uint32 currentTime = SDL_GetTicks(); - uint32 timeSinceLastPulse = currentTime - _twitchLastPulseTick; - if (_twitchLastPulseTick == 0 || timeSinceLastPulse > PULSE_TIME) { - _twitchLastPulseTick = currentTime; - _twitchLastPulseOperation = (_twitchLastPulseOperation + 1) % 2; - switch (_twitchLastPulseOperation + TWITCH_STATE_GET_FOLLOWERS) { - case TWITCH_STATE_GET_FOLLOWERS: - twitch_get_followers(); - break; - case TWITCH_STATE_GET_MESSAGES: - if (gConfigTwitch.enable_news) - twitch_get_messages(); - break; - } - } - break; - } - case TWITCH_STATE_GET_FOLLOWERS: - twitch_parse_followers(); - break; - case TWITCH_STATE_GET_MESSAGES: - twitch_parse_messages(); - break; - } - } else { - if (_twitchState != TWITCH_STATE_LEFT) - twitch_leave(); - } -} - -/** - * GET /leave/:join - */ -static void twitch_join() -{ - char url[256]; - sprintf(url, "%sjoin/%s", TwitchExtendedBaseUrl, gConfigTwitch.channel); - - _twitchState = TWITCH_STATE_JOINING; - _twitchIdle = false; - - http_json_request request; - request.url = url; - request.method = HTTP_METHOD_GET; - request.body = NULL; - http_request_json_async(&request, [](http_json_response *jsonResponse) -> void { - if (jsonResponse == NULL) { - _twitchState = TWITCH_STATE_LEFT; - console_writeline("Unable to connect to twitch channel."); - } else { - json_t *jsonStatus = json_object_get(jsonResponse->root, "status"); - if (json_is_number(jsonStatus) && json_integer_value(jsonStatus) == 200) - _twitchState = TWITCH_STATE_JOINED; - else - _twitchState = TWITCH_STATE_LEFT; - - http_request_json_dispose(jsonResponse); - - _twitchLastPulseTick = 0; - console_writeline("Connected to twitch channel."); - } - _twitchIdle = true; - }); -} - -/** - * GET /leave/:channel - */ -static void twitch_leave() -{ - if (_twitchJsonResponse != NULL) { - http_request_json_dispose(_twitchJsonResponse); - _twitchJsonResponse = NULL; - } - - console_writeline("Left twitch channel."); - _twitchState = TWITCH_STATE_LEFT; - _twitchLastPulseTick = 0; - gTwitchEnable = false; - - // TODO reset all peeps with twitch flag - - // HTTP request no longer used as it could be abused - // char url[256]; - // sprintf(url, "%sleave/%s", TwitchExtendedBaseUrl, gConfigTwitch.channel); - // _twitchState = TWITCH_STATE_LEAVING; - // _twitchIdle = false; - // http_request_json_async(url, [](http_json_response *jsonResponse) -> void { - // http_request_json_dispose(jsonResponse); - // _twitchState = TWITCH_STATE_LEFT; - // _twitchIdle = true; - // - // console_writeline("Left twitch channel."); - // }); -} - -/** - * GET /channel/:channel/audience - */ -static void twitch_get_followers() -{ - char url[256]; - sprintf(url, "%schannel/%s/audience", TwitchExtendedBaseUrl, gConfigTwitch.channel); - - _twitchState = TWITCH_STATE_WAITING; - _twitchIdle = false; - - http_json_request request; - request.url = url; - request.method = HTTP_METHOD_GET; - request.body = NULL; - http_request_json_async(&request, [](http_json_response *jsonResponse) -> void { - if (jsonResponse == NULL) { - _twitchState = TWITCH_STATE_JOINED; - } else { - _twitchJsonResponse = jsonResponse; - _twitchState = TWITCH_STATE_GET_FOLLOWERS; - } - _twitchIdle = true; - }); -} - -/** - * GET /channel/:channel/messages - */ -static void twitch_get_messages() -{ - char url[256]; - sprintf(url, "%schannel/%s/messages", TwitchExtendedBaseUrl, gConfigTwitch.channel); - - _twitchState = TWITCH_STATE_WAITING; - _twitchIdle = false; - - http_json_request request; - request.url = url; - request.method = HTTP_METHOD_GET; - request.body = NULL; - http_request_json_async(&request, [](http_json_response *jsonResponse) -> void { - if (jsonResponse == NULL) { - _twitchState = TWITCH_STATE_JOINED; - } else { - _twitchJsonResponse = jsonResponse; - _twitchState = TWITCH_STATE_GET_MESSAGES; - } - _twitchIdle = true; - }); -} - -static void twitch_parse_followers() -{ - struct AudienceMember { - const char *name; - bool isFollower; - bool isInChat; - bool isMod; - bool exists; - bool shouldTrack; - }; - - std::vector members; - - http_json_response *jsonResponse = _twitchJsonResponse; - if (json_is_array(jsonResponse->root)) { - int audienceCount = json_array_size(jsonResponse->root); - for (int i = 0; i < audienceCount; i++) { - json_t *audienceMember = json_array_get(jsonResponse->root, i); - if (!json_is_object(audienceMember)) - continue; - - json_t *name = json_object_get(audienceMember, "name"); - json_t *isFollower = json_object_get(audienceMember, "isFollower"); - json_t *isInChat = json_object_get(audienceMember, "inChat"); - json_t *isMod = json_object_get(audienceMember, "isMod"); - - AudienceMember member; - member.name = json_string_value(name); - member.isFollower = json_boolean_value(isFollower); - member.isInChat = json_boolean_value(isInChat); - member.isMod = json_boolean_value(isMod); - member.exists = false; - member.shouldTrack = false; - - if (member.name == NULL || member.name[0] == 0) - continue; - - if (member.isInChat && gConfigTwitch.enable_chat_peep_tracking) - member.shouldTrack = true; - else if (member.isFollower && gConfigTwitch.enable_follower_peep_tracking) - member.shouldTrack = true; - - if (gConfigTwitch.enable_chat_peep_names && member.isInChat) - members.push_back(member); - else if (gConfigTwitch.enable_follower_peep_names && member.isFollower) - members.push_back(member); - } - - uint16 spriteIndex; - rct_peep *peep; - char buffer[256]; - - // Check what followers are already in the park - FOR_ALL_GUESTS(spriteIndex, peep) { - if (is_user_string_id(peep->name_string_idx)) { - format_string(buffer, peep->name_string_idx, NULL); - - AudienceMember *member = NULL; - for (size_t i = 0; i < members.size(); i++) { - if (_strcmpi(buffer, members[i].name) == 0) { - member = &members[i]; - members[i].exists = true; - break; - } - } - - if (peep->peep_flags & PEEP_FLAGS_TWITCH) { - if (member == NULL) { - // Member no longer peep name worthy - peep->peep_flags &= ~(PEEP_FLAGS_TRACKING | PEEP_FLAGS_TWITCH); - - // TODO set peep name back to number / real name - } else { - if (member->shouldTrack) - peep->peep_flags |= (PEEP_FLAGS_TRACKING); - else if (!member->shouldTrack) - peep->peep_flags &= ~(PEEP_FLAGS_TRACKING); - } - } else if (member != NULL && !(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)) { - // Peep with same name already exists but not twitch - peep->peep_flags |= PEEP_FLAGS_TWITCH; - if (member->shouldTrack) - peep->peep_flags |= PEEP_FLAGS_TRACKING; - } - } - } - - // Rename non-named peeps to followers that aren't currently in the park. - if (members.size() > 0) { - int memberIndex = -1; - FOR_ALL_GUESTS(spriteIndex, peep) { - int originalMemberIndex = memberIndex; - for (size_t i = memberIndex + 1; i < members.size(); i++) { - if (!members[i].exists) { - memberIndex = i; - break; - } - } - if (originalMemberIndex == memberIndex) - break; - - AudienceMember *member = &members[memberIndex]; - if (!is_user_string_id(peep->name_string_idx) && !(peep->peep_flags & PEEP_FLAGS_LEAVING_PARK)) { - // Rename peep and add flags - rct_string_id newStringId = user_string_allocate(4, member->name); - if (newStringId != 0) { - peep->name_string_idx = newStringId; - peep->peep_flags |= PEEP_FLAGS_TWITCH; - if (member->shouldTrack) - peep->peep_flags |= PEEP_FLAGS_TRACKING; - } - } else { - // Peep still yet to be found for member - memberIndex--; - } - } - } - } - - http_request_json_dispose(_twitchJsonResponse); - _twitchJsonResponse = NULL; - _twitchState = TWITCH_STATE_JOINED; - - gfx_invalidate_screen(); -} - -static void twitch_parse_messages() -{ - http_json_response *jsonResponse = _twitchJsonResponse; - if (json_is_array(jsonResponse->root)) { - int messageCount = json_array_size(jsonResponse->root); - for (int i = 0; i < messageCount; i++) { - json_t *jsonMessage = json_array_get(jsonResponse->root, i); - if (!json_is_object(jsonMessage)) - continue; - - json_t *jsonText = json_object_get(jsonMessage, "message"); - const char *text = json_string_value(jsonText); - - twitch_parse_chat_message(text); - } - } - - http_request_json_dispose(_twitchJsonResponse); - _twitchJsonResponse = NULL; - _twitchState = TWITCH_STATE_JOINED; -} - -/** - * Like strchr but allows searching for one of many characters. - */ -static char *strchrm(const char *str, const char *find) -{ - const char *result = NULL; - do { - const char *fch = find; - while (*fch != 0) { - if (*str == *fch) - return (char*)str; - - fch++; - } - } while (*str++ != 0); - return NULL; -} - -static char *strskipwhitespace(const char *str) -{ - while (*str == ' ' || *str == '\t') - str++; - - return (char*)str; -} - -static void twitch_parse_chat_message(const char *message) -{ - char buffer[256], *ch; - - message = strskipwhitespace(message); - if (message[0] != '!') - return; - - message++; - ch = strchrm(message, " \t"); - safe_strcpy(buffer, message, ch - message + 1); - if (_strcmpi(buffer, "news") == 0) { - if (gConfigTwitch.enable_news) { - ch = strskipwhitespace(ch); - - buffer[0] = (char)FORMAT_TOPAZ; - safe_strcpy(buffer + 1, ch, sizeof(buffer) - 2); - - // Remove unsupport characters - // TODO allow when OpenRCT2 gains unicode support - ch = buffer; - while (ch[0] != 0) { - if ((unsigned char)ch[0] < 32 || (unsigned char)ch[0] > 122) { - ch[0] = ' '; - } - ch++; - } - - // TODO Create a new news item type for twitch which has twitch icon - news_item_add_to_queue_raw(NEWS_ITEM_BLANK, buffer, 0); - } - } + Twitch::Update(); } #endif