home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C++ Games Programming
/
CPPGAMES.ISO
/
thx
/
source
/
theatrix
/
perform.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1995-04-18
|
2KB
|
84 lines
#include <dir.h>
#include <fstream.h>
#include <iomanip.h>
#include <io.h>
#include <values.h> // MAXINT
#include <string.h>
#include <stdlib.h>
#include "standard.h"
#include "perform.h"
#include "xms.h"
GraphicsMedia Performer::gfxlib;
Performer::Performer(Director* d) : VocalHand(d)
{
curlib=-1;
curfont=-1;
}
Performer::~Performer()
{
}
void Performer::load_gfxlib(char* fname)
{
gfxlib.load_library(fname);
set_gfxlib(fname);
}
void Performer::set_gfxlib(char* fname)
{
curlib=gfxlib.library_number(fname);
}
void Performer::load_gfxfont(char* fname)
{
gfxlib.load_library(fname);
set_gfxfont(fname);
}
void Performer::set_gfxfont(char* fname)
{
curfont=gfxlib.library_number(fname);
}
void Performer::thx_show_print(int x,int y,char* str)
{
int index;
char* p=str;
while (*p!='\0')
{
if (*p==32)
x+=5;
else
{
if (*p<'A') index=*p-48+26;
else if (*p>='a') index=*p-97+36;
else index=*p-65;
MediaClip& mc = gfxlib.getclip(curfont,index);
fg_move(x,y+mc.h);
fg_drwimage(mc.buf, mc.w, mc.h);
x += mc.w+1;
}
p++;
}
}
void Performer::thx_show_number(int x,int y,int num)
{
char str[40];
itoa(num,str,10);
char* p=str;
while (*p!='\0')
{
MediaClip& mc = gfxlib.getclip(curfont,*p-48+26);
fg_move(x,y+mc.h);
fg_drwimage(mc.buf, mc.w, mc.h);
x += mc.w + 1;
p++;
}
}