1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-16 11:33:03 +01:00
Commit Graph

3439 Commits

Author SHA1 Message Date
Rune Laenen
7ac930c318 errorfix guest_list 2015-10-02 13:49:13 +02:00
Rune Laenen
1b5e55d346 newPeep fix 2015-10-02 13:45:17 +02:00
Rune Laenen
5d75fa4464 var_2A to outside_of_park 2015-10-02 13:41:13 +02:00
duncanspumpkin
33e04b8bd6 Implement game_command_place_park_entrance 2015-10-01 21:24:24 +01:00
Michał Janiszewski
9a1e88872f sub_6E7FF3 no longer causes problems 2015-10-01 18:57:45 +02:00
Michał Janiszewski
df52bb5ca1 Add hooks for Linux 2015-10-01 18:49:13 +02:00
duncanspumpkin
f40ccc883a Name remaining peep cheat flag enums 2015-09-30 22:01:44 +01:00
duncanspumpkin
b5711638bc Implement game_command_set_peep_name
Note this is how most of the existing cheats are used
2015-09-30 21:55:36 +01:00
Duncan
f34902f5cf Merge pull request #1989 from duncanspumpkin/footpath_from_track
Implement game command footpath from track.
2015-09-30 20:48:07 +01:00
duncanspumpkin
ecc2f74b63 Implement game command footpath from track.
Fixes #1954
2015-09-29 23:07:07 +01:00
Michał Janiszewski
89846a088a platform time functions 2015-09-29 23:35:15 +02:00
Ted John
78e43e7ca4 Merge pull request #1983 from janisozaur/docker32
Docker32
2015-09-28 23:23:09 +01:00
Michał Janiszewski
9e62198546 Partially revert c93c1c7, for mingw builds only
Conditionally restore old functionality which got broken for mingw
builds with commit c93c1c7. Allow building with old version of code, but
generate a warning when doing so.
2015-09-29 00:13:27 +02:00
Michał Janiszewski
a16de307d7 Refactor project build scripts
This is mostly refactoring of cmake scripts, but also touches build.sh
and install.sh. The cmake should be much more palatable now for major
Linux distributions.

At the same time, new configuration is introduced to Linux version, one
with Twitch enabled.

Please note, however, this change requires update of orctlibs.zip for
mingw builds.
2015-09-28 21:10:21 +02:00
Michał Janiszewski
5d1beb14c0 Platform, memory fixes 2015-09-28 19:35:06 +02:00
IntelOrca
c6b0d0919d fix #1982 2015-09-28 18:10:41 +01:00
duncanspumpkin
eaa44ab1e1 Fix #1854. Special track elements disable correctly.
Issue was caused by a change I asked to be done a month back. Dropdowns are awkward windows the global array for dropdown content should be populated before creating them but not anything else as that will get reset. In this case the disabled items were reset. The same happens for highlighted index if that is specified before window creation
2015-09-27 21:55:48 +01:00
duncanspumpkin
9e1e0748f3 Fix #1947. Maze entrances no longer modify hedges wrong.
> Issue was caused by incorrectly translating btr and bts to C. In addition the operation was on a word and not a byte so it wouldn't change the maze correctly for all rotations. I've also refactored the code to make it a bit easier to follow.
2015-09-27 21:33:19 +01:00
duncanspumpkin
a697606211 Fix #1718. Incorrect cursors on scroll widgets.
Issue was being caused by passing the incorrect x and y parameters due to missing a widget dereference. I've also moved the x/y coordinates of the hand open/close to closer match what it feels like.
2015-09-27 16:55:34 +01:00
duncanspumpkin
1a0fc46559 Fix #1723 issue caused by failing to return.
The logic would fall through to the ending code so that it would just make a beeline to the exit after walking to one corner.
2015-09-27 16:21:45 +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
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
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
zsilencer
9ac89c2b5e remove directsound and get sound working for linux native 2015-09-23 09:42:55 -06: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
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
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
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
zsilencer
0af364a9b6 fix #1944 2015-09-21 10:41:09 -06: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
FlynnsPixel
5b99a587d5 Stopped infinite loop in boat_hire_return_point 2015-09-20 17:44:20 +10:00
Michał Janiszewski
e0860bc3ab Make file paths use platform-specific separators 2015-09-19 09:29:39 +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
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
Gymnasiast
e2ec6e0970 Move 'show all operating modes' to Cheats window 2015-09-18 11:55:52 +02:00
Gymnasiast
4909272a44 Add cheat option to show all operating modes; cleanup 2015-09-18 10:54:48 +02:00
Michał Janiszewski
ee96aaec8e reduce amount of times the pointer is freed to one
track_list_cache is being free()d as part of track_load_list, which
is a better place to do so, as it has full ownership of that pointer.
2015-09-15 00:23:46 +02:00
Michał Janiszewski
3ea534f758 make sure strings are properly terminated 2015-09-15 00:03:47 +02:00
Michał Janiszewski
02d83f860e In case any memory was allocated for lang pack, free it 2015-09-14 23:03:03 +02:00