MFMv2.0.10
Movable Feast Machine Simulator 2.0.10
|
Data Structures | |
class | AbstractGridButton |
class | AbstractGridCheckbox |
struct | BGRButton |
struct | ButtonPanel |
class | ClearButton |
class | ClearGridButton |
struct | GridRenderButton |
class | GridRunCheckbox |
class | GridStepCheckbox |
struct | HeatmapButton |
class | NukeButton |
struct | PauseTileButton |
struct | QuitButton |
struct | ReloadButton |
struct | SaveButton |
class | ScreenshotButton |
class | StatisticsPanel |
struct | TileViewButton |
struct | XRayButton |
Public Member Functions | |
void | SaveGridWithNextFilename () |
void | SaveGridWithConstantFilename (const char *filename) |
virtual void | ReinitUs () |
virtual void | PostReinit (VArguments &args) |
virtual void | PostReinitPhysics () |
virtual void | HandleResize () |
void | ToggleTileView () |
void | RegisterToolboxElement (Element< CC > *element) |
void | AddDriverArguments () |
void | SetScreenSize (u32 width, u32 height) |
StatsRenderer< GC > & | GetStatsRenderer () |
void | RunHelper () |
Public Member Functions inherited from MFM::AbstractDriver< GC > | |
void | AutosaveGrid (u32 epochs) |
void | SaveGrid (const char *filename) |
void | LoadFromConfigurationPath () |
const char * | GetSimDirPathTemporary (const char *format,...) const |
void | ReloadCurrentConfigurationPath () |
void | Init (u32 argc, const char **argv) |
VArguments & | GetVArguments () |
void | RegisterArgument (const char *description, const char *filter, VArgumentHandleValue func, void *handlerArg, bool runFunc) |
void | RegisterSection (const char *sectionLabel) |
u32 | GetHaltAfterAEPS () |
double | GetAEPS () |
double | GetAER () |
void | SetAER (double aer) |
double | GetRecentAER () |
void | SetRecentAER (double aer) |
u32 | GetAEPSPerFrame () |
double | GetOverheadPercent () |
OurGrid & | GetGrid () |
void | SetSeed (u32 seed) |
void | Reinit () |
void | Run () |
Data Fields | |
EditingTool | m_selectedTool |
GridPanel< GC > | m_gridPanel |
ToolboxPanel< CC > | m_toolboxPanel |
MFM::AbstractGUIDriver::StatisticsPanel | m_statisticsPanel |
MFM::AbstractGUIDriver::ButtonPanel | m_buttonPanel |
TextPanel< 120, 100 > | m_logPanel |
TeeByteSink | m_logSplitter |
Protected Types | |
enum | { W = GC::GRID_WIDTH } |
enum | { H = GC::GRID_HEIGHT } |
typedef Super::OurGrid | OurGrid |
typedef Super::CC | CC |
Protected Types inherited from MFM::AbstractDriver< GC > | |
enum | { W = GC::GRID_WIDTH } |
enum | { H = GC::GRID_HEIGHT } |
enum | { R = P::EVENT_WINDOW_RADIUS } |
typedef GC::CORE_CONFIG | CC |
typedef CC::PARAM_CONFIG | P |
typedef CC::ATOM_TYPE | T |
typedef ElementRegistry< CC > | OurElementRegistry |
typedef StdElements< CC > | OurStdElements |
typedef Grid< GC > | OurGrid |
typedef ElementTable< CC > | OurElementTable |
Protected Member Functions | |
void | RequestReinit () |
GridRenderer & | GetGridRenderer () |
virtual void | PostUpdate () |
virtual void | DoEpochEvents (OurGrid &grid, u32 epochs, u32 epochAEPS) |
virtual void | OnceOnly (VArguments &args) |
Protected Member Functions inherited from MFM::AbstractDriver< GC > | |
void | NeedElement (Element< CC > *element) |
void | WriteTimeBasedData (FileByteSink &fp, bool exists) |
void | SetIgnoreThreadingProblems (bool value) |
void | WriteTimeBasedData () |
void | UpdateGrid (OurGrid &grid) |
void | DecrementAEPSPerFrame (u32 amount) |
void | IncrementAEPSPerFrame (u32 amount) |
virtual void | ReinitEden ()=0 |
void | ReinitPhysics () |
virtual void | DefineNeededElements ()=0 |
void | SetAEPSPerEpoch (u32 aeps) |
u32 | GetAEPSPerEpoch () const |
Protected Attributes | |
bool | m_startPaused |
bool | m_thisUpdateIsEpoch |
bool | m_bigText |
u32 | m_thisEpochAEPS |
bool | m_captureScreenshots |
u32 | m_saveStateIndex |
u32 | m_epochSaveStateIndex |
bool | m_keyboardPaused |
bool | m_singleStep |
bool | m_mousePaused |
bool | m_gridPaused |
bool | m_reinitRequested |
bool | m_renderStats |
u32 | m_ticksLastStopped |
Keyboard | m_keyboard |
Camera | camera |
SDL_Surface * | screen |
Panel | m_rootPanel |
Drawing | m_rootDrawing |
u32 | m_screenWidth |
u32 | m_screenHeight |
MFM::AbstractGUIDriver::ClearButton | m_clearButton |
MFM::AbstractGUIDriver::ClearGridButton | m_clearGridButton |
MFM::AbstractGUIDriver::NukeButton | m_nukeButton |
MFM::AbstractGUIDriver::XRayButton | m_xrayButton |
MFM::AbstractGUIDriver::GridRunCheckbox | m_gridRunButton |
MFM::AbstractGUIDriver::GridRenderButton | m_gridRenderButton |
MFM::AbstractGUIDriver::HeatmapButton | m_heatmapButton |
MFM::AbstractGUIDriver::GridStepCheckbox | m_gridStepButton |
MFM::AbstractGUIDriver::TileViewButton | m_tileViewButton |
MFM::AbstractGUIDriver::SaveButton | m_saveButton |
MFM::AbstractGUIDriver::ScreenshotButton | m_screenshotButton |
MFM::AbstractGUIDriver::QuitButton | m_quitButton |
MFM::AbstractGUIDriver::ReloadButton | m_reloadButton |
MFM::AbstractGUIDriver::PauseTileButton | m_pauseTileButton |
MFM::AbstractGUIDriver::BGRButton | m_bgrButton |
HelpPanel | m_helpPanel |
GridRenderer | m_grend |
StatsRenderer< GC > | m_srend |
Protected Attributes inherited from MFM::AbstractDriver< GC > | |
Element< CC > * | m_neededElements [MAX_NEEDED_ELEMENTS] |
u32 | m_neededElementCount |
Additional Inherited Members | |
Static Protected Attributes inherited from MFM::AbstractDriver< GC > | |
static const u32 | EVENT_WINDOW_RADIUS = R |
static const u32 | GRID_WIDTH = W |
static const u32 | GRID_HEIGHT = H |
|
inlinevirtual |
Adds any command-line arguments desired, by calling #RegisterArgument with appropriate arguments. Note: (Sub-)subclasses of AbstractDriver should always override this method, even if they do not wish to add command-line arguments, and begin their overriding method with Super::AddDriverArguments(). Such chaining lets all levels of abstraction define command-line arguments, with the most abstract going first.
Reimplemented from MFM::AbstractDriver< GC >.
|
inlineprotectedvirtual |
Method to do end-of-epoch processing. Base class recounts the grid and handles –gridImage and –tileImage processing here, so all subclasses should override this method and do Super::DoEpochEvents to ensure all methods are called.
Reimplemented from MFM::AbstractDriver< GC >.
|
inlineprotectedvirtual |
To be run during first initialization, only once. This runs after all standard argument parsing and is available to extend that behavior. Any overrides of this method should be certain to call Super::OnceOnly (probably at the beginning, but in any case, sometime) during their execution, so more abstract levels can do any processing they need to.
args | The VArguments , which should have been gotten from the command line. These allow this method to configure itself properly from the command line arguments. |
Mux our screen logger into the LOGing path, before calling parent!
Reimplemented from MFM::AbstractDriver< GC >.
Reimplemented in MFM::MFMSimSBarDemo, MFM::MFMSimQBDemo, MFM::MFMSimDHSDemo, and MFM::MFMSimDHSDemo.
|
inlinevirtual |
Called at the end of the Reinit() call. This is for custom initialization behavior.
args | The VArguments , which should have been gotten from the command line, which will be processed again during this call. |
Reimplemented from MFM::AbstractDriver< GC >.
|
inlinevirtual |
Used by GUI Drivers to register Elements in places needed.
Reimplemented from MFM::AbstractDriver< GC >.
|
inlineprotectedvirtual |
To be run at the end of a frame update.
Reimplemented from MFM::AbstractDriver< GC >.
|
inlinevirtual |
The main loop which runs this simulation.
Reimplemented from MFM::AbstractDriver< GC >.