bggame.cc File Reference

#include "SDL_events.h"
#include <typeinfo>
#include "files/U7file.h"
#include "files/utils.h"
#include "flic/playfli.h"
#include "gamewin.h"
#include "Audio.h"
#include "bggame.h"
#include "sigame.h"
#include "palette.h"
#include "databuf.h"
#include "font.h"
#include "txtscroll.h"
#include "data/exult_bg_flx.h"
#include "exult.h"
#include "Configuration.h"
#include "shapeid.h"
#include <cctype>
#include <cstring>

Include dependency graph for bggame.cc:

Go to the source code of this file.

Classes

class  UserSkipException

Defines

#define WAITDELAY(x)
#define WAITDELAYCYCLE(x)
#define WAITDELAYCYCLE2(x)
#define WAITDELAYCYCLE3(x)
#define BUTTERFLY_FRAME_DURATION   16
#define BUTTERFLY_SUB_FRAMES   3
#define BUTTERFLY(x, y, frame, delay)
#define BUTTERFLY_FLAP()
#define FLASH_SHAPE(x, y, shape, frame, delay)
#define EYES_DIST   12
#define FORHEAD_DIST   49

Enumerations

enum  {
  ultima_text_shp = 0x0D, butterfly_shp = 0x0E, lord_british_shp = 0x11, trees_shp = 0x12,
  guardian_mouth_shp = 0x1E, guardian_forehead_shp = 0x1F, guardian_eyes_shp = 0x20
}
enum  {
  bird_song_midi = 0, home_song_midi = 1, guardian_midi = 2, menu_midi = 3,
  credits_midi = 4, quotes_midi = 5
}

Variables

static int butterfly_x []
static int butterfly_y []
static const int butterfly_num_coords = sizeof(butterfly_x)/sizeof(int)
static int butterfly_end_frames [] = { 3, 4, 3, 4, 3, 2, 1, 0 }
static int butterfly_end_delay [] = { 167, 416, 250, 416, 416, 416, 416, 333 }


Define Documentation

#define BUTTERFLY ( x,
y,
frame,
delay   ) 

Value:

do {  \
    win->get(backup, topx + (x) - butterfly->get_xleft(), \
        topy + (y) - butterfly->get_yabove());  \
    sman->paint_shape(topx + x, topy + y, shapes.get_shape(butterfly_shp, frame));  \
    win->show();  \
    WAITDELAY(delay); \
    win->put(backup, topx + (x) - butterfly->get_xleft(), \
        topy + (y) - butterfly->get_yabove());  \
    } while(0)

Definition at line 312 of file bggame.cc.

Referenced by BG_Game::scene_butterfly().

 
#define BUTTERFLY_FLAP (  ) 

Value:

do {  \
      if ((rand() % 5)<4) { \
        if (frame == 3) \
          dir = -1; \
        else if (frame == 0)  \
          dir = +1; \
        frame += dir; \
      } } while(0)

Definition at line 322 of file bggame.cc.

Referenced by BG_Game::scene_butterfly().

#define BUTTERFLY_FRAME_DURATION   16

Definition at line 308 of file bggame.cc.

Referenced by BG_Game::scene_butterfly().

#define BUTTERFLY_SUB_FRAMES   3

Definition at line 310 of file bggame.cc.

Referenced by BG_Game::scene_butterfly().

#define EYES_DIST   12

Definition at line 474 of file bggame.cc.

Referenced by BG_Game::scene_guardian().

#define FLASH_SHAPE ( x,
y,
shape,
frame,
delay   ) 

Value:

do {  \
    sman->paint_shape(x,y,shapes.get_shape(shape,frame)); \
    win->show();  \
    WAITDELAYCYCLE(delay);  \
    win->put(backup,(x)-s->get_xleft(),(y)-s->get_yabove());  \
    } while(0)

Definition at line 467 of file bggame.cc.

Referenced by BG_Game::scene_guardian().

