Skip to content

Conversation

@Eblo
Copy link
Contributor

@Eblo Eblo commented Nov 11, 2025

This takes the work by @NEstelami from and supersedes #1062, removes the dependence on the horse interpolation work, and extends it to apply to actors across the game.

interp.mp4

The downside to this is that it touches the source of pretty much everything that calls a texture scroll function. Unfortunately I don't know a way around that given that the step values are dependent on however a given actor scales the distance against a counter, usually gameplay frames. It wouldn't be the first time interpolation necessitated stepping on source code.

Another known issue is that actor-based scrolling textures, such as torches seen in the video above, try to interpolate when there is no movement.

Not interpolated:

  • Scrolling uses floating points, which do not work with this approach. Revisit these:
    • Clock Town chimney smoke
    • Romani Ranch chimney smoke
  • The Bomb Shop owner actor has draw code for scrolling a texture, but there is no texture loaded to scroll
  • Big Skulltulas call the scroll function but pass in constants, meaning there is no scrolling to interpolate
  • Unused
    • z_en_stream.c
    • z_obj_funen.c
    • z_obj_toudai.c
    • z_eff_ss_en_fire.c
    • z_en_fishing.c
    • Config draws in z_scene_proc.c

Build Artifacts

Co-authored-by: Nicholas Estelami <NEstelami@users.noreply.github.com>
@Eblo Eblo mentioned this pull request Nov 11, 2025
31 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant