Skip to content

Ci test - #16

Merged
MatheoVignaud merged 3 commits into
masterfrom
CI-Test
May 16, 2026
Merged

Ci test#16
MatheoVignaud merged 3 commits into
masterfrom
CI-Test

Conversation

@MatheoVignaud

Copy link
Copy Markdown
Owner

No description provided.

Fix crashes and improve asset handling in PC port
@MatheoVignaud
MatheoVignaud merged commit f9a05b2 into master May 16, 2026
9 of 12 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bc89dbfe7b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread build.py
if line.startswith("path = "):
submodule_paths.append(REPO_ROOT / line.split("=", 1)[1].strip())
if submodule_paths:
submodules_ready = all(dir_populated(path) for path in submodule_paths)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restrict submodule checks to modules needed for PC build

The new .gitmodules scan makes check_deps() require every submodule path to be populated before continuing, which now includes libs/tmc-Android-Experimental even though the PC build path does not reference it. In environments where that optional submodule is intentionally absent (or cannot be fetched), this forces an unnecessary git submodule update --init --recursive and can fail the build before compilation, whereas the previous logic only gated on the two runtime-critical submodules.

Useful? React with 👍 / 👎.

awe444 referenced this pull request in awe444/tmc Jul 29, 2026
Removes blocker 4 (research plan section 4): WIN0H/WIN0V pack two 8-bit
edges into a u16, so no window could describe an edge past 255.

- winreg_t (u32) with WIN_RANGE / WIN_GET_HIGHER / WIN_GET_LOWER, plus
  WINREG_TO_GBA for the truncated hardware form (include/screen.h).
- 39 packing sites converted across 10 files. The plan listed seven;
  section 3's table had missed scroll.c, bigGoron.c and
  templeOfDropletsManager.c.
- DispCtrlSet keeps writing the truncated value to REG_WIN0H etc. (the
  per-scanline window DMA still consumes it) and additionally calls
  Port_Screen_CommitWindows, which hands untruncated bounds to the fork's
  new virtuappu_mode1_set_window_bounds -- the same explicit port->PPU
  transport Spike 3 established, committed from the same frame
  generation.
- Incidental fix: DispCtrlSet walked the control block as u16* (tmp2[0..9]),
  which silently breaks the moment any field widens. Now named fields.
- New WIN_VIEWPORT_WIDTH/HEIGHT for sites meaning "the whole screen";
  they resolve to DISPLAY_WIDTH/HEIGHT by default so 240 is unchanged by
  construction.

Verified: route 11/11 pixel-identical at 240 and the Spike 3 map-source
audit still reports 0 mismatches in 265,497,600 fetches. At a 320 build,
TMC_WINTRACE reports a widest committed edge of 320, and the figurine
menu visibly uses the extra width (109 px differ at x >= 240 versus the
clamped build). Light ray, light door and cutscene letterbox captured at
both widths.

Call sites keep their existing & 0xff masking: several rely on 8-bit wrap
to produce a deliberately inverted window, so widening an individual
site's coordinate range stays a per-site decision (Spike 5 for
camera-derived windows).

Not runtime-verified: the kinstone menu. Cold-opening it from a script
segfaults identically at 240 and 320, so it is not a regression here --
it is the known kinstone crash chain (CHANGELOG #16). Deferred to the
Spike 7 room walks.

Deferred to Spike 9: the per-scanline circular window table
(common.c gUnk_02017AA0 -> REG_ADDR_WIN0H; lantern, fade iris,
whiteTriangleEffect). It is a packed-u16-per-line structure and belongs
with the 240-line HDMA work.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant