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
|
* Mouse enabled for looking
|
||||||
*/
|
*/
|
||||||
private byte[] buildDoomDefaultCfg() {
|
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 = ""
|
String cfg = ""
|
||||||
+ "mouse_sensitivity\t\t5\n"
|
+ "mouse_sensitivity\t\t5" + CRLF
|
||||||
+ "sfx_volume\t\t8\n"
|
+ "sfx_volume\t\t8" + CRLF
|
||||||
+ "music_volume\t\t8\n"
|
+ "music_volume\t\t8" + CRLF
|
||||||
+ "show_messages\t\t1\n"
|
+ "show_messages\t\t1" + CRLF
|
||||||
+ "key_right\t\t77\n" // Right arrow — turn right
|
+ "key_right\t\t77" + CRLF // Right arrow — turn right
|
||||||
+ "key_left\t\t75\n" // Left arrow — turn left
|
+ "key_left\t\t75" + CRLF // Left arrow — turn left
|
||||||
+ "key_up\t\t17\n" // W — forward
|
+ "key_up\t\t17" + CRLF // W — forward
|
||||||
+ "key_down\t\t31\n" // S — backward
|
+ "key_down\t\t31" + CRLF // S — backward
|
||||||
+ "key_strafeleft\t\t30\n" // A — strafe left
|
+ "key_strafeleft\t\t30" + CRLF // A — strafe left
|
||||||
+ "key_straferight\t\t32\n" // D — strafe right
|
+ "key_straferight\t\t32" + CRLF // D — strafe right
|
||||||
+ "key_fire\t\t29\n" // Ctrl — fire
|
+ "key_fire\t\t29" + CRLF // Ctrl — fire
|
||||||
+ "key_use\t\t57\n" // Space — use/open
|
+ "key_use\t\t57" + CRLF // Space — use/open
|
||||||
+ "key_strafe\t\t56\n" // Alt — strafe (hold)
|
+ "key_strafe\t\t56" + CRLF // Alt — strafe (hold)
|
||||||
+ "key_speed\t\t54\n" // Shift — run
|
+ "key_speed\t\t54" + CRLF // Shift — run
|
||||||
+ "use_mouse\t\t1\n"
|
+ "use_mouse\t\t1" + CRLF
|
||||||
+ "mouseb_fire\t\t0\n"
|
+ "mouseb_fire\t\t0" + CRLF
|
||||||
+ "mouseb_strafe\t\t1\n"
|
+ "mouseb_strafe\t\t1" + CRLF
|
||||||
+ "mouseb_forward\t\t2\n"
|
+ "mouseb_forward\t\t2" + CRLF
|
||||||
+ "use_joystick\t\t0\n"
|
+ "use_joystick\t\t0" + CRLF
|
||||||
+ "joyb_fire\t\t0\n"
|
+ "joyb_fire\t\t0" + CRLF
|
||||||
+ "joyb_strafe\t\t1\n"
|
+ "joyb_strafe\t\t1" + CRLF
|
||||||
+ "joyb_use\t\t3\n"
|
+ "joyb_use\t\t3" + CRLF
|
||||||
+ "joyb_speed\t\t2\n"
|
+ "joyb_speed\t\t2" + CRLF
|
||||||
+ "screenblocks\t\t10\n"
|
+ "screenblocks\t\t10" + CRLF
|
||||||
+ "detaillevel\t\t0\n"
|
+ "detaillevel\t\t0" + CRLF
|
||||||
+ "showmessages\t\t1\n"
|
+ "showmessages\t\t1" + CRLF
|
||||||
+ "comport\t\t1\n"
|
+ "comport\t\t1" + CRLF
|
||||||
+ "snd_channels\t\t3\n"
|
+ "snd_channels\t\t3" + CRLF
|
||||||
+ "snd_musicdevice\t\t3\n"
|
+ "snd_musicdevice\t\t3" + CRLF
|
||||||
+ "snd_sfxdevice\t\t3\n"
|
+ "snd_sfxdevice\t\t3" + CRLF
|
||||||
+ "snd_sbport\t\t544\n"
|
+ "snd_sbport\t\t544" + CRLF
|
||||||
+ "snd_sbirq\t\t7\n"
|
+ "snd_sbirq\t\t7" + CRLF
|
||||||
+ "snd_sbdma\t\t1\n";
|
+ "snd_sbdma\t\t1" + CRLF;
|
||||||
return cfg.getBytes(java.nio.charset.StandardCharsets.US_ASCII);
|
return cfg.getBytes(java.nio.charset.StandardCharsets.US_ASCII);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user