Commit Graph

4550 Commits

Author SHA1 Message Date
Ted John 490836aff5 Merge pull request #1979 from nightroan/develop
As a multiplayer client, don't select the next track piece if is is unaffordable
2015-09-27 02:13:52 +01:00
nightroan 8d3f7600fb As a multiplayer client, don't select the next track piece if is is unaffordable. 2015-09-26 16:01:04 -07:00
IntelOrca a04663368e add two new date formats, y/m/d and y/d/m, closes #1900 2015-09-26 14:35:26 +01:00
IntelOrca 015c41f6ef fix #1744 2015-09-26 14:07:17 +01:00
IntelOrca 3835c8c109 fix inet_ntop signature issues 2015-09-26 13:48:24 +01:00
Ted John 319470a10a Merge pull request #1966 from nightroan/develop
Fixed #1939
2015-09-26 12:48:47 +01:00
nightroan bd51c7ed80 Fixed #1939 by adding a callback to delay selection of the next piece until the server sends back the placement command. 2015-09-25 23:57:15 -07:00
Ted John 7f7ef3484e Merge pull request #1971 from janisozaur/multiplayer
enable linux multiplayer build for travis
2015-09-24 19:03:37 +01:00
Michał Janiszewski fa5aa0a524 enable linux multiplayer build for travis 2015-09-24 20:03:12 +02:00
IntelOrca 077f3a1995 refactor RCT2 PE setup. 2015-09-24 19:03:11 +01:00
zsilencer 266f1c1e37 make multiplayer work in linux 2015-09-24 18:39:15 +01:00
IntelOrca c93c1c738a fix network warnings by using new functions over deprecated 2015-09-24 18:30:14 +01:00
Ted John f15ba8ed0f Update CONTRIBUTING.md 2015-09-24 13:03:44 +01:00
Ted John ec25b2f121 Merge pull request #1961 from zsilencer/develop
remove directsound and get sound working for linux native
2015-09-23 18:22:51 +01:00
zsilencer 9ac89c2b5e remove directsound and get sound working for linux native 2015-09-23 09:42:55 -06:00
Ted John 9b3c8f8c26 Merge pull request #1957 from YamaArashi/replace_numbers_with_constants
Replace numbers with constants
2015-09-23 06:36:16 +01:00
YamaArashi bc8bf39e1b paint setup current type constant 2015-09-22 15:43:42 -07:00
YamaArashi 7c8b0641d9 replace viewport flags numeric literals with constants 2015-09-22 15:30:19 -07:00
Ted John ab8121303a Merge pull request #1956 from janisozaur/linux-rel
Make it work on Linux
2015-09-22 23:19:15 +01: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
Ted John a5d85cd15f Merge pull request #1955 from janisozaur/fixes
Fixes
2015-09-22 23:02:47 +01:00
Michał Janiszewski 52e0b737be Drop initial null check from SafeFree
Both free and delete treat nullptr the same way: as a no-op [1][2].

Get rid of checking if the pointer passed is a null one before acting on
it.

See stackoverflow.com/q/154136/do-while-and-if-else-statements-in in
case you are wondering why is it done this way.

[1] http://www.cplusplus.com/reference/cstdlib/free/
[2] http://www.cplusplus.com/reference/new/operator%20delete/
2015-09-22 22:58:34 +02:00
Michał Janiszewski a3d407079f fix windows position clamping 2015-09-22 22:58:34 +02:00
Michał Janiszewski 8ec1054477 add missing parntheses 2015-09-22 22:58:34 +02:00
Michał Janiszewski 33d5e0b79f fix loop counter 2015-09-22 22:58:34 +02:00
Michał Janiszewski cf7c827d0d Fix possible null dereference and resource leak 2015-09-22 22:58:20 +02:00
Michał Janiszewski 5ceafd66a3 Fix memory leak in screenshot.c and guest.c 2015-09-22 22:58:20 +02:00
Ted John 976ea0d775 Merge pull request #1953 from janisozaur/file-not-found
Safely handle 'file not found' or wrong parameters
2015-09-22 08:20:02 +01:00
Michał Janiszewski 16eb4666ee Safely handle 'file not found' or wrong parameters
`platform_enumerate_files_begin` (and it directory counterpart) can
return `-1`, make sure we handle that value properly when passed on
to `platform_enumerate_files_next` and `platform_enumerate_files_end`
2015-09-22 08:33:40 +02:00
Ted John a0d5d592c2 Merge pull request #1951 from zsilencer/develop
fix #1944
2015-09-21 18:10:02 +01:00
zsilencer 0af364a9b6 fix #1944 2015-09-21 10:41:09 -06:00
Ted John e7c3c1ff3c Merge pull request #1941 from janisozaur/linux-platform-file
Linux platform file
2015-09-21 12:39:23 +01:00
Michał Janiszewski b64d4225be Declare link directories prior to using them
As it turns out, you have to declare your link directories before you
use them in cmake, otherwise your executables/binaries will have no
knowledge of them.

This should fix travis builds for mingw.
2015-09-20 23:19:38 +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
Ted John 46a4b47715 Merge pull request #1946 from Gymnasiast/mingw-fix
Take out MinGW error preventing Linux from being detected, closes #1626
2015-09-20 11:07:36 +01:00
Gymnasiast c86f07bbba Fix Travis 2015-09-20 12:02:09 +02:00
Gymnasiast 48ef64c913 Take out MinGW error preventing Linux from being detected. 2015-09-20 11:47:01 +02:00
Ted John 22196d931d Merge pull request #1945 from kiwipxl/develop
Stopped infinite loop in ride_set_boat_hire_return_point
2015-09-20 09:26:22 +01:00
FlynnsPixel 5b99a587d5 Stopped infinite loop in boat_hire_return_point 2015-09-20 17:44:20 +10:00
Ted John 0bef4f3467 Merge Localisation/master into OpenRCT2/develop. 2015-09-20 04:00:15 +01:00
Ted John cc01e748e8 Merge pull request #1940 from janisozaur/paths
Make file paths use platform-specific separators
2015-09-19 11:08:23 +01:00
Michał Janiszewski e0860bc3ab Make file paths use platform-specific separators 2015-09-19 09:29:39 +02:00
Ted John e4b7785bdd Merge Localisation/master into OpenRCT2/develop. 2015-09-19 04:00:15 +01:00
Ted John 105ff7472b Merge pull request #1938 from janisozaur/remove-windows
Remove windows
2015-09-18 17:25:47 +01: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
Michał Janiszewski 30cccce98b try libsdl2-dev:i386 2015-09-18 14:43:43 +02:00
Ted John a762390abe Merge pull request #1936 from Gymnasiast/operating-modes
Add cheat option to show all operating modes; cleanup
2015-09-18 12:44:38 +01:00
Ted John 0a1604b099 Merge pull request #1937 from janisozaur/travis-matrix
Create a matrix of jobs for easier configuration testing
2015-09-18 12:41:26 +01:00
Michał Janiszewski b4a9132105 Create a matrix of jobs for easier configuration testing
Right now it will post two jobs, one regular and the other one
with network disabled, so both get tested on future commits.
2015-09-18 12:01:00 +02:00
Gymnasiast e2ec6e0970 Move 'show all operating modes' to Cheats window 2015-09-18 11:55:52 +02:00