Skip to content
This repository has been archived by the owner on Jun 23, 2023. It is now read-only.

[Bug] Tracker music in .MOD format doesn't play #188

Closed
andromeda-dsda opened this issue Feb 10, 2021 · 10 comments
Closed

[Bug] Tracker music in .MOD format doesn't play #188

andromeda-dsda opened this issue Feb 10, 2021 · 10 comments

Comments

@andromeda-dsda
Copy link

Hey again,

I've noticed recently that tracker music in the .MOD format doesn't play in this fork, while it plays fine in the latest version of regular PrBoom+ (both the stable and test versions). Other formats of tracker music I've seen used in wads (.S3M, .XM, and .IT) play correctly, so it's an issue specific to the .MOD format.

NoReason's Speedmaps 2 is an example of a wad that uses some tracker music in the .MOD format, including its D_DM2TTL lump, so it should be easy to compare the behaviour difference between the aforementioned PrBoom+ versions.

Thanks in advance and keep up the great work!

@fabiangreffrath
Copy link
Collaborator

This might as well be due to the used MOD rendering library (i.e. libdumb).

@alexey-lysiuk
Copy link
Collaborator

DUMB 2.0.3 doesn't work correctly indeed. Version 0.9.3 seems to play MOD files fine.

I guess, support for 2.x was never completed in the original PrBoom+.
Maybe unrelated, but duh_render() function is marked as deprecated.

@fabiangreffrath
Copy link
Collaborator

Does it help if we replace DUMB_MOD_RESTRICT_OLD_PATTERN_COUNT with DUMB_MOD_RESTRICT_NO_15_SAMPLE or even 0 here?

duh = dumb_read_mod_quick (dfil, DUMB_MOD_RESTRICT_OLD_PATTERN_COUNT);

@fabiangreffrath
Copy link
Collaborator

The values may even get ORed, so 3 is also valid.

@alexey-lysiuk
Copy link
Collaborator

It works with DUMB_MOD_RESTRICT_NO_15_SAMPLE, and with 0 too.

@fabiangreffrath
Copy link
Collaborator

From looking at readmod.c:it_mod_load_sigdata(), I conclude that setting this to 0 will correspond to the old libdumb 0.9.3 behaviour.

@fabiangreffrath
Copy link
Collaborator

@alexey-lysiuk Would you like to adjust this in the code?

@alexey-lysiuk
Copy link
Collaborator

Done. It would nice to know why that flag was used for DUMB 2.x though.

@fabiangreffrath
Copy link
Collaborator

I introduced that change back then but don't remember why, honestly.

@fabiangreffrath
Copy link
Collaborator

This provides some insight into this issue: kode54/dumb#86

Upstream recommends setting this to 1 which would invalidate 15 sample modules, but since this restriction wasn't in libdumb 0.9.3 before, either, I guess we play safe with leaving it at 0.

emileb pushed a commit to emileb/prboom-plus that referenced this issue Mar 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants