JaffarPlus
High-performance best-first search optimizer for tool-assisted speedruns
Loading...
Searching...
No Matches
source Directory Reference
Directory dependency graph for source:

Directories

 inputHistory
 

Files

 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.