1
0
Fork 0
Commit graph

4332 commits

Author SHA1 Message Date
Patryk Obara
adead31b44 Add snapshot instructions to README.md 2019-12-05 23:35:15 +01:00
Patryk Obara
88ab53d3a3 Create Linux dev release job
Job uses Ubuntu 16.04 to get the widest compatibiity with Linux
distributions.

Snapshot builds are uploaded as job artifacts, but GitHub Actions do not
allow to specify compression program/params yet (everything is forced
into a zip).
2019-12-05 23:35:15 +01:00
Patryk Obara
f7fbdbf632 Move autoconfig-mandated files to docs/upstream
Autoconf enforces these files only for GNU projects. ATM these files are
out of date and might be misleading to the users.

As long as we'll not place files with the same names in this repo, git
will automatically update moved files when new commits from SVN will be
merged in.

For releases, it would probably be the best to write our own NEWS.md
file and generate CHANGES.md file out of git log.
2019-12-05 23:35:15 +01:00
krcroft
8f2a153dc2 STB Vorbis: eliminate inaccessible branch
The eliminated code removes the (ch == 1) branch, which is scoped
within this if condition: `if (rtype == 2 && ch != 1)`, therefore
the (ch == 1) branch will never be taken.
2019-12-05 10:35:44 +01:00
krcroft
a7a899fdb0 STB Vorbis: prevent division by zero in decode_resign if ch == 0
In the call to decode_residue:
  decode_residue(f, residue_buffers, ch, n2, r, do_not_decode);

The channel count is previously intialized as zero and incremented
based on a for-loop (f->channels) plus a conditional,
if (map->chan[j].mux == i).  If this doesn't happen then 'ch'
remains zero.

Once inside decode_residue(..), the code has three branches based
on channel count: stereo (ch == 2), mono (ch == 1), and then the
exception if it's neither of those (simple 'else').  It's in here
where a zero-valued 'ch' can be used as the denominator in these
calculations:
    int c_inter = z % ch
    p_inter = z/ch;

Obviously this 'else' branch is meant for channel counts greater
than two an not for zero channels; so this change simply makes
that branch only valid if (ch > 2).
2019-12-05 10:35:44 +01:00
krcroft
bedcc244d9 STB Vorbis: Check before derefercing a potential NULL pointer 2019-12-05 10:35:44 +01:00
Patryk Obara
4add527371 Fix wrong function name in the exception log
Bug report: https://sourceforge.net/p/dosbox/bugs/518/
2019-12-04 06:11:01 +01:00
Patryk Obara
15ca669199 Update allowed warnings limits 2019-12-03 06:49:08 +01:00
David Reid
84588c50bd Bump dr_wav to v0.11.2
Fixes:
- https://github.com/mackron/dr_libs/issues/84
- https://github.com/mackron/dr_libs/issues/83
- https://github.com/mackron/dr_libs/issues/82
- https://github.com/mackron/dr_libs/issues/81
- https://github.com/mackron/dr_libs/issues/80
- https://github.com/mackron/dr_libs/issues/79
- https://github.com/mackron/dr_libs/issues/78
- https://github.com/mackron/dr_libs/issues/77
- https://github.com/mackron/dr_libs/issues/76
- https://github.com/mackron/dr_libs/issues/75
2019-12-03 06:35:00 +01:00
David Reid
6b5a5acc9a Bump dr_mp3 to v0.5.4
Fixes:
- https://github.com/mackron/dr_libs/issues/86
- https://github.com/mackron/dr_libs/issues/85
2019-12-03 06:35:00 +01:00
David Reid
1866b4d295 Bump dr_flac to v0.12.3
Fixes:
- https://github.com/mackron/dr_libs/issues/93
- https://github.com/mackron/dr_libs/issues/92
- https://github.com/mackron/dr_libs/issues/91
- https://github.com/mackron/dr_libs/issues/90
- https://github.com/mackron/dr_libs/issues/89
- https://github.com/mackron/dr_libs/issues/88
- https://github.com/mackron/dr_libs/issues/87
2019-12-03 06:35:00 +01:00
krcroft
1f2ff70463 Ensure alloca is not defined before defining 2019-12-03 06:35:00 +01:00
krcroft
01a61a33f8 Remove ineffective consts and indicate unused variables 2019-12-03 06:35:00 +01:00
krcroft
d23f31fbe3 Avoid unecessary float-to-double promotion, and cleanup 2019-12-03 06:35:00 +01:00
krcroft
b55b43f543 Use PRIuPTR and define it for Windows GCC 64-bit 2019-12-03 05:12:28 +01:00
Patryk Obara
7d21bb1408 Move definition out of autoconfig 2019-12-03 05:12:28 +01:00
krcroft
7e3c4d3945 Harmonize refactoring of switch statement 2019-12-03 05:12:28 +01:00
krcroft
8a5a539f9a Cleanup printf types and explicitly state unused vars 2019-12-03 05:12:28 +01:00
krcroft
e5981c3b8e Fix uninitized scalar access 2019-12-03 05:12:28 +01:00
krcroft
d1a1932a07 Fix uninitized pointer accesses 2019-12-03 05:12:28 +01:00
Patryk Obara
91c5b4ac81 Revert "Enable Coverity "streams""
It didn't work. Coverity classifies all our builds as belonging to the
stream called 'dosbox-staging' and there's no option to change it.

This reverts commit e86e6e353e.
2019-12-02 09:35:21 +01:00
Patryk Obara
e86e6e353e Enable Coverity "streams" 2019-12-01 19:49:15 +01:00
Patryk Obara
6214b39f9e Revert "Break compilation to test GitHub badges"
This reverts commit 6ae50d77af.
2019-12-01 18:35:25 +01:00
Patryk Obara
b0df1ab1fa Fix badge URLs 2019-12-01 18:30:14 +01:00
Patryk Obara
69963cb6e4 Revert "Test badges sans links"
This reverts commit cfbe33f1fc.
2019-12-01 18:28:26 +01:00
Patryk Obara
cfbe33f1fc Test badges sans links 2019-12-01 18:26:01 +01:00
Patryk Obara
937127b961 Test shields.io badges
It seems like GitHub badges have some caching issues and they do not
work correctly (I have them showing two contradictory statuses,
depending on tab, no matter if I reload page or not).
2019-12-01 18:20:36 +01:00
Patryk Obara
6ae50d77af Break compilation to test GitHub badges 2019-12-01 18:09:00 +01:00
Patryk Obara
563ab75ff2 Remove Coverity badge
This badge is useful link straight to the Coverity report, but Coverity
decides to present the scan results in quite misleading way - mixing
runs from master with runs from other branches.

It's better to show no info at all than to show misleading info.

Link to Coverity scan is accessible in README.md, as a reference [3] in
the comparison table.
2019-12-01 11:19:11 +01:00
Patryk Obara
b05985fab4 Update allowed warnings limits 2019-11-29 06:27:14 +01:00
Patryk Obara
f5b52cb966 Use matrix to simplify Linux workflow
After many iterations, we now have really streamlined workflow file without
duplicated jobs.  It also looks very similar to macOS file.
2019-11-29 06:27:14 +01:00
Patryk Obara
f3b8bff3f5 Remove unused private field in device_EMM 2019-11-29 06:27:14 +01:00
Patryk Obara
e95b6e7063 Remove unused private field in fatFile 2019-11-29 06:27:14 +01:00
Patryk Obara
7afc052550 Silence "unused-const-variable" warning
This register dump looks useful, but it was never used for anything…
2019-11-29 06:27:14 +01:00
Patryk Obara
6325c995d6 Fix "unused-variable" warning 2019-11-29 06:27:14 +01:00
Patryk Obara
5ff1fcd604 Fix "misleading-indentation" warnings
GCC helpfully indicates, that:

warning: this ‘if’ clause does not guard (…) this statement, but
the latter is misleadingly indented as if it were guarded by the ‘if’.

