Repository navigation
Claude/project thread iikeci - #82
Closed
austinbaccus wants to merge 7 commits into
Closed
austinbaccus wants to merge 7 commits into
austinbaccus wants to merge 7 commits into
Conversation
Replaces the MP4 capture of the boot animation with the real thing: re-xbox-boot is vendored as a submodule (theseus/third-party/xboot), its portable C core is compiled into every desktop target, and its data pack is built by the boot repo's own pack.py (checked against its SHA-256) and embedded into the binary. boot_anim.cpp ports the boot repo's WebGPU renderer (hosts/web) to bgfx: light views, veil target, logo texture, the 2x wide drawing surface and the D5 resolve, with the per-draw render states the core reports. The WGSL programs and combiners are ported to bgfx shaders under shaders/xboot/ and compiled for metal, spirv, glsl and essl. The sound runs on a second core instance through its own SDL audio device. When the core reports t = 8 s (or the user skips), everything is torn down and the dashboard starts in the same window. Configs/xbox_boot.mp4 and the libmpv boot path are removed. CI: a Windows job builds shaderc and compiles the D3D11 versions of the new shaders (fxc only exists on Windows) and checks them against Data/shaders/dx11. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CAdHz7kjeqokCpg5ML4XS2
Compiled by the Shaders / D3D11 job (shaderc s_5_0 on windows-latest). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CAdHz7kjeqokCpg5ML4XS2
Boot animation: the picture now fills any window 4:3 or wider. The core's 4:3 projection is narrowed in clip x for everything drawn into the surface and the veil's target, so 16:9, 21:9 and 32:9 see more of the chamber at the sides instead of black bars. The veil and the quad into its target keep covering the screen; the disc in the target reads clip x through c[114].x, which takes the inverse so it stays round. Dashboard: with Emulate Xbox Resolution on (the default), the 3:2 design projection was stretched to the window, so wide windows came out distorted. It now keeps the 3:2 vertical field and widens horizontally (narrower windows keep the 3:2 horizontal field instead). The console build is unchanged. Exclusive fullscreen picks a mode in the display's own shape instead of 16:9. F9 (or View > FPS / Debug Overlay) toggles the --graphics-debug panel: FPS over the real frame interval, a frame time graph, update / draw / ImGui / present times, bgfx GPU and render thread time, draw calls, renderer, backbuffer size, vsync, MSAA, cap, CRT and display refresh. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CAdHz7kjeqokCpg5ML4XS2
Advance() took its time from GetTickCount() through a float. On Windows that counter is system uptime in 15.6 ms steps, so at 120 FPS every other frame saw no time pass and the rest saw a whole tick: motion stepped at about 64 Hz, unevenly. Cast to float, uptime of a few days loses the fraction entirely (steps of 1/16 s after a week), which is the 5 to 15 FPS stutter under a 120 FPS counter. The clock is now the high resolution counter in double, from process start. Every user of TheseusGetNow() works on differences, so the origin change is safe. InitApp's InitD3D leaves the view size at a 1280x720 placeholder until the first resize event, and exclusive fullscreen sends none, so a 21:9 or 32:9 screen showed the dashboard stretched until the window was minimized and restored. The real drawable size is applied right after InitApp. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CAdHz7kjeqokCpg5ML4XS2
Play the reverse engineered boot animation before the dashboard
Launching any title from the Games list did nothing on Windows, Steam URLs and plain executables alike. launch() hands DesktopLaunchTitle a \Device\Harddisk0\PartitionN\... path. XboxFS_IsHostPath only recognized drive letter virtual trees, so it treated the device path as a real Windows path and returned it untouched, skipping the partition remap. Device paths are now never host paths. VGames_MatchFolder then still could not match: callers pass forward slashes, but the expected path is built from %APPDATA% and keeps its backslashes. Both sides are folded to '/' before comparing. The failure was invisible because theseus.log never received stderr. In a GUI subsystem process _fileno(stderr) is -2, so the _dup2 onto it failed. The log is now truncated once and both streams reopen it in append mode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.