Skip to content

Add healer field to monsterinfo structure - #153

Merged
Yamagi merged 1 commit into
yquake2:masterfrom
vampirefrog:healer-crash-fix
Sep 11, 2026
Merged

Yamagi merged 1 commit into
yquake2:masterfrom
vampirefrog:healer-crash-fix

Conversation

@vampirefrog

Copy link
Copy Markdown
Contributor

This fixes a crash with the healer in rogue.

@0lvin

0lvin commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Could you please share steps to reproduce?

@vampirefrog

Copy link
Copy Markdown
Contributor Author

unfortunately I lost the quicksave, all I have is this stdout

-===================================-

Logistics Complex

------- server initialization ------
No fixes found as 'maps/rbase2@5b73.ent'
91 entities inhibited.
0 teams repaired
1 teams with 2 entities.

=======================================================

Product: Yamagi Quake II
Version: 8.50
Platform: Linux
Architecture: x86_64
Compiler: 14.2.0
Signal: 11

Backtrace:
/usr/lib/quake2/quake2-engine(+0x9402e) [0x560b0773202e]
/usr/lib/quake2/quake2-engine(+0x94226) [0x560b07732226]
/lib/x86_64-linux-gnu/libc.so.6(+0x3fdf0) [0x7fc778638df0]
/usr/lib/yamagi-quake2/rogue/game.so(medic_FindDeadMonster+0x91) [0x7fc758caa201]
/usr/lib/yamagi-quake2/rogue/game.so(medic_idle+0x77) [0x7fc758caa3a7]
/usr/lib/yamagi-quake2/rogue/game.so(monster_think+0x12) [0x7fc758c7de92]
/usr/lib/yamagi-quake2/rogue/game.so(SV_RunThink+0x60) [0x7fc758c87b80]
/usr/lib/yamagi-quake2/rogue/game.so(G_RunEntity+0x136) [0x7fc758c89fa6]
/usr/lib/yamagi-quake2/rogue/game.so(G_RunFrame+0x118) [0x7fc758c776c8]
/usr/lib/quake2/quake2-engine(+0x8733a) [0x560b0772533a]
/usr/lib/quake2/quake2-engine(+0x87710) [0x560b07725710]
/usr/lib/quake2/quake2-engine(+0x88085) [0x560b07726085]
/usr/lib/quake2/quake2-engine(+0x832d3) [0x560b077212d3]
/usr/lib/quake2/quake2-engine(+0x6b70e) [0x560b0770970e]
/usr/lib/quake2/quake2-engine(+0x2fdea) [0x560b076cddea]

Segmentation fault (core dumped)

@0lvin 0lvin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thank you, looks like in save file game had healer, but not replaced to correct one on load and check in

if (ent->monsterinfo.healer)
failed.

@vampirefrog

Copy link
Copy Markdown
Contributor Author

Thanks I'm gonna brag about it on twitter. BTW rogue fucking sucks it's such garbage it's unbelievable.

@Yamagi

Yamagi commented Sep 9, 2026

Copy link
Copy Markdown
Member

Thanks I'm gonna brag about it on twitter. BTW rogue fucking sucks it's such garbage it's unbelievable.

Aeh? What? Whatever... And yes, Ground Zero is different.

Looks like a very long standing bug: monsterinfo.healer is a pointer, it must be replaced when writing the savegame and reconnected when reading it back. However the field was never included in the replacement list, not even in my earliest version from 2011. I wonder why this was never reported and why I never hit at one of my countless runs through rogue.

The fix looks correct to me. I'll wait with the merge a little bit, in case someone else has something to say.

@vampirefrog

Copy link
Copy Markdown
Contributor Author

nobody reported it cause nobody plays it cause it's awful

0lvin pushed a commit to yquake2/yquake2remaster that referenced this pull request Sep 9, 2026
@Yamagi

Yamagi commented Sep 11, 2026

Copy link
Copy Markdown
Member

Thank you :)

@Yamagi
Yamagi merged commit 2cad9c0 into yquake2:master Sep 11, 2026
9 checks passed
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.

3 participants