5117 Commits

Author SHA1 Message Date
UnknownShadow200
3b1b13eb22 Add support for RISCV register dumping on linux 2020-07-23 23:26:51 +10:00
UnknownShadow200
65ee8fe655 Cleanup options code, simplify css on example classisphere website 2020-07-23 09:07:39 +10:00
UnknownShadow200
f55a55b3c6 Simplify options saving/loading code 2020-07-22 19:19:46 +10:00
UnknownShadow200
a0f4171209 Attempt to fix rare 'options.txt already in use' errors when using direct connect and auto close launcher (Thanks SpiralP) 2020-07-22 16:51:00 +10:00
UnknownShadow200
23c8e49280 Export NetPlayer_Init per request 2020-07-22 15:33:30 +10:00
UnknownShadow200
9d31c74d5d Don't use Game_UpdateDimensions when calculating launcher framebuffer dimensions
The launcher part should be depending on as little of the core game code as possible
2020-07-21 22:39:03 +10:00
UnknownShadow200
ae88643304 Launcher: Scale button borders (and other borders) by DPI 2020-07-21 22:28:29 +10:00
UnknownShadow200
cfd606317f Open source release packaging part of buildbot 2020-07-21 14:46:03 +10:00
UnknownShadow200
81bbc6d3a7 Less warnings compiling web client 2020-07-20 21:41:35 +10:00
UnknownShadow200
b707fef2c8 Fix in launcher if you clicked Updates -> Any button to download before update checking had actually finished, it wouldn't do anything.
This was particularly annoying, because the update checker usually finishes very quickly. So the first time you clicked the button, it didn't do anything, but the next time you clicked the button, it would actually start downloading.
2020-07-19 12:14:50 +10:00
UnknownShadow200
6b8cff6111 Properly detect mac < 10.4 and use NS api instead. Therefore 10.3 is now minimum supported macOS version 2020-07-19 00:30:32 +10:00
UnknownShadow200
40971873a6 Cleanup debug logging messages
Remove launcher web task logging, simplify http logging messages
2020-07-18 13:21:10 +10:00
UnknownShadow200
f1522b9fc9 Split up LScreen Init methods into Init/Show methods (since this was what all the screens were doing anyways) 2020-07-18 12:53:46 +10:00
UnknownShadow200
1a7c4a24f7 I am altering the API. Pray I don't alter it any further.
Readd obsolete Dynamic_Get/Load because some plugins depend on it
2020-07-17 20:07:19 +10:00
UnknownShadow200
79a22ff18c Use simpler GLContext_GetAll for loading OpenGL 1.5/1.2 functions 2020-07-17 17:18:51 +10:00
UnknownShadow200
188ea885ee Also make libcurl dynamic loading use new DynamicLib_GetAll 2020-07-17 12:32:47 +10:00
UnknownShadow200
f5095d4389 Add simpler DynamicLib_GetAll interface 2020-07-17 12:24:33 +10:00
UnknownShadow200
1ee9e86502 When disconnecting from server due to invalid opcode, also include opcode of last valid packet in message 2020-07-15 19:11:48 +10:00
UnknownShadow200
a819ca770f Don't crash if out of memory when allocating samples for writing .wav file 2020-07-14 21:48:30 +10:00
UnknownShadow200
d403ba6659 Show slightly more user friendly decimal instead of hexadecimal error number (Thanks MasterMen) 2020-07-14 21:15:07 +10:00
UnknownShadow200
b9ef7fbe70 Keep data length local instead of relying on file length when writing out .wav sounds 2020-07-14 19:40:41 +10:00
UnknownShadow200
d7299b12fd Change message from 'using nolimit mode is discouraged' to 'nolimit mode is pointless - it wastefully renders frames that you don't even see'
tired of people telling others that they should be playing in nolimit mode
2020-07-14 11:37:25 +10:00
UnknownShadow200
24e37d0658 Reduce glVertexAttribPointer calls to improve performance in
web client when low performance is due to gl call overhead.

Examples of FPS differences:
-- CR 83/FF 78/IE 11 (Win7 desktop nvidia, 512 viewdist)
-------------------------------------------------------
NA2 FB :  60->60,   38->47,   25->39
PR main:  90->100,  60->76,   42->70
TGA FB :  60->80,   49->62,   35->56
NB  FB :  60->60,   44->47,   32->37
Au70 FB: 140->167,  72->92,   60->99
Lag map:  30->60,   25->40,   15->30
CR  FB : 160->162, 100->108, 112->124
Fltgras: 200->200, 185->185, 310->320

-- CR 83/IE 11 (Win 7 laptop intel, 256 viewdist)
NA2 FB :  40-70 ->  50-80 ,  14->24
PR main:  25-35 ->  25-40 ,  22->27
TGA FB :  20-30 ->  20-40 ,  18->22
NB  FB :  40-50 ->  40-80 ,  17->55
Au70 FB:  30-70 ->  40-80 ,  20->35
Lag map:  20-30 ->  30-60 ,  10->20
CR FB  :  70-120->  70-130,  30->45
Fltgras: 150-170-> 150-170,  66->66

