|
| | condition.hpp |
| | Boolean comparisons between game properties (or immediate values) used by rules and input sets to decide when they apply.
|
| |
| | driver.hpp |
| | Top-level orchestration of a Jaffar search run: drives the engine's step loop, tracks the best/worst states and win states, and periodically saves intermediate solutions.
|
| |
| | emulator.hpp |
| | Abstract emulator interface that concrete emulation cores implement, exposing state load/save, step advancement, named memory properties, and optional rendering/screenshots.
|
| |
| | engine.hpp |
| | Parallel breadth-first search engine that expands game states step by step, deduplicating via a hash database and storing survivors in a state database while tracking win states, checkpoints, and per-operation timing statistics.
|
| |
| | game.hpp |
| | Abstract base for a JaffarPlus game: wraps an emulator, registers game properties, drives state advancement/serialization, and parses and evaluates the rule/condition/action set.
|
| |
| | hashDb.hpp |
| | Two-tier (per-domain L1 + shared global L2) hash database used to deduplicate visited search states, with a rolling set of hash stores bounded by count and measured memory size.
|
| |
| | inputSet.hpp |
| | A set of input indexes gated by conditions: the inputs become available only when all of the set's conditions are satisfied.
|
| |
| | jaffar.cpp |
| | The jaffar executable: parses a configuration script and either validates it (--dryRun) or builds and runs the search engine via a jaffarPlus::Driver.
|
| |
| | numa.hpp |
| | NUMA topology detection: distance/preference matrices and per-domain delegate-thread selection, identifying threads by OpenMP thread id and using sched_getcpu only for the NUMA domain lookup.
|
| |
| | playback.hpp |
| | Solution playback used by the player tool: replays an input sequence through a Runner, caching per-step game/renderer state, hashes, and win/fail markers for navigation.
|
| |
| | player.cpp |
| | The jaffar-player (jaffar-tester) executable: loads a config and a solution sequence and plays it back through a jaffarPlus::Runner.
|
| |
| | property.hpp |
| | A named, typed view into a region of game memory, with datatype and endianness handling and a templated accessor for reading the pointed-to value.
|
| |
| | rule.hpp |
| | A rule evaluated by the engine: a labelled set of conditions that, when all satisfied, grants a reward, runs actions, may satisfy other rules, and may flag win/fail/checkpoint/save-solution.
|
| |
| | runner.hpp |
| | Drives a Game forward one input at a time, managing the allowed/candidate input sets, frameskip, input-history recording and state hashing/serialization.
|
| |
| | stateDb.hpp |
| | Per-NUMA-domain database of serialized game states, with reward-ordered queues that feed the search one step at a time and a free-slot pool the workers draw from.
|
| |