Commit Graph

151 Commits

Author SHA1 Message Date
IntelOrca 34ef2d4403 try out gif recording 2015-11-21 18:59:48 +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
zsilencer af68e9d9ea fix #1590 2015-07-12 20:23:58 -06:00
zsilencer e8d8f7c684 fix invalidation issue with picked up staff 2015-07-10 21:01:58 -06:00
zsilencer 11a98d2e23 better solution to #1572 2015-07-10 20:13:19 -06:00
zsilencer 76b231c150 add option to uncap fps, and fix #1470 2015-07-04 13:14:14 -06:00
Duncan Frost a8a8385899 Fix memory not being freed.
This was breaking the installed object list creation as it would quickly run out of rct2 memory. Scenario text was incorrectly using rct2_free this has also been fixed.
2015-06-27 10:30:33 +01:00
Robert Jordan a3a993dabd Title Sequence editor 2015-06-24 12:25:54 -04:00
Miso Zmiric (Mike Squinter) 8c83cc24b1 use the game data check for existing config files as well, guard for data being moved 2015-06-24 15:36:42 +01:00
IntelOrca beb2b23afb use log functions instead of printf and RCT2_ERROR (now removed) 2015-06-14 12:03:32 +01:00
IntelOrca dc3fe2a6c8 remove commented out CALLPROCs and CALLFUNCs 2015-06-09 15:09:45 +01:00
IntelOrca 463131117c fix edit command line function 2015-06-03 17:11:52 +01:00
zsilencer 603233a583 #1192 2015-06-01 13:07:18 -06:00
IntelOrca c6aa17f053 add headless game support 2015-05-29 20:45:21 +01:00
IntelOrca 1ac93e44c9 add twitch integration, part 1 2015-05-25 20:36:40 +01:00
IntelOrca 6135b9204d fix #1118 2015-05-21 03:11:53 +01:00
IntelOrca 8772cdd7aa add in game console 2015-05-19 03:54:09 +01:00
IntelOrca c1260fc11f add command line sprite editor and additional custom graphics (g2.dat) 2015-05-19 00:26:31 +01:00
Robert Jordan b49676a887 Added option for random title music in main menu
Added STR_5126 to UK and US languages
rand() is seeded in rct2_init()
2015-05-11 13:17:33 -04:00
IntelOrca b1d6c34a00 implement money_effect_create 2015-03-31 03:23:40 +01:00
IntelOrca d1e4fe8060 implement scenery_set_default_placement_configuration 2015-03-29 02:29:07 +01:00
IntelOrca 4268c930e8 fix shortcuts, fixes #824, fixes #512...
- add saving of shortcut configuration
- allow setting of shortcuts in title screen
2015-02-27 17:29:23 +00:00
Duncan Frost 67b82b1065 Fix negative money due to cheat detection. 2015-02-20 19:45:23 +00:00
IntelOrca 7f0ed995b5 improve reading and saving of configuration 2015-02-16 22:47:11 +00:00
IntelOrca a66b29076b move osinterface code to shared or windows 2015-02-12 20:51:40 +00:00
IntelOrca 392ff7bfea remove expansion packs from title sequence, closes #752 2015-02-11 22:18:19 +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 1298031fd2 Merge branch 'develop' into random-map
Conflicts:
	projects/openrct2.vcxproj
	projects/openrct2.vcxproj.filters
	projects/openrct2.vcxproj.user
	src/editor.c
	src/input.c
	src/platform/osinterface.c
	src/rct2.c
	src/scenario.c
	src/world/map.h
2015-02-08 03:05:07 +00:00
Duncan Frost 0f6dd51736 Added load_palette. Labelled offset for paused and palette effect frame. Fixed fast moving water. 2015-02-07 17:40:20 +00:00