📄 ls.h
字号:
#ifndef LS_H
#define LS_H
#include <lsys.h>
#include <ldraw.h>
#include <lkey.h>
#include <lutils.h>
///////////////////////////////////////////////////////////////////////////
#define ACTOR_WAITING 0
#define ACTOR_WALKING 1
#define ACTOR_DOING 2
#define ACTOR_MOVETO 3
#define ACTOR_DELETE 4
#define MAX_ACTOR 64
#define WORLDX(x) (x*8+4)
#define WORLDY(y) (y*8+10)
#define MAPX(x) ((x-4)/8)
#define MAPY(y) ((y-10)/8)
#define STEP_LEN 8
#define NORTH 1
#define SOUTH 0
#define WEST 2
#define EAST 3
#define EVENT_NO(x) (x&1023)
#define EVENT_MODE(x) (x&1024)
#define EVENT_DATA(no,mode) ((mode<<10)|no)
#define MAX_SOUND 100
extern short LayerSizes[];
extern lenvironment layer;
extern game_map map;
extern RGB pal0[];
extern RGB pal[];
extern char msg[];
extern COLOR_MAP color_map;
extern RGB_MAP rgb_map;
///////////////////////////////////////////////////////////////////////////
class TACTOR
{ int status;
int move_delay;
public:
TACTOR();
~TACTOR();
int id;
char name[80];
char *pics[30];
int walk_pic;
int maxhp;
int maxmp;
int at;
int df;
int hp;
int mp;
int smart;
int x,y;
int wx,wy;
int act_mode;
int act_speed;
int active;
int command;
int towards;
short move_data[1000];
int event_near;
int event_callf;
int event_calln;
int load_dat(int id);
int reset();
int do_command(int cmd,int c1,int c2);
int wait_for_cmd();
int call_actors(int search_len,int far_case);
int ACTIVING();
}; extern TACTOR actor[];
class TVOC
{ MIDI *midi;
char *debug_msg[400];
int debug_p;
struct {
char *data;
int len;
int sample;
} sound[MAX_SOUND*2];
public:
int inst[2];
int music;
TVOC();
~TVOC();
int init();
int rest();
int playmidi(int song,int loop);
int stopmidi();
int playdigi(int index);
int update();
int volume(int midivol,int digivol);
int regist_msg(char *fmt,...);
char *get_msg(int i);
}; extern TVOC voc;
class TWORLD
{ short chapter[0x20000];
short *event;
int ip;
char *dialog[8192];
int dialog_p;
int map_bpic;
int map_bscroll;
TLpcImage map_floor;
TLpcImage map_pic;
int dialog_clear();
int dialog_put(char *s);
char *dialog_get(int d);
char *get_chapter_fname(int c);
int compile_regist_label(char *name);
int compile_find_label(char *name);
int compile_regist_goto(char *name,int source);
int compile_translate_data(int start,int *data);
int CHAPTER_DELAY;
public:
short data[4][1000];
int looping;
int smooth;
int color_change;
TWORLD();
~TWORLD();
int RESET();
int time_delay;
int time_pass;
int map_loadpic();
int map_load(int index);
int call_actor();
int view_world(int dbf,int link,int scr);
int noop(int delay);
int main_loop();
int debug_info();
int test_all();
int proc_loadmap(int map);
int proc_startchapter(int chap);
int proc_createactor(int actor,int x,int y);
int proc_delactor(int actor);
int proc_actormove(int actor,short *move,int data_len);
int proc_actorevent(int actor,int *event_list);
int proc_mapevent(int x1,int y1,int x2,int y2,int ev,int mode);
int proc_say(int pos,int header,int word);
short *proc_get_num(short *num);
int proc_if(short *judge);
int proc_set(short *judge);
int proc_get_goods(int g,int mode);
int proc_get_money(int money);
/******************************/
int MAKE_EVENT(int event);
int NEW_CHAPTER(int c,int clear);
int CHAPTER();
/******************************/
int SAVE_GAME(int save);
int LOAD_GAME(int load);
int START_GAME(int load);
}; extern TWORLD world;
class TEXPRESS
{ LSURFACE temp;
int picflag;
int button;
int goods;
int ptext(int *win,int *step,char *word,int shadow);
public:
struct
{ char name[20];
char inst[100];
int pic,mode;
int buy,sell;
int ahp,dmp;
} goods_dat[100];
TEXPRESS();
~TEXPRESS();
TLpcImage syspic;
int main_bx,main_by;
int text_speed;
int syspic_load();
int syspic_free();
int scr_save();
int scr_restore();
int scr_smooth(int mode);
int outtextxy(int x,int y,char *word,int shadow);
int text(int *win,char *word,int shadow,int speed=-1);
int out_say(int pos,int pic,char *word);
int put_button(int x,int y,int step,int choice);
int put_button(int mx,int my,char *line);
int put_box(int x,int y,int len,int wid);
int put_rectangle(int x1,int y1,int x2,int y2,int step);
int put_selector(int x,int y,int len);
int put_status(int actor_id,int x,int y);
int draw_mix(int x,int y,char *p);
int draw_shadow();
int box_message(char *msg);
int yes_no();
int actor_choice();
int goods_choice(int movie,int mode);
int menu_choice(int count,char *names[],int dark,int actor_face,int color,int startx=128,int starty=36);
int buy_sell(short *things,int sell);
int movie(int m);
int test();
}; extern TEXPRESS express;
///////////////////////////////////////////////////////////////////////////
extern int c_blue,c_red,c_green;
extern int c_white,c_dark,c_yellow;
extern int game_delay;
#define MAX_GOODS 50
class GAME
{ char title[320*240+8];
public:
int money;
int goods[MAX_GOODS+10];
int chapter;
int map;
char place_name[86];
struct
{ char name[80];
int id;
int at,df,mhp,mmp,smt;
int hp,mp;
int f,exp,level;
int cloth;
int weapon;
char magic[24];
} ac[9];
GAME();
~GAME();
int goods_find(int g);
int goods_add(int g,int mode);
int goods_use(int index,int actor_id);
int DataReset();
int GameHalt(int code,char *messag);
int GameInit();
int GameExit();
int GameStart();
int GameMovie();
int GameControl();
int TellText(char *text[]);
int GameStatusView();
int MovieNew();
int MovieAbout();
int MovieGameOver();
int MovieShip();
int MovieEnd();
int SaveLoad(int save,int mode);
int FightStart(int enemy);
int GetLevel(int exp);
}; extern GAME LGAME;
#define NAME_MIDI 0
#define NAME_WAVE 1
#define NAME_FLOOR 2
#define NAME_MAPPIC 3
#define NAME_BACKPIC 4
#define NAME_MAP 5
#define NAME_CHAPTER 6
#define NAME_ACTOR 7
#define NAME_SAVE 8
#define NAME_FONT 9
#define NAME_ACTORPIC 10
#define NAME_SYSTEM 11
#define NAME_GOODS 12
#define NAME_TITLE 13
int game_prepare();
int game_exit();
int game_clear_map();
int game_blit(int dbf,int scr);
int view_spirit(short x,short y,char *spr,short disp);
int view_link(int l0,int l1,int l2);
int game_reset_all(int _actor,int _map,int _layer,int _world);
int game_findactor(int id);
int game_getfname(int type,int index,char *name);
int game_key(int k);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -