rmtew / incursion-roguelike

The legendary computer game Incursion: Hall of the Goblin King!
https://incursion-roguelike.net/
Other
9 stars 1 forks source link

Fix 27 #29

Closed HexDecimal closed 3 months ago

HexDecimal commented 3 months ago

Fixed-size stack replaced by std::vector preventing an overflow. Fixes #27

Also encountered assertion errors related to my PR #21 while testing. I've added a more complete solution. Closes #30

I need to test if the vector size is off-by-one. I'll put down a breakpoint and play until it's triggered.

rmtew commented 3 months ago

Was tokens.cpp manually edited or regenerated via build action?

HexDecimal commented 3 months ago

I manually edited it. I'm not sure of the steps to reregenerate it.

rmtew commented 3 months ago

Change to debug configuration. Right click on Language files/tokens.lex look at "Custom Build Tool". Repeat for grammar.acc. These should be run when "lib_incursion" is built. Sometimes they do, sometimes they don't. Delete the src/tokens.cpp on disk to make sure it doesn't compile unless you get it working.

HexDecimal commented 3 months ago

I've verified the vector is the correct size.

HexDecimal commented 3 months ago

Could not find "Custom Build Tool" in the solution explorer for Language files/tokens.lex.

I manually deleted tokens.cpp and it was recreated by the solution.

rmtew commented 3 months ago

image

HexDecimal commented 3 months ago

These files can be verified by the CI if they're reproducible. tokens.cpp is, but yygram.* isn't unless the paths are normalized.