"""Require the shipped slot machine to use the same code as the native tests.""" from pathlib import Path from check_card_exit_build import Coff ROOT = Path(__file__).resolve().parents[2] def main(): tested = Coff(ROOT / "build/actions/actions-test.obj") shipped = Coff(ROOT / "build/graphics/poker.obj") functions = {"InitNativeSlots3D": 0, "FreeNativeSlots3D": 0, "StartNativeSlots3D": 0, "HandleNativeSlots3D": 0, "RenderNativeSlots3D": 0, "SlotMultiplier3D": 12, "SettleNativeSlots3D": 0, "SlotEscape3D": 0, "SlotExitMouse3D": 0, "SlotReelPosition3D": 4, "DrawSlotReel3D": 4, "DrawSlotSymbol3D": 12, "Trigger3DInteraction": 0, "StartCasino3D": 0, "CardTableEscape3D": 0} for name, size in functions.items(): symbol = f"_{name}@{size}" assert tested.signature(symbol) == shipped.signature(symbol), name print("PASS: shipping slot rules, input, reels, exit and renderer match tested MASM code") if __name__ == "__main__": main()