⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 types.h

📁 一个RPG术语查询器
💻 H
字号:
/*

 gRPG by Ryan Broomfield 2003
 Contact: AIM - RyanBroomfield
          email - ryan@shippysite.com
          website - http://www.shippysite.com

Copyright (C) 2003 Ryan Broomfield all rights reserved

no theefin'

*/

struct SWAPPER
{
    int swapnow;
    char name[256];
    int warpy;
    int warpx;
};




struct OBJECTMESSAGE
{

	int data;
	int data1;
	int data2;
	int data3;
	int objectref;

};

struct CAMVIEWPORT
{
   int x;
   int y;
};

struct BOXSTRUCT
{
	int x;
	int y;
	int x2;
	int y2;
	int delay;
	int status;
	int charposx;
	int charposy;
	int currchar;
	int start;
	int prompt;
	int fromobj;
	char *message;
	char grid[8][40];
};



struct TILEANIM
{
	int frames;
	int delayframes;
};


struct ENVIRONMENT
{

	int sizex;
	int sizey;
	int pixelsizex;
	int pixelsizey;
	int scale;
	int map[90][90];
	int omap[90][90];
	int map2[90][90];
};

#define MAX_SAMPLES 3
class AUDIOHANDLER
{
    public:
    struct SAMPLEHOLDER
    {
        int loaded;
        char samplename[512];
        SAMPLE *playing;
        int voice;
        int counter;
        int istaken;
    };

    SAMPLEHOLDER samples[MAX_SAMPLES];
    int operational;

    AUDIOHANDLER()
    {
        operational=0;
        for(int i=0;i<MAX_SAMPLES;++i)
        {
            samples[i].loaded=0;
            samples[i].samplename[0]=0;
            samples[i].playing=NULL;
            samples[i].voice=0;
            samples[i].counter=0;
            samples[i].istaken=0;
        }
    }
    
    void start()
    {
        operational = 1;
    }
    
    void play(char *wav)
    {
        //check to see if the sample is loaded
        
        for(int i=0;i<MAX_SAMPLES;++i)
        {
            if(samples[i].istaken==0)
            {
                samples[i].playing = load_sample(wav);
                strcpy(samples[i].samplename,wav);
                samples[i].voice = play_sample(samples[i].playing, 200, 128, 1000, 0);
                samples[i].loaded = 1;
                samples[i].istaken=1;
                ++samples[i].counter;            
                return;
            }
        }
       
    }
    
    void exec()
    {
        for(int i=0;i<MAX_SAMPLES;++i)
        {
            if(samples[i].istaken)
            {
                if(samples[i].loaded==1)
                {
                    if(voice_check(samples[i].voice)==NULL)
                    {
                        --samples[i].counter;   
                        if(samples[i].counter<=0)
                        {
                            destroy_sample(samples[i].playing);
                            samples[i].istaken=0;
                        }
                        samples[i].loaded=0;
                    }
                }
            }
        }

    
    
    
    }

    
    void end()
    {
        operational = 0;
        for(int i=0;i<MAX_SAMPLES;++i)
        {
            if(samples[i].istaken==1)
            {
                if(samples[i].playing) destroy_sample(samples[i].playing);
            }
        }
    }
    
    ~AUDIOHANDLER()
    {
        end();
    }
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -