Instead of FILE pointer stored in the transfer, they go in their own array. The number of nodes accessing a file is kept track of, and it's only fully closed after everyone who needs it is done with it.
Means that will unfortunately do a lot more seeking, but multiple users can download the same file now without it being implementation specific.
- It was actually ACCELERATION axis input that was predominantly broken!
- It was inexplicably slightly under double what it should be (98 instead of the digital value of 50), which meant brake analog input struggled to dampen it.
- Analog brake deceleration also gets a slight buff, from 24 to 25 (previously off from the digital value of 25 due to integer division rounding)
- Remove a pointless, always-true condition for brake handling.
- Checked whether accel was held down OR whether `cmd->forwardmove` was less than or equal 0...
- But further up the same function, `cmd` was invariably overwritten with a blank `I_BaseTiccmd`!
- Therefore, `cmd->forwardmove` would always equal 0, and the `forwardmove` subtraction would always occur.
- Fixed off by one in Got_RequestFilePak that could cause correct, maximised-space-usage packets to be rejected
- More verbose printing for aborting send files
- More verbose printing for client request files (behind a define for troubleshooting)
There's enough confidence among krew that there's zero apparent downside to this, but made sure to do it as a seperate commit if we have to hit the emergency switch and revert
- If no clients at server start or after 10 seconds of GS_LEVEL, and no Netxcmd waiting to be digested, halt all SV_MakeTic.
- Currently #define'd out, but if we don't get to test it before 1.6 release, I fully encourage community build developers to enable this codepath and trial it on their servers.
- It's absolutely netsafe to only have enabled on the host's end, the only risk is that a dedicated server might not re-awaken when presented with certain stimuli.
- Make all the I_Errors return false and print to the console instead.
- New prints for missing files if you can't fit it all into one packet.
- Make the startmessage warning less specific and direct you to the logfile, to accomodate all the different ways legacy downloads can fail.
- Catch buffer overrun opportunities and fail early.
- Add #define MORELEGACYDOWNLOADER for the equivalent of MOREFILENEEDED, but disabled for now because honestly we really shouldn't be encouraging people to use this thing by making it support 255 WADs at once, but also because that'd be MISERABLE to test
- Add a menu report for when legacy downloader attempts fail
It's the collective opinion of Kart Krew's coders that sticking to C90 spec isn't healthy... but while the compiler still warns for it in the v1 buildflags, avoid undesired reports.