When using nosound, then upon reload sounds are not loaded. You could delete your settings.xml to have sound again or use the -r 8540 and up
What is this supposed to mean? If using -nosound, pre 8540, sounds not being loaded is correct. If the game is subsequently loaded without -nosound, then the previous mute selection is retained. Deleting settings.xml is not required. All 8540 does is bloat memory usage when using -nosound, and more important mute the sounds every time you load!
I'm confused about the intention of r8540. Does it change the meaning of the -nosound command line flag from "Don't load any sound files" to "Start the game with sound muted"?
From what I see, even without -nosound specified, r8540 makes it "Start the game with sound muted". Not sure why that would be desired behaviour...
That is why the pak64 sounds are encoded as 8 bit 11 kHz mono, which saves a factor of 16 in space ...
mono 8bit 11kHz only applies to the files on disk. Once loaded into memory, they are converted to mono 16bit 22kHz.
Anyway, it's possible the OP has ran into an issue with SDL2. If still around, can you clarify what version you were/are running?
On my Win10 system, SDL2 is coming back with F32 as the only available audio format. Since the sdl_sound backend is strangely insisting on S16, dr_init_sound is failing. And since the error messages have been mangled (dbg->important takes different params than dbg->warning et al.), you don't see that.
Allowing F32 since SDL2 can convert at play time (and Simutrans is converting upon wav loading anyway) allows sound to work again.
Attached proposed patch reverting 8540, adding sdl2_sound.cc that requests S16, but allows anything, and converts .wavs to the obtained device output format rather than S16 (eliminate double conversion).