Commit Graph

111 Commits (389ea20180e72dd4bb31e6323810820275e52e1a)

Author SHA1 Message Date
MysterD 5472f3d13a Add development flag for easier testing 2020-09-19 02:12:49 -07:00
MysterD 4a7b9736b4 Added compile-time flag to disable Discord SDK
In order to support ARM/Mac, discord must be disabled.
To disable compile with:
make DISCORD_SDK=0

Fixes #62
2020-09-19 00:53:56 -07:00
MysterD a0d5deceff Fix DirectX builds 2020-09-15 21:48:14 -07:00
MysterD a675f4efd5 Fixed Linux builds 2020-09-14 23:26:55 -07:00
MysterD 5fe5ffda45 Make C-lib link statically again, force various compiler options better 2020-09-14 18:29:47 -07:00
MysterD 3e1b193ea8 Add Discord Game SDK networking system
Allows players to host without forwarding their ports or using a program
like Hamachi.
2020-09-13 03:27:35 -07:00
MysterD 04c21d91bc Added version checking to clients 2020-09-11 16:19:38 -07:00
MysterD 05674f3d69 Force no draw distance on and text saves off 2020-09-04 17:52:48 -07:00
MysterD 1bb0c90741 Add docker-build workarounds and container script 2020-09-04 17:03:35 -07:00
MysterD 9512fde4a5 Added custom packets for mods-of-this-mod
Now a patch can choose to register callbacks for sending and receiving
packets. It's a bit tricky to use but at least it won't collide with
normal packets or other mod packets.
2020-09-04 02:04:37 -07:00
MysterD d5005c9f37 Served time for crimes against C
Due to my compile & launch scripts, I was silently ignoring warnings
this whole time. I've fixed my process, and gone back to fixed all of
the warnings I could (even outside of my code).
2020-09-04 01:58:54 -07:00
MysterD 621533fae8 Add coop-specific define
Added -DCOOP to identify that this is a coop build so that one patch can
be applied to EX and/or COOP. They can choose to ifdef entity synchronization
out.
2020-09-03 21:49:58 -07:00
MysterD c88ff19190 Prevent infinite looping of Mario action transitions
There have been several times where the unpredictable behavior of
a remote player where execute_mario_action() would get caught in
an infinite loop. Now we attempt to detect an infinite hang and
escape from it. The sequence of actions will be recorded into an
errorlog.txt file. In debug mode this infinite hang will cause an
assertion to fail, crashing the game. In normal mode the game will
break out of it and hopefully carry on normally after new packets
come in.

I believe this addresses github issue #12 but I can't be sure.
2020-09-01 22:06:36 -07:00
MysterD 8711829664 Merge branch 'nightly' into coop 2020-09-01 18:08:46 -07:00
MysterD 2815f03adb Update Makefile's default compile flags 2020-08-31 23:52:36 -07:00
fgsfds 8a23a8a5c5 add rudimentary SDL1 controller backend
it's more to deal with the mouse not working I suppose
2020-08-30 16:06:22 +03:00
fgsfds 3e9e2595aa add barebones SDL1.2 backends
for that sweet Win9x support
2020-08-15 07:15:28 +03:00
MysterD a896713510 Made sockets platform-independent, supporting Linux 2020-08-09 13:23:27 -07:00
MysterD 579415dca9 Started synchronizing objects, refactored networking 2020-08-02 01:43:12 -07:00
MysterD 34b1ec76f6 Started adding networking 2020-08-01 20:22:24 -07:00
MysterD 2d2dff6647 Added IMMEDIATELOAD debug flag to skip all intro stuff 2020-07-30 20:42:39 -07:00
CrispyBuns 77eede660b Add files via upload 2020-07-14 10:54:07 -06:00
CrispyBuns 669f1a6ab1 Add files via upload 2020-07-14 10:54:07 -06:00
fgsfds 765a08c846 merge gfx updates from sm64-port 2020-07-07 15:21:14 +03:00
n64 6330644371 Refresh 11 2020-07-05 14:15:43 +03:00
fgsfds 99f69eff1c throw out unused libultra sources 2020-06-21 02:21:46 +03:00
fgsfds 7331fab8d8 fix paths to sound data with EXTERNAL_DATA=1 2020-06-20 18:05:45 +03:00
fgsfds fe44da4794 fix GRUCODE defines 2020-06-20 04:32:12 +03:00
n64 4a448cf10d merge refresh 10 2020-06-20 02:49:59 +03:00
fgsfds 6686a2d7d9 use GLES shaders in web build 2020-06-17 00:15:27 +03:00
fgsfds 1d6469d2cf fix web build 2020-06-16 22:24:54 +03:00
fgsfds 7fe8645fcd thank you case sensitive file systems very cool 2020-06-13 00:53:01 +03:00
fgsfds 3dff608c7b add D3D12 headers because they're missing in mingw 2020-06-11 22:24:46 +03:00
fgsfds a81a8e6ef1 added D3D11 and D3D12 renderers from Emil/n64-fast3d-engine
along with options to select backends for windowing, rendering, audio and controls in the Makefile

