1
0
Fork 0
Commit graph

5033 commits

Author SHA1 Message Date
Patryk Obara
2e43cf551f Swap bytes for 15bpp and 16bpp screenshots on PPC
Fixes broken colours in screenshots taken on PPC machines.
2020-02-03 05:58:12 +01:00
Patryk Obara
df5c6f6e05 Fix printf warning 2020-02-03 05:58:12 +01:00
Patryk Obara
fbeec78970 Store generated .ico and .icns files
macOS utilities for creating .icns file are non-deterministic and
the resulting file has different checksum each time the file is
re-generated. We don't want this to influence reproducibility of
builds in the future.

Windows is missing necessary native utilities for generating .ico
files out of .png sources.

It's also easier to just copy generated file during snapshot build.
2020-02-03 04:20:35 +01:00
Patryk Obara
a336b7a621 Track *.ico and *.icns files as LFS artefacts 2020-02-03 04:20:35 +01:00
Patryk Obara
b109495114 Add target for creating .ico file 2020-02-03 04:20:35 +01:00
Patryk Obara
b1187fd994 Add macOS dir prefs to gitignore 2020-02-03 04:20:35 +01:00
Patryk Obara
b7180e0b3a Add makefile for creating .icns file
It's macOS specific and depends on pre-rendered icon in png format,
but it makes it easy to re-generate .icns file in the future.
2020-02-03 04:20:35 +01:00
Patryk Obara
45ad1b06a5 Add dosbox-staging icon
SVG icon as a source for other sizes, PNG icon 1024x1024 as source for
generating .icns file, and small 16x16 PNG icon.

Background circle uses size and colours recommended by Gnome HIG.
2020-02-03 04:20:35 +01:00
krcroft
219ebc491c Fix six Coverity and PVS analysis bugs 2020-02-02 16:37:09 +01:00
Patryk Obara
08e8bfeec6 Update allowed warnings limits 2020-02-02 15:16:29 +01:00
Patryk Obara
ba2bffa396 Remove unused private field
This field was added in SVN r2162 and was never used for any purpose.
2020-02-02 15:16:29 +01:00
Patryk Obara
e7b8d546a4 Remove usage of register storage specifier
This keywords is only a hint, was used in C in 1970s, but is useless
nowadays. Some reports indicate, that GCC never used it to actually
treat variable as a register.

It was deprecated from C++ in 2009:

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4193.html#809

It was removed from language in C++17, and will likely see new meaning
in some future standard, similar to how 'auto' got replaced in C++11.
2020-02-02 15:16:29 +01:00
krcroft
1666275515 Fixup all effc++ warnings 2020-02-02 00:43:24 +01:00
krcroft
3446db1ee9 Expand mouse control methods
Replace the [sdl] `autolock = true/false` configuration setting with [sdl]
`capture_mouse = ...` with a two-value setting.

The first value defines how the mouse is controlled:
- onclick:       The mouse will be captured with a click inside the window.
- onstart:       The mouse is captured immediately on start (similar to real DOS).
- seamless:      The mouse will move seamlessly in and out of DOSBox and cannot be captured.
- nomouse:       The mouse is disabled and hidden without any input sent to the game.

The second value defines how middle-clicks are handled:
- middlegame:    Middle-clicks are sent to the game (not used to uncapture the mouse).
- middlerelease: Middle-click will uncapture the mouse when windowed (not sent to the game).

Middle-clicks are sent to the game when fullscreen or when seamless control is set.

The default setting of "onclick middlegame" reproduces DOSBox's existing behavior.
2020-02-02 00:43:24 +01:00
Nopey Nope
7dbf5cece4 Add and document KeyMapper reloading
This is accomplished by clearing all the binds on the events, and
then re-parsing the file.

This allows batch scripts to change keybindings, and is useful for DOS
game menus, who can now change the mappings per-game.
ie: config -set sdl mapperfile=~/.dosbox/mario-and-luigi.map
or: config -r -conf ~/.dosbox/mario-and-luigi.conf
(with a mapperfile=mario-and-luigi.map line in mario-and-luigi.conf)

