p_saveg: P_UnArchiveSpecials allocates ceiling_t with PU_LEVSPEC instead of PU_LEVEL
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
Research direction
Compare room/src/doom/p_saveg.rs around line 1968 with the corresponding allocation in p_saveg.c, then inspect nearby special-thinker allocations for context. Confirm whether the Rust code should match C's tag for the unarchived ceiling_t or whether the differing tag is intentional; done means the choice is implemented or documented and save-game behavior remains consistent.
Written by the indexing model from the issue text.
Description
Context
P_UnArchiveSpecials in room/src/doom/p_saveg.rs deserializes special thinkers (ceilings, floors, platforms, etc.) from a save file.
C behavior
p_saveg.c allocates the ceiling_t block with the zone tag PU_LEVEL.
Rust behavior
The Rust port uses PU_LEVSPEC for consistency with other specials' allocation.
Impact
PU_LEVEL and PU_LEVSPEC differ in when the zone allocator may purge the block. Diverging from C here could change save-load fidelity or zone-fragmentation behavior in edge cases.
Location
room/src/doom/p_saveg.rs:1968 (flagged with // FIXME:).
Suggested fix
Either:
- match C exactly and use
PU_LEVELfor the unarchivedceiling_t, or - audit other specials' allocation tags in
p_saveg.cand document why the Rust port standardizes onPU_LEVSPEC.
- Dominant language
- Rust
- Stars
- 3
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sunsided/room
-
area-m_config bug kilo-duplicate kilo-triaged
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
area-m_config bug good first issue kilo-auto-fix kilo-triaged
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
area-i_video bug good first issue kilo-auto-fix kilo-triaged
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
area-p_floor bug good first issue kilo-auto-fix kilo-triaged
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
area-p_switch bug kilo-auto-fix kilo-triaged
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
gitbutlerapp/gitbutler#15998 · 1 comment ·
-
bug triage:deciding
Difficulty 1/5 Under an hour Newbie friendliness 88/100
open-telemetry/otel-arrow#4132 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100