-- CR/FF mobile (Android, 128 viewdist)
PR main:  16->17,    8->  8
TGA FB :  50->60,   20-> 22
Au70 FB:  70->80,   30-> 30
Lag map:  17->23,    8-> 11
Fltgras: 150->150,  57->60

So to the best of my knowledge, there are no performance regressions.
Raspberry pi/android should also improve a little bit, but untested.
(benefit will be less as GLES calls are much cheaper compared to WebGL calls)

These measurements should be looked at as relative percent improvements, not
as absolute FPS comparisons. I did not try to properly benchmark here -
especially for the laptop, where FPS wildly varied. All these are averages.
2020-07-13 23:30:55 +10:00
UnknownShadow200
c45442554f
Add note about having to disable mouse integration for virtualbox, improve compiling section in readme
Added documentation for compiling using visual studio command line, clarified mingw/mingw-w64 steps, add larger titles separating compiling instructions by OS
2020-07-12 09:36:31 +10:00
UnknownShadow200
2edbcd411f Always define OpenGL constants for versions > 1.1 instead of relying on GL.h 2020-07-11 11:12:38 +10:00
UnknownShadow200
891ebe1942 Fix CC_BUILD_GLMODERN having messed up fog (thanks picat) 2020-07-10 09:28:50 +10:00
UnknownShadow200
fa3a9ab3d7 Also include Geneva in default fonts list, fixes crashing on macOS panther 2020-07-09 22:52:30 +10:00
UnknownShadow200
04b7cd62ee Use DynamicLib_Get2 instead of dlsym for GetMenuBarEventTarget
using -2 for lib probably breaks powerpc, which I will get around to fixing eventually
2020-07-09 21:35:16 +10:00
UnknownShadow200
35ed41ab81 Fix wrong link in hosting-webclient.md and simplify hosting-flask.md by combining the 3 html template files into 1 2020-07-08 18:27:13 +10:00
UnknownShadow200
eb68cb9026
Merge pull request #688 from SpiralP/master
Custom Models v2
2020-07-07 19:19:15 +10:00
SpiralP
2faeccd5e8 fix head 2020-07-07 01:28:50 -07:00
SpiralP
21b97d2dc4 oop 2020-07-07 00:41:07 -07:00
SpiralP
331651bf34 cleaner code, each anim now chooses which axis to modify 2020-07-07 00:37:35 -07:00
SpiralP
79e3e0beed change protocol for anims: anim type byte now contains which axis to apply to 2020-07-07 00:14:37 -07:00
SpiralP
18ad212279 remove CustomModel_DrawArmPart, added by mistake 2020-07-06 23:43:35 -07:00
UnknownShadow200
08a5cd880f Fix mac/linux builds being broken, oops 2020-07-06 20:22:32 +10:00
UnknownShadow200
3e539a45a5
Merge pull request #689 from UnknownShadow200/AnimsOptimise
Optimise partial texture updates
2020-07-06 20:15:11 +10:00
SpiralP
0a0b2a841b Custom Models v2
now allows 4 modifier numbers per animation, and 4 animations per part
2020-07-05 17:11:36 -07:00
UnknownShadow200
0046c544f4 Bump up max number of arguments for client commands from 10 to 50 2020-07-05 22:00:28 +10:00
UnknownShadow200
e140731504 Make Bitmap use BitmapCol* instead of u8*, make fields lowercase for consistency 2020-07-05 19:57:23 +10:00
UnknownShadow200
7821fa3ab3 Use rowWidth argument for texture animations, avoids a pointless copy for D3D9 backend 2020-07-05 16:39:21 +10:00
UnknownShadow200
54a223f691 Add Gfx_UpdateTexture in preparation for updating textures improvements 2020-07-05 14:15:05 +10:00
UnknownShadow200
5245c317ee Avoid requesting pointer lock then exiting pointer lock when pressing escape to open pause menu
This should further reduce chance where cursor gets stuck down
2020-07-04 16:53:13 +10:00
UnknownShadow200
273473c922 A bug in chrome 83 (crbug.com/1091169) means that if a pointer lock request is made when a pointer lock is already pending, it fails and the cursor is stuck as normal and visible. Not even reloading the tab can save you now. So always defer requests to enable pointer lock to next input event, to reduce chances of this happening. 2020-07-03 21:11:56 +10:00
UnknownShadow200
fab91996d3 Add faster EntryList_Load alternative that doesn't check for duplicate keys. On my machine with 492 fonts, reduces loading fonts list time at startup from ~7 ms to ~1ms. 2020-07-02 21:38:50 +10:00
UnknownShadow200
6a1235f6a9 Use separator argument instead, eliminate need for separate EntryList struct 2020-07-01 23:06:17 +10:00
UnknownShadow200
669dac1738 fix last commit not properly reloading changed options from disc, whoops 2020-07-01 21:23:28 +10:00
UnknownShadow200
278e7c70cd Remove path field from EntryList struct, move to argument for Load/Save 2020-07-01 21:12:14 +10:00
UnknownShadow200
925346278d Only load d3d9.dll when actually needed. This way the launcher will still work even when you're missing Direct3D9. 2020-06-30 23:44:25 +10:00
UnknownShadow200
d805d33d7d For SDL backend, reset graphics context if get a SDL_RENDER_DEVICE_RESET event 2020-06-30 12:15:10 +10:00