use RENDER_API=D3D11 or D3D12 for the D3D renderers, that will also automatically enable using DXGI for windowing; SDL2 will still be used for input and audio for the time being

also adds three-point filtering to the OpenGL backend and an option for it in the menu
2020-06-11 22:24:46 +03:00
fgsfds c04c315410 move the discord-rpc libs to lib/ 2020-06-09 20:19:22 +03:00
Jan 233c2d8f72
Merge branch 'nightly' into feature/discordrpc 2020-06-09 17:16:42 +02:00
Jan200101 5933742f82
replace static linking with dynamically loaded libraries 2020-06-09 17:15:49 +02:00
Jan200101 f1ba90d25b
add discord rpc support 2020-06-09 12:01:31 +02:00
fgsfds 504b38725e use 'python3 mkzip' instead of just 'mkzip' 2020-06-08 06:06:40 +03:00
fgsfds 9ebde3c219 add sky tiles to the zip as well 2020-06-07 22:00:57 +03:00
fgsfds 4feacc0065 add virtual filesystem thing w/ ZIP support
similar to Quake 3: all the archives and folders get mounted to the same mountpoint in the VFS, read access to files in the VFS is transparent
2020-06-07 21:06:25 +03:00
Zerocker e7218f043b Add separate DEBUG flag for tools 2020-06-07 21:16:09 +09:00
Zerocker 2ae6e0fac0 Remove old -O2 flag 2020-06-05 21:12:44 +09:00
Zerocker caea5ec4cb Nuke old VERSION OPT_FLAGS and add DEBUG flag 2020-06-05 20:40:08 +09:00
fgsfds 35382b83a1 roll back rsync
apparently I'm the only man in existence who has it installed by default
2020-06-02 22:37:43 +03:00
fgsfds afca02c0a7 use 'rsync' instead of 'find' + 'cp -r --parents'
mostly because cp is fucking weird on OSX, thank you Apple very cool
2020-06-02 17:57:45 +03:00
fgsfds 6cee636382 change EXTERNAL_TEXTURES to EXTERNAL_DATA; load sound data from external files
no separation tho, just binary blobs o shit
2020-06-01 12:13:05 +03:00
fgsfds e3401f1547 use a script to output zero-terminated strings instead of bash printf 2020-05-26 02:59:38 +03:00
fgsfds 9f9e79ed9d build the res target by default when EXTERNAL_TEXTURES is enabled 2020-05-26 02:18:09 +03:00
fgsfds 1873f7aba5 game now uses non-working directory paths by default
saves by default go into XDG_DATA_HOME/sm64pc

external data is read from the executable directory, if it's not found there on Unix systems the game will attempt to read it from some paths like /usr/local/share/sm64pc

both save data and readonly data fall back to other options in case of a problem

behavior can be overridden by specifying --datapath and --savepath on the CLI

both of those will expand the exclamation point ('!') to the executable path, e. g. --savepath '!/save'
2020-05-25 07:19:35 +03:00