Commit Graph

179 Commits

Author SHA1 Message Date
janisozaur 6d76e941b0 Make sure g1.dat and g2.dat are loaded early (#3443)
This makes sure any later references to `g1Elements` will be valid.
2016-04-28 12:40:12 +01:00
Ted John e7f62bf014 integrate game palette variables 2016-04-24 02:02:56 +01:00
Ted John 98f732aaf7 integrate screen variables (#3411) 2016-04-24 00:36:39 +01:00
Ted John ee509caf35 integrate game paused variable and refactor 2016-04-23 13:34:55 +01:00
Ted John 4cdb2df9dc integrate screen variables 2016-04-23 11:16:46 +01:00
Ted John 25958b0d30 remove old RCT1 import code 2016-04-22 19:26:15 +01:00
Ted John bed916e4aa use correct constant 2016-04-22 18:37:04 +01:00
Ted John f3356caa39 add a CLI command for converting saved games <-> scenarios 2016-04-22 18:26:27 +01:00
IntelOrca f0382b9ab2 implement import of rct1 scenarios, part 1 2016-04-22 18:23:40 +01:00
Ted John e906ab5e95 enable quick save when loading save by command line 2016-04-15 21:52:15 +01:00
IntelOrca a99a2f0cf4 fix command line hosting of scenario files 2016-03-05 12:20:02 +00:00
IntelOrca 38fda5debf remove old redundant RCT2 platform code 2016-02-16 20:23:32 +00:00
Michał Janiszewski fc6b472ba9 Don't update title screen when running headlessly 2016-01-26 11:26:32 +01:00
Ted John e69e384d43 Merge pull request #2692 from marijnvdwerf/use-named-addresses
Replace known addresses with constants, globals and wrapper functions
2016-01-15 22:59:13 +00:00
Marijn van der Werf 98b5ad1bf4 Replace known addresses with constants 2016-01-15 21:01:34 +01:00
Michał Janiszewski 836343b194 Unload graphics when done 2016-01-15 19:19:10 +01:00
Michał Janiszewski 7dae861dab Unload all objects on dispose to stop memory leaks 2016-01-15 16:37:27 +01:00
IntelOrca 730463dbbb remove rct2_malloc, rct2_realloc and rct2_free 2016-01-14 20:18:55 +00:00
IntelOrca cdee534eb1 use SDL2's platform defines to normalise platform guards 2016-01-14 20:12:43 +00:00
Michał Janiszewski bcc3580d41 Report improper "game_path" with useful information 2016-01-11 22:59:05 +01:00
IntelOrca 19c38e0b34 move RCT2 paths to C file and remove file integrity checking 2016-01-09 00:34:34 +00:00
IntelOrca 3073bc64fd remove rct2_endupdate 2016-01-09 00:25:30 +00:00
IntelOrca f4f07ae5bb integrate variable: gInputPlaceObjectModifier 2016-01-05 22:33:47 +00:00
IntelOrca 0c933234e0 remove all tutorial code 2016-01-04 23:21:23 +00:00
Aaron van Geffen 2c5651614c Corrected misspellings of "substitute". 2015-12-23 00:40:36 +09:00
Kyle Kirby caf07c2064 Clean up the comments a litte
• Make comment heads be /**
• Make rct2 addresses be double spaced indented
• Make there be a space afte rct2: and the address
• Make single-line rct2 addresses be full block comments
• Move description of method to top of comment
2015-12-11 16:19:46 -06:00
IntelOrca ca01e55fa8 add show fps, #2223 2015-12-09 21:42:46 +00:00
IntelOrca c6056cbb6c Merge branch 'pre-release-0.0.3' into develop
Conflicts:
	src/audio/audio.c
2015-11-27 22:05:40 +00:00
duncanspumpkin 5bd3b8d6af Implement util_rand due to rand having a poor range on some platforms 2015-11-20 21:40:36 +00:00
Dom Light b9d48d2f9b Document audio.h 2015-11-17 01:05:22 +00:00
Dom Light 3a8b25a0ee Sanitize audio.h 2015-11-17 01:05:14 +00:00
Michał Janiszewski 10587cb5ab Port non-VS inline asm to AT&T syntax
This is much more liked by other compilers
2015-10-22 23:32:27 +02:00
Michał Janiszewski 7d0ce00bab Strip all whitespace 2015-10-20 20:48:51 +02:00
Jonathan Haas 8463e58922 Define some tick related addresses 2015-10-03 20:00:29 +02:00
zsilencer ffee5229b5 fix directories in linux 2015-10-02 14:48:10 -06:00
Michał Janiszewski 89846a088a platform time functions 2015-09-29 23:35:15 +02: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 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
IntelOrca bea74ee261 make all file IO utf8 compatible, fixes #1847 2015-08-29 13:13:23 +01:00
IntelOrca f0100a71a7 use windows lean and mean to reduce definition conflicts 2015-08-29 13:13:22 +01:00
Gymnasiast 6a23e28670 Refactored music file list, removed some extra unused code, clear up some comments 2015-08-16 21:29:10 +02:00
IntelOrca 9746bccbf6 improve multiplayer 2015-08-15 23:19:15 +01:00
zsilencer 1d811a5692 improve chat feature 2015-08-14 09:13:39 -06:00
zsilencer df7f576e05 map loading over network 2015-08-14 09:13:29 -06:00
IntelOrca fa87d8e999 implement utf8, part 14 2015-08-01 10:20:57 +01:00
IntelOrca 617880e8d2 implement utf8, part 13 2015-08-01 10:20:56 +01:00
IntelOrca 445d603abe refactor various things such as scenario begin and staff mode reset, add rct1 ride struct 2015-07-14 18:18:28 +01:00
Gymnasiast a63642b630 Fix some warnings 2015-07-13 11:50:09 +02:00