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

📄 wrdt_w32g.c

📁 linux上播放midi音乐,但是要一些设置.可网上查找. 软件名称: TiMidity++-2.13.0.tar
💻 C
📖 第 1 页 / 共 2 页
字号:
		if(*p == 'm'){			int i;			for(i=1;i<=n_max;i++)				esc_characterattribute(n[i]);			p++;			str = p;			break;		}		p = oldp;		WrdWndPutStringN(p,1,TRUE);		p++;		str = p;		break;		}	}  }}static int wrdt_open(char *dummy){     wrdt.opened = 1;    inkey_flag = 0;	WrdWndReset();    return 0;}static void wrdt_update_events(void){}static void wrdt_end(void){	esc_enablecursordisplay();    inkey_flag = 0;}static void wrdt_close(void){    wrdt.opened = 0;    inkey_flag = 0;}static char *wrd_event2string(int id){    char *name;    name = event2string(id);    if(name != NULL)	return name + 1;    return "";}#define SEIKIX(x) { \	if ( x < 1 ) x = 1; \	if ( x > w32g_wrd_wnd.row ) x = w32g_wrd_wnd.row; \}#define SEIKIY(y) { \	if ( y < 1 ) y = 1; \	if ( y > w32g_wrd_wnd.col ) y = w32g_wrd_wnd.col; \}static void print_ecmd(char *cmd, int *args, int narg){#if 1    char *p;    p = (char *)new_segment(&tmpbuffer, MIN_MBLOCK_SIZE);    sprintf(p, "^%s(", cmd);    if(*args == WRD_NOARG)	strcat(p, "*");    else	sprintf(p + strlen(p), "%d", *args);    args++;    narg--;    while(narg > 0)    {	if(*args == WRD_NOARG)	    strcat(p, ",*");	else	    sprintf(p + strlen(p), ",%d", *args);	args++;	narg--;    }    strcat(p, ")");    ctl->cmsg(CMSG_INFO, VERB_VERBOSE, "%s", p);    reuse_mblock(&tmpbuffer);#endif}static void borlandc_esc(char *str){	char local[201];	local[0] = '\033';	local[1] = '[';	strncpy(local+2,str,sizeof(local)-3);	local[200] = '\0';	putstring_with_esc(local);}extern void wrd_graphic_ginit ( void );extern void wrd_graphic_gcls ( int sw );extern void wrd_graphic_gscreen ( int active, int display );extern void wrd_graphic_gon ( int sw );extern void wrd_graphic_gline ( int x1, int y1, int x2, int y2, int p1, int sw, int p2 );extern void wrd_graphic_gcircle ( int x, int y, int r, int p1, int sw, int p2 );extern void wrd_graphic_pload ( char *path );extern void wrd_graphic_pal_g4r4b4 ( int p, int *g4r4b4, int max );extern void wrd_graphic_palrev ( int p );extern void wrd_graphic_apply_pal ( int p );extern void wrd_graphic_fade ( int p1, int p2, int speed );extern void wrd_graphic_fadestep ( int v );extern void wrd_graphic_gmode ( int sw );extern void wrd_graphic_gmove ( int x1, int y1, int x2, int y2, int xd, int yd, int vs, int vd, int sw );extern void wrd_graphic_mag ( char *path, int x, int y, int s, int p );extern void wrd_text_ton ( int sw );extern void wrd_text_scroll ( int x1, int y1, int x2, int y2, int mode, int color, int c );extern void wrd_start_skip ( void );extern void wrd_end_skip ( void );extern void wrd_graphic_xcopy ( int sx1, int sy1, int sx2, int sy2, int tx, int ty, int ss, int ts, int method,	 int opt1, int opt2, int opt3, int opt4, int opt5 );// #define WRD_VERBOSEstatic void wrdt_apply(int cmd, int wrd_argc, int wrd_args[]){    char *p;    char *text;    int i, len;    static txtclr_preserve=0;	if ( !w32g_wrd_wnd.active ) return;    switch(cmd)    {      case WRD_LYRIC:	p = wrd_event2string(wrd_args[0]);	len = strlen(p);	text = (char *)new_segment(&tmpbuffer, SAFE_CONVERT_LENGTH(len));	/*This must be not good thing,but as far as I know no wrd file 	  written in EUC-JP code found*/	strcpy(text,p);#ifdef WRD_VERBOSE//	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,//		  "[WRD_LYRIC]\n%s", text );#endif	putstring_with_esc(text);	reuse_mblock(&tmpbuffer);	break;      case WRD_NL: /* Newline (Ignored) */		esc_nextline();//			 putchar('\n');	break;      case WRD_COLOR:/*Compatibility Hack,This remaps color(17-29 color seems to be ignored in kterm)*/	esc_characterattribute(wrd_args[0]);	break;      case WRD_END: /* Never call */	break;      case WRD_ESC:	borlandc_esc(wrd_event2string(wrd_args[0]));	break;      case WRD_EXEC:	/*I don't spaun another program*/	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@EXEC(%s)", wrd_event2string(wrd_args[0]));	break;      case WRD_FADE:		  wrd_graphic_fade ( wrd_args[0], wrd_args[1], wrd_args[2] );#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@FADE(%d,%d,%d)", wrd_args[0], wrd_args[1], wrd_args[2]);#endif	break;      case WRD_FADESTEP:		 wrd_graphic_fadestep ( wrd_args[0] );#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@FADESTEP(%d/%d)", wrd_args[0], WRD_MAXFADESTEP);#endif	break;      case WRD_GCIRCLE:		wrd_graphic_gcircle ( wrd_args[0], wrd_args[1], wrd_args[2], wrd_args[3],		  wrd_args[4], wrd_args[5] );	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@GCIRCLE(%d,%d,%d,%d,%d,%d)",		  wrd_args[0], wrd_args[1], wrd_args[2], wrd_args[3],		  wrd_args[4], wrd_args[5]);	break;      case WRD_GCLS:		wrd_graphic_gcls ( wrd_args[0] );#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@GCLS(%d)", wrd_args[0]);#endif	break;      case WRD_GINIT:		wrd_graphic_ginit ();#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE, "@GINIT()");#endif	break;      case WRD_GLINE:		wrd_graphic_gline ( wrd_args[0], wrd_args[1], wrd_args[2], wrd_args[3], wrd_args[4],	       wrd_args[5], wrd_args[6] );#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@GLINE(%d,%d,%d,%d,%d,%d,%d)",	       wrd_args[0], wrd_args[1], wrd_args[2], wrd_args[3], wrd_args[4],	       wrd_args[5], wrd_args[6]);#endif	break;      case WRD_GMODE:		  wrd_graphic_gmode ( wrd_args[0] );#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@GMODE(%d)", wrd_args[0]);#endif	break;      case WRD_GMOVE:		  wrd_graphic_gmove ( wrd_args[0], wrd_args[1], wrd_args[2], wrd_args[3], wrd_args[4],	       wrd_args[5], wrd_args[6], wrd_args[7], wrd_args[8] );#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@GMOVE(%d,%d,%d,%d,%d,%d,%d)",	       wrd_args[0], wrd_args[1], wrd_args[2], wrd_args[3], wrd_args[4],	       wrd_args[5], wrd_args[6], wrd_args[7], wrd_args[8]);#endif	break;      case WRD_GON:		wrd_graphic_gon ( wrd_args[0] );#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@GON(%d)", wrd_args[0]);#endif	break;      case WRD_GSCREEN:		wrd_graphic_gscreen ( wrd_args[0], wrd_args[1] );#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@GSCREEN(%d,%d)", wrd_args[0], wrd_args[1]);#endif	break;      case WRD_INKEY:	inkey_flag = 1;	ctl->cmsg(CMSG_INFO, VERB_VERBOSE, "@INKEY - begin");	break;      case WRD_OUTKEY:	inkey_flag = 0;	ctl->cmsg(CMSG_INFO, VERB_VERBOSE, "@INKEY - end");	break;      case WRD_LOCATE:	{	int x = wrd_args[0], y = wrd_args[1];	WrdWndGoto(x-1, y-1);	}	break;      case WRD_LOOP: /* Never call */	break;      case WRD_MAG:		wrd_graphic_mag ( wrd_event2string(wrd_args[0]), wrd_args[1], wrd_args[2], wrd_args[3], wrd_args[4]);#ifdef WRD_VERBOSE	p = (char *)new_segment(&tmpbuffer, MIN_MBLOCK_SIZE);	strcpy(p, "@MAG(");	strcat(p, wrd_event2string(wrd_args[0]));	strcat(p, ",");	for(i = 1; i < 3; i++)	{	    if(wrd_args[i] == WRD_NOARG)		strcat(p, "*,");	    else		sprintf(p + strlen(p), "%d,", wrd_args[i]);	}	sprintf(p + strlen(p), "%d,%d)", wrd_args[3], wrd_args[4]);	ctl->cmsg(CMSG_INFO, VERB_VERBOSE, "%s", p);	reuse_mblock(&tmpbuffer);#endif	break;      case WRD_MIDI: /* Never call */	break;      case WRD_OFFSET: /* Never call */	break;      case WRD_PAL:		wrd_graphic_pal_g4r4b4 (wrd_args[0], wrd_args + 1, 16 );#ifdef WRD_VERBOSE	p = (char *)new_segment(&tmpbuffer, MIN_MBLOCK_SIZE);	sprintf(p, "@PAL(%03x", wrd_args[0]);	for(i = 1; i < 17; i++)	    sprintf(p + strlen(p), ",%03x", wrd_args[i]);	strcat(p, ")");	ctl->cmsg(CMSG_INFO, VERB_VERBOSE, "%s", p);	reuse_mblock(&tmpbuffer);#endif	break;      case WRD_PALCHG:		wrd_graphic_apply_pal ( wrd_args[0] );#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@PALCHG(%s)", wrd_event2string(wrd_args[0]));#endif	break;      case WRD_PALREV:		wrd_graphic_palrev ( wrd_args[0] );#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@PALREV(%d)", wrd_args[0]);#endif	break;      case WRD_PATH:	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@PATH(%s)", wrd_event2string(wrd_args[0]));	break;      case WRD_PLOAD:		wrd_graphic_pload ( wrd_event2string(wrd_args[0]) );#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@PLOAD(%s)", wrd_event2string(wrd_args[0]));#endif	break;      case WRD_REM:	p = wrd_event2string(wrd_args[0]);	len = strlen(p);	text = (char *)new_segment(&tmpbuffer, SAFE_CONVERT_LENGTH(len));	code_convert(p, text, SAFE_CONVERT_LENGTH(len), NULL, NULL);	ctl->cmsg(CMSG_INFO, VERB_VERBOSE, "@REM %s", text);	reuse_mblock(&tmpbuffer);	break;      case WRD_REMARK:	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@REMARK(%s)", wrd_event2string(wrd_args[0]));	break;      case WRD_REST: /* Never call */	break;      case WRD_SCREEN: /* Not supported */	break;      case WRD_SCROLL:		wrd_text_scroll (wrd_args[0], wrd_args[1], wrd_args[2], wrd_args[3],		  wrd_args[4], wrd_args[5], wrd_args[6]);#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@SCROLL(%d,%d,%d,%d,%d,%d,%d)",		  wrd_args[0], wrd_args[1], wrd_args[2], wrd_args[3],		  wrd_args[4], wrd_args[5], wrd_args[6]);#endif	break;      case WRD_STARTUP:		  WrdWndReset ();	inkey_flag = 0;#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@STARTUP(%d)", wrd_args[0]);#endif	esc_clearscreen();	break;      case WRD_STOP: /* Never call */	break;      case WRD_TCLS:	{	  char fillbuf[1024];	{	int left = wrd_args[0], right = wrd_args[2];	int top = wrd_args[1], bottom = wrd_args[3];	SEIKIX(left);	SEIKIX(right);	SEIKIY(top);	SEIKIY(bottom);	if(left>right) right = left;	if(top>bottom) bottom = top;	memset(fillbuf,wrd_args[5],right-left);/*X2-X1*/	fillbuf[right-left]=0;//	borlandc_con_save_attr();	esc_characterattribute(wrd_args[4]);	for(i=top;i<=bottom;i++)/*Y1 to Y2*/ {	  WrdWndGoto(left-1,i-1);	  putstring(fillbuf);	}//	borlandc_con_restore_attr();	}	}	break;      case WRD_TON:		wrd_text_ton ( wrd_args[0] );	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "@TON(%d)", wrd_args[0]);	break;      case WRD_WAIT: /* Never call */	break;      case WRD_WMODE: /* Never call */	break;	/* Ensyutsukun */      case WRD_eFONTM:	print_ecmd("FONTM", wrd_args, 1);	break;      case WRD_eFONTP:	print_ecmd("FONTP", wrd_args, 4);	break;      case WRD_eFONTR:	print_ecmd("FONTR", wrd_args, 17);	break;      case WRD_eGSC:	print_ecmd("GSC", wrd_args, 1);	break;      case WRD_eLINE:	print_ecmd("LINE", wrd_args, 1);	break;      case WRD_ePAL:	print_ecmd("PAL", wrd_args, 2);	break;      case WRD_eREGSAVE:	print_ecmd("REGSAVE", wrd_args, 17);	break;      case WRD_eSCROLL:	print_ecmd("SCROLL",wrd_args, 2);	break;      case WRD_eTEXTDOT:	print_ecmd("TEXTDOT", wrd_args, 1);	break;      case WRD_eTMODE:	print_ecmd("TMODE", wrd_args, 1);	break;      case WRD_eTSCRL:	print_ecmd("TSCRL", wrd_args, 0);	break;      case WRD_eVCOPY:	print_ecmd("VCOPY", wrd_args, 9);	break;      case WRD_eVSGET:	print_ecmd("VSGE", wrd_args, 4);	break;      case WRD_eVSRES:	print_ecmd("VSRES", wrd_args, 0);	break;      case WRD_eXCOPY:		wrd_graphic_xcopy ( wrd_args[0], wrd_args[1], wrd_args[2], wrd_args[3], wrd_args[4], wrd_args[5], wrd_args[6],			 wrd_args[7], wrd_args[8], wrd_args[9], wrd_args[10], wrd_args[11], wrd_args[12], wrd_args[13] );	print_ecmd("XCOPY", wrd_args, 14);	break;	case WRD_START_SKIP:		wrd_start_skip ();#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "WRD_START_SKIP");#endif		break;	case WRD_END_SKIP:		wrd_end_skip ();#ifdef WRD_VERBOSE	ctl->cmsg(CMSG_INFO, VERB_VERBOSE,		  "WRD_END_SKIP");#endif		break;	/* Extensionals */    }}

⌨️ 快捷键说明

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