Implement 32x32 BFS visitor navigation and daily contracts system with companion .npc journals; add native assembly scenes for Clover slots, Pyramid cards, Blackjack Party and Russian Party; package animation and sprite packs; add comprehensive offline test suites and rebuild shipping binaries.
26 lines
1.1 KiB
Python
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, "DrawSlotTotals3D": 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()
|