1
0
Fork 0
Commit graph

5026 commits

Author SHA1 Message Date
Patryk Obara
9924913e4a Move implementation to GetConfigName static function
Old interface Cross::GetPlatformConfigName is retained for backwards
compatibility for now.
2020-04-18 22:09:04 +02:00
Patryk Obara
44499e7f26 Update manuals regarding configuration path 2020-04-18 22:09:04 +02:00
Patryk Obara
c144552641 Avoid spaces in config file name on macOS
There's no reason to having a different name for .conf file on every
platform, it only makes things more difficult from user and developer
perspective.
2020-04-18 22:09:04 +02:00
Patryk Obara
2203c5e726 Adjust first comment in .conf file 2020-04-18 22:09:04 +02:00
Patryk Obara
64772850b5 Respect XDG spec for dosbox main .conf file
Windows and macOS config files are left as they were, this change
affects mostly Linux users.

Users are not forced to migrate, but visible warning is being issued if
they aren't. Majority of users probably won't notice it, as the stable
release should generate newly named .conf file.
2020-04-18 22:09:04 +02:00
Patryk Obara
a51f9b5600 Remove punctuation from some logs 2020-04-18 22:09:04 +02:00
Patryk Obara
6f0786b32f Update list of feature differences compared to SVN 2020-04-16 18:47:43 +02:00
Patryk Obara
4f607a3bcc Update snapshot build to use Ubuntu 18.04 LTS
Ubuntu 16.04 would provide better distro compatibility, but we need SDL
in version 2.0.5 or newer to enable resizable window support on Linux.

Pretty soon Ubuntu 20.04 LTS will be released, so targetting previous
LTS release should be enough.
2020-04-16 17:01:17 +02:00
Patryk Obara
3d694ca006 Add an option for libpng static linking
We need this option to make snapshot/nightly builds compatible with
older distros and runtimes (which might not provide libpng 1.6 by
default).  Examples are: Ubuntu 16.04 LTS (and derived distros, such as
LTS Mint) or e.g. Steam Runtime.
2020-04-16 15:54:30 +02:00
Patryk Obara
66377f1726 Package icons in Linux snapshot builds 2020-04-15 23:55:48 +02:00
Patryk Obara
a6da84d23e Add Linux desktop icons according to XDG spec
Change X11 Window WM_CLASS to 'dosbox-staging' to avoid conflicts with
upstream DOSBox, which might be provided by package manager.

Update .desktop file to specify WMClass to be correlated with
dosbox-staging process (even if executable file conflicts with dosbox
upstream).

Update contrib/icons/Makefile to generate 'hicolor' directory structure.
2020-04-15 23:55:48 +02:00
Patryk Obara
e5486f67cc Use half-pause character as title separator
It seems like most applications on Windows and Linux use half-pause for
this purpose (same character as minus sign).
2020-04-15 19:25:02 +02:00
Patryk Obara
b3a3c5dfe5 Use new icon in Windows builds 2020-04-15 19:25:02 +02:00
Patryk Obara
43f1f3a87c Store pre-rendered icon in Windows .ico format
Windows lacks good tools for generating icons using scripts. At this
point we don't plan to further tweak icon design for the next release.
2020-04-15 19:25:02 +02:00
Patryk Obara
5008477fd2 Set new 128px icon 2020-04-15 19:25:02 +02:00
Patryk Obara
02838b4937 Create new icon data
This is dosbox-staging icon (see contrib/icons/), rendered to size
128x128 with rsvg-convert (128x128 is recommended for various Linux DEs,
as this icon will mostly see usage on Linux - macOS and Windows have
icons in their native formats).  Data dump created with GIMP with
following settings:

- Use 1 byte Run-Length-Encoding
- Save alpha channel
2020-04-15 19:25:02 +02:00
Patryk Obara
c040efed53 Add static_casts for few VGA modeinfo fields
In all cases values are stored in Bitu, but the allowed range fits
into a single byte.
2020-04-15 14:26:29 +02:00
krcroft
8d33524e25 Ignore re-assignment warnings in PVS-Studio 2020-04-15 14:26:29 +02:00
krcroft
1789912212 Cleanup switch/case formatting 2020-04-15 14:26:29 +02:00
krcroft
54d805bd5c Simplify assignments with type-sized host reads 2020-04-15 14:26:29 +02:00
krcroft
7375db2a83 Use type-specific host conversion funcs 2020-04-15 14:26:29 +02:00
krcroft
297229700c Make use of indexed reads and writes 2020-04-15 14:26:29 +02:00
krcroft
f5f0449f17 Add host read-and-write funcs with index support 2020-04-15 14:26:29 +02:00
krcroft
090e039e29 Eliminate old host_to_le functions 2020-04-15 14:26:29 +02:00
krcroft
5bf7e63030 Ignore intermediate files generated by ./configure 2020-04-15 14:26:29 +02:00
krcroft
e402ad9f56 Remove unecessary dereferences and casts 2020-04-15 14:26:29 +02:00
krcroft
88dd33b7de Reset the Windows MSYS2 cache incrementer 2020-04-15 14:26:29 +02:00
krcroft
25e9cfe491 Update allowed warning limits 2020-04-15 14:26:29 +02:00
krcroft
31d4f485c8 Add aliasing warnings to the warnmore target 2020-04-15 14:26:29 +02:00
krcroft
9d3f982f52 Enable strict aliasing for release builds 2020-04-15 14:26:29 +02:00
krcroft
e0afec7743 Fix alignment when populating the VESA mode block 2020-04-15 14:26:29 +02:00
krcroft
1ea78a87fa Fix alignment when writing the jump value to memory 2020-04-15 14:26:29 +02:00
krcroft
31b27e6409 Fix alignment when adding a jump value to the cache 2020-04-15 14:26:29 +02:00
krcroft
f9a1935c8e Fix alignment when saving the branch value 2020-04-15 14:26:28 +02:00
krcroft
aadf4edbed Fix alignment when assigning a cache diff value 2020-04-15 14:26:28 +02:00
krcroft
34d46ecd7f Fix alignment when incrementing values in the cache 2020-04-15 14:26:28 +02:00
krcroft
86249ec821 Fix alignment when fetching values in the decoder 2020-04-15 14:26:28 +02:00
krcroft
94c404577d Fix alignment when incrementing the invalidation map
We also eliminate the endian-branch because endian differences are
already taken care of in the host_add* functions.
2020-04-15 14:26:28 +02:00
krcroft
0d004f4c60 Fix alignment when writing to the cache 2020-04-15 14:26:28 +02:00
krcroft
32692cc50e Fix alignment when reading values from the write-map 2020-04-15 14:26:28 +02:00
krcroft
902c678081 Make host-mem functions endian-safe and alignment-safe
The host_read*, and host_write* functions currently rely on
casting unaligned memory to translate from byte arrays into
higher-level types (like 16and 32bit ints), however this
approach is implementation specific, can cause undefined
behavior, and forces the compiler to use less efficient
aliasing rules.

Unaligned memory casts have historically been corrected by
expanding multi-byte types into their constituents bytes,
shifting them, and re-packing. They've also been solved using
union objects to access the same underlying memory for each
member (legal under C, but not C++). However, we use memcpy
which is compact, readable, universally compatible, and
compiles down efficient inline single-instructions; therefore
imparting no penalty.

This commit adds host_add* functions (for 16 and 32bit values)
that add a host-formatted value to the implied value at a
memory address.

This commit adds handling for quad-words as well: host_readq,
host_writeq, which we use in the cache, which otherwise suffers
from the same alignment issues.
2020-04-15 14:26:28 +02:00
Patryk Obara
c05bbafb5d Create byteorder header for host_to_le functions 2020-04-15 00:01:25 +02:00
Patryk Obara
52fd4ed2d0 Hide remaining OpenGL parts behind C_OPENGL ifdef 2020-04-15 00:01:02 +02:00
Patryk Obara
851b65c5f9 Inform user about allowed windowresolution bounds 2020-04-14 06:28:08 +02:00
Patryk Obara
4a2369d4a6 Create aliases for boolean SetWindowMode parameters
This way it's more obvious to the reader, what given parameter does
(instead of non-descriptive 'false/true'.

Create alias 'FIXED_SIZE' for 'false' meaning "non-resizable" window. It's a
constexpr bool global variable, so compiler will remind us when it'll
be time to remove it.
2020-04-14 06:28:08 +02:00
Patryk Obara
6ee68c5182 Rework interface of GetAvailableArea function
New interface allows for shorter function and clearly states what
happens when sdl.draw.pixel_aspect == 1.0.
2020-04-14 06:28:08 +02:00
Patryk Obara
3680049510 Replace Bitu with size_t when drawing surface 2020-04-14 06:28:08 +02:00
Patryk Obara
7198ea306c Add SPDX identifier in sdlmain.cpp
At this point, this file was heavily modified compared to upstream
version, so include our own copyright line in here.
2020-04-14 06:28:08 +02:00
Patryk Obara
c24816a586 Check if window exists before making it resizable 2020-04-14 06:28:08 +02:00
Patryk Obara
65b4e7c5d7 Remove HandleVideoResize call from SetWindowMode
This call was useful during development and testing with
output=opengl, but now it's no longer necessary.  This call causes
output=texture to go into initialization loop, which falls back to
surface, which we definitely do not want.
2020-04-14 06:28:08 +02:00