Warning: Because internal changes don't have access to the
current_config_path, paths set with config -set are relative to the
CWD. Relevant source lines are src/misc/setup.cpp lines 349 and 917

I'm unsure if this interacts well with the CAPS and NUMLOCK code at the
bottom of MAPPER_Init, as those now get run every time the mapper
reloads. If it does misbehave, those if statements can probably be
moved to the MAPPER_StartUp function, although it is called a bit earlier
than MAPPER_Init.

A natural extension of this would be to add the ability to change the
mapperfile from within the MAPPER UI.
2020-02-01 22:31:27 +01:00
Patryk Obara
2363ef9178 Update allowed issues limit 2020-01-31 15:22:00 +01:00
Patryk Obara
dfdee93c20 Update info about snapshot downloads
GitHub changed the user interface for status of specific workflows.
2020-01-30 17:48:00 +01:00
Patryk Obara
34b3549b41 Merge branch 'svn/trunk' r4313 2020-01-30 11:26:32 +01:00
Patryk Obara
1f86116581 Rename snapshot build artifacts
When uploading builds somewhere (e.g. to Vogons forum), the packages
need to be renamed to include the OS.
2020-01-29 23:51:54 +01:00
krcroft
93f9cd7e4e Fix audio-related static analysis issues 2020-01-29 17:13:25 +01:00
David Reid
b040cb32c3 Sync dr_wav with upsteam (v0.11.4) 2020-01-29 17:13:25 +01:00
David Reid
a3c0d48865 Sync dr_mp3 with upsteam (v0.5.5) 2020-01-29 17:13:25 +01:00
David Reid
5d829d538d Sync dr_flac with upsteam (v0.12.4) 2020-01-29 17:13:25 +01:00
krcroft
65d8187595 Test more criteria during PVS analysis
This commit:

- Adds a separate analysis run against the MIRSA (Motor Industry
  Software Reliability Association) criteria, which is extremely
  thorough. This tally is not summarized or considered fatal to the
  workflow. It runs virtually instantly, and the results are very
  interesting; however are too numerous to include in our general
  analysis (ie: over 13,000 issues).

- Changes the PVS summary script output to a tally-per-file instead
  of trying to summarize the nature of the issue, which was mostly
  unhelpful without the full text.

- Adds the full list of possible supressible issue to the report
  directory, so if further suppressions are needed then these will be
  easy to find and use.

- Adds one dr_flac suppression per the resolution here:
  mackron/dr_libs#117
2020-01-29 14:59:50 +01:00
VileRancour
ffe3c5ab7f Add cga_mono machine
Emulates the user using a CGA card with a monochrome monitor.
Monochrome monitor options are: green, amber, white or paperwhite.
The color can be changed at runtime with F11.

Include paperwhite color by Basic <basic@vogons.org>
https://www.vogons.org/viewtopic.php?p=587382#p587382

Vogons thread: https://www.vogons.org/viewtopic.php?f=41&t=29101

Signed-off-by: Michael Zijlstra <mzijlstra@gmail.com>
Signed-off-by: Patryk Obara <dreamer.tan@gmail.com>

