1: /*
2: * Guitar-ZyX(tm)::MasterControlProgram - portable guitar F/X controller
3: * Copyright (C) 2009 Douglas McClendon
4: *
5: * This program is free software: you can redistribute it and/or modify
6: * it under the terms of the GNU General Public License as published by
7: * the Free Software Foundation, version 3 of the License.
8: *
9: * This program is distributed in the hope that it will be useful,
10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12: * GNU General Public License for more details.
13: *
14: * You should have received a copy of the GNU General Public License
15: * along with this program. If not, see <http://www.gnu.org/licenses/>.
16: */
17: /*
18: #############################################################################
19: #############################################################################
20: #
21: # gzmcpc::template: template header file
22: #
23: #############################################################################
24: ##
25: ## Copyright 2008-2009 Douglas McClendon <dmc AT filteredperception DOT org>
26: ##
27: #############################################################################
28: #############################################################################
29: #
30: */
31:
32: #ifndef _LIB_MCP_H
33: #define _LIB_MCP_H
34:
35:
36:
37: #define PATH_MAXLEN 1023
38:
39: #define MCP_MAIN_SCREEN 1
40: #define MCP_SUB_SCREEN 0
41:
42: #define MCP_BG_HIDE 1
43: #define MCP_BG_SHOW 0
44:
45: #define MCP_MAX_BLEND_LEVEL 31
46: #define MCP_MIN_BLEND_LEVEL 0
47:
48: #define MCP_LAYER_ID(screen, layer) (screen ? layer : (layer + 4))
49:
50: #define RGB15_TO_R5(color) (color & 0x001f)
51: #define RGB15_TO_G5(color) ((color & 0x03e0) >> 5)
52: #define RGB15_TO_B5(color) ((color & 0x7c00) >> 10)
53: #define RGB15_TO_A1(color) ((color & 0x8000) >> 15)
54:
55: #define MCP_FADE_MAXLEVEL 63
56: #define MCP_FADE_THROTTLE 4
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70: void mcp_basename(char *dest,
71: char *path);
72: void mcp_dirname(char *dest,
73: char *path);
74:
75: void mcp_set_blend(int main,
76: int level);
77: int mcp_get_blend(int main);
78:
79: int mcp_bg_init(int main,
80: int layer,
81: int hidden,
82: BgType bg_type,
83: BgSize bg_size,
84: int map_base,
85: int tile_base);
86:
87: void mcp_bg_show(int main,
88: int layer);
89: void mcp_bg_hide(int main,
90: int layer);
91:
92:
93: void mcp_console_init(PrintConsole *pconsole,
94: int main,
95: int layer,
96: int hidden,
97: int loadfont,
98: BgType bg_type,
99: BgSize bg_size,
100: int map_base,
101: int tile_base);
102:
103: void mcp_delay(int frames);
104:
105:
106: void mcp_fade_set_enabled(int screen,
107: int layer,
108: int fading_enable);
109: int mcp_fade_get_enabled(int screen,
110: int layer);
111:
112: void mcp_fade_set_level(int screen,
113: int layer,
114: int level);
115: int mcp_fade_get_level(int screen,
116: int layer);
117:
118: void mcp_fade_set_rate(int screen,
119: int layer,
120: int level);
121: int mcp_fade_get_rate(int screen,
122: int layer);
123:
124: void mcp_fade_set_fwd(int screen,
125: int layer,
126: int fwd);
127: int mcp_fade_get_fwd(int screen,
128: int layer);
129:
130: void mcp_fade_set_func(int screen,
131: int layer,
132: void (*func)(void));
133: void mcp_fade_fire_func(int screen,
134: int layer);
135:
136: void mcp_fade_init(void);
137:
138: void mcp_fade_start(int screen,
139: int layer,
140: int fwd,
141: int duration_ms,
142: int update_period_hz,
143: void (*func)(void));
144:
145: void mcp_fade_update(void);
146:
147:
148:
149:
150:
151: #endif // _LIB_MCP_H
152: