Commit Graph

167 Commits

Author SHA1 Message Date
zsilencer 7aebdcd534 fix #2009 2015-10-03 13:22:59 -06:00
zsilencer ffee5229b5 fix directories in linux 2015-10-02 14:48:10 -06:00
IntelOrca 077f3a1995 refactor RCT2 PE setup. 2015-09-24 19:03:11 +01:00
zsilencer 9ac89c2b5e remove directsound and get sound working for linux native 2015-09-23 09:42:55 -06:00
Michał Janiszewski 1bd8e11c0f Make it work on Linux
Right now the project is decompiled to the point where it is feasible to
try porting it to another platform. It doesn't work 100% correctly, but
it's nearing this state.

To port it to Linux I mmapped the openrct2.exe into expected places,
disabled two offending calls (RCT2_CALLPROC_EBPSAFE(0x0040701D) and
RCT2_CALLPROC_X(0x006E7FF3…)), replaced memory management routines
with generic ones and removed all the function-pointer calls.

A basic, non-exhaustive check is included to verify that memory is
loaded correctly in place.

That last bit is probably the most intrusive one, but had to be done, as
the calling convention on Linux differs from the one on Windows. It
could possibly be emulated (just like RCT2_CALLFUNC_X) until dependency
on exe is dropped.

It is possible to completely remove calls out to original code by
commenting out contents of RCT2_CALLFUNC_X, right now this will yield
working UI, but no rendering of peeps, rides or rest of world. This can
be used as a benchmark or test platform for correctness of
implementation. The data sections will still be required for now.

Assets are expected to be in specific places, so to launch it, following
needs to satisified:
* $build/data/ has to have contents of $RCT2/Data/
* $build/data/ (same as above) has to have contents of $repo/data/
* $build/ObjData/ has to have contents of $RCT2/ObjData/
* $build/../openrct2.exe has to be $repo/openrct2.exe (as of 976ea0d)
Keep in mind you can symlink stuff and that filesystems are case
sensitive!
You can copy more of required data to possibly improve your experience.

Pretty much all of this commit will possibly have to be reverted by the
time OpenRCT2 gains independence.

Remember to build with -DDISABLE_NETWORK=ON -DDISABLE_HTTP_TWITCH=ON
2015-09-23 00:04:40 +02:00
Michał Janiszewski 4ce0e3a8b2 Linux platform file
Add bulk of the platform file for linux, change the compilation target
from shared library to executable for linux, provide necessary changes
to make it compile & load the stub of a process.

Make sure functions are marked as stubs where needed, and implementation
is expected.
2015-09-20 23:19:08 +02:00
Michał Janiszewski 4df8761831 remove windows-only code
Step 1 on road towards Linux.

Remove windows-specific code, stub it out where needed and make sure we
can still compile it the way it is.

Take care of Travis' build matrix to include new build configuration.

Install new packages.
2015-09-18 16:01:38 +02:00
IntelOrca 1a877e637d refactor sprite_invalidate 2015-08-22 11:56:32 +01:00
Michał Janiszewski fc533c92c4 Add switch to disable network at compile-time 2015-08-19 01:47:33 +02:00
IntelOrca 4f8e289e79 finish server list and fix a couple of multiplayer issues 2015-08-16 17:29:47 +01:00
zsilencer 5dab3be1d7 fix view position when loading map over network 2015-08-14 09:13:40 -06:00
zsilencer 1d811a5692 improve chat feature 2015-08-14 09:13:39 -06:00
zsilencer 149b3d86af network refactoring 2015-08-14 09:13:30 -06:00
zsilencer f883e7a8da get game commands working a bit better 2015-08-14 09:13:30 -06:00
IntelOrca 196e6eb675 get basic network game working 2015-08-14 09:13:17 -06:00
IntelOrca 2d770093e9 fix #1630 2015-08-05 13:01:41 +01:00
IntelOrca be4ee45d66 convert more platform functions over to utf8 and close #1713 2015-08-04 21:41:45 +01:00
IntelOrca cac0f2ab52 upgrade to VS2015 compiler 2015-08-03 23:16:30 +01:00
IntelOrca 33929d3ac4 implement utf8, part 25 (bug fixes) 2015-08-03 14:42:48 +01:00
IntelOrca d228d13918 implement utf8, part 23 (bug fixes) 2015-08-01 16:40:15 +01:00
IntelOrca 6bf474bd52 implement utf8, part 16 2015-08-01 10:20:58 +01:00
IntelOrca 31eb758ba1 implement utf8, part 15 2015-08-01 10:20:57 +01:00
Gymnasiast ce7a0ac27b Remove Infogrames disclaimer from intro and fix config option 2015-07-26 16:07:58 +02:00
IntelOrca 07717abdfd fix audio initialisation bug when device is not set in config 2015-07-14 23:59:29 +01:00
zsilencer 72d16dd4d0 make all sounds play correctly through hook 2015-07-14 16:45:25 -06:00
zsilencer 689f7c9f1d #1130 save last audio device 2015-07-14 16:45:24 -06:00
Duncan Frost 1440ac185d Fix invalid hook register list.
Fixes #1607
2015-07-14 21:20:22 +01:00
zsilencer af68e9d9ea fix #1590 2015-07-12 20:23:58 -06:00
IntelOrca 6acf52ce63 implement ride_check_track_contains_inversions, ride_check_track_contains_banked, refactor track circuit iteration and fix window event bug with hook 2015-07-11 22:51:11 +01:00
zsilencer 6e3ff0e1df refactor tween reset
Conflicts:
	src/game.c