Imported-from: https://www.vogons.org/viewtopic.php?p=238045#p238045
2020-01-29 13:46:23 +01:00
Peter Veenstra
95a689013e Quick fix for vgaonly on BIGENDIAN.(jmarsh)
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4313
2020-01-29 12:07:40 +00:00
Patryk Obara
46e5fdee69 Merge branch 'svn/trunk' r4312 2020-01-29 13:07:31 +01:00
Peter Veenstra
6d11dd5eac Fix unintentional change of union to struct.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4312
2020-01-29 07:38:18 +00:00
Patryk Obara
435cd6bf1f Merge branch 'svn/trunk' r4311 2020-01-28 18:15:48 +01:00
Peter Veenstra
ec8b59ab06 Make scalerwritecache sizes depend on the maximum scaler size.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4311
2020-01-28 12:25:15 +00:00
Patryk Obara
a7ce2b442a Merge branch 'svn/trunk' r4310 2020-01-28 12:06:02 +01:00
Peter Veenstra
80c7bb7cc1 Improve PMAKE on big endian machines and fix some bugs. Includes fix from #364. (jmarsh)
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4310
2020-01-28 10:20:59 +00:00
krcroft
5cc2b0047d Stamp the PVS analysis directory with time-and-commit details 2020-01-27 11:30:54 +01:00
krcroft
ec8fcb4af2 Fix autoconf nuances with AM_CONDITIONAL 2020-01-27 10:46:21 +01:00
krcroft
f6060a5148 Allow Opus CDDA support to be optionally disabled
Adds a `--disable-opus-cdda` flag that explicitly disables support
for Ogg Opus CDDA tracks and in turn avoid the need for the Opus package
dependencies such as the opusfile, opus, and ogg libraries.

This feature does not alter the default operation of ./configure, which
is to enable Opus CDDA support and quit if the Opus dependency package,
opusfile, is not found.  The user can then choose to either a) install
the package or b) explicitly disable Opus support.

This commit also includes:

- fixes for a double-free in the MP3 close routine that
  was discovered during testing

- a message if a CD audio track cannot be added during CDROM
  mounting (such as attempting to use Opus tracks when the binary
  does not support them).

- the --disable-opus-cdda flag in our config heavy workflow
2020-01-27 10:46:21 +01:00
Patryk Obara
d86addb792 Update allowed issues limit 2020-01-22 10:06:03 +01:00
krcroft
878959a0aa Formatting and review fixes 2020-01-22 09:40:00 +01:00
krcroft
c7484ceaaa Improve compliance when printing drive labels 2020-01-22 09:40:00 +01:00
krcroft
508d338c27 Adjust workflow warning and bug counts 2020-01-22 09:40:00 +01:00
krcroft
ec52c3ef3d Fix NULL issues in programs-related code 2020-01-22 09:40:00 +01:00
krcroft
3391651323 Fix NULL issues in shell code 2020-01-22 09:40:00 +01:00
krcroft
a0eafc9d8e Fix NULL issues in render_templates_hq.h 2020-01-22 09:40:00 +01:00
krcroft
02484abce3 Test NULL checks in dr_flac 2020-01-22 09:40:00 +01:00
krcroft
5da5c2931c Fix NULL issues in memory.cpp
There is no sense in testing the 'MemBase' pointer against null, as the memory was allocated
using the 'new' operator, which throws.
2020-01-22 09:40:00 +01:00
krcroft
fb6e0e88bb Fix NULL issues in zmbv.cpp
There is no sense in testing the pointers against null, as the memory was allocated using
the 'new' operator, which throws an exception.
2020-01-22 09:40:00 +01:00
krcroft
6a1c90b6d8 Fix NULL issues in OPL code
The 'ptr' pointer in the 'ptr += sizeof (FM_OPL)' expression could be nullptr. In such case,
resulting value will be senseless and it should not be used.
2020-01-22 09:40:00 +01:00
krcroft
9d69662001 Fix NULL issues in drive-related code 2020-01-22 09:40:00 +01:00
krcroft
df9fac4e61 Fix NULL issues in CPU emulation code 2020-01-22 09:40:00 +01:00
krcroft
02506d293e Fix static-analysis issues in cdrom_image
One issue in BinaryFile's constructor:
There is no sense in testing the 'file' pointer against null, as
the memory was allocated using the 'new' operator. The exception
will be generated in the case of memory allocation error.
'new'
 - https://www.viva64.com/en/w/v668/

Two issues relating to assigning a value that's already assigned
 - https://www.viva64.com/en/w/v1048/
2020-01-22 09:40:00 +01:00
krcroft
5777fb97fe Ignore PVS-Studio false-positives 2020-01-22 01:04:53 +01:00