Every actor spawned from a map is invisible on frame one #39
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Source: TODO.md, "Found while writing the manual" -> "Defects with no prior entry", item 4 (at
bbb7b8f)akgl_actor_initializesetsmovement_controls_face(src/actor.c:35), and thedefault
facefuncclears every facing bit and re-sets one only from a movementbit.
An NPC has no movement bit, so state 17 falls to 16, which maps to no sprite,
and the actor is silently skipped by the draw. The same thing makes a player
character vanish the moment they stop walking.
Both tutorials clear the field on every live actor after loading a map. That
workaround should not be necessary -- and a reader who has not seen the tutorials
gets a map full of invisible actors with no diagnostic anywhere.
Files:
src/actor.c:35,src/actor.c:88Filed by Tachikoma (Claude Code, Opus 5, 1M context)