Skip to content

Commit 41d9722

Browse files
authored
Merge pull request #16344 from dmanlfc/bmp-ports-30Aug
update ports to latest as of Aug 30, 2026
2 parents c859253 + ad27b01 commit 41d9722

30 files changed

Lines changed: 114 additions & 102 deletions

File tree

batocera-Changelog.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
- Cannonball coin is now the Select button
3535
- Cannonball fullscreen on Wayland
3636
- Commander Genius fullscreen in Wayland
37+
- Commander Genius render resolution option not taking effect in-game
3738
- Jedi Knight Dark Forces 2 initial start to work fullscreen in certain conditions
3839
- Libretro-Hatarib not starting due to a compiled symbol issue
3940
- Mupen64 not starting fullscreen with Wayland
@@ -74,20 +75,24 @@
7475
- BigPEmu to 1.221
7576
- Blake Stone to v1.3.4
7677
- Box64 0.4.2
78+
- CatacombGL to Jun 20, 2026 build
7779
- Cemu to August 7th, 2026 build
7880
- CDogs to 2.4.0
7981
- CLK to 2026-07-23
8082
- Commander Genius to v3.6.3
81-
- CorsixTH to v0.70.0
83+
- CorsixTH to v0.70.1
8284
- DevilutionX to 1.5.5
8385
- Dhewm3 & Mods to 1.5.5
8486
- Dolphin-Emu to 2606
87+
- DXX-Rebirth to Aug 23, 2026 build
8588
- ECWolf to Feb 23, 2026 build
86-
- EDuke32 / Fury to Feb 03, 2026 build
89+
- EDuke32 / Fury to Aug 07, 2026 build
8790
- ETLegacy to v2.85.0
8891
- Flycast to v2.7
8992
- Groovy MAME to 0.289
90-
- IOQuake3 to Mar 9, 2026
93+
- Hurrican to Apr 5, 2026 build
94+
- Hydra Castle Labyrinth to Aug 11, 2026 build
95+
- IOQuake3 to Jul 16, 2026
9196
- Jazz2 to 3.8.0
9297
- Ledspicer to 0.7.6
9398
- Libretro-81 to April 20th, 2026 build
@@ -207,8 +212,9 @@
207212
- LinuxLoader to v3.0.10
208213
- Moonlight-QT to Jun 26, 2026 build
209214
- Mupen64Plus-Core to March 30th, 2026 build
215+
- OpenJazz to Mar 01, 2026 build
210216
- OpenMSX to Release 21
211-
- OpenJK to May 13th, 2026 build
217+
- OpenJK to Jul 11th, 2026 build
212218
- OpenJKDF2 to v0.9.9
213219
- PCSX2 to 2.8.0
214220
- Play to 0.77
@@ -224,11 +230,14 @@
224230
- TheXTech to v1.3.7.3-1
225231
- TRX to 1.10.2
226232
- Tsugaru to v20251206
233+
- Ur-Quan Masters to Aug 21, 2026 build
227234
- Vita3k to 10th of June build
228-
- VKQuake to 1.35.0
235+
- VKQuake to 1.36.0
236+
- vkQuake2 to Aug 5, 2026 build
229237
- VKQuake3 to 1.36
230238
- Winetricks to 20260125
231239
- X16emu to r49
240+
- Xash3D-FWGS (Half-Life engine + HLSDK mobile_hacks/dmc/opfor) to Aug 27, 2026 build
232241
- Xemu to v0.8.136
233242
- Xenia to v1.0.2844
234243
- Xenia Canary to August 29th, 2026 build