#define FORHEAD_DIST   49

Definition at line 475 of file bggame.cc.

Referenced by BG_Game::scene_guardian().

#define WAITDELAY (  ) 

Value:

switch(wait_delay(x)) { \
      case 1: throw UserBreakException(); break; \
      case 2: throw UserSkipException(); break; \
      }

Definition at line 196 of file bggame.cc.

Referenced by BG_Game::scene_butterfly(), BG_Game::scene_desk(), BG_Game::scene_guardian(), and BG_Game::scene_moongate().

#define WAITDELAYCYCLE (  ) 

Value:

switch (wait_delay((x), 16, 78)) { \
      case 1: throw UserBreakException(); break; \
      case 2: throw UserSkipException(); break; \
      }

Definition at line 201 of file bggame.cc.

Referenced by BG_Game::scene_guardian().

#define WAITDELAYCYCLE2 (  ) 

Value:

switch (wait_delay((x), 250, 5)) { \
      case 1: throw UserBreakException(); break; \
      case 2: throw UserSkipException(); break; \
      }

Definition at line 206 of file bggame.cc.

Referenced by BG_Game::scene_desk().

#define WAITDELAYCYCLE3 (  ) 

Value:

switch (wait_delay((x), 240, 15)) { \
      case 1: throw UserBreakException(); break; \
      case 2: throw UserSkipException(); break; \
      }

Definition at line 211 of file bggame.cc.

Referenced by BG_Game::scene_moongate().


Enumeration Type Documentation

anonymous enum

Enumerator:
ultima_text_shp 
butterfly_shp 
lord_british_shp 
trees_shp 
guardian_mouth_shp 
guardian_forehead_shp 
guardian_eyes_shp 

Definition at line 55 of file bggame.cc.

anonymous enum

Enumerator:
bird_song_midi 
home_song_midi 
guardian_midi 
menu_midi 
credits_midi 
quotes_midi 

Definition at line 67 of file bggame.cc.


Variable Documentation

int butterfly_end_delay[] = { 167, 416, 250, 416, 416, 416, 416, 333 } [static]

Definition at line 362 of file bggame.cc.

int butterfly_end_frames[] = { 3, 4, 3, 4, 3, 2, 1, 0 } [static]

Definition at line 361 of file bggame.cc.

const int butterfly_num_coords = sizeof(butterfly_x)/sizeof(int) [static]

Definition at line 359 of file bggame.cc.

Referenced by BG_Game::scene_butterfly().

int butterfly_x[] [static]

Initial value:

{
  6,18,30,41,52,62,70,78,86,95,
  104,113,122,132,139,146,151,155,157,158,
  157,155,151,146,139,132,124,116,108,102,
  96,93,93,93,95,99,109,111,118,125,
  132,140,148,157,164,171,178,184,190,196,
  203,211,219,228,237,246,254,259,262,264,
  265,265,263,260,256,251,245,239,232,226,
  219,212,208,206,206,209,212,216,220,224,
  227,234,231,232,233,233,233,233,234,236,
  239,243,247,250,258,265
}

Definition at line 331 of file bggame.cc.

Referenced by BG_Game::scene_butterfly().

int butterfly_y[] [static]

Initial value:

{
  155,153,151,150,149,148,148,148,148,149,
  150,150,150,149,147,142,137,131,125,118,
  110,103,98,94,92,91,91,91,92,95,
  99,104,110,117,123,127,131,134,135,135,
  135,135,135,134,132,129,127,123,119,115,
  112,109,104,102,101,102,109,109,114,119,
  125,131,138,144,149,152,156,158,159,159,
  158,155,150,144,137,130,124,118,112,105,
  99,93,86,80,73,66,59,53,47,42,
  38,35,32,29,26,25
}

Definition at line 345 of file bggame.cc.

Referenced by BG_Game::scene_butterfly().


Generated on Mon Jul 9 14:43:00 2007 for ExultEngine by  doxygen 1.5.1