aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Game/Code/lib/projectM/projectM-0_9.inc356
-rw-r--r--Game/Code/lib/projectM/projectM-1_0.inc14
-rw-r--r--Game/Code/lib/projectM/projectM.pas251
3 files changed, 311 insertions, 310 deletions
diff --git a/Game/Code/lib/projectM/projectM-0_9.inc b/Game/Code/lib/projectM/projectM-0_9.inc
index 4aed3260..a3908c77 100644
--- a/Game/Code/lib/projectM/projectM-0_9.inc
+++ b/Game/Code/lib/projectM/projectM-0_9.inc
@@ -14,10 +14,10 @@ const
type
- PPSingle = ^PSingle;
+ PPCfloat = ^PCfloat;
type
- _TContextType = Integer;
+ _TContextType = cint;
const
AGL_CONTEXT = 0;
CGL_CONTEXT = 1;
@@ -29,12 +29,12 @@ type
_PRenderTarget = ^_TRenderTarget;
_TRenderTarget = record
{ Texture size }
- texsize: Integer;
+ texsize: cint;
{ Application context }
origContextType: _TContextType;
- usePbuffers: Integer;
+ usePbuffers: cint;
{$ifdef LINUX}
lock_func: procedure(); cdecl;
@@ -58,20 +58,20 @@ type
presetName: PChar;
fontURL: PChar;
- hasInit: Integer;
+ hasInit: cint;
- noSwitch: Integer;
- pcmframes: Integer;
- freqframes: Integer;
- totalframes: Integer;
+ noSwitch: cint;
+ pcmframes: cint;
+ freqframes: cint;
+ totalframes: cint;
- showfps: Integer;
- showtitle: Integer;
- showpreset: Integer;
- showhelp: Integer;
- showstats: Integer;
+ showfps: cint;
+ showtitle: cint;
+ showpreset: cint;
+ showhelp: cint;
+ showstats: cint;
- studio: Integer;
+ studio: cint;
fbuffer: PGLubyte;
@@ -79,206 +79,206 @@ type
{ The first ticks value of the application }
startTime: timeval;
{$ELSE}
- startTime: Longint;
+ startTime: clong;
{$ENDIF}
- Time: Single;
+ Time: cfloat;
{ Render target texture ID }
renderTarget: _PRenderTarget;
disp: array[0..79] of Char;
- wave_o: Single;
+ wave_o: cfloat;
//int texsize=1024; //size of texture to do actual graphics
- fvw: Integer; //fullscreen dimensions
- fvh: Integer;
- wvw: Integer; //windowed dimensions
- wvh: Integer;
- vw: Integer; //runtime dimensions
- vh: Integer;
- fullscreen: Integer;
-
- maxsamples: Integer; //size of PCM buffer
- numsamples: Integer; //size of new PCM info
- pcmdataL: PSingle; //holder for most recent pcm data
- pcmdataR: PSingle; //holder for most recent pcm data
-
- avgtime: Integer; //# frames per preset
+ fvw: cint; //fullscreen dimensions
+ fvh: cint;
+ wvw: cint; //windowed dimensions
+ wvh: cint;
+ vw: cint; //runtime dimensions
+ vh: cint;
+ fullscreen: cint;
+
+ maxsamples: cint; //size of PCM buffer
+ numsamples: cint; //size of new PCM info
+ pcmdataL: PCfloat; //holder for most recent pcm data
+ pcmdataR: PCfloat; //holder for most recent pcm data
+
+ avgtime: cint; //# frames per preset
title: PChar;
- drawtitle: Integer;
+ drawtitle: cint;
- correction: Integer;
+ correction: cint;
- vol: Single;
+ vol: cfloat;
//per pixel equation variables
- gridx: PPSingle; //grid containing interpolated mesh
- gridy: PPSingle;
- origtheta: PPSingle; //grid containing interpolated mesh reference values
- origrad: PPSingle;
- origx: PPSingle; //original mesh
- origy: PPSingle;
- origx2: PPSingle; //original mesh
- origy2: PPSingle;
+ gridx: PPCfloat; //grid containing interpolated mesh
+ gridy: PPCfloat;
+ origtheta: PPCfloat; //grid containing interpolated mesh reference values
+ origrad: PPCfloat;
+ origx: PPCfloat; //original mesh
+ origy: PPCfloat;
+ origx2: PPCfloat; //original mesh
+ origy2: PPCfloat;
{ Timing information }
- mspf: Integer;
- timed: Integer;
- timestart: Integer;
- nohard: Integer;
- count: Integer;
+ mspf: cint;
+ timed: cint;
+ timestart: cint;
+ nohard: cint;
+ count: cint;
realfps,
- fpsstart: Single;
+ fpsstart: cfloat;
{ PCM data }
- vdataL: array[0..511] of Single; //holders for FFT data (spectrum)
- vdataR: array[0..511] of Single;
+ vdataL: array[0..511] of cfloat; //holders for FFT data (spectrum)
+ vdataR: array[0..511] of cfloat;
{ Various toggles }
- doPerPixelEffects: Integer;
- doIterative: Integer;
+ doPerPixelEffects: cint;
+ doIterative: cint;
{ ENGINE VARIABLES }
{ From engine_vars.h }
preset_name: array[0..255] of Char;
{ PER FRAME CONSTANTS BEGIN }
- zoom: Single;
- zoomexp: Single;
- rot: Single;
- warp: Single;
-
- sx: Single;
- sy: Single;
- dx: Single;
- dy: Single;
- cx: Single;
- cy: Single;
-
- gy: Integer;
- gx: Integer;
-
- decay: Single;
-
- wave_r: Single;
- wave_g: Single;
- wave_b: Single;
- wave_x: Single;
- wave_y: Single;
- wave_mystery: Single;
-
- ob_size: Single;
- ob_r: Single;
- ob_g: Single;
- ob_b: Single;
- ob_a: Single;
-
- ib_size: Single;
- ib_r: Single;
- ib_g: Single;
- ib_b: Single;
- ib_a: Single;
-
- meshx: Integer;
- meshy: Integer;
-
- mv_a: Single;
- mv_r: Single;
- mv_g: Single;
- mv_b: Single;
- mv_l: Single;
- mv_x: Single;
- mv_y: Single;
- mv_dy: Single;
- mv_dx: Single;
-
- treb: Single;
- mid: Single;
- bass: Single;
- bass_old: Single;
- beat_sensitivity: Single;
- treb_att: Single;
- mid_att: Single;
- bass_att: Single;
- progress: Single;
- frame: Integer;
+ zoom: cfloat;
+ zoomexp: cfloat;
+ rot: cfloat;
+ warp: cfloat;
+
+ sx: cfloat;
+ sy: cfloat;
+ dx: cfloat;
+ dy: cfloat;
+ cx: cfloat;
+ cy: cfloat;
+
+ gy: cint;
+ gx: cint;
+
+ decay: cfloat;
+
+ wave_r: cfloat;
+ wave_g: cfloat;
+ wave_b: cfloat;
+ wave_x: cfloat;
+ wave_y: cfloat;
+ wave_mystery: cfloat;
+
+ ob_size: cfloat;
+ ob_r: cfloat;
+ ob_g: cfloat;
+ ob_b: cfloat;
+ ob_a: cfloat;
+
+ ib_size: cfloat;
+ ib_r: cfloat;
+ ib_g: cfloat;
+ ib_b: cfloat;
+ ib_a: cfloat;
+
+ meshx: cint;
+ meshy: cint;
+
+ mv_a: cfloat;
+ mv_r: cfloat;
+ mv_g: cfloat;
+ mv_b: cfloat;
+ mv_l: cfloat;
+ mv_x: cfloat;
+ mv_y: cfloat;
+ mv_dy: cfloat;
+ mv_dx: cfloat;
+
+ treb: cfloat;
+ mid: cfloat;
+ bass: cfloat;
+ bass_old: cfloat;
+ beat_sensitivity: cfloat;
+ treb_att: cfloat;
+ mid_att: cfloat;
+ bass_att: cfloat;
+ progress: cfloat;
+ frame: cint;
{ PER_FRAME CONSTANTS END }
{ PER_PIXEL CONSTANTS BEGIN }
- x_per_pixel: Single;
- y_per_pixel: Single;
- rad_per_pixel: Single;
- ang_per_pixel: Single;
+ x_per_pixel: cfloat;
+ y_per_pixel: cfloat;
+ rad_per_pixel: cfloat;
+ ang_per_pixel: cfloat;
{ PER_PIXEL CONSTANT END }
- fRating: Single;
- fGammaAdj: Single;
- fVideoEchoZoom: Single;
- fVideoEchoAlpha: Single;
-
- nVideoEchoOrientation: Integer;
- nWaveMode: Integer;
- bAdditiveWaves: Integer;
- bWaveDots: Integer;
- bWaveThick: Integer;
- bModWaveAlphaByVolume: Integer;
- bMaximizeWaveColor: Integer;
- bTexWrap: Integer;
- bDarkenCenter: Integer;
- bRedBlueStereo: Integer;
- bBrighten: Integer;
- bDarken: Integer;
- bSolarize: Integer;
- bInvert: Integer;
- bMotionVectorsOn: Integer;
- fps: Integer;
-
- fWaveAlpha: Single;
- fWaveScale: Single;
- fWaveSmoothing: Single;
- fWaveParam: Single;
- fModWaveAlphaStart: Single;
- fModWaveAlphaEnd: Single;
- fWarpAnimSpeed: Single;
- fWarpScale: Single;
- fShader: Single;
+ fRating: cfloat;
+ fGammaAdj: cfloat;
+ fVideoEchoZoom: cfloat;
+ fVideoEchoAlpha: cfloat;
+
+ nVideoEchoOrientation: cint;
+ nWaveMode: cint;
+ bAdditiveWaves: cint;
+ bWaveDots: cint;
+ bWaveThick: cint;
+ bModWaveAlphaByVolume: cint;
+ bMaximizeWaveColor: cint;
+ bTexWrap: cint;
+ bDarkenCenter: cint;
+ bRedBlueStereo: cint;
+ bBrighten: cint;
+ bDarken: cint;
+ bSolarize: cint;
+ bInvert: cint;
+ bMotionVectorsOn: cint;
+ fps: cint;
+
+ fWaveAlpha: cfloat;
+ fWaveScale: cfloat;
+ fWaveSmoothing: cfloat;
+ fWaveParam: cfloat;
+ fModWaveAlphaStart: cfloat;
+ fModWaveAlphaEnd: cfloat;
+ fWarpAnimSpeed: cfloat;
+ fWarpScale: cfloat;
+ fShader: cfloat;
{ Q VARIABLES START }
- q1: Single;
- q2: Single;
- q3: Single;
- q4: Single;
- q5: Single;
- q6: Single;
- q7: Single;
- q8: Single;
+ q1: cfloat;
+ q2: cfloat;
+ q3: cfloat;
+ q4: cfloat;
+ q5: cfloat;
+ q6: cfloat;
+ q7: cfloat;
+ q8: cfloat;
{ Q VARIABLES END }
- zoom_mesh: PPSingle;
- zoomexp_mesh: PPSingle;
- rot_mesh: PPSingle;
-
- sx_mesh: PPSingle;
- sy_mesh: PPSingle;
- dx_mesh: PPSingle;
- dy_mesh: PPSingle;
- cx_mesh: PPSingle;
- cy_mesh: PPSingle;
-
- x_mesh: PPSingle;
- y_mesh: PPSingle;
- rad_mesh: PPSingle;
- theta_mesh: PPSingle;
+ zoom_mesh: PPCfloat;
+ zoomexp_mesh: PPCfloat;
+ rot_mesh: PPCfloat;
+
+ sx_mesh: PPCfloat;
+ sy_mesh: PPCfloat;
+ dx_mesh: PPCfloat;
+ dy_mesh: PPCfloat;
+ cx_mesh: PPCfloat;
+ cy_mesh: PPCfloat;
+
+ x_mesh: PPCfloat;
+ y_mesh: PPCfloat;
+ rad_mesh: PPCfloat;
+ theta_mesh: PPCfloat;
end;
PProjectMState = ^TProjectMState;
@@ -292,14 +292,14 @@ type
{ projectM.h declarations }
procedure _projectM_init(pm: _PProjectM); cdecl; external libprojectM name 'projectM_init';
procedure _projectM_reset(pm: _PProjectM); cdecl; external libprojectM name 'projectM_reset';
-procedure _projectM_resetGL(pm: _PProjectM; width: Integer; height: Integer); cdecl; external libprojectM name 'projectM_resetGL';
+procedure _projectM_resetGL(pm: _PProjectM; width: cint; height: cint); cdecl; external libprojectM name 'projectM_resetGL';
procedure _projectM_setTitle(pm: _PProjectM; title: PChar); cdecl; external libprojectM name 'projectM_setTitle';
procedure _renderFrame(pm: _PProjectM); cdecl; external libprojectM name 'renderFrame';
{ PCM.h declarations }
-procedure _addPCMfloat(pcm_data: PSingle; samples: integer); cdecl; external libprojectM name 'addPCMfloat';
+procedure _addPCMfloat(pcm_data: PCfloat; samples: cint); cdecl; external libprojectM name 'addPCMfloat';
procedure _addPCM16(pcm_data: PPCM16); cdecl; external libprojectM name 'addPCM16';
-procedure _addPCM16Data(pcm_data: PSmallint; samples: Smallint); cdecl; external libprojectM name 'addPCM16Data';
+procedure _addPCM16Data(pcm_data: PCshort; samples: cshort); cdecl; external libprojectM name 'addPCM16Data';
procedure _addPCM8_512(pcm_data: PPCM8_512); cdecl; external libprojectM name 'addPCM8';
{ console_interface.h declarations }
@@ -314,7 +314,7 @@ procedure _key_handler(pm: _PProjectM;
{**************** EXTERNAL SECTION ****************}
-constructor TProjectM.Create(gx, gy: integer; fps: integer;
+constructor TProjectM.Create(gx, gy: cint; fps: integer;
texsize: integer; width, height: integer;
const presetsDir, fontsDir: string;
const titleFont, menuFont: string);
@@ -344,11 +344,11 @@ begin
pm.fontURL := PChar(fontURLStr);
pm.presetURL := PChar(presetURLStr);
- _projectM_init(@pm);
+ _projectM_init(@pm);
end;
end;
-procedure TProjectM.ResetGL(width, height: Integer);
+procedure TProjectM.ResetGL(width, height: integer);
begin
_projectM_resetGL(@PProjectMState(data).pm, width, height);
end;
@@ -373,7 +373,7 @@ end;
procedure TProjectM.AddPCMfloat(pcmData: PSingle; samples: integer);
begin
- _addPCMfloat(pcmData, samples);
+ _addPCMfloat(PCfloat(pcmData), samples);
end;
procedure TProjectM.AddPCM16(pcmData: PPCM16);
@@ -383,7 +383,7 @@ end;
procedure TProjectM.AddPCM16Data(pcmData: PSmallint; samples: Smallint);
begin
- _addPCM16Data(pcmData, samples);
+ _addPCM16Data(PCshort(pcmData), samples);
end;
procedure TProjectM.AddPCM8_512(pcmData: PPCM8_512);
diff --git a/Game/Code/lib/projectM/projectM-1_0.inc b/Game/Code/lib/projectM/projectM-1_0.inc
index 96b224ae..47d7f406 100644
--- a/Game/Code/lib/projectM/projectM-1_0.inc
+++ b/Game/Code/lib/projectM/projectM-1_0.inc
@@ -22,15 +22,15 @@ type
{ projectM.hpp declarations }
function _projectM_create1(config_file: PChar): _PProjectM; cdecl; external libprojectM_cwrapper name 'projectM_create1';
{$IF PROJECTM_VERSION < 1010000}
-function _projectM_create2(gx: integer; gy: integer; fps: integer;
- texsize: integer; width: integer; height: integer;
+function _projectM_create2(gx: cint; gy: cint; fps: cint;
+ texsize: cint; width: cint; height: cint;
preset_url: PChar; title_fonturl: PChar; title_menuurl: PChar): _PProjectM; cdecl; external libprojectM_cwrapper name 'projectM_create2';
{$IFEND}
-procedure _projectM_resetGL(pm: _PProjectM; width: integer; height: integer); cdecl; external libprojectM_cwrapper name 'projectM_resetGL';
+procedure _projectM_resetGL(pm: _PProjectM; width: cint; height: cint); cdecl; external libprojectM_cwrapper name 'projectM_resetGL';
procedure _projectM_setTitle(pm: _PProjectM; title: PChar); cdecl; external libprojectM_cwrapper name 'projectM_setTitle';
procedure _projectM_renderFrame(pm: _PProjectM); cdecl; external libprojectM_cwrapper name 'projectM_renderFrame';
-function _projectM_initRenderToTexture(pm: _PProjectM): Cardinal; cdecl; external libprojectM_cwrapper name 'projectM_initRenderToTexture';
+function _projectM_initRenderToTexture(pm: _PProjectM): cuint; cdecl; external libprojectM_cwrapper name 'projectM_initRenderToTexture';
procedure _projectM_free(pm: _PProjectM); cdecl; external libprojectM_cwrapper name 'projectM_free';
@@ -42,9 +42,9 @@ procedure _projectM_settings(pm: _PProjectM; settings: PSettings); cdecl; extern
{$IFEND}
{ PCM.hpp declarations }
-procedure _PCM_addPCMfloat(pm: _PProjectM; pcm_data: PSingle; samples: integer); cdecl; external libprojectM_cwrapper name 'PCM_addPCMfloat';
+procedure _PCM_addPCMfloat(pm: _PProjectM; pcm_data: PSingle; samples: cint); cdecl; external libprojectM_cwrapper name 'PCM_addPCMfloat';
procedure _PCM_addPCM16(pm: _PProjectM; pcm_data: PPCM16); cdecl; external libprojectM_cwrapper name 'PCM_addPCM16';
-procedure _PCM_addPCM16Data(pm: _PProjectM; pcm_data: PSmallint; samples: Smallint); cdecl; external libprojectM_cwrapper name 'PCM_addPCM16Data';
+procedure _PCM_addPCM16Data(pm: _PProjectM; pcm_data: PCshort; samples: cshort); cdecl; external libprojectM_cwrapper name 'PCM_addPCM16Data';
procedure _PCM_addPCM8_512(pm: _PProjectM; pcm_data: PPCM8_512); cdecl; external libprojectM_cwrapper name 'PCM_addPCM8_512';
procedure _PCM_addPCM8_1024(pm: _PProjectM; pcm_data: PPCM8_1024); cdecl; external libprojectM_cwrapper name 'PCM_addPCM8';
@@ -108,7 +108,7 @@ end;
*}
procedure TProjectM.AddPCM16Data(pcmData: PSmallint; samples: Smallint);
begin
- _PCM_addPCM16Data(data, pcmData, samples);
+ _PCM_addPCM16Data(data, PCshort(pcmData), samples);
end;
procedure TProjectM.AddPCM8_512(pcmData: PPCM8_512);
diff --git a/Game/Code/lib/projectM/projectM.pas b/Game/Code/lib/projectM/projectM.pas
index 26c2588d..29e9a60c 100644
--- a/Game/Code/lib/projectM/projectM.pas
+++ b/Game/Code/lib/projectM/projectM.pas
@@ -13,6 +13,7 @@ interface
uses
SysUtils,
+ ctypes,
gl,
UConfig;
@@ -29,7 +30,7 @@ type
{ Event types }
type
- TProjectMEvent = integer;
+ TProjectMEvent = cint;
const
PROJECTM_KEYUP = 0;
PROJECTM_KEYDOWN = 1;
@@ -39,137 +40,137 @@ const
{ Keycodes }
type
- TProjectMKeycode = integer;
+ TProjectMKeycode = cint;
const
- PROJECTM_K_RETURN = 0;
- PROJECTM_K_RIGHT = 1;
- PROJECTM_K_LEFT = 2;
- PROJECTM_K_UP = 3;
- PROJECTM_K_DOWN = 4;
- PROJECTM_K_PAGEUP = 5;
- PROJECTM_K_PAGEDOWN = 6;
- PROJECTM_K_INSERT = 7;
- PROJECTM_K_DELETE = 8;
- PROJECTM_K_ESCAPE = 9;
- PROJECTM_K_LSHIFT = 10;
- PROJECTM_K_RSHIFT = 11;
- PROJECTM_K_CAPSLOCK = 12;
- PROJECTM_K_LCTRL = 13;
- PROJECTM_K_HOME = 14;
- PROJECTM_K_END = 15;
- PROJECTM_K_BACKSPACE = 16;
-
- PROJECTM_K_F1 = 17;
- PROJECTM_K_F2 = (PROJECTM_K_F1 + 1);
- PROJECTM_K_F3 = (PROJECTM_K_F1 + 2);
- PROJECTM_K_F4 = (PROJECTM_K_F1 + 3);
- PROJECTM_K_F5 = (PROJECTM_K_F1 + 4);
- PROJECTM_K_F6 = (PROJECTM_K_F1 + 5);
- PROJECTM_K_F7 = (PROJECTM_K_F1 + 6);
- PROJECTM_K_F8 = (PROJECTM_K_F1 + 7);
- PROJECTM_K_F9 = (PROJECTM_K_F1 + 8);
- PROJECTM_K_F10 = (PROJECTM_K_F1 + 9);
- PROJECTM_K_F11 = (PROJECTM_K_F1 + 10);
- PROJECTM_K_F12 = (PROJECTM_K_F1 + 11);
-
- PROJECTM_K_0 = 48;
- PROJECTM_K_1 = (PROJECTM_K_0 + 1);
- PROJECTM_K_2 = (PROJECTM_K_0 + 2);
- PROJECTM_K_3 = (PROJECTM_K_0 + 3);
- PROJECTM_K_4 = (PROJECTM_K_0 + 4);
- PROJECTM_K_5 = (PROJECTM_K_0 + 5);
- PROJECTM_K_6 = (PROJECTM_K_0 + 6);
- PROJECTM_K_7 = (PROJECTM_K_0 + 7);
- PROJECTM_K_8 = (PROJECTM_K_0 + 8);
- PROJECTM_K_9 = (PROJECTM_K_0 + 9);
-
- { Upper case }
- PROJECTM_K_A_UPPERCASE = 65;
- PROJECTM_K_B_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 1);
- PROJECTM_K_C_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 2);
- PROJECTM_K_D_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 3);
- PROJECTM_K_E_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 4);
- PROJECTM_K_F_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 5);
- PROJECTM_K_G_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 6);
- PROJECTM_K_H_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 7);
- PROJECTM_K_I_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 8);
- PROJECTM_K_J_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 9);
- PROJECTM_K_K_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 10);
- PROJECTM_K_L_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 11);
- PROJECTM_K_M_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 12);
- PROJECTM_K_N_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 13);
- PROJECTM_K_O_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 14);
- PROJECTM_K_P_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 15);
- PROJECTM_K_Q_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 16);
- PROJECTM_K_R_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 17);
- PROJECTM_K_S_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 18);
- PROJECTM_K_T_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 19);
- PROJECTM_K_U_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 20);
- PROJECTM_K_V_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 21);
- PROJECTM_K_W_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 22);
- PROJECTM_K_X_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 23);
- PROJECTM_K_Y_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 24);
- PROJECTM_K_Z_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 25);
-
- { Lower case }
- PROJECTM_K_a_LOWERCASE = 97;
- PROJECTM_K_b_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 1);
- PROJECTM_K_c_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 2);
- PROJECTM_K_d_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 3);
- PROJECTM_K_e_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 4);
- PROJECTM_K_f_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 5);
- PROJECTM_K_g_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 6);
- PROJECTM_K_h_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 7);
- PROJECTM_K_i_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 8);
- PROJECTM_K_j_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 9);
- PROJECTM_K_k_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 10);
- PROJECTM_K_l_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 11);
- PROJECTM_K_m_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 12);
- PROJECTM_K_n_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 13);
- PROJECTM_K_o_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 14);
- PROJECTM_K_p_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 15);
- PROJECTM_K_q_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 16);
- PROJECTM_K_r_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 17);
- PROJECTM_K_s_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 18);
- PROJECTM_K_t_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 19);
- PROJECTM_K_u_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 20);
- PROJECTM_K_v_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 21);
- PROJECTM_K_w_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 22);
- PROJECTM_K_x_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 23);
- PROJECTM_K_y_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 24);
- PROJECTM_K_z_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 25);
-
- PROJECTM_K_NONE = (PROJECTM_K_z_LOWERCASE + 1);
+ PROJECTM_K_RETURN = 0;
+ PROJECTM_K_RIGHT = 1;
+ PROJECTM_K_LEFT = 2;
+ PROJECTM_K_UP = 3;
+ PROJECTM_K_DOWN = 4;
+ PROJECTM_K_PAGEUP = 5;
+ PROJECTM_K_PAGEDOWN = 6;
+ PROJECTM_K_INSERT = 7;
+ PROJECTM_K_DELETE = 8;
+ PROJECTM_K_ESCAPE = 9;
+ PROJECTM_K_LSHIFT = 10;
+ PROJECTM_K_RSHIFT = 11;
+ PROJECTM_K_CAPSLOCK = 12;
+ PROJECTM_K_LCTRL = 13;
+ PROJECTM_K_HOME = 14;
+ PROJECTM_K_END = 15;
+ PROJECTM_K_BACKSPACE = 16;
+
+ PROJECTM_K_F1 = 17;
+ PROJECTM_K_F2 = (PROJECTM_K_F1 + 1);
+ PROJECTM_K_F3 = (PROJECTM_K_F1 + 2);
+ PROJECTM_K_F4 = (PROJECTM_K_F1 + 3);
+ PROJECTM_K_F5 = (PROJECTM_K_F1 + 4);
+ PROJECTM_K_F6 = (PROJECTM_K_F1 + 5);
+ PROJECTM_K_F7 = (PROJECTM_K_F1 + 6);
+ PROJECTM_K_F8 = (PROJECTM_K_F1 + 7);
+ PROJECTM_K_F9 = (PROJECTM_K_F1 + 8);
+ PROJECTM_K_F10 = (PROJECTM_K_F1 + 9);
+ PROJECTM_K_F11 = (PROJECTM_K_F1 + 10);
+ PROJECTM_K_F12 = (PROJECTM_K_F1 + 11);
+
+ PROJECTM_K_0 = 48;
+ PROJECTM_K_1 = (PROJECTM_K_0 + 1);
+ PROJECTM_K_2 = (PROJECTM_K_0 + 2);
+ PROJECTM_K_3 = (PROJECTM_K_0 + 3);
+ PROJECTM_K_4 = (PROJECTM_K_0 + 4);
+ PROJECTM_K_5 = (PROJECTM_K_0 + 5);
+ PROJECTM_K_6 = (PROJECTM_K_0 + 6);
+ PROJECTM_K_7 = (PROJECTM_K_0 + 7);
+ PROJECTM_K_8 = (PROJECTM_K_0 + 8);
+ PROJECTM_K_9 = (PROJECTM_K_0 + 9);
+
+ { Upper case }
+ PROJECTM_K_A_UPPERCASE = 65;
+ PROJECTM_K_B_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 1);
+ PROJECTM_K_C_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 2);
+ PROJECTM_K_D_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 3);
+ PROJECTM_K_E_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 4);
+ PROJECTM_K_F_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 5);
+ PROJECTM_K_G_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 6);
+ PROJECTM_K_H_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 7);
+ PROJECTM_K_I_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 8);
+ PROJECTM_K_J_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 9);
+ PROJECTM_K_K_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 10);
+ PROJECTM_K_L_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 11);
+ PROJECTM_K_M_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 12);
+ PROJECTM_K_N_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 13);
+ PROJECTM_K_O_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 14);
+ PROJECTM_K_P_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 15);
+ PROJECTM_K_Q_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 16);
+ PROJECTM_K_R_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 17);
+ PROJECTM_K_S_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 18);
+ PROJECTM_K_T_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 19);
+ PROJECTM_K_U_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 20);
+ PROJECTM_K_V_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 21);
+ PROJECTM_K_W_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 22);
+ PROJECTM_K_X_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 23);
+ PROJECTM_K_Y_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 24);
+ PROJECTM_K_Z_UPPERCASE = (PROJECTM_K_A_UPPERCASE + 25);
+
+ { Lower case }
+ PROJECTM_K_a_LOWERCASE = 97;
+ PROJECTM_K_b_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 1);
+ PROJECTM_K_c_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 2);
+ PROJECTM_K_d_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 3);
+ PROJECTM_K_e_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 4);
+ PROJECTM_K_f_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 5);
+ PROJECTM_K_g_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 6);
+ PROJECTM_K_h_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 7);
+ PROJECTM_K_i_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 8);
+ PROJECTM_K_j_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 9);
+ PROJECTM_K_k_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 10);
+ PROJECTM_K_l_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 11);
+ PROJECTM_K_m_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 12);
+ PROJECTM_K_n_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 13);
+ PROJECTM_K_o_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 14);
+ PROJECTM_K_p_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 15);
+ PROJECTM_K_q_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 16);
+ PROJECTM_K_r_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 17);
+ PROJECTM_K_s_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 18);
+ PROJECTM_K_t_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 19);
+ PROJECTM_K_u_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 20);
+ PROJECTM_K_v_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 21);
+ PROJECTM_K_w_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 22);
+ PROJECTM_K_x_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 23);
+ PROJECTM_K_y_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 24);
+ PROJECTM_K_z_LOWERCASE = (PROJECTM_K_a_LOWERCASE + 25);
+
+ PROJECTM_K_NONE = (PROJECTM_K_z_LOWERCASE + 1);
{ Modifiers }
type
- TProjectMModifier = integer;
+ TProjectMModifier = cint;
const
- PROJECTM_KMOD_LSHIFT = 0;
- PROJECTM_KMOD_RSHIFT = 1;
- PROJECTM_KMOD_CAPS = 2;
- PROJECTM_KMOD_LCTRL = 3;
- PROJECTM_KMOD_RCTRL = 4;
+ PROJECTM_KMOD_LSHIFT = 0;
+ PROJECTM_KMOD_RSHIFT = 1;
+ PROJECTM_KMOD_CAPS = 2;
+ PROJECTM_KMOD_LCTRL = 3;
+ PROJECTM_KMOD_RCTRL = 4;
type
- PSettings = ^TSettings;
- TSettings = record
- meshX: integer;
- meshY: integer;
- fps: integer;
- textureSize: integer;
- windowWidth: integer;
- windowHeight: integer;
- presetURL: PChar;
- titleFontURL: PChar;
- menuFontURL: PChar;
- smoothPresetDuration: integer;
- presetDuration: integer;
- beatSensitivity: single;
- aspectCorrection: byte;
- easterEgg: single;
- shuffleEnabled: byte;
- end;
+ PSettings = ^TSettings;
+ TSettings = record
+ meshX: cint;
+ meshY: cint;
+ fps: cint;
+ textureSize: cint;
+ windowWidth: cint;
+ windowHeight: cint;
+ presetURL: PChar;
+ titleFontURL: PChar;
+ menuFontURL: PChar;
+ smoothPresetDuration: cint;
+ presetDuration: cint;
+ beatSensitivity: cfloat;
+ aspectCorrection: byte;
+ easterEgg: cfloat;
+ shuffleEnabled: byte;
+ end;
type
PProjectM = ^TProjectM;