2015-07-11 12:30:39 +01:00
zsilencer 11a98d2e23 better solution to #1572 2015-07-10 20:13:19 -06:00
IntelOrca 25cad9d9f1 implement ride_crash with hook 2015-07-10 20:29:50 +01:00
IntelOrca f906391c9d remove registers from window events and changed to typed signatures 2015-07-10 01:39:16 +01:00
zsilencer c971a260b7 fix #1572 2015-07-09 11:00:46 -06:00
zsilencer 520d7840c0 fix bugs introduced in last commit 2015-07-05 09:50:03 -06:00
IntelOrca 57e059b167 fix invalidation issues with uncapped FPS 2015-07-05 12:12:55 +01:00
IntelOrca f0bba54e79 uncapped FPS: fix viewport chopiness and reset after park load 2015-07-04 23:51:23 +01:00
zsilencer 76b231c150 add option to uncap fps, and fix #1470 2015-07-04 13:14:14 -06:00
Robert Jordan a3a993dabd Title Sequence editor 2015-06-24 12:25:54 -04:00
IntelOrca 4a69ded1c7 fix get exe path issue 2015-06-16 14:55:09 +01:00
Miso Zmiric (Mike Squinter) be98d6d850 closes #1305, uses absolute paths for all file loads
edit and update the distribution readme

clean up the variables mess

improve the set_exe_path and cleanup

final fixes
2015-06-16 14:05:25 +01:00
IntelOrca b69487cbba add changelog window 2015-06-13 13:30:50 +01:00
IntelOrca 909060b964 implement language fallback to English (UK) 2015-06-08 17:16:37 +01:00
IntelOrca bb309f34c6 refactor test project and add ride ratings test 2015-06-04 12:46:17 +01:00
IntelOrca f6eec3725c Merge branch 'develop' of https://github.com/marcotc/OpenRCT2 into marcotc-develop
Conflicts:
	src/openrct2.c
2015-06-04 11:54:27 +01:00
IntelOrca 463131117c fix edit command line function 2015-06-03 17:11:52 +01:00
Marco Costa f05d851811 Create simple test framework
* Run all tests by passing "test" as a command line argument to
'openrct2'
* Using CuTest 1.5 as a test framework
2015-06-01 21:45:12 -04:00
Robert Jordan 765bf976ee Renamed Colour Schemes to Themes
Themes window now opens to settings/presets tab so it's less confusing
for others.
Can no longer change default presets, you get a warning when you try.
now stores themes in themes folder.
Now clips theme names.
2015-06-01 11:02:09 -04:00
Robert Jordan 41171aa304 Resolved Merge Conflicts 2015-05-30 16:00:13 -04:00
Robert Jordan dbc1df308f Issues with Dropdown text 2015-05-29 16:42:57 -04:00
IntelOrca c6aa17f053 add headless game support 2015-05-29 20:45:21 +01:00
IntelOrca 31e0bdd76f add partial working screenshot by command line 2015-05-28 23:04:02 +01:00
IntelOrca 1ac93e44c9 add twitch integration, part 1 2015-05-25 20:36:40 +01:00
IntelOrca 7f0ed995b5 improve reading and saving of configuration 2015-02-16 22:47:11 +00:00
IntelOrca 0ce4d70e35 make saved games and landscapes copy recursively 2015-02-15 17:31:16 +00:00
IntelOrca ac4cd56b63 add new load / save window, closes #580 2015-02-14 02:16:03 +00:00
IntelOrca a66b29076b move osinterface code to shared or windows 2015-02-12 20:51:40 +00:00
IntelOrca 9d2abf1925 add map generation window 2015-02-09 18:32:58 +00:00
IntelOrca 63ad70a0f3 fix errors 2015-02-08 03:19:24 +00:00
IntelOrca f27c63e119 add more verbose logging 2015-02-04 17:44:39 +00:00
IntelOrca b68a3cb43d improve RCT2 install directory problems, fixes #587 2014-11-22 23:30:03 +00:00
IntelOrca 1714f94263 implement some of editor_load_landscape for sv4 and sc4 files 2014-10-10 22:50:22 +01:00
IntelOrca 3cf28d6ef8 refactor config and add window size 2014-10-09 15:55:47 +01:00
IntelOrca edf2b9c93a refactor openrct2 loop 2014-10-09 14:31:51 +01:00
IntelOrca 71e508c416 refactor various platform functions and includes 2014-10-09 14:03:54 +01:00
IntelOrca a35ebea72a improve command line parsing 2014-10-09 01:36:59 +01:00
IntelOrca e57a625c9f refactor game startup and initialisation 2014-10-09 00:30:22 +01:00