Repository navigation
Added reference to AUR version to the README - #384
Conversation
…/testing Merge testing into main
The arm64 and Android guests are compiled for arm64_32-apple-watchos and
their Darwin assembly converted to ELF (tools/android_asm_convert.py). The
converter took a quoted .ascii/.asciz operand for a quoted symbol name and
dropped a leading "_" from it, as it does from symbols; and its quoted-name
pattern ended at an escaped quote (\"), so the "_" of a word after one was
dropped too. Clang writes byte tables as .ascii strings, so a table holding
95 ("_") lost that byte and everything after it moved down by one.
In Opus that table was CELT's pulse cache (modes.c, cache_bits50): the bits
a band may have are read off it, and shifted by a byte it lets a band have
more pulses than the PVQ tables hold. Decoding a frame from another player
then read past CELT_PVQ_U_ROW in decode_pulses (n 32, k 240) and crashed: a
client on the Steam Frame, in a CTF game on the internet. The guest's own
encoder could crash likewise in encode_pulses. The same build of Opus,
driven with the game's settings and with clean, corrupt, truncated and
random packets and voice_audio_play's loss handling, crashed within a few
thousand frames (and identically at -O0); with the fix it ran 4.8 million
decodes clean, and its encoded bytes and decoded samples are identical to a
native 64-bit build's.
The same loss hit other strings and tables of the guest: musl's iswalpha,
iswpunct and towctrans tables and iconv's charmaps; tomlc17's "_0123..."
digit sets (TOML numbers with "_"); the attract mode's "_de"/"_fr" names,
"_lan_", "_lit" and "_%s"; the progress bar's compressed monk tone and the
DirectSound effects image; and assertion and error texts. All are now
assembled as compiled.
String directives now go through unchanged, and quoted names honour
escapes. tools/test_android_asm_convert.py checks both, and a table of
every byte value through clang, the conversion and the assembler.
…coding Every build sends one 20 ms frame per packet (voice_audio_encode). A packet whose table of contents says otherwise, or that Opus cannot parse, is damaged: voice_audio_play now drops it before the decoder sees it (opus_packet_get_nb_samples), and the next frame makes up for it as lost. Cheap defence in depth: Opus's decoder already refuses such packets, and the crash in decode_pulses came from a valid packet and the guest's garbled pulse cache, fixed in the assembly conversion.
…/testing Merge testing into main
The postgame host map picker opens without menu history. Give it the existing main_menu_if_no_history flag used by the lobby so leaving the last screen restores the main menu instead of leaving only the background. Update the generator and generated XML together. Preserve OpenCE's existing handlers; no MCC code or regression-test files are included. This local menu change does not require a network version bump. Resolved the fork cherry-pick against OpenCE main 8102e71 by adding only the flag override. Windows portable release build passed. Existing menu teardown, touch and web checks returned 28 passes and 6 failures: missing m.lib/pthread.h and Windows path separators in POSIX-oriented tests. Android and web build targets were unavailable locally. Checked generator round-trip stability and git diff --check. The two simple wrappers were regenerated through ce_menus.widget_xml from their exported XML fields; the original PC tag inputs were unavailable. No upstream runtime game session or Linux build was run. Earlier scripted runtime verification was performed on the GulchCE implementation, not this upstream revision. (cherry picked from commit c811c7f)
…-guest-strings arm64 and Android guests: string literals kept byte for byte (fixes a voice chat crash)
…iplayer-menu-fix Restore the main menu when leaving the postgame host screen
Upscale the original vehicle/passenger labels, warnings, reload dots and messaging sheets without changing their glyph layout or sprite coordinates. Use the existing Xbox controller redraws for A/B/X/Y/Black/White prompts; other controller symbols retain the original Xbox art through upscaling. Match the existing high-resolution vehicle meter contour to remove the double wrench. Restore the rounded diamond sniper reticle, contain the flashlight fill and assign discrete thresholds to whole ammunition bullets. The HUD module owns interpolation and tag selection. A narrow texture-cache hook is needed to obtain decoded original pixels and invalidate generated textures with their source; the messaging hook selects the existing button art. Both respect the High-Res HUD setting. MCC's separate draw/texture paths remain intact. No MCC bitmap data is embedded; label interpolation was retained at the user's request, with its limited sharpness acknowledged. Validated Windows portable release build; 246 focused HUD tests; 15,360 real GPU ammunition checks; hidden Xbox HUD captures enabled/disabled; Xbox/MCC/Xbox transitions at 30 and 120 FPS with no exceptions. Player health and sniper zoom-label pixels outside the targeted regions are unchanged. Android/web targets are unavailable in this Windows build configuration; Custom Edition gameplay data is unavailable, so that path was inspected. No simulation or network format changes; network version stays unchanged. (cherry picked from commit 5398553)
Increase the existing Xbox faces from 20 to 26 HUD units, centre them on the text capital midpoint and compensate for the text renderer's following-run inset. Preserve their original artwork and split-screen scale. Checked the portable Windows OpenCE build and hidden 1280x720 gameplay captures; the Press X to prompt has balanced visible gaps. Retain the repository's rocket reticle unchanged at the user's request.
…Edition#380) Default high-resolution gameplay A/B/X/Y/Black/White buttons to plain Xbox faces made from the existing redraws. Retain the shaded faces as Gems and keep glyph geometry unchanged. Show Button Style below High-Res HUD only while enabled, following pending edits and closing the row gap when hidden. Recreate owned glyph placeholders on style changes and dispose them on map unload. Validated the Windows release build, hidden menu captures with both styles and HUD off, isolated Xbox gameplay, and 268 focused production-code and menu checks including repeated visibility/focus and glyph lifecycle changes. Android and Web builds were attempted but their targets are unavailable in this Windows configuration. (cherry picked from commit e8f36b8)
…munityEdition#380) Use the supplied transparent A/B/X/Y artwork for Gems, fitted within the existing button bounds. Preserve the original menu redraws as Menu Gems and share their Black/White glyphs between both gem styles. Classic remains the default. Keep the source PNGs and deterministic asset conversion, and reserve enough placeholder entries for all styles across map changes. Validated the Windows release build and 269 focused checks, including generated texture bounds, centering, repeatable output, all three native/MCC style transitions, disposal, and menu row spacing. Existing menu glyph PNGs remain unchanged. (cherry picked from commit 5f66c51)
…tyEdition#380) Xbox button definitions override prompt text with full-opacity colors. Honor that existing override for Classic, Gems and Menu Gems while retaining text alpha for icons without it. Embedded artwork supplies RGB. Validated original Xbox a10/Blood Gulch definitions, opaque asset interiors, Windows portable release compilation, and production-function checks for all three styles, full/partial alpha, fallback, and cleanup. Android/Web targets were unavailable in the Windows configuration. No MCC/fork code, tests, documentation, assets or workflow changes included. (cherry picked from commit ce6cf74)
…fixes Fix low-res bitmaps overlap issue with High-Res HUD, as well as general high-res bitmap issues
Match visible A/B/X/Y and supplied trigger/thumbstick artwork to the Xbox bitmap bounds and center prompts around the visible glyph. Keep Black and White unchanged. Preserve all three stick press frames and rename the Menu Gems display label to Dark Gems without changing saved values. Use the original HUD ONE/INVSRCALPHA blend for sticks and triggers, with premultiplied asset edges, to avoid dimming them by prompt alpha twice. Increase the existing high-res texture table so every new frame loads. All changes remain in the existing high-res feature and menu wiring; low-res fallbacks and unrelated icon indices retain their existing paths. Checked: 358 focused HUD/menu/MCC tests on testing, Windows portable release builds on testing and a clean upstream checkout, and hidden Xbox a10 captures for size, spacing and brightness. Android/Web targets are absent from this Windows build graph. No protocol or simulation changes. (cherry picked from commit c21ec87)
…fixes-2 Fixes to latest high-res HUD commit
GuvenHuso
left a comment
There was a problem hiding this comment.
Arch Linux user approves ;)
|
I originally intended to do the AUR upload myself, but seems someone already beat me to it. :'] |
Comment on the AUR listing. I can make you a contributor. |
Sure thing, my username there is OrionMelaeno. Same as everywhere. |
You're on it now. |
…audit Menus: fix dead and misdirected clicks in all three menu sets
In the README there is now a reference to the available AUR release of the linux binaries.