Also, improve readability while we're touching these lines.
2019-11-29 06:27:14 +01:00
Patryk Obara
59edc4d9b5 Change the length of version field in infobox
Otherwise, infobox looks broken when version string has more
than 8 characters.
2019-11-29 06:27:14 +01:00
Patryk Obara
e5234c7802 Use full-width asterisk glyph for README.md notes
Previous glyph (Five Spoked Asterisk) looks great on Linux, but as it
turns out seems to be broken everywhere else.  Use this opportunity to
point out, that SDL 1.2 in general is not being developed any more.

Also, make a correction:
"DOSBox does indicate support" -> "does not"
2019-11-29 06:27:14 +01:00
Patryk Obara
e831d0b090 Remove pointless switch causing warnings 2019-11-29 06:27:14 +01:00
Patryk Obara
19b8902db3 Fix a resource leak
This bug was detected via Coverity static analysis:
Variable tempfile going out of scope leaks the storage it points to.

The leak happens when invalid keyboard layout file is being loaded:

  $ touch xx.kl
  $ dosbox .
  C:\>keyb xx
2019-11-28 21:06:20 +01:00
Patryk Obara
bd6a50e79e Document the project in README.md
Information in comparison table is based on developer testing on Linux
and user reports on Windows.

Remove VS-related info from INSTALL file instead of duplicating it in
README.md.
2019-11-28 13:38:12 +01:00
krcroft
17c4754c34 Contribute a static-opus builder 2019-11-28 09:41:43 +01:00
krcroft
cbdd1f3382 Perform a daily Coverity Scan of the master branch
Details at: https://scan.coverity.com/dashboard

The Coverity software (Roughly 1.5GB worth unpacked from a tarball)
can only be downloaded from an authentication web sessions, so I've
uploaded it to my Google drive and use 'gdown' to pull it inside
the workflow. This sounds ugly, but it's not too bad: Coverity last
updated their software nine months ago, so this will be a once-a-year
change, maybe twice.

The Google drive ID, SHA256 checksum, and other specifics are all
variables at the top YAML, so they're easy to adjust when Coverity
makes their next update. The download, extraction, and sha256
verification are all done in parallel via pipes, and extracting to
/dev/shm. It should be pretty quick. Edit: it is; 4 seconds.

To keep the tarball small, I remove unecessary bits (but this is
optional), before tar & zstd compressing it:
``` bash
rm -rf closure-compiler jars jdk11 jre node support-angularjs
cd bin
rm *java* *js* *php* *python* *ruby*
```
2019-11-28 08:52:13 +01:00
Patryk Obara
301d7c3423 Merge branch 'svn/trunk' r4296 2019-11-26 18:37:09 +01:00
Peter Veenstra
1521b7ad7d Fix bug #519
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4296
2019-11-26 16:52:04 +00:00
krcroft
61a437c27f Override architecture and host for 32-bit windows builds
Noted by vogons.org user jmarsh; thank you.
2019-11-26 16:42:42 +01:00
Peter Veenstra
f1608a2509 Fix bug #520
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4295
2019-11-26 15:30:53 +00:00
Patryk Obara
719536341d Use make's output-sync to prevent log corruption
This works out of the box on Linux and MSYS2, but does not work on
macOS - Xcode supplied make does not support this option, so GNU make is
used instead.

Unfortunately, adding new package on macOS did not invalidate the cache,
this package removes the brew cache from macOS job to avoid this problem
in the future.

Fixes: #53
2019-11-26 04:48:16 +01:00
krcroft
eaeb001b17 Play into subsequent track(s) if playback length exceeds the the current track
Issue reported by Dagar and Pr3tty F1y, and confirmed as a bug by ripsaw8080.
Thank you!

This fixes the GoG release of Betrayal at Krondor which (either due to CD mastering
issues or a faulty rip), requests playback of a given track at the tail end
of the prior track.

In debugging and performing this fix, many debug messages were improved as well
as making some small small code adjustments, such as using iterators to point to
individual tracks (track->attribute) instead of using the tracks array
(tracks[track -1].attribute).
2019-11-24 17:34:54 +01:00
Patryk Obara
90e5e0e82a Update allowed warnings limits
Also, remove leftover limits from builds, that are not enabled on CI
right now.
2019-11-24 17:14:32 +01:00