Files
nunuhara_xsystem4/include
Nunuhara Cabbage e00501346b Fix LI_* instructions
The 'lint' type in system 4 is NOT a 64-bit integer type. It is actually
a signed 32-bit integer type that is clamped between 0 and INT32_MAX.

Negative numbers can be assigned to a lint using SH_LOCALASSIGN (or at
least, the unofficial compiler emits such code) but LI_* instructions
always produce a positive result.

I'm guessing System40.exe converts lints to 64-bit integers for doing
arithmetic, and then clamps the result to the 32-bit integer range
before writing back to a variable.

This fixes a bug in Sengoku Rance where units would become invincible in
commander battles after their HP fell below zero.
2020-01-08 19:14:08 -08:00
..
2019-12-31 17:50:40 -08:00
2020-01-07 22:48:29 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2019-12-31 17:50:40 -08:00
2020-01-07 22:48:29 -08:00
2020-01-07 22:48:29 -08:00
2019-12-31 17:50:40 -08:00
2020-01-08 19:14:08 -08:00