Closed erkyrath closed 1 year ago
Fix the v3 object-table math in RAPr(), and also CPTab(), which is only called from RA__Pr().
This fixes the behavior of Obj.BaseClass::prop in v3.
Obj.BaseClass::prop
Mark CAPr() and ClMs() as compile-time errors in v3.
This only affects v3 games which try to do obj.prop(). Such a call already generated messy compile-time errors:
obj.prop()
Error: Opcode unavailable in this Z-machine version: "check_arg_count"
Now it produces a more meaningful error:
Error: Object message calls are not supported in v3.
If the game or library replaces CAPr() and ClMs() with working code, the veneer functions will be omitted and there will be no error.
Fixes https://github.com/DavidKinder/Inform6/issues/215 .
Test is in https://github.com/erkyrath/Inform6-Testing/tree/v3veneer .
Fix the v3 object-table math in RAPr(), and also CPTab(), which is only called from RA__Pr().
This fixes the behavior of
Obj.BaseClass::prop
in v3.Mark CAPr() and ClMs() as compile-time errors in v3.
This only affects v3 games which try to do
obj.prop()
. Such a call already generated messy compile-time errors:Now it produces a more meaningful error:
If the game or library replaces CAPr() and ClMs() with working code, the veneer functions will be omitted and there will be no error.