ScummVM API documentation
Ultima::Ultima4::IntroController Class Reference

#include <intro_controller.h>

Inheritance diagram for Ultima::Ultima4::IntroController:
Ultima::Ultima4::Controller Ultima::Ultima4::Observer< Menu *, MenuEvent &>

Public Member Functions

bool init ()
 
bool hasInitiatedNewGame ()
 
void deleteIntro ()
 
bool keyPressed (int key) override
 
bool mousePressed (const Common::Point &mousePos) override
 
byte * getSigData ()
 
void updateScreen ()
 
void timerFired () override
 
void preloadMap ()
 
void update (Menu *menu, MenuEvent &event) override
 
void updateConfMenu (MenuEvent &event)
 
void updateVideoMenu (MenuEvent &event)
 
void updateGfxMenu (MenuEvent &event)
 
void updateSoundMenu (MenuEvent &event)
 
void updateInputMenu (MenuEvent &event)
 
void updateSpeedMenu (MenuEvent &event)
 
void updateGameplayMenu (MenuEvent &event)
 
void updateInterfaceMenu (MenuEvent &event)
 
void initTitles ()
 
bool updateTitle ()
 
- Public Member Functions inherited from Ultima::Ultima4::Controller
 Controller (int timerInterval=1)
 
virtual bool isCombatController () const
 
bool notifyKeyPressed (int key)
 
bool notifyMousePress (const Common::Point &mousePos)
 
int getTimerInterval ()
 
virtual void setActive ()
 
virtual void keybinder (KeybindingAction action)
 
bool shouldQuit () const
 

Additional Inherited Members

- Static Public Member Functions inherited from Ultima::Ultima4::Controller
static void timerCallback (void *data)
 

Detailed Description

Controls the title animation sequences, including the traditional plotted "Lord British" signature, the pixelized fade-in of the "Ultima IV" game title, as well as the other more simple animated features, followed by the traditional animated map and "Journey Onward" menu, plus the xU4-specific configuration menu.

  • make initial menu a Menu too
  • get rid of mode and switch(mode) statements
  • get rid global intro instance – should only need to be accessed from u4.cpp

Member Function Documentation

◆ init()

bool Ultima::Ultima4::IntroController::init ( )

Initializes intro state and loads in introduction graphics, text and map data from title.exe.

◆ deleteIntro()

void Ultima::Ultima4::IntroController::deleteIntro ( )

Frees up data not needed after introduction.

◆ keyPressed()

bool Ultima::Ultima4::IntroController::keyPressed ( int  key)
overridevirtual

Handles keystrokes during the introduction.

Reimplemented from Ultima::Ultima4::Controller.

◆ mousePressed()

bool Ultima::Ultima4::IntroController::mousePressed ( const Common::Point mousePos)
overridevirtual

Mouse button was pressed

Reimplemented from Ultima::Ultima4::Controller.

◆ updateScreen()

void Ultima::Ultima4::IntroController::updateScreen ( )

Paints the screen.

◆ timerFired()

void Ultima::Ultima4::IntroController::timerFired ( )
overridevirtual

Timer callback for the intro sequence. Handles animating the intro map, the beasties, etc..

Reimplemented from Ultima::Ultima4::Controller.

◆ preloadMap()

void Ultima::Ultima4::IntroController::preloadMap ( )

Preload map tiles

◆ update()

void Ultima::Ultima4::IntroController::update ( Menu menu,
MenuEvent event 
)
overridevirtual

Update the screen when an observed menu is reset or has an item activated. TODO: Reduce duped code.

Implements Ultima::Ultima4::Observer< Menu *, MenuEvent &>.

◆ initTitles()

void Ultima::Ultima4::IntroController::initTitles ( )

Initialize the title elements

◆ updateTitle()

bool Ultima::Ultima4::IntroController::updateTitle ( )

Update the title element, drawing the appropriate frame of animation


The documentation for this class was generated from the following file: