Ted John
20fdd46b96
Fix #7513 : OpenRCT2 freezes on shutdown ( #7514 )
...
Store drawing engine and painter inside Context so that it is disposed before Context.
2018-05-13 15:52:59 +01:00
Ted John
7eb1703f36
Remove old bitmap code via UiContext
2018-05-13 01:11:56 +01:00
Ted John
529c744276
Use unique_ptr and shared_ptr for services in Context
2018-05-13 00:43:50 +01:00
Ted John
9e72e51bab
Use std::unique_ptr for discord service
2018-05-11 20:39:00 +01:00
Ted John
8eacc3582c
Remove PlainContext
2018-05-11 20:39:00 +01:00
Ted John
302fe00805
Always pass shared_ptr by reference
2018-05-11 20:39:00 +01:00
Ted John
d1cbf998a0
Do not return shared_ptr for LocalisationService
...
GetLocalisationService is currently used a lot, so remove overhead of shared_ptr copy.
2018-05-11 20:39:00 +01:00
Ted John
35df72e61f
Remove use of gCurrentLanguage
2018-05-11 20:39:00 +01:00
Ted John
8681b4fac9
[wip] Create new localisation service
2018-05-11 20:37:48 +01:00
Ted John
7b610fd3c0
Use shared_ptr more for UiContext in relation to DrawingEngine
2018-05-11 20:37:48 +01:00
Ted John
7dc170ef85
Use shared_ptr for long-life objects
...
Use unique_ptr and shared_ptr for IContext, IPlatformEnvironment, IUiContext, and IAudioContext.
2018-05-11 20:37:48 +01:00
woj1993
4b372120f1
Fix #6141 : CSS50.dat is never loaded ( #7357 )
2018-04-13 11:29:31 +01:00
Hielke Morsink
dc673a64d8
Give context the ownership of repositories and the object manager ( #7340 )
...
This makes them no longer a singleton, which fixes annoying behaviour when launching multiple contexts in one game session.
2018-04-10 13:19:23 +01:00
Duncan
0ab3d0955c
Merge pull request #7310 from OpenRCT2/json-objects
...
Add support for new JSON object format
2018-04-08 10:45:55 +01:00
Michał Janiszewski
3b7864957a
Cleanly shutdown in case of invalid g1.dat ( #7361 )
2018-03-30 15:38:22 +01:00
Ted John
f91449190a
Allow game to run without RCT2 install path
2018-03-26 21:38:09 +02:00
Hielke Morsink
c5aececcb1
Set scenario save path upon successfully loading a park
...
Instead of setting the path when clicking on a file in the loadsave dialog, it's now set when the park gets actually loaded.
This fixes the System Dialog not showing when saving a park loaded from command.
2018-03-24 13:24:39 +01:00
Ted John
a6d03b3b0f
Fix segfault when exiting a network game
...
Separate out closing of connection into a new method so only that is called when closing the game which then means gfx_invalidate_screen is not called.
2018-03-23 21:54:45 +00:00
Ted John
f7dafa9bbb
Only enable interactive console for headless
2018-03-22 20:16:58 +00:00
Ted John
dd0573b235
Move in game console to UI library
2018-03-22 20:16:58 +00:00
Ted John
d18f416370
Add basic interactive console using linenoise
2018-03-22 20:16:58 +00:00
Michał Janiszewski
fc97c8c5db
Reduce inclusion of <string> header
2018-03-21 22:39:19 +01:00
Michał Janiszewski
cd065d4f41
Reduce includes in common header
2018-03-20 00:27:58 +01:00
Michał Janiszewski
4dd0995efb
Move cmath out of common.h
2018-03-18 23:29:13 +01:00
Hielke Morsink
69867bcecd
Fix typo 'instad' -> 'instead' [ci skip]
2018-03-13 23:44:34 +01:00
Michał Janiszewski
764520076f
Reduce header inclusion
...
* Update includes in PlatformEnvironment.cpp
* Update includes in ParkImporter.h
* Update includes of OpenRCT2.h
* Update includes in Intro.h
* Remove unused include from Input.cpp
* Update includes of Imaging.h
* Update includes in Game.h
* Update includes in Editor.h
* Update includes of Context.cpp
* Update includes in Cheats.cpp, CmdlineSprite.cpp
* Update includes of some source files
* Update includes in some cpp files
* Update includes in some cpp files
* Update includes in TextureCache.h
* Fix tests
* Update includes in Font.cpp
* Update includes in LightFX files
* Update some includes
* Fix GCC builds
* Update some includes
* Update some includes
* Update includes in FontsFamilies.*
* Update includes of Console.h
* Improve includes in Window.h
* Improve headers in Viewport.h/Window.h
* Fix MSVC build
* Fix network-less builds
* Reduce inclusion of Map.h
2018-03-13 13:14:02 +01:00
Michał Janiszewski
282553f0c5
Upgrade some char arrays to strings
2018-02-07 23:14:29 +01:00
Ted John
b0755123fd
Fix loading of bad g1.dat
2018-02-05 18:47:40 +00:00
Ted John
76344498bb
Fix outPath not set in platform_get_user_directory
2018-02-05 17:19:39 +00:00
Gymnasiast
778ba466c5
Remove almost every extern C block
2018-02-05 16:20:15 +01:00
Ted John
0c71855769
Replace Memory::Copy with std::copy
2018-02-04 12:40:24 +00:00
Ted John
87cd9f88b3
Rewrite Platform::GetInstallPath
2018-02-02 12:41:26 +00:00
ZehMatt
abd74dbb1e
Add exception handling in LoadParkFromFile.
2018-01-21 21:46:11 +00:00
Ted John
d9d2b2373d
Rename crash.h to Crash.h
2018-01-18 21:12:41 +00:00
ZehMatt
84f2917f59
Use const and constexpr whenever possible.
2018-01-11 22:29:08 +01:00
Michael Steenbeek
6a88d6e04d
Move and rename RCT{1,2,12}.h
2018-01-09 13:36:41 +01:00
Ted John
c974daf467
Refactor console.c to C++
2018-01-07 12:39:58 +01:00
Ted John
b781291b58
Refactor chat.c to C++
2018-01-07 12:39:58 +01:00
Michael Steenbeek
755add6c9a
Compile localisation folder as C++
2018-01-06 18:32:25 +01:00
Ted John
0c3c998177
Refactor lightfx.c to C++
2018-01-05 22:57:55 +01:00
Ted John
02c58a6c5a
Remove custom base Exception class
2018-01-05 18:11:47 +00:00
Michael Steenbeek
347ff702d0
Refactor objects
2018-01-03 10:16:51 +01:00
Tomas Dittmann
c22dac0a29
add missing exception handling.
...
LoadParkFromStream() now handles exceptions from parkImporter->LoadFromStream().
2017-12-27 14:32:19 +00:00
Marijn van der Werf
e9ef843619
Move majority of input.c to UI
2017-12-16 15:47:38 +02:00
Ted John
6e34aaa321
Fix debug assert when closing game from object selection
2017-12-16 12:22:14 +00:00
Michael Steenbeek
1a9975d683
Compile util and cheats as C++
2017-12-14 10:03:21 +01:00
Michael Steenbeek
6dc49d643a
Compile files in base dir as C++
2017-12-13 08:03:48 +01:00
Christian F. Coors
0aa515355a
Add cursor scaling
2017-12-12 22:11:40 +01:00
Michael Steenbeek
60d8865efb
Compile game.c and game.h as C++
2017-12-05 09:10:27 +01:00
Ted John
99d7aaa2d6
Remove RCT2 interop
2017-12-04 19:04:06 +00:00
Ted John
66a6aa95f6
Redirect platform_get_user_directory to IPlatformEnvironment
...
- Remove old code for getting user directory, redirect to IPlatformEnvironment.
- Fix config loading so that it uses path straight from IPlatformEnvironment.
- Add more special folder implementation in Platform2.
2017-12-01 21:09:52 +00:00
Ted John
323b8dd352
Partially fix #6129 : Guest List not updating after a ride rename
...
- Force refresh of ride list and guest list for both rename ride and demolish ride actions.
2017-11-23 09:40:39 +01:00
Ted John
b5137b0e37
Merge pull request #6574 from IntelOrca/protect-g1-access
...
Refactor g1 access
2017-11-16 18:51:32 +00:00
Ted John
83e80d9658
Implement basic discord status report
2017-11-11 23:48:04 +00:00
Robert Jordan
9ae4f7d1bc
Fix #6500 : Fail to load resources when no config
...
A simple fix of setting the environment paths before the repositories
are loaded.
Added a changelog entry
2017-11-07 21:03:58 +00:00
Ted John
5a05bd51e5
Use get_g1_element and add null checks
2017-11-03 22:18:10 +00:00
Marijn van der Werf
45b75692d9
Fix code style
2017-11-03 01:54:37 +01:00
Marijn van der Werf
4a4f9648a7
Move network status window to UI module
2017-11-03 01:54:37 +01:00
Marijn van der Werf
1e335308cc
Move map tooltip to ui module
2017-11-03 01:54:37 +01:00
Christian F. Coors
06afeeda9a
Apply some refactoring
2017-11-02 12:22:28 +01:00
Robert Jordan
a3c64bb146
Feature: Preview title sequences in-game
...
Title sequences can now be played back in-game, allowing for much easier
editing.
Improved title sequence playback in general. Clicking play while on a
different title sequence will play the new one. Clicking stop will make
the title screen go back to the config title sequence. And the closing
the title sequence window will also make the game go back to the config
title sequence, and reload the sequence if it was modified.
Changes made to title sequences in-game are now correctly loaded in the
title screen.
Starting a title sequence within the editor will now always reset it
even if it's the current playing sequence. (Not for playing in the
editor though).
Get Location in title sequence command editor now has 100% accuracy
compared to before
where it would usually get some offset value.
Added `get_map_coordinates_from_pos_window` which will allow getting the
viewport coordinates of a specific window even if the input coordinates
are under another window. This has use with getting 2D positions from
the main window without the other windows getting in the way.
Options window will now always specify the config title sequence in the
dropdown and not the current title sequence.
Made a global variable `gLoadKeepWindowsOpen`, in game.h to keep windows
open when loading a park. When loading a title sequence park in-game.
The sequence player will force-close all park-specific windows ahead of
time.
Skipping while testing title sequences no longer needs to reload the
park if the current playback position is already before the target
position and ahead of the load position.
Added changelog entry.
2017-10-30 12:07:01 +01:00
Michał Janiszewski
8fd2266bda
Refactor includes ( #6512 )
...
* Refactor Intent.h inclusion
* Use forward declaration of ITcpSocket
* Remove unused include
* Forward declare rct_ride_entry
* Remove unused headers
* Forward-declare rct_drawpixelinfo
* Remove unused headers
* Lower header include from header to source file
* Reduce included headers
* Reduce includes
2017-10-19 10:01:05 +02:00
Arnav Borborah
8271da85a2
Fix arguments to main()
2017-10-17 00:04:40 +02:00
Krutonium
fd459f0791
Add a visible notification for missing KDialog/Zenity
2017-10-14 22:16:51 +02:00
Marijn van der Werf
8569a7fe2f
Move map window
2017-10-07 22:24:14 +02:00
Martin Müller
e38a77da2a
Set gScenarioFileName when loading an RCT1 park
...
This fixes bugs when completing an RCT1 scenario, where the highscore
would be saved for the wrong park because gScenarioFileName hasn't been updated on load.
2017-09-26 15:53:06 +02:00
Marijn van der Werf
9b1b2b5c62
WIP window moving
2017-09-24 22:41:49 +02:00
Marijn van der Werf
ac910a5979
Move Error, Campaign and Ride Demolition windows
2017-09-24 22:41:49 +02:00
Marijn van der Werf
a49a777047
Move Banner, Player and Sign windows
2017-09-24 22:41:49 +02:00
Marijn van der Werf
8503b8e204
Move Finances and Park windows
2017-09-24 22:41:49 +02:00
Michael Steenbeek
1fd1d8c26b
Move editor to C++; add defines for object limits
2017-09-22 07:56:24 +02:00
Michał Janiszewski
00fd18809c
Move extern "C" {} blocks to headers ( #6282 )
2017-09-18 17:05:28 +02:00
Michał Janiszewski
45de7ebd22
Remove superfluous argument
2017-09-08 11:57:24 +02:00
Michał Janiszewski
a8ba58ab9a
Update wrong method name
2017-09-08 11:57:24 +02:00
Ted John
1eb3d07b3d
Reduce static access and call from anonymous function
2017-09-08 11:57:24 +02:00
Michał Janiszewski
100a63a743
Pass context object as argument, don't use singleton
2017-09-08 11:57:24 +02:00
Michał Janiszewski
2577e92860
Adapt Context to Emscripten
2017-09-08 11:57:24 +02:00
Gymnasiast
dba7d6053e
Clarify elevated permissions warning, insert line break in data files message, fixes #6215
2017-08-31 10:55:33 +02:00
Richard Jenkins
71e580a58f
Refactor game load functions, resolves #6011
2017-08-23 08:04:36 +02:00
Marijn van der Werf
4d90940d21
Move windows to UI project
2017-08-10 13:42:27 +02:00
Ted John
8b2eb8a13e
Move screen variables to OpenRCT2.h
2017-07-29 20:29:29 +01:00
Ted John
e6e503a853
Move path related functions to Context.cpp
...
- rct2_init_directories
- get_file_path
2017-07-29 20:29:26 +01:00
Ted John
8bc4e52ae9
Move rct2_quit to Context
2017-07-29 20:28:18 +01:00
Richard Jenkins
06d1f49d61
Display a warning dialog if user runs program elevated ( #6063 )
2017-07-29 15:21:33 +01:00
rwjuk
11711fe4c4
Fix #6010 : Assert triggered when loading SC6 via file assoc
2017-07-26 11:03:46 +02:00
Ted John
34096627ac
Fix #5973 : Headless Servers lost the ability to load Scenarios
2017-07-23 11:14:57 +01:00
Ted John
bc88cb9c2b
Make TitleScreen a class ( #5971 )
2017-07-22 23:42:14 +01:00
Ted John
2eb9657781
Fix premature deletion of dependencies ( #5952 )
...
In particular, the object repository can potentially be deleted before the object manager is deleted. This causes a crash when the object manager is deleted because it requires the object repository within the destructor.
2017-07-20 17:44:31 +01:00
ZehM4tt
ad4eaff323
Fix game not allowing to catch up if rendering is slow.
...
Refactored game_update to use the given parameters from context.
2017-07-18 15:14:21 +02:00
Ted John
ac6da51dbb
Use IPlatformEnvironment for loading g1.dat
2017-07-16 23:25:11 +01:00
Ted John
5614e55f84
Remove more redundant platform functions
2017-07-16 23:25:11 +01:00
Ted John
1394512df6
Remove startup checks
2017-07-16 23:25:11 +01:00
Ted John
edcbfdf097
Move rct2_open_file to Context
2017-07-16 23:25:11 +01:00
Ted John
f7dff37708
Move copying of user files to Context.cpp
2017-07-16 23:25:11 +01:00
Ted John
73ef6d54a7
Move rct2_init and rct2_dispose into Context
2017-07-16 23:25:11 +01:00
Ted John
7fbcf1ab0b
Move rct2_update into Context
2017-07-16 23:25:11 +01:00
William Wallace
ae110a9159
Allow switching between OpenGL and other renderers without restarting
2017-07-13 19:04:37 +01:00
ZehM4tt
250a66c45f
Fix game advancing too fast when game was paused/frozen.
...
Regression from #5848
Added braces.
2017-07-11 21:45:37 +02:00
ζeh Matt
a8af3c7670
Refactor game loop to use a semi-fixed timestep. ( #5848 )
...
Fix headless game being jumpy/stuttering.
Bump up network version.
2017-07-10 21:43:20 +02:00
rwjuk
fe140c5c20
Fix #5789 : No missing obj notification when loading from cmd line
2017-07-05 07:28:46 +02:00