fix: use CRLF line endings in DEFAULT.CFG to match Doom's fgets parser
Build & Deploy / build-and-deploy (push) Successful in 51s
Build & Deploy / build-and-deploy (push) Successful in 51s
The dos.zone DEFAULT.CFG uses \r\n (DOS/CRLF) line endings. Our injected config used \n (LF/Unix). While fgets() reads both, the \r character stays in the buffer and the Doom parser may behave differently when it's absent. Matching the exact byte-for-byte format that works on dos.zone.
This commit is contained in:
@@ -329,40 +329,43 @@ public class UploadResource {
|
||||
* Mouse enabled for looking
|
||||
*/
|
||||
private byte[] buildDoomDefaultCfg() {
|
||||
// Use CRLF (\r\n) line endings — Doom's config parser uses fgets()
|
||||
// which includes \r in the buffer on DOS. Missing \r can cause parsing issues.
|
||||
String CRLF = "\r\n";
|
||||
String cfg = ""
|
||||
+ "mouse_sensitivity\t\t5\n"
|
||||
+ "sfx_volume\t\t8\n"
|
||||
+ "music_volume\t\t8\n"
|
||||
+ "show_messages\t\t1\n"
|
||||
+ "key_right\t\t77\n" // Right arrow — turn right
|
||||
+ "key_left\t\t75\n" // Left arrow — turn left
|
||||
+ "key_up\t\t17\n" // W — forward
|
||||
+ "key_down\t\t31\n" // S — backward
|
||||
+ "key_strafeleft\t\t30\n" // A — strafe left
|
||||
+ "key_straferight\t\t32\n" // D — strafe right
|
||||
+ "key_fire\t\t29\n" // Ctrl — fire
|
||||
+ "key_use\t\t57\n" // Space — use/open
|
||||
+ "key_strafe\t\t56\n" // Alt — strafe (hold)
|
||||
+ "key_speed\t\t54\n" // Shift — run
|
||||
+ "use_mouse\t\t1\n"
|
||||
+ "mouseb_fire\t\t0\n"
|
||||
+ "mouseb_strafe\t\t1\n"
|
||||
+ "mouseb_forward\t\t2\n"
|
||||
+ "use_joystick\t\t0\n"
|
||||
+ "joyb_fire\t\t0\n"
|
||||
+ "joyb_strafe\t\t1\n"
|
||||
+ "joyb_use\t\t3\n"
|
||||
+ "joyb_speed\t\t2\n"
|
||||
+ "screenblocks\t\t10\n"
|
||||
+ "detaillevel\t\t0\n"
|
||||
+ "showmessages\t\t1\n"
|
||||
+ "comport\t\t1\n"
|
||||
+ "snd_channels\t\t3\n"
|
||||
+ "snd_musicdevice\t\t3\n"
|
||||
+ "snd_sfxdevice\t\t3\n"
|
||||
+ "snd_sbport\t\t544\n"
|
||||
+ "snd_sbirq\t\t7\n"
|
||||
+ "snd_sbdma\t\t1\n";
|
||||
+ "mouse_sensitivity\t\t5" + CRLF
|
||||
+ "sfx_volume\t\t8" + CRLF
|
||||
+ "music_volume\t\t8" + CRLF
|
||||
+ "show_messages\t\t1" + CRLF
|
||||
+ "key_right\t\t77" + CRLF // Right arrow — turn right
|
||||
+ "key_left\t\t75" + CRLF // Left arrow — turn left
|
||||
+ "key_up\t\t17" + CRLF // W — forward
|
||||
+ "key_down\t\t31" + CRLF // S — backward
|
||||
+ "key_strafeleft\t\t30" + CRLF // A — strafe left
|
||||
+ "key_straferight\t\t32" + CRLF // D — strafe right
|
||||
+ "key_fire\t\t29" + CRLF // Ctrl — fire
|
||||
+ "key_use\t\t57" + CRLF // Space — use/open
|
||||
+ "key_strafe\t\t56" + CRLF // Alt — strafe (hold)
|
||||
+ "key_speed\t\t54" + CRLF // Shift — run
|
||||
+ "use_mouse\t\t1" + CRLF
|
||||
+ "mouseb_fire\t\t0" + CRLF
|
||||
+ "mouseb_strafe\t\t1" + CRLF
|
||||
+ "mouseb_forward\t\t2" + CRLF
|
||||
+ "use_joystick\t\t0" + CRLF
|
||||
+ "joyb_fire\t\t0" + CRLF
|
||||
+ "joyb_strafe\t\t1" + CRLF
|
||||
+ "joyb_use\t\t3" + CRLF
|
||||
+ "joyb_speed\t\t2" + CRLF
|
||||
+ "screenblocks\t\t10" + CRLF
|
||||
+ "detaillevel\t\t0" + CRLF
|
||||
+ "showmessages\t\t1" + CRLF
|
||||
+ "comport\t\t1" + CRLF
|
||||
+ "snd_channels\t\t3" + CRLF
|
||||
+ "snd_musicdevice\t\t3" + CRLF
|
||||
+ "snd_sfxdevice\t\t3" + CRLF
|
||||
+ "snd_sbport\t\t544" + CRLF
|
||||
+ "snd_sbirq\t\t7" + CRLF
|
||||
+ "snd_sbdma\t\t1" + CRLF;
|
||||
return cfg.getBytes(java.nio.charset.StandardCharsets.US_ASCII);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user