Commit Graph
287 Commits
Author SHA1 Message Date
Anders Jenbo f9b5c61f68 Extract pause translations table as a data file 2023-04-19 23:28:33 +02:00
ephphatha 2ce420425e Remake talkbutton.clx as a sheet of two sprites 2023-04-16 08:44:22 +02:00
Gleb Mazovetskiy 6d1064b57a Re-encode all the bundled CLX assets
Following the CLX encoding fix in https://github.com/diasurgical/devilutionx-graphics-tools/pull/3
2023-04-10 17:51:58 +02:00
Anders Jenbo 82d233baf9 Add widescreen version of level 16 loadscreen 2023-04-04 01:40:36 +02:00
Gleb Mazovetskiy dd3103497a aarch64-linux-gnu cross-compilation
Allows one to easily cross-compile for aarch64 on a Debian/Ubuntu host.
Also adds a GitHub Action for it.
2023-04-01 17:56:02 +01:00
Trihedraf 13e38c2c30 Update Linux Packaging Script 2023-04-01 10:08:35 +01:00
Anders Jenbo 5a1f0f4280 Add widscreen load background for Hell 2023-03-27 01:33:26 +02:00
Anders Jenbo 839690a74f Add cutttw widescreen load screen (#5923) 2023-03-24 20:01:33 +01:00
Anders Jenbo 45023b5680 Add files via upload 2023-03-24 00:33:05 +01:00
Anders Jenbo 4bd0148f49 Add cave widescreen 2023-03-22 05:18:33 +01:00
Gleb Mazovetskiy d57e59d9ee Fix OpenDingux/build.sh buildroot prep
1. Creates the missing `shared-dl` directory.
2. Unsets some environment variables that interfere with buildroot.
3. Disables `BR2_PER_PACKAGE_DIRECTORIES`, which prevented us
   from using the partial sysroot build.

Also documents the `TOOLCHAIN=...` option in docs/building.md.
2023-03-21 05:44:43 +00:00
Anders Jenbo 92244af90d Re generate load screen graphics 2023-03-18 21:54:45 +01:00
Anders Jenbo 20eb12570f Add catacombs widescreen (#5889) 2023-03-16 18:31:31 +01:00
Anders Jenbo 28ea755e32 Add churche widescreen 2023-03-16 00:49:53 +01:00
Gleb Mazovetskiy f2cb9f0fa0 file_util: Implement RecursivelyCreateDir
With this, we no longer require `std::filesystem` support to create the
save file directory when it does not exist.

Note that by default the save file directory exists because it is
created by SDL, so this is mostly useful on platforms that override the
save directory or use `UNPACKED_SAVES`.
2023-03-11 17:47:29 +00:00
danie1kr c2c0211ad8 updated buildscripts
recent changes made it necessary to add new packages to be installed and build options to be adapted
2023-02-23 00:07:50 +01:00
staphen 9acedd25e4 Fix yellow color used in UI dialog 2023-02-13 19:41:57 +01:00
staphen 0cfc60783a Reenable tests on MSVC build 2023-02-03 12:51:03 -05:00
c99f7cf644 Floating numbers (#5639)
Co-authored-by: qndel <[email protected]>
Co-authored-by: Stephen C. Wills <[email protected]>
2023-01-22 07:20:10 +01:00
Gleb Mazovetskiy 2d1773f644 Update RG99 PGO script and add instructions
Updates the script for compatibility with `UNPACKED_SAVES` and adds an
instructions document.
2023-01-20 13:50:55 +00:00
Gleb Mazovetskiy 2dd57475a5 Update SDL to the latest SDL2 branch 2023-01-16 19:33:15 +00:00
Felipe Wannmacher 34077e775c Renewed uwp certificate (#5669)
Added new certificate with expiration set for 100 years
2023-01-16 16:10:36 +00:00
Felipe Wannmacher f25c365c00 fixed issue https://github.com/diasurgical/devilutionX/issues/5661 (#5665) 2023-01-15 18:00:16 +01:00
Gleb Mazovetskiy ff27203d65 Add a script for building a PGO'd binary 2023-01-12 03:38:29 +00:00
Gleb Mazovetskiy 135812a353 rg99: Enable -fipa-pta
From GCC documentation:

> Perform interprocedural pointer analysis and interprocedural modification and reference analysis.
> This option can cause excessive memory and compile-time usage on large compilation units.
> It is not enabled by default at any optimization level.

Also forces the CMake generation to `make` because `ninja` gets into an
infinite loop for some reason on my laptop.
2023-01-08 16:22:50 +01:00
Gleb Mazovetskiy aedaeed764 miyoo_mini: Fix build
1. Install gettext.
2. Use a CMake toolchain file (fixes `strip`).
3. Update toolchain to v0.0.3.

Fixes #5628
2022-12-25 13:32:11 +01:00
Gleb Mazovetskiy 96c7b154be CMake: Add options for profile guided optimization
A PGO'd binary can be built as follows:

1. Build with `-DDEVILUTIONX_PROFILE_GENERATE=ON`.
3. Run the timedemo.
4. Build with `-DDEVILUTIONX_PROFILE_USE=ON`.
By default, the profile directory is at `${HOME}/devilutionx-profile`

Example for the RG99:

```bash
# Build the OPK for profiling data collection:
TOOLCHAIN=/opt/rs90-toolchain Packaging/OpenDingux/build.sh rg99 --profile-generate

# Copy the OPK to RG99:
scp -O build-rg99/devilutionx-rg99.opk rg99:/media/sdcard/apps

# Now, run the OPK. It will run the timedemo instead of the actual game and will take a couple of hours.
# ☕☕☕

# Copy the profiling data from RG99
scp -r -O rg99:/media/data/local/home/devilutionx-profile /tmp/devilutionx-profile

# Build the OPK use the collected profiling data:
TOOLCHAIN=/opt/rs90-toolchain Packaging/OpenDingux/build.sh rg99 --profile-use --profile-dir /tmp/devilutionx-profile

# Copy the resulting binary back to RG99
scp -O build-rg99/devilutionx-rg99.opk rg99:/media/sdcard/apps
```
2022-12-17 14:15:20 +00:00
Gleb Mazovetskiy 9baf20d54e Update SDL2
The new version fixes audio resampler quality issues and improves
support for various controllers.
2022-12-13 11:23:29 +01:00
staphen f17ea8db98 Implement settings menu for gamepad customization 2022-11-27 18:27:21 +01:00
Gleb Mazovetskiy 1a0c1e25ce rg99: Build with -O2 and tune buffer size
`-O2` increases the binary size by 0.5 MiB which we can now afford.
Increasing buffer size to `768` improves performance (seems to be the
sweet spot).

15-20 FPS in dungeon on the max-mem OD fork.
2022-11-23 08:06:02 +00:00
staphen 1648a3d99f Fix gamepad icon size and alignment 2022-11-22 01:00:34 +01:00
Trihedraf 89ce987ec7 Remove remap of Start button to escape 2022-11-20 10:03:38 +01:00
Trihedraf 77ded34137 Fix locations for OnionOS 4 2022-11-17 14:27:57 +01:00
Artur Jarosik 8bee40dca4 Fix amiga build (#5479) 2022-11-16 13:01:02 +01:00
Frazer Smith 1ce29164e2 Compress images 2022-10-16 16:01:37 +02:00
Gleb Mazovetskiy 57e267e990 button.png: Arrange sprites horizontally
87x2262 -> 1131x174

This makes the file smaller and also makes the texture fit
on devices with 2048x2048 max texture size (Fixes #5403).

`button.png` updated with:

    convert -crop 87x174 button.png +append out.png
    optipng -o9 out.png
    mv out.png button.png
2022-10-15 14:20:05 +01:00
obligaron 795a43dd89 Add Arena Support 2022-10-14 16:25:30 +02:00
Nicholas Calaway eb45857422 Gamepad icons (#5357) 2022-10-10 18:30:58 +02:00
Oleksandr Kalko 68d57bd2d7 Update flatpak SDK and runtime to latest version 2022-09-19 14:55:36 +02:00
Anders Jenbo e348fa3b1e Implement town map 2022-09-12 08:09:17 +02:00
Gleb Mazovetskiy b524565ce2 Bump MinGW SDL2 version 2022-09-03 04:24:12 +02:00
Oleksandr Kalko 1d57a5e6e9 Add new license to metainfo 2022-08-29 11:58:41 +02:00
Oleksandr Kalko a740ba9400 Flatpak fixes
* Base flatpak on 1.4.1 fully vendored source tarball
* Fix share=ipc permission

More flatpak progress soon
2022-08-26 08:11:33 +09:00
Gleb Mazovetskiy f4827a0cb6 Replace default palette PCX files with PAL files
These PCX files were only used to load the default palette.
Replaces them with PAL files.
2022-08-24 03:22:15 +09:00
Gleb Mazovetskiy 6327e713e0 Lowercase all file paths
We want to be able to use unpacked MPQs on low-end platforms
(PS2/rg99/etc).

This is tricky on case-sensitive filesystems. Avoids case issues by
lowercasing all paths in the code (then we'll just need lowercased
listfiles).
2022-08-20 23:49:23 +01:00
Gleb Mazovetskiy 5505e830fb Render XP bar as CLX
Missed in #5183.
Also, the previous conversion command was incorrect (missing
--transparent-color 1), re-converted with:

```
pcx2clx --transparent-color 1 data/xpbar.pcx
```
2022-08-04 15:16:00 +02:00
Gleb Mazovetskiy 609b711d32 Render char panel as CLX
Converted with:
```
pcx2clx --num-sprites 6 data/panel8bucp.pcx && rm data/panel8bucp.pcx
```

Size: 112640 -> 93215 bytes, -17.2%
2022-08-04 15:16:00 +02:00
Gleb Mazovetskiy 17a97450bc Convert assets to CLX
Converted using the following commands:

```
cd Packaging/resources/assets
pcx2clx --transparent-color 1 --num-sprites 256 fonts/*.pcx && rm fonts/*.pcx
pcx2clx --num-sprites 2 ui_art/dvl_but_sml.pcx && rm ui_art/dvl_but_sml.pcx
pcx2clx --transparent-color 1 data/hintbox.pcx data/hintboxbackground.pcx && rm data/hintbox.pcx data/hintboxbackground.pcx
pcx2clx --transparent-color 1 --num-sprites 6 data/hinticons.pcx && rm data/hinticons.pcx
pcx2clx --num-sprites 2 data/panel8buc.pcx data/dirtybuc.pcx data/dirtybucp.pcx && rm data/panel8buc.pcx data/dirtybuc.pcx data/dirtybucp.pcx
pcx2clx --transparent-color 1 data/healthbox.pcx && rm data/healthbox.pcx
pcx2clx --transparent-color 1 --num-sprites 6 data/resistance.pcx && rm data/resistance.pcx
pcx2clx --transparent-color 1 --num-sprites 5 data/monstertags.pcx && rm data/monstertags.pcx
pcx2clx --transparent-color 1 data/stash.pcx && rm data/stash.pcx
pcx2clx --transparent-color 1 --num-sprites 5 data/stashnavbtns.pcx && rm data/stashnavbtns.pcx
pcx2clx **/*.pcx && rm **/*.pcx
git checkout master -- ui_art/black_diablo.pcx ui_art/black_hellfire.pcx data/charbg.pcx data/talkbutton.pcx data/panel8bucp.pcx
rm ui_art/black_diablo.clx ui_art/black_hellfire.clx data/charbg.clx data/talkbutton.clx data/panel8bucp.clx
```
2022-08-03 16:37:04 +02:00
Anders Jenbo efe6b18900 Move two basic crypt setpices in to dun files 2022-08-01 01:15:02 +02:00
Gleb Mazovetskiy a91277614e Miyoo mini: Rename zip files
Add "miyoo-mini" to the release archive name to make it clear what
device this is for.
2022-07-31 16:38:29 +02:00