1
0
Fork 0
Commit graph

5033 commits

Author SHA1 Message Date
Patryk Obara
01fb4f303e Parse build log in MSVC format 2020-05-09 19:00:31 +02:00
kcgen
a495aefe83 Add Haiku OS support to build system 2020-05-09 18:46:08 +02:00
kcgen
5fdb4acb5e Fix APT package names and minimum OS ver
libopusfile0 References:
-  (Debian SID) https://packages.debian.org/sid/libs/libopusfile0
- (Debian Buster)  https://packages.debian.org/buster/libs/libopusfile0

- (Ubuntu 16.04  - latest dev) https://packages.ubuntu.com/search?keywords=libopusfile0&searchon=names

SDL packages:
- (Ubuntu 16.04 to latest) https://packages.ubuntu.com/search?suite=default&section=all&arch=any&keywords=libsdl2-2.0-0&searchon=names
- (Ubuntu 16.04 to latest) https://packages.ubuntu.com/search?suite=default&section=all&arch=any&keywords=libsdl2-net-2.0-0&searchon=names
2020-05-08 11:45:41 +02:00
Patryk Obara
0d9670ada9 Document contributing guidelines 2020-05-06 13:49:39 +02:00
kcgen
d7b8590026 Allow GCC's LTO on all platforms 2020-05-06 09:11:58 +02:00
Patryk Obara
17de912e43 Adjust file export paths injected by Inkscape 2020-05-05 09:54:09 +02:00
Patryk Obara
365a298ee0 Clean code around setting png "Software" keyword
There's no reason to copy strings back and forth in here - libpng will
use the pointers we'll pass, and we know all lengths at compile time.

To verify, make a screenshot and use ImageMagick to display strings:

  $ identify -verbose dosbox_001.png | grep Software

"Software" is one of few built-in libpng keywords, but it does not seem
to be very popular.
2020-05-04 18:17:57 +02:00
Patryk Obara
4ed5f93e9c Update allowed warnings limits 2020-05-04 17:55:32 +02:00
Patryk Obara
4ae5528a62 Prevent SDL2 crash on exit when using Wayland
The correct way to cleanup after SDL_Init is to call
"atexit(SDL_Quit);", so all SDL internals are correctly closed, even in
abnormal circumstances.

See: https://wiki.libsdl.org/SDL_Quit

However, when using SDL_VIDEODRIVER=wayland (as of SDL 2.0.12), this
causes crash in SDL, as MESA might've cleaned up some of driver
internals already.

Replace useless SDL_Init_Wrapper with simpler SDL_Init, and create
wrapper for SDL_Quit to accomodate multiple exit scenarios (those
triggered by erros, but also by window managers or directly by users).

Directly call SDL_Quit before atexit queue to prevent crash on normal
process termination (leaving main); the crash was not happening when
process terminates due to exit syscall.
2020-05-04 12:31:48 +02:00
Patryk Obara
19267d00e2 Rename boolean flag "exit" to "exit_flag"
Otherwise it's confusing when grepping code, and it confuses syntax
highlighter in various programs as well.
2020-05-04 12:31:48 +02:00
Vladimir Serbinenko
c183992dc2 Fix pointer declarations
This change fixes compilation on devkit pro toolchain; it's a GCC
cross-compiler targeting PPC intended for homebrew development for
various Nintendo devices (like GameCube).

Signed-off-by: Nikos Chantziaras <realnc@gmail.com>
Signed-off-by: Patryk Obara <dreamer.tan@gmail.com>
2020-05-04 12:22:43 +02:00
Patryk Obara
bf614c61b7 Prevent platform builds failure
Don't count warnings if there's no build log.
2020-05-04 09:09:45 +02:00
kcgen
c803db02aa Limit string concatenation to the target's length
This commits covers a single class of string-cat
issues, all of which involve writing an unchecked
quantity of bytes into a string of a fixed length (ie:
char[]).
2020-05-04 08:26:30 +02:00
Troy Campbell
e417d06289 Scan Windows release package using Microsoft Defender
Things aren't perfect, but they're the best we can do given what we're
left to work with. For example:

- We cannot update the virus signatures, because that command simply
fails, despite being copy-and-paste'd from Microsoft's documentation.

- When queried, Windows reports its virus signature age is
4,294,967,295 days old, which, on geological time scales, pre-dates
even the Pleistocene era by 9.7 million years.

Despite these issues, my hunch is that the signatures are current as of
the date when the VM's base-image was generated; and because we're in
the Holocene era of zero-day network threats, my guess is GitHub is
re-generating images at least weekly if not more frequently (and sure
enough, Defender catches the EICAR dummy virus.

Note that we're not using Start-MpScan because it does not provide any
useful output on status of scans (indeed!), so I've moved that here into
the commit message.
2020-05-04 08:06:08 +02:00
kcgen
71af263cf5 Count and limit the string-copy target's length
In this case, the target string's head-pointer is
walked forward dynamically in the prior code, where
each increment reduces the remaining string-length
that's available into which to write.

We use pointer artithmetic to count how far the head
pointer has moved from the base (subtracting that from
the available length), but also adding a safety net to
never exceed the original length if the prior
pointer-moving code were go off the rails (and exceed
the max length).
2020-05-01 17:27:47 +02:00
kcgen
e8acb7f0d7 Use C++ pointer-type casting to be more explicit
The prior C-style casts are ambiguous when it comes to
describing what type of cast is being performed. In
this case, we're changing the undering the pointer type
(from an unsigned char * to a char *), which a simple
static_cast<...> cannot do.
2020-05-01 17:27:47 +02:00
kcgen
e603337c17 Limit string copies to the target's length
This commits covers a single class of string-copy
issues, all of which involve writing an unchecked
quantity of bytes into a string of a fixed length (ie:
char[]).
2020-05-01 17:27:47 +02:00
Patryk Obara
e0ab23ad67
Add build status badge for non-x86 architectures 2020-04-29 22:05:35 +02:00
Patryk Obara
f18800760d Update allowed warnings limits 2020-04-29 21:52:03 +02:00
Patryk Obara
23f4c5bb1b Fix branding in metadata for PNG screenshots 2020-04-29 21:45:39 +02:00
krcroft
e62d903d6a AV scan the macOS package prior to upload 2020-04-29 21:04:30 +02:00
krcroft
e6311d36b8 AV scan the Linux package prior to upload 2020-04-29 21:04:30 +02:00
Patryk Obara
de3e030a4d Update documentation for --printconf and --editconf
Also, use the same order of parameters listed in man page and README
manual file.
2020-04-29 04:08:00 +02:00
Patryk Obara
4675596dcd Unify macOS configuration paths in a single location
Duplicated hardcoded path was updated in only 1 of 2 locations.

Fixes: #311
2020-04-29 04:08:00 +02:00
Patryk Obara
62a469a89b Use consistent order for GNU-style params 2020-04-29 04:08:00 +02:00
Patryk Obara
2ccae54e84 Improve --editconf option
No user expects, that editor name needs to be manually supplied, and
documentation is not clear about this either.

Add GNU-style double-dash long parameter. Unfortunately, --opt=value
style does not work with DOSBox non-standard parameter handling
implementation.

When user won't supply value for the parameter, following editors will
be tried in order:

- Program supplied via EDITOR environment variable
- nano
- vim
- vi
- notepad++.exe
- notepad.exe
2020-04-29 04:08:00 +02:00
Patryk Obara
d230e0759c Cleanup PrintConfigLocation function
Do not exit inside function, return error code instead.

Print error to stderr, and not stdout, to make life easier for users
invoking dosbox from within scripts.

Include double-dash GNU-style parameter: '--printconf'.
2020-04-29 04:08:00 +02:00
Patryk Obara
83e1a3a944 Move config dir detection earlier
Setting up configuration file location is a dependency for:

$ dosbox -printconf
$ dosbox -editconf vim
$ dosbox -eraseconf

Wee need to have cache initialized before these parameters are handled.
2020-04-29 04:08:00 +02:00
kcgen
1bd770b5b4 Cleanup and add warning count to platform build 2020-04-29 03:17:14 +02:00
Patryk Obara
d289e64291 Merge branch 'svn/trunk' r4338 2020-04-29 03:04:21 +02:00
ripsaw8080
a4edebe60e Correct cdrom sector size field length according to docs.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4338
2020-04-28 16:06:29 +00:00
krcroft
106b45ef2d Move to GitHub's v2 API when checking out
v2 will:
- Checkout over SSH
- use Git's REST API, when git is version 2.18 or newer
- No longer detaches HEAD when checking out a branch
- Fetches one-commit deep by default

When building releases where we expect full history plus tags,
we explicitly get them with `git fetch --prune --unshallow`.
2020-04-27 03:52:41 +02:00
kcgen
ec43dabba4 Enable NEON SIMD for corresponding ARM platforms 2020-04-27 03:32:26 +02:00
kcgen
2f4830830e Add nightly ARM & IBM platform builds 2020-04-27 03:32:26 +02:00
kcgen
01728f719e Drop xvfb, and add autotools for apt-repos 2020-04-27 03:32:26 +02:00
kcgen
892a6f61a2 Print the log if configure fails 2020-04-27 03:32:26 +02:00
Tyrell Sassen
de43073145 Convert existing shaders to C++11 raw strings
Shaders were previously saved as standard C++ string concatenations.
This commit converts them to the C++11 raw string syntax using a raw
string delimiter of `GLSL`.

This format is preferable as it will allow the shaders to be viewed and
edited directly, without having to make considerations for any escape
characters within the code.
2020-04-27 03:05:09 +02:00
David Reid
9c90722ee7 Sync dr_mp3 with upstream (v0.6.5) 2020-04-26 05:42:16 +02:00
kcgen
9de8f1255e Add mailmap file to update maintainer information 2020-04-26 05:15:41 +02:00
Patryk Obara
237577101b Merge branch 'svn/trunk' r4337 2020-04-26 00:38:29 +02:00
Peter Veenstra
8e74e307a9 time keeps ticking
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4337
2020-04-25 20:05:04 +00:00
Patryk Obara
333a771a63 Fix typo resulting in broken ARM builds 2020-04-22 22:02:01 +02:00
David Reid
2e9f0c6789 Sync dr_wav with upsteam (v0.12.2) 2020-04-22 04:04:08 +02:00
Patryk Obara
0926b0609c Update hardcoded version strings to 0.76.0
Version in README file is purely informational.

Other strings are hardcoded to some platform-specific format and scheme,
where we can't use version derived from autoconf.
2020-04-22 02:51:01 +02:00
Patryk Obara
130fd60584 Update some hardcoded info
Change copyright strings to "dosbox-staging team" (we are not "DOSBox
Team"), change relevant copyright years (this meta has no real legal
meaning - unlike COPYING file and license inside source files, so use
only current year in there).
2020-04-22 02:41:00 +02:00
krcroft
3301b5924e Use more robust method to get the scripts directory 2020-04-22 02:31:55 +02:00
krcroft
5287559aee Don't initialize and manage joysticks in SDLmain
Two notable changes:

1. Eliminates the joystick setup from SDLmain, allowing
the mapper's QueryJoysticks() function to be the sole
setup and configuration point for both the SDL Joystick
subsystem and DOSBox's internal configuration of the
joysticks.

2. SDLmain's event loop previously perform some joystick-
specific timing and always called the Mapper's UpdateJoysticks
function; neither of which are needed if the user has disabled
joystick support or if joysticks aren't physically present.
This update now make this entire process conditional on both
of the latter (which is set by the Mapper's QueryJoysticks).
2020-04-22 02:07:55 +02:00
krcroft
5b587d490f
Conditionally initialize the joystick subsystem 2020-04-21 16:16:05 -07:00
krcroft
5570bfdb87
Defer laying out the UI until the first key bind event 2020-04-21 16:16:05 -07:00
Patryk Obara
fe928af0cd Remove some outdated info and update manuals 2020-04-21 23:08:56 +02:00