package/batocera/core/batocera-configgen/configgen/configgen/generators/cgenius/cgeniusGenerator.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,17 +72,18 @@ def generate(self, system, rom, playersControllers, metadata, guns, wheels, game
7272
# render resolution
7373
match system.config.get("cgenius_render"):
7474
case "240":
75-
config["Video"]["gameHeight"] = "240"
76-
config["Video"]["gameWidth"] = "320"
75+
gameWidth, gameHeight = "320", "240"
7776
case "360":
78-
config["Video"]["gameHeight"] = "360"
79-
config["Video"]["gameWidth"] = "640"
77+
gameWidth, gameHeight = "640", "360"
8078
case "480":
81-
config["Video"]["gameHeight"] = "480"
82-
config["Video"]["gameWidth"] = "640"
79+
gameWidth, gameHeight = "640", "480"
8380
case _:
84-
config["Video"]["gameHeight"] = "200"
85-
config["Video"]["gameWidth"] = "320"
81+
gameWidth, gameHeight = "320", "200"
82+
for engineSection in ("Launcher", "Vorticon", "Galaxy", "Cosmos"):
83+
if engineSection not in config:
84+
config[engineSection] = {}
85+
config[engineSection]["gameWidth"] = gameWidth
86+
config[engineSection]["gameHeight"] = gameHeight
8687
# mouse
8788
config["Video"]["ShowCursor"] = system.config.get("cgenius_cursor", "false")
8889

package/batocera/core/batocera-configgen/configgen/configgen/generators/corsixth/corsixthGenerator.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ def generate(self, system, rom, playersControllers, metadata, guns, wheels, game
9393
'hu_HU': 'hu',
9494
'pt_PT': 'pt',
9595
'pt_BR': 'br',
96-
'zh_CN': 'zhs',
97-
'zh_TW': 'zht',
96+
'zh_CN': 'zh(s)',
97+
'zh_TW': 'zh(t)',
9898
'ko_KR': 'ko',
9999
'nb_NO': 'nb',
100100
'nn_NO': 'nb',

package/batocera/core/batocera-configgen/configgen/configgen/generators/etlegacy/etlegacyGenerator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def getHotkeysContext(self) -> HotkeysContext:
2424
def generate(self, system, rom, playersControllers, metadata, guns, wheels, gameResolution):
2525

2626
etLegacyDir = ROMS / "etlegacy" / "legacy"
27-
etLegacyFile = "legacy_2.84-dirty.pk3"
27+
etLegacyFile = "legacy_2.85-dirty.pk3"
2828
etLegacySource = Path("/usr/share/etlegacy") / etLegacyFile
2929
etLegacyDest = etLegacyDir / etLegacyFile
3030

package/batocera/core/batocera-configgen/configgen/configgen/generators/openjazz/openjazzGenerator.py

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,12 @@ def _write_int(writer: IO[bytes], data: int, /) -> None:
5656
@dataclass(slots=True)
5757
class _OpenJazzConfig:
5858
path: Path
59-
version: int = 6
59+
version: int = 7
6060
video_width: int = 640
6161
video_height: int = 480
6262
fullscreen: bool = True
6363
video_scale: int = 1
64+
scale_method: int = 0
6465
keys: list[int] = field(default_factory=lambda: [
6566
1073741906, # Up
6667
1073741905, # Down
@@ -148,18 +149,20 @@ class _OpenJazzConfig:
148149
many_birds: bool = False
149150
leave_unneeded: bool = False
150151
slow_motion: bool = False
151-
scale_2x: bool = True
152+
hud_fps: bool = False
152153

153154
def save(self) -> None:
154155
_logger.info("Saving configuration")
155156
try:
156157
with self.path.open('wb') as f:
157158
# Version
158-
_write_char(f, 6)
159+
_write_char(f, 7)
159160

160161
_write_short(f, self.video_width)
161162
_write_short(f, self.video_height)
162-
_write_char(f, (self.video_scale << 1) | self.fullscreen)
163+
_write_char(f, self.fullscreen)
164+
_write_char(f, self.video_scale)
165+
_write_char(f, self.scale_method)
163166

164167
for key in self.keys:
165168
_write_int(f, key)
@@ -183,7 +186,7 @@ def save(self) -> None:
183186

184187
_write_char(f, self.music_volume)
185188
_write_char(f, self.sound_volume)
186-
_write_char(f, self.many_birds | (self.leave_unneeded << 1) | (self.slow_motion << 2) | (self.scale_2x << 3))
189+
_write_char(f, self.many_birds | (self.leave_unneeded << 1) | (self.slow_motion << 2) | (self.hud_fps << 3))
187190
except Exception:
188191
_logger.exception("Error saving configuration")
189192

@@ -209,14 +212,9 @@ def load(cls, path: Path, /) -> Self:
209212
video_width = _read_short(f)
210213
video_height = _read_short(f)
211214

212-
video_options = _read_char(f)
213-
214-
fullscreen = bool(video_options & 1)
215-
216-
if video_options >= 10:
217-
video_options = 2
218-
219-
video_scale = video_options >> 1
215+
fullscreen = bool(_read_char(f))
216+
video_scale = _read_char(f)
217+
scale_method = _read_char(f)
220218

221219
keys = [_read_int(f) for _ in range(_CONTROLS - 4)]
222220
buttons = [_read_int(f) for _ in range(_CONTROLS)]
@@ -234,7 +232,7 @@ def load(cls, path: Path, /) -> Self:
234232
many_birds = bool(opts & 1)
235233
leave_unneeded = bool(opts & 2)
236234
slow_motion = bool(opts & 4)
237-
scale_2x = not bool(opts & 8)
235+
hud_fps = bool(opts & 8)
238236

239237
return cls(
240238
path,
@@ -243,6 +241,7 @@ def load(cls, path: Path, /) -> Self:
243241
video_height=video_height,
244242
fullscreen=fullscreen,
245243
video_scale=video_scale,
244+
scale_method=scale_method,
246245
keys=keys,
247246
buttons=buttons,
248247
axes=axes,
@@ -254,7 +253,7 @@ def load(cls, path: Path, /) -> Self:
254253
many_birds=many_birds,
255254
leave_unneeded=leave_unneeded,
256255
slow_motion=slow_motion,
257-
scale_2x=scale_2x,
256+
hud_fps=hud_fps,
258257
)
259258
except Exception:
260259
_logger.exception('Error loading configuration')
@@ -275,14 +274,15 @@ def print_config(self, cfg: _OpenJazzConfig, /):
275274
_logger.info("Resolution: %sx%s", cfg.video_width, cfg.video_height)
276275
_logger.info("Fullscreen: %s", cfg.fullscreen)
277276
_logger.info("Video Scale: %s", cfg.video_scale)
277+
_logger.info("Scale Method: %s", cfg.scale_method)
278278
_logger.info("Character Name: %s", cfg.character_name)
279279
_logger.info("Character Colors: %s", cfg.character_colors)
280280
_logger.info("Music Volume: %s", cfg.music_volume)
281281
_logger.info("Sound Volume: %s", cfg.sound_volume)
282282
_logger.info("Many Birds: %s", cfg.many_birds)
283283
_logger.info("Leave Unneeded: %s", cfg.leave_unneeded)
284284
_logger.info("Slow Motion: %s", cfg.slow_motion)
285-
_logger.info("Scale2x: %s", cfg.scale_2x)
285+
_logger.info("HUD FPS: %s", cfg.hud_fps)
286286
_logger.info("Controls Configuration:")
287287
_logger.info("Keys: %s", cfg.keys)
288288
_logger.info("Buttons: %s", cfg.buttons)
@@ -336,6 +336,12 @@ def generate(self, system, rom, playersControllers, metadata, guns, wheels, game
336336
cfg.video_width = int(width_str)
337337
cfg.video_height = int(height_str)
338338

339+
# Scaler: 0=None, 1=Bilinear, 2=Scale2x, 3=hqx
340+
cfg.scale_method = int(system.config.get("jazz_scaler", "0"))
341+
342+
# Integer pixel-scale factor (clamped 1-4 by the engine)
343+
cfg.video_scale = int(system.config.get("jazz_video_scale", "1"))
344+
339345
# Save the changes
340346
cfg.save()
341347

package/batocera/core/batocera-configgen/configgen/configgen/generators/trx/trxGenerator.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,19 @@ def generate(self, system, rom, playersControllers, metadata, guns, wheels, game
197197
# Download missing/outdated assets on demand
198198
self._setup_assets(trxRomPath)
199199

200+
# Detect mod from the launcher file's parent folder
201+
valid_mods = {
202+
"tr1", "tr1-ub", "tr1-demo-pc", "tr1-level",
203+
"tr2", "tr2-gm", "tr2-level",
204+
"tr3", "tr3-la", "tr3-level"
205+
}
206+
mod = rom.parent.name if rom.parent.name in valid_mods else "tr1"
207+
208+
# Each engine (TR1/TR2/TR3) keeps its own settings file, named TR<N>X.json5
209+
engine_version = mod[2] if len(mod) > 2 and mod[2].isdigit() else "1"
210+
200211
# Create or update display settings configuration
201-
trxConfigPath = trxRomPath / "cfg" / "shell.json5"
212+
trxConfigPath = trxRomPath / "cfg" / f"TR{engine_version}X.json5"
202213
mkdir_if_not_exists(trxConfigPath.parent)
203214
config_data = {}
204215

@@ -227,14 +238,6 @@ def generate(self, system, rom, playersControllers, metadata, guns, wheels, game
227238
except Exception as e:
228239
_logger.debug("Error writing configuration file %s: %s", trxConfigPath, e)
229240

230-
# Detect mod from the launcher file's parent folder
231-
valid_mods = {
232-
"tr1", "tr1-ub", "tr1-demo-pc", "tr1-level",
233-
"tr2", "tr2-gm", "tr2-level",
234-
"tr3", "tr3-la", "tr3-level"
235-
}
236-
mod = rom.parent.name if rom.parent.name in valid_mods else "tr1"
237-
238241
return Command.Command(
239242
array=[trx_bin_dest, "--mod", mod],
240243
env={

package/batocera/core/batocera-configgen/configgen/configgen/generators/xash3d_fwgs/xash3dFwgsGenerator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def generate(self, system, rom, playersControllers, metadata, guns, wheels, game
119119
commandArray.append('-game')
120120
commandArray.append(game)
121121

122-
commandArray.append('+showfps')
122+
commandArray.append('+cl_showfps')
123123
commandArray.append('1' if system.config.show_fps else '0')
124124

125125
self._maybeInitConfig(game)

package/batocera/ports/catacombgl/catacombgl.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
# catacombgl
44
#
55
################################################################################
6-
7-
CATACOMBGL_VERSION = 6c58d1fd17180deffee22220886858baa5f44d08
6+
# Version: Commits on Jun 20, 2026
7+
CATACOMBGL_VERSION = fc0e70bf69276939d8f2b02a9dd89817263095e5
88
CATACOMBGL_SITE = $(call github,ArnoAnsems,CatacombGL,$(CATACOMBGL_VERSION))
99
CATACOMBGL_LICENSE = GPLv3
1010
CATACOMBGL_LICENSE_FILES = COPYING.txt

package/batocera/ports/corsixth/corsixth.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
################################################################################
66

7-
CORSIXTH_VERSION = v0.70.0
7+
CORSIXTH_VERSION = v0.70.1
88
CORSIXTH_SITE = $(call github,CorsixTH,CorsixTH,$(CORSIXTH_VERSION))
99
CORSIXTH_DEPENDENCIES = lua luafilesystem luasec lpeg luasocket libcurl
1010
CORSIXTH_DEPENDENCIES += sdl2 sdl2_image sdl2_mixer ffmpeg rtmidi

package/batocera/ports/dxx-rebirth/dxx-rebirth.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
# dxx-rebirth (Descent 1 & 2) engine
44
#
55
################################################################################
6-
# Version: Commits on May 25, 2025
7-
DXX_REBIRTH_VERSION = 7a84b3f307ac6f72fd440e55b149d7c2c942dfaf
6+
# Version: Commits on Aug 23, 2026
7+
DXX_REBIRTH_VERSION = cb0473dbd5fb6e261223080ba1e60b6d7a228954
88
DXX_REBIRTH_SITE = https://github.com/dxx-rebirth/dxx-rebirth
99
DXX_REBIRTH_SITE_METHOD=git
1010
DXX_REBIRTH_LICENSE = GPLv3

0 commit comments

Comments
 (0)