KAZIK/tools/tests/check_slot_build.py
Artvasil09 4f8ae0893b Implement native slots, coin toss, European roulette and hall furniture
Add native assembly scenes and assets for Slots (777), Coin flip, and European Roulette; add 3D hall furniture packs and prompts; improve Russian UI strings in CP1251; update launcher hash and rebuild shipping binaries.
2026-10-10 14:43:30 +03:00

26 lines
1.1 KiB
Python

"""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()