Commit Graph

352 Commits

Author SHA1 Message Date
fgsfds 3dff608c7b add D3D12 headers because they're missing in mingw 2020-06-11 22:24:46 +03:00
fgsfds 383983ef9d form window title in pc_main; show correct RAPI in it 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 ca4986e82d fix GLEW include on OSX 2020-06-10 04:16:46 +03:00
fgsfds 457189bb13 use SDL_opengles2.h only when USE_GLES is defined 2020-06-10 01:01:34 +03:00
fgsfds fca5ed8846 don't scale the noise to 240 height 2020-06-10 01:00:20 +03:00
fgsfds 33b4bd7f8d don't use the noise shader on GLES 2020-06-10 00:58:44 +03:00
fgsfds 735d032bdd use #version 120 on desktop GL 2020-06-10 00:56:10 +03:00
MaikelChan fbbb3cba5c Implemented noise effects in OpenGL. (#6) 2020-06-10 00:30:59 +03:00
fgsfds 8d05d2b7e2 check GL version in the GL2.1 backend; check GLEW errors 2020-06-09 23:28:26 +03:00
fgsfds 01e6061276 clean up discord rpc a bit 2020-06-09 20:46:26 +03:00
fgsfds dc17d19cd1 use snprintf() instead of itoa() 2020-06-09 20:26:00 +03:00
fgsfds c04c315410 move the discord-rpc libs to lib/ 2020-06-09 20:19:22 +03:00
Jan200101 80e674cc21
remove explicit dereference 2020-06-09 19:02:00 +02: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 326f8ed071 properly check for basepacks 2020-06-08 08:49:06 +03:00
fgsfds ef5eab2263 fix sys_file_extension for folders that start with dot 2020-06-08 07:45:22 +03:00
fgsfds 585c24a282 updated usage text 2020-06-08 06:38:41 +03:00
fgsfds 51651d52d0 restore --savepath and replace --datapath with --gamedir 2020-06-07 23:54:39 +03:00
fgsfds 0bf5a192f4 fix sys_fatal() warnings in gfx 2020-06-07 22:00:49 +03:00
fgsfds b9c94ad57d fix text saves 2020-06-07 22:00:23 +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 f6ab82d144 Fix a couple of warnings 2020-06-07 22:19:47 +09:00
Zerocker 6733bdb3ae Fix parsing for bonus and cap data 2020-06-07 21:44:00 +09:00
Zerocker 808bd99592 Remove some braindead comments 2020-06-07 21:38:14 +09:00
fgsfds 5d2f4e1ba5 32 chars is too small for this shit 2020-06-05 20:26:43 +03:00
fgsfds e9f0519bc4 text saves now utilize the save path 2020-06-05 20:23:18 +03:00
Zerocker ad92b93b39
Fix missed collected stars after gameover 2020-06-05 15:15:40 +09:00
fgsfds aff081080b unfuck keyboard API; actually use seconds for rumble time 2020-06-04 23:58:18 +03:00
fgsfds bd68d6cb67 move rumble functions to controller API 2020-06-04 23:39:57 +03:00
Zerocker 77217baf13 Merge remote-tracking branch 'upstream/nightly' into rumble_back 2020-06-04 19:13:41 +09:00
fgsfds 88b044bd76 load external gamecontrollerdb file if it's present 2020-06-03 00:10:42 +03:00
fgsfds 5b14bf3b5e precache is now turned on by default 2020-06-03 00:10:20 +03:00
fgsfds f00c553f75
Merge pull request #287 from GateGuy/NoDrawFishFix
Fixed fish constantly respawning with NODRAWINGDISTANCE=1
2020-06-02 02:41:14 +03:00
GateGuy 269cd8f60f Fixed constant fish respawning 2020-06-01 17:33:22 -04: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 8b386a2175 allow binding stick directions to controller buttons 2020-06-01 00:03:53 +03:00
Zerocker b7b255317f Added backup for slot 0 to slot 1 2020-06-01 00:02:47 +09:00
Zerocker 4a24cb9d16 Removed "Disable BLJ" from branch 2020-05-31 14:23:28 +09:00
Zerocker 9917188ec8 Revert "Secret Cheat was added"
This reverts commit 19990cde38.
2020-05-31 14:18:17 +09:00
Zerocker 82163b706a Merge remote-tracking branch 'upstream/nightly' into textsaves_fix 2020-05-30 21:00:11 +09:00
Zerocker 709a049ab6 Added rumble strength option 2020-05-30 20:50:12 +09:00
Zerocker 2bc577bc3c Added haptic implementation 2020-05-30 20:37:37 +09:00
Zerocker cf122ee6e8 Merge remote-tracking branch 'upstream/nightly' into rumble_back 2020-05-30 17:34:56 +09:00
fgsfds f6c54e95b2 read in all config line tokens (fixes the binds not saving) 2020-05-29 20:10:38 +03:00
fgsfds 93030b02a3 don't die after encountering a NULL texture 2020-05-29 19:35:35 +03:00
fgsfds 540a0387c9 fix build 2020-05-29 18:08:00 +03:00
Zerocker b5cdf7e7f6 Returned back OS functions in the commented state 2020-05-29 23:23:45 +09:00
Zerocker 3f1fd3aba8 Merge remote-tracking branch 'upstream/nightly' into rumble_back 2020-05-29 23:19:09 +09:00
fgsfds aaa2c71d43
Merge pull request #278 from GateGuy/DeadzoneOption
Added joystick deadzone setting to Controls
2020-05-29 08:22:00 +03:00
GateGuy 2e332c9316 Fixed typo in comment 2020-05-28 18:42:45 -04:00
GateGuy 875d7a9b3c Added deadzone option 2020-05-28 18:40:36 -04:00
fgsfds a0a256499b
Merge pull request #269 from coltongit/patch-31
Fix a minor error with bettercamera
2020-05-27 03:18:02 +03:00
fgsfds 62e78a74c0 fix crashes with EXTERNAL_TEXTURES on JP/EU and Bowser
related to two huge textures and fonts
2020-05-27 02:51:21 +03:00
Colton G. Rushton b5b5aab076
Fix a minor error with bettercamera
The bettercamera code set when the player goes to THI is actually supposed to be set when the player goes to TTM. This small PR fixes this minor bug.
2020-05-26 15:28:36 -03:00
fgsfds 655c381d6f add texture preloading
when EXTERNAL_TEXTURES is defined, the texture hashmap in gfx_pc.c uses texture names as keys

all textures are precached on startup if EXTERNAL_TEXTURES is defined and 'precache' is true in the config
2020-05-26 00:54:51 +03:00
Zerocker 6166402626 Removed ifndefs from main 2020-05-25 17:06:50 +09: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
fgsfds 9825b02f50 add option to load textures from external files
this stores the null terminated texture name instead of the texture data

activated with EXTERNAL_TEXTURES=1
2020-05-25 04:22:03 +03:00
Zerocker ce864043c1 Enabled rumble for all versions. 2020-05-24 23:52:03 +09:00
Zerocker 19990cde38 Secret Cheat was added 2020-05-24 23:50:55 +09:00
Zerocker 37ff33b0a2 Added blank SDL functions for rumble support. 2020-05-24 23:49:49 +09:00
fgsfds 4bbde37464 this ain't const anymore 2020-05-22 01:42:07 +03:00
fgsfds 686ea5be7b separate options menu strings and add JP strings 2020-05-22 01:36:49 +03:00
fgsfds a9d16ea76a unfuck BSWAP16 macro, replace it with BE_TO_HOST16() in audio 2020-05-22 01:36:49 +03:00
fgsfds aaf6eab582 fix text rendering on JP and (maybe) EU
also cache converted IA1 characters so it wouldn't reconvert them every goddamn time they're rendered
2020-05-22 01:36:49 +03:00
IvanDSM 1298cd6017 Add commit hash to window title for nightly builds.
This also adds a flag for detecting nightly builds in the code.
2020-05-21 14:19:20 -03:00
Colton G. Rushton d139e23177
Unrevert the bettercamera update but this time actually fix it 2020-05-21 13:40:02 -03:00
Colton G. Rushton 4cc5ffff32
Undo the bettercamera update
This screwed up the bettercamera for whatever reason. Urgent hotfix. Please test
2020-05-21 12:52:40 -03:00
Zerocker 84b970cfe1 Merge remote-tracking branch 'upstream/nightly' into textsaves_fix 2020-05-21 16:54:06 +09:00
V. R. Miguel 4e7ce3ffba
Merge pull request #226 from coltongit/puppycam-fixes
Updating Bettercamera (also fixes cannons)
Thanks for the contribution, @coltongit, @porcino  :)
2020-05-20 23:18:43 -03:00
IvanDSM 5071b82150 Merge branch 'nightly' of github.com:sm64pc/sm64pc into nightly 2020-05-20 22:39:27 -03:00
IvanDSM a6f7cefe96 Quick fix for NODRAWINGDISTANCE=1 hanging fix 2020-05-20 22:39:07 -03:00
IvanDSM 66c9755258
Merge pull request #236 from coltongit/sparkle-texture-fix
Add minor sparkle texture fixes
2020-05-20 21:34:06 -03:00
fgsfds 0724f0ed09 add fog to GL1.3 renderer
uses two different methods, with the first one taking priority if it's available:

a) use the fog factor supplied in the fog colors as a GL_FOG_COORD; GL_FOG_COORD is only available in GL1.4+ or when GL_EXT_fog_coord is present

just blend the same triangles a second time, but replace the color with fog color and multiply the alpha by fog alpha
2020-05-21 03:12:51 +03:00
Colton Rushton 9805dcab32 Minor fix to updated bettercamera 2020-05-20 21:10:00 -03:00
Colton G. Rushton ba8345377e
Added info that sparkle texture 5 was fixed 2020-05-20 20:59:16 -03:00
Colton G. Rushton f7355b91ab
Add minor sparkle texture fixes
Controlled by TEXTURE_FIX as mandated by the Koopa shorts issues/PRs
2020-05-20 20:54:25 -03:00
Colton Rushton 6e936174b0 Resolve a few errors with the new additions. 2020-05-20 16:52:52 -03:00
fgsfds 2714708ca9 avoid redefining CLOCK_MONOTONIC and shit 2020-05-20 17:56:35 +03:00
Mario Reder f99298943c fix non mingw builds
resolves #230
2020-05-20 16:50:05 +02:00
Zerocker 89bab59fbf Added appropriate flags for sound mode and cap level. Documentation has been updated. 2020-05-20 23:28:04 +09:00
fgsfds c540712154 add GL1.3 (or 1.2 with some extensions) rendering backend
there are still some graphical glitches and no fog
2020-05-20 07:00:04 +03:00
Colton Rushton 560800e97a Formatting fixes. 2020-05-19 22:10:47 -03:00
Colton Rushton f9d798c321 Another minor fix 2020-05-19 22:08:45 -03:00
Colton Rushton 68374ca330 Minor fix 2020-05-19 22:05:35 -03:00
Colton Rushton 26095da73c Updating Bettercamera 2020-05-19 21:58:15 -03:00
IvanDSM fb706c42f6 CLI improvements 2020-05-19 21:22:05 -03:00
fgsfds c57bacdfd7 clean up some toolchain compatibility fixes
also rename the abs() macro to not cause any fucking conflicts ever again
2020-05-19 22:22:52 +03:00
fgsfds 06f02dc210 separate text saves; fix build without TEXTSAVE 2020-05-19 21:56:23 +03:00
Leon422 c0a79af79c
Fixed spacing, added brackets. Ready to merge 2020-05-19 19:15:20 +01:00
Leon422 1590976046
Cheats can be enabled by pressing the L trigger 3 times while in the options menu.
Also plays a sound to confirm the user that it worked.
2020-05-19 18:31:01 +01:00
Zerocker 6a628322ba Merge remote-tracking branch 'upstream/nightly' into nightly 2020-05-20 00:02:29 +09:00
zerocloude f1698b9081
Merge pull request #205 from porcino/nightly
Option to hide the hud
2020-05-19 23:46:19 +09:00
zerocloude 0c03280516
Merge pull request #93 from yksoft1/mingw.org-compatible
Making code MinGW.org and MSYS1 compatible
2020-05-19 23:45:44 +09:00
zerocloude d604711468
Merge pull request #153 from coltongit/patch-23
TARGET_N64 removal
2020-05-19 23:37:51 +09:00
zerocloude 2b2572db4b
Merge pull request #150 from coltongit/patch-21
Fix unused code
2020-05-19 23:26:40 +09:00
zerocloude 1d4d92fe6d
Merge pull request #210 from coltongit/controller-axis-fix
Fix to controller axis invert issue
2020-05-19 23:25:33 +09:00
Colton Rushton 08ad740b1c Refactor PR #176 2020-05-19 10:51:49 -03:00
Colton Rushton b0081e8d60 Refactor PR #151 2020-05-19 10:14:44 -03:00
yksoft1 ee795fa7af My hacks to cliopts.h is not necessary anymore. 2020-05-19 20:15:25 +08:00
U-ALTTP-PC\ALTTP e97d25c2c6 option to hide the hud 2020-05-19 03:24:51 -03:00
V. R. Miguel 29bfb1b9b8
Merge branch 'nightly' into master 2020-05-18 23:00:42 -03:00
fgsfds c18e70f44e Revert "Merge branch 'nightly' into master"
This reverts commit 2e8a821fa3, reversing
changes made to d499f55402.
2020-05-19 02:38:59 +03:00
fgsfds 2e8a821fa3
Merge branch 'nightly' into master 2020-05-19 02:33:30 +03:00
fgsfds 26705aed7a disable cheats by default; use --cheats CLI option to enable for now 2020-05-19 01:59:29 +03:00
fgsfds 6a79a9af99 bring back the old frame timing method (if vsync != 2) 2020-05-19 01:32:49 +03:00
fgsfds 59913a9beb Revert "Revert "(hopefully) fix the timing crap; add vsync option""
This reverts commit c6961b8606.
2020-05-19 01:25:59 +03:00
fgsfds c6961b8606 Revert "(hopefully) fix the timing crap; add vsync option"
This reverts commit 2bd840a299.
2020-05-18 18:48:11 -03:00
fgsfds c3c2451c6a Revert "(hopefully) fix the timing crap; add vsync option"
This reverts commit 2bd840a299.
2020-05-18 18:44:35 -03:00
fgsfds 952495ae08 clean up cliopts 2020-05-18 23:31:19 +03:00
fgsfds 2bd840a299 (hopefully) fix the timing crap; add vsync option 2020-05-18 23:03:04 +03:00
Daniel 8586c7657a Added "Exit course at any time", "Huge Mario" and "Tiny Mario" cheats
The exit course at any time cheat clears up one of the TODO items while keeping purists happy since it's optional :)
2020-05-18 17:51:53 +01:00
Zerocker e24473ee17 Support for text-based savefiles 2020-05-18 17:44:21 +09:00
Vinícius R. Miguel bd186569de Fixes --fullscreen and --windowed problems 2020-05-18 00:28:05 -03:00
V. R. Miguel cd2e6c0774
Merge pull request #165 from HeavenVolkoff/save_win_dimensions
Implement save/restore of window dimensions/position

Thanks for the contribution, @HeavenVolkoff!
2020-05-18 00:10:42 -03:00
Vinícius R. Miguel 4246242138 Still about #172 2020-05-17 23:58:22 -03:00
Vinícius R. Miguel ba04643b61 Potential fix for #172
Adds a null-terminator to gCLIOpts.ConfigFile
2020-05-17 23:55:17 -03:00
Heaven Volkoff 98efed7c51 Reset Window now exit fullscreen
Change configFullscreen to configWindow.fullscreen
2020-05-17 23:31:31 -03:00
Heaven Volkoff 9927b3555d Fix fullscreen exit resulting in a slightly lower Y position 2020-05-17 23:31:31 -03:00
Heaven Volkoff 0fa331d961 Implement save/restore window dimensions/position
- Add an entry in options menu to reset window
2020-05-17 23:31:31 -03:00
IvanDSM d6495550f5 Release mouse when paused 2020-05-17 22:37:52 -03:00
IvanDSM f29ce2d8f0 Merge branch 'nightly' of github.com:sm64pc/sm64pc into nightly 2020-05-17 21:24:01 -03:00
IvanDSM 5e637bd121 Fix crashing when OOB in BETTERCAMERA builds
Previously, an attempt to read gMarioState->floor->type was being made even when gMarioState->floor was a null pointer.
This commit makes bettercamera check if gMarioState->floor is not null before accessing it.
2020-05-17 21:23:30 -03:00
V. R. Miguel 6811d9e01c
Fixed a dumb thing 2020-05-17 21:17:27 -03:00
Vinícius R. Miguel 15c7670ce8 Merge remote-tracking branch 'origin/nightly' into nightly 2020-05-17 21:06:59 -03:00
Vinícius R. Miguel 262963bf88 Restructuring some of the cheat code 2020-05-17 21:06:38 -03:00
fgsfds eaba9656d6
Merge pull request #169 from kurethedead/nightly
Implemented LoadTile f3d command, I4/I8/RGBA32 texture formats.
2020-05-18 02:45:11 +03:00
V. R. Miguel 2287fcce9f
Merge pull request #170 from Leon422/nightly
Added a "responsive controls" cheat
2020-05-17 20:08:13 -03:00
Daniel 17c6e56907 Added a "super responsive controls" cheat
Added a "super responsive controls" cheat. When enabled, Mario will look straight into the direction the user inputs when changing directions, with no interpolation at all. (you can still slide / side jump / etc )

The change is especially noticeable when playing with keyboard.
2020-05-18 00:05:26 +01:00
kurethedead 181e18dfea Implemented LoadTile f3d command, I4/I8/RGBA32 texture formats. 2020-05-17 15:48:06 -07:00
V. R. Miguel 15dabb7c22
Merge pull request #166 from Leon422/nightly
Enabled a Cheat menu

Thanks for the contribution, @Leon422!
2020-05-17 19:32:44 -03:00
Leon422 1a9c8dbe47
Fixed tabs/spaces 2020-05-17 23:27:40 +01:00
Daniel 28fc53c207 Enabled a Cheat menu
Enabled a cheat menu. It includes 4 cheats, and all of them rely on the global "Enable cheats" option so the user can quickly turn all the selected cheats off and back on.
2020-05-17 22:56:06 +01:00
Andrew Bobulsky fcc4cbb51d
Fix TARGET_WEB builds 2020-05-17 15:22:50 -04:00
fgsfds 094f3ebb33
Merge branch 'nightly' into master 2020-05-17 20:19:42 +03:00
fgsfds ece7649b4b use a wrapper for exiting instead of just calling exit()
this might also fix the webgl build issue
2020-05-17 19:56:56 +03:00
fgsfds 62cc4620ec no need for that, window resize events happen when fullscreen state changes 2020-05-17 19:56:33 +03:00
fgsfds 58dbb04f97 update gfx_sdl2.c with the latest stuff from Emill/n64-fast3d-engine 2020-05-17 19:49:36 +03:00
uncletrunks 6b468f44f6 fix for issue #149 2020-05-17 11:03:02 -05:00
Colton G. Rushton b52560869c
The last of TARGET_N64 finally gets thanos'd 2020-05-17 08:17:37 -03:00
yksoft1 072025d243 Fix cliopts on MinGW.org. 2020-05-17 19:01:13 +08:00
yksoft1 753be9e1b7 Merge remote-tracking branch 'upstream/master' into mingw.org-compatible 2020-05-17 18:33:17 +08:00
Colton G. Rushton c8a5d2ec68
Fix unused code 2020-05-17 05:49:34 -03:00
V. R. Miguel bc5942d189
A better fix to the cylboard problem
So we've reverted the previous 'fix' and add this one, by @HeavenVolkoff.
2020-05-17 03:34:05 -03:00
Vinícius R. Miguel d543bd0b3d Revert "Fixes billboarding-related problems"
This reverts commit 5558ecbd4e.
2020-05-17 03:29:19 -03:00
Vinícius R. Miguel 5558ecbd4e Fixes billboarding-related problems 2020-05-17 02:15:11 -03:00
Vinícius R. Miguel bdc06d1709
Merge pull request #139 from sm64pc/master
Add MXE/OSX stuff to nightly
2020-05-16 22:08:24 -03:00