Commit Graph

29 Commits

Author SHA1 Message Date
Michał Janiszewski 7d0ce00bab Strip all whitespace 2015-10-20 20:48:51 +02:00
zsilencer cf78d76bdf make disable volume on focus lost not reset title music 2015-10-17 11:48:39 -06: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 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
zsilencer 1d811a5692 improve chat feature 2015-08-14 09:13:39 -06:00
IntelOrca cac0f2ab52 upgrade to VS2015 compiler 2015-08-03 23:16:30 +01:00
zsilencer ca6c3d68aa fix #1155 2015-07-14 16:45:25 -06:00
zsilencer b876591543 use SDL_RWops for save games 2015-07-11 12:27:46 +01:00
zsilencer 71ae580483 fixes #1230 and #1212 2015-06-05 01:02:02 -06:00
zsilencer c6e63d5d25 add volume control in options 2015-06-04 16:31:54 -06:00
zsilencer 86ce94f8e9 fix #1101 and reorganize the tune lists 2015-05-20 18:25:26 -06:00
zsilencer bcad8c200e #1042 2015-05-06 19:15:00 -06:00
zsilencer 9296cfd334 fix audio panning 2015-05-06 19:15:00 -06:00
zsilencer 71e21c2a6c refactor mixer, add support for streamed music 2015-04-25 09:28:28 -06:00
IntelOrca e4914085ad convert Windows-1252 to UTF8 where necessary, fixes #744 2015-02-05 17:34:51 +00:00
IntelOrca 4fc91adce2 fix error that occured when samples failed to load 2015-02-04 19:11:41 +00:00
zsilencer 2dcd3b4935 use mixer for ride music 2014-11-13 19:51:02 -07:00
zsilencer 98d27b44fd fix things 2014-10-15 20:03:15 -06:00
zsilencer 6628a4eace 0x006BC3AC, 0x00405199, 0x00404E0D, sort audio functions by address, volume fading 2014-10-15 20:03:15 -06:00
IntelOrca 71e508c416 refactor various platform functions and includes 2014-10-09 14:03:54 +01:00
zsilencer 6d2616b0ca fix #513 2014-10-08 12:15:16 -06:00
zsilencer 9df2ee4b77 use mixer for title music, crowd noise, rain/thunder, and sound effects 2014-10-07 23:00:11 -06:00
IntelOrca a32f73d27f Merge branch 'master' into reorganise-src
Conflicts:
	projects/openrct2.vcxproj
	src/interface/window.h
2014-10-07 20:07:15 +01:00
IntelOrca 1d92e3d7ab Merge branch 'master' into reorganise-src
Conflicts:
	projects/openrct2.vcxproj
	projects/openrct2.vcxproj.filters
	src/audio/audio.c
	src/audio/mixer.h
	src/game.c
	src/ride/vehicle.c
	src/windows/finances.c
	src/windows/research.c
2014-10-07 19:10:16 +01:00
IntelOrca c8df6174b8 organisation: fix includes 2014-10-06 17:36:58 +01:00
IntelOrca 554e1fe70e organisation: move files and update project 2014-10-06 10:21:07 +01:00
Renamed from src/mixer.cpp (Browse further)