From 1ba91d5a0e1df7419a561f6dcf16a0839509a5e7 Mon Sep 17 00:00:00 2001 From: k-m_schindler Date: Wed, 27 Aug 2008 13:28:57 +0000 Subject: Reordering of the directories[1]: moving Game/Code to src git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1302 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/lib/projectM/cwrapper/Makefile.in | 30 -- .../lib/projectM/cwrapper/projectM-cwrapper.cpp | 104 ----- .../Code/lib/projectM/cwrapper/projectM-cwrapper.h | 67 ---- .../lib/projectM/cwrapper/projectM-cwrapper.sln | 20 - .../lib/projectM/cwrapper/projectM-cwrapper.vcproj | 208 ---------- Game/Code/lib/projectM/projectM-0_9.inc | 427 --------------------- Game/Code/lib/projectM/projectM-1_0.inc | 188 --------- Game/Code/lib/projectM/projectM.pas | 232 ----------- 8 files changed, 1276 deletions(-) delete mode 100644 Game/Code/lib/projectM/cwrapper/Makefile.in delete mode 100644 Game/Code/lib/projectM/cwrapper/projectM-cwrapper.cpp delete mode 100644 Game/Code/lib/projectM/cwrapper/projectM-cwrapper.h delete mode 100644 Game/Code/lib/projectM/cwrapper/projectM-cwrapper.sln delete mode 100644 Game/Code/lib/projectM/cwrapper/projectM-cwrapper.vcproj delete mode 100644 Game/Code/lib/projectM/projectM-0_9.inc delete mode 100644 Game/Code/lib/projectM/projectM-1_0.inc delete mode 100644 Game/Code/lib/projectM/projectM.pas (limited to 'Game/Code/lib/projectM') diff --git a/Game/Code/lib/projectM/cwrapper/Makefile.in b/Game/Code/lib/projectM/cwrapper/Makefile.in deleted file mode 100644 index d2be8613..00000000 --- a/Game/Code/lib/projectM/cwrapper/Makefile.in +++ /dev/null @@ -1,30 +0,0 @@ -OBJECTS = projectM-cwrapper.o -LIBRARY = libprojectM-cwrapper.a - -CXX = @CXX@ -CXXFLAGS += @CXXFLAGS@ -INCLUDES = -I@libprojectM_INCLUDEDIR@/libprojectM -DEFINES = -DPROJECTM_VERSION_INT=@libprojectM_VERSION_INT@ -RANLIB = @RANLIB@ - -.PHONY: all clean distclean strip - -all : $(LIBRARY) - -$(LIBRARY): $(OBJECTS) - ar ruv $(LIBRARY) $(OBJECTS) - $(RANLIB) $(LIBRARY) - -%.o : %.cpp - $(CXX) $(CXXFLAGS) $(DEFINES) $(INCLUDES) -c $(<) -o $@ - -clean : - rm -f $(LIBRARY) - rm -f $(OBJECTS) - -distclean: clean - rm -rf Makefile - -strip : - strip $(LIBRARY) - $(RANLIB) $(LIBRARY) diff --git a/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.cpp b/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.cpp deleted file mode 100644 index ebf43554..00000000 --- a/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.cpp +++ /dev/null @@ -1,104 +0,0 @@ -#include "projectM-cwrapper.h" - -#define PM_CLASS(pm) ((projectM*)pm) - -#if (PROJECTM_VERSION_INT > 1000000) -#define PM_PCM(pm) (PM_CLASS(pm)->pcm()) -#else -#define PM_PCM(pm) (PM_CLASS(pm)->pcm) -#endif - -projectM_ptr projectM_create1(char* config_file) -{ - return projectM_ptr(new projectM(config_file)); -} - -#if (PROJECTM_VERSION_INT < 1000000) -projectM_ptr projectM_create2(int gx, int gy, int fps, int texsize, - int width, int height, char* preset_url, - char* title_fonturl, char* title_menuurl) -{ - return projectM_ptr(new projectM(gx, gy, fps, texsize, width, height, - preset_url, title_fonturl, title_menuurl));} -#endif - -void projectM_resetGL(projectM_ptr pm, int width, int height) -{ - PM_CLASS(pm)->projectM_resetGL(width, height); -} - -void projectM_setTitle(projectM_ptr pm, char* title) -{ - PM_CLASS(pm)->projectM_setTitle(title); -} - -void projectM_renderFrame(projectM_ptr pm) -{ - PM_CLASS(pm)->renderFrame(); -} - -unsigned projectM_initRenderToTexture(projectM_ptr pm) -{ - return PM_CLASS(pm)->initRenderToTexture(); -} - -void projectM_key_handler(projectM_ptr pm, projectMEvent event, - projectMKeycode keycode, projectMModifier modifier) -{ - PM_CLASS(pm)->key_handler(event, keycode, modifier); -} - -void projectM_free(projectM_ptr pm) -{ - delete PM_CLASS(pm); -} - -void PCM_addPCMfloat(projectM_ptr pm, float *PCMdata, int samples) -{ - PM_PCM(pm)->addPCMfloat(PCMdata, samples); -} - -void PCM_addPCM16(projectM_ptr pm, short pcm_data[2][512]) -{ - PM_PCM(pm)->addPCM16(pcm_data); -} - -void PCM_addPCM16Data(projectM_ptr pm, const short* pcm_data, short samples) -{ - PM_PCM(pm)->addPCM16Data(pcm_data, samples); -} - -void PCM_addPCM8(projectM_ptr pm, unsigned char pcm_data[2][1024]) -{ - PM_PCM(pm)->addPCM8(pcm_data); -} - -void PCM_addPCM8_512(projectM_ptr pm, const unsigned char pcm_data[2][512]) -{ - PM_PCM(pm)->addPCM8_512(pcm_data); -} - -#define COPY_FIELD(c_ptr, s, fld) (c_ptr->fld = s.fld) - -#if (PROJECTM_VERSION_INT > 1000000) -void projectM_settings(projectM_ptr pm, Settings* settings) -{ - const projectM::Settings& pmSettings = PM_CLASS(pm)->settings(); - - COPY_FIELD(settings, pmSettings, meshX); - COPY_FIELD(settings, pmSettings, meshY); - COPY_FIELD(settings, pmSettings, fps); - COPY_FIELD(settings, pmSettings, textureSize); - COPY_FIELD(settings, pmSettings, windowWidth); - COPY_FIELD(settings, pmSettings, windowHeight); - settings->presetURL = pmSettings.presetURL.c_str(); - settings->titleFontURL = pmSettings.titleFontURL.c_str(); - settings->menuFontURL = pmSettings.menuFontURL.c_str(); - COPY_FIELD(settings, pmSettings, smoothPresetDuration); - COPY_FIELD(settings, pmSettings, presetDuration); - COPY_FIELD(settings, pmSettings, beatSensitivity); - COPY_FIELD(settings, pmSettings, aspectCorrection); - COPY_FIELD(settings, pmSettings, easterEgg); - COPY_FIELD(settings, pmSettings, shuffleEnabled); -} -#endif diff --git a/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.h b/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.h deleted file mode 100644 index 43f36ef4..00000000 --- a/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef __PROJECTM_CWRAPPER_H__ -#define __PROJECTM_CWRAPPER_H__ - -#include "projectM.hpp" - -// PROJECTM_VERSION define is not very helpful, lets create our own -#define PROJECTM_VERSION_1_00_00 1000000 // 1.00.00 = 1.0 or 1.01 (same version number for 1.0 and 1.01) -#define PROJECTM_VERSION_1_10_00 1010000 // 1.10.00 = 1.1 (bigger than 1.2 due to strange versioning) -#define PROJECTM_VERSION_1_02_00 1002000 // 1.02.00 = 1.2 - -// version of projectM to wrap (see PROJECTM_VERSION) -#ifndef PROJECTM_VERSION_INT -#define PROJECTM_VERSION_INT PROJECTM_VERSION_1_02_00 -#endif - -extern "C" { - - #if (PROJECTM_VERSION_INT > 1000000) - struct Settings { - int meshX; - int meshY; - int fps; - int textureSize; - int windowWidth; - int windowHeight; - const char* presetURL; - const char* titleFontURL; - const char* menuFontURL; - int smoothPresetDuration; - int presetDuration; - float beatSensitivity; - char aspectCorrection; - float easterEgg; - char shuffleEnabled; - }; - #endif - - typedef void* projectM_ptr; - - DLLEXPORT projectM_ptr projectM_create1(char* config_file); - #if (PROJECTM_VERSION_INT < 1000000) - DLLEXPORT projectM_ptr projectM_create2(int gx, int gy, int fps, int texsize, - int width, int height, char* preset_url, - char* title_fonturl, char* title_menuurl); - #endif - - DLLEXPORT void projectM_resetGL(projectM_ptr pm, int width, int height); - DLLEXPORT void projectM_setTitle(projectM_ptr pm, char* title); - DLLEXPORT void projectM_renderFrame(projectM_ptr pm); - DLLEXPORT unsigned projectM_initRenderToTexture(projectM_ptr pm); - DLLEXPORT void projectM_key_handler(projectM_ptr pm, projectMEvent event, - projectMKeycode keycode, projectMModifier modifier); - - DLLEXPORT void projectM_free(projectM_ptr pm); - - DLLEXPORT void PCM_addPCMfloat(projectM_ptr pm, float *PCMdata, int samples); - DLLEXPORT void PCM_addPCM16(projectM_ptr pm, short [2][512]); - DLLEXPORT void PCM_addPCM16Data(projectM_ptr pm, const short* pcm_data, short samples); - DLLEXPORT void PCM_addPCM8(projectM_ptr pm, unsigned char [2][1024]); - DLLEXPORT void PCM_addPCM8_512(projectM_ptr pm, const unsigned char [2][512]); - - #if (PROJECTM_VERSION_INT > 1000000) - DLLEXPORT void projectM_settings(projectM_ptr pm, Settings* settings); - #endif -} - -#endif diff --git a/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.sln b/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.sln deleted file mode 100644 index e05f79a3..00000000 --- a/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "projectM-cwrapper", "projectM-cwrapper.vcproj", "{8E653284-12F3-4A90-9D0D-4195557051F7}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8E653284-12F3-4A90-9D0D-4195557051F7}.Debug|Win32.ActiveCfg = Debug|Win32 - {8E653284-12F3-4A90-9D0D-4195557051F7}.Debug|Win32.Build.0 = Debug|Win32 - {8E653284-12F3-4A90-9D0D-4195557051F7}.Release|Win32.ActiveCfg = Release|Win32 - {8E653284-12F3-4A90-9D0D-4195557051F7}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.vcproj b/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.vcproj deleted file mode 100644 index c0902099..00000000 --- a/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.vcproj +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Game/Code/lib/projectM/projectM-0_9.inc b/Game/Code/lib/projectM/projectM-0_9.inc deleted file mode 100644 index a3908c77..00000000 --- a/Game/Code/lib/projectM/projectM-0_9.inc +++ /dev/null @@ -1,427 +0,0 @@ -{$IFDEF Unix} -uses - baseunix; -{$ENDIF} - -const -{$IFDEF MSWINDOWS} - libprojectM = 'libprojectM.dll'; -{$ELSE} - libprojectM = 'libprojectM.so'; -{$ENDIF} - -{**************** INTERNAL SECTION ****************} - - -type - PPCfloat = ^PCfloat; - -type - _TContextType = cint; -const - AGL_CONTEXT = 0; - CGL_CONTEXT = 1; - NSGL_CONTEXT = 2; - GLX_CONTEXT = 3; - WGL_CONTEXT = 4; - -type - _PRenderTarget = ^_TRenderTarget; - _TRenderTarget = record - { Texture size } - texsize: cint; - - { Application context } - origContextType: _TContextType; - - usePbuffers: cint; - - {$ifdef LINUX} - lock_func: procedure(); cdecl; - unlock_func: procedure(); cdecl; - {$endif} - - { Opaque pbuffer context and pbuffer } - {$ifdef DARWIN} - origContext: Pointer; - pbufferContext: Pointer; - pbuffer: Pointer; - {$endif} - - { Render target texture ID for non-pbuffer systems } - textureID: array[0..2] of GLuint; - end; - - _PProjectM = ^_TProjectM; - _TProjectM = record - presetURL: PChar; - presetName: PChar; - fontURL: PChar; - - hasInit: cint; - - noSwitch: cint; - pcmframes: cint; - freqframes: cint; - totalframes: cint; - - showfps: cint; - showtitle: cint; - showpreset: cint; - showhelp: cint; - showstats: cint; - - studio: cint; - - fbuffer: PGLubyte; - - {$IFNDEF MSWINDOWS} - { The first ticks value of the application } - startTime: timeval; - {$ELSE} - startTime: clong; - {$ENDIF} - Time: cfloat; - - { Render target texture ID } - renderTarget: _PRenderTarget; - - disp: array[0..79] of Char; - - wave_o: cfloat; - - //int texsize=1024; //size of texture to do actual graphics - 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: cint; - - correction: cint; - - vol: cfloat; - - //per pixel equation variables - 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: cint; - timed: cint; - timestart: cint; - nohard: cint; - count: cint; - realfps, - fpsstart: cfloat; - - { PCM data } - vdataL: array[0..511] of cfloat; //holders for FFT data (spectrum) - vdataR: array[0..511] of cfloat; - - { Various toggles } - doPerPixelEffects: cint; - doIterative: cint; - - { ENGINE VARIABLES } - { From engine_vars.h } - preset_name: array[0..255] of Char; - - { PER FRAME CONSTANTS BEGIN } - 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: cfloat; - y_per_pixel: cfloat; - rad_per_pixel: cfloat; - ang_per_pixel: cfloat; - - { PER_PIXEL CONSTANT END } - - - 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: cfloat; - q2: cfloat; - q3: cfloat; - q4: cfloat; - q5: cfloat; - q6: cfloat; - q7: cfloat; - q8: cfloat; - - - { Q VARIABLES END } - - 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; - TProjectMState = record - fontURLStr: string; - presetURLStr: string; - titleStr: string; - pm: _TProjectM; - end; - -{ 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: 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: PCfloat; samples: cint); cdecl; external libprojectM name 'addPCMfloat'; -procedure _addPCM16(pcm_data: PPCM16); cdecl; external libprojectM name 'addPCM16'; -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 } -procedure _key_handler(pm: _PProjectM; - event: TProjectMEvent; - keycode: TProjectMKeycode; - modifier: TProjectMModifier); cdecl; external libprojectM name 'key_handler'; - - - - -{**************** EXTERNAL SECTION ****************} - - -constructor TProjectM.Create(gx, gy: cint; fps: integer; - texsize: integer; width, height: integer; - const presetsDir, fontsDir: string; - const titleFont, menuFont: string); -var - state: PProjectMState; -begin - inherited Create(); - - New(state); - data := state; - - with state^ do - begin - // copy strings (Note: do not use e.g. PChar(presetsDir) directly, it might - // be a pointer to local stack data that is invalid after the calling function returns) - fontURLStr := fontsDir; - presetURLStr := presetsDir; - - _projectM_reset(@pm); - - pm.fullscreen := 0; - pm.renderTarget^.texsize := texsize; - pm.gx := gx; - pm.gy := gy; - pm.fps := fps; - pm.renderTarget^.usePbuffers := 0; - pm.fontURL := PChar(fontURLStr); - pm.presetURL := PChar(presetURLStr); - - _projectM_init(@pm); - end; -end; - -procedure TProjectM.ResetGL(width, height: integer); -begin - _projectM_resetGL(@PProjectMState(data).pm, width, height); -end; - -procedure TProjectM.SetTitle(const title: string); -var - state: PProjectMState; -begin - state := PProjectMState(data); - with state^ do - begin - titleStr := title; - pm.title := PChar(titleStr); - pm.showtitle := 1; - end; -end; - -procedure TProjectM.RenderFrame(); -begin - _renderFrame(@PProjectMState(data).pm); -end; - -procedure TProjectM.AddPCMfloat(pcmData: PSingle; samples: integer); -begin - _addPCMfloat(PCfloat(pcmData), samples); -end; - -procedure TProjectM.AddPCM16(pcmData: PPCM16); -begin - _addPCM16(pcmData); -end; - -procedure TProjectM.AddPCM16Data(pcmData: PSmallint; samples: Smallint); -begin - _addPCM16Data(PCshort(pcmData), samples); -end; - -procedure TProjectM.AddPCM8_512(pcmData: PPCM8_512); -begin - _addPCM8_512(pcmData); -end; - -procedure TProjectM.KeyHandler(event: TProjectMEvent; - keycode: TProjectMKeycode; - modifier: TProjectMModifier); -begin - _key_handler(@PProjectMState(data).pm, event, keycode, modifier); -end; - -procedure TProjectM.RandomPreset(); -begin - KeyHandler(PROJECTM_KEYDOWN, PROJECTM_K_r_LOWERCASE, PROJECTM_KMOD_LSHIFT); -end; - -procedure TProjectM.PreviousPreset(); -begin - KeyHandler(PROJECTM_KEYDOWN, PROJECTM_K_p_LOWERCASE, PROJECTM_KMOD_LSHIFT); -end; - -procedure TProjectM.NextPreset(); -begin - KeyHandler(PROJECTM_KEYDOWN, PROJECTM_K_n_LOWERCASE, PROJECTM_KMOD_LSHIFT); -end; - -procedure TProjectM.ToggleShowPresetNames(); -begin - KeyHandler(PROJECTM_KEYDOWN, PROJECTM_K_F3, PROJECTM_KMOD_LSHIFT); -end; - -destructor TProjectM.Destroy(); -begin - Dispose(PProjectMState(data)); - data := nil; - inherited; -end; - diff --git a/Game/Code/lib/projectM/projectM-1_0.inc b/Game/Code/lib/projectM/projectM-1_0.inc deleted file mode 100644 index 8e84894d..00000000 --- a/Game/Code/lib/projectM/projectM-1_0.inc +++ /dev/null @@ -1,188 +0,0 @@ -//uses - -(** - * Note: be careful with ProjectM's versioning scheme. - * - * Version | Version in pkg-config .pc file - * ---------+-------------------------------------------- - * 1.00 | 1.00 - * 1.01 | 1.00 - * 1.1 | 1.10 - * 1.2 | 1.2 (= 1.02) - * - * So the version number of 1.1 is bigger than that of 1.2. - *) - -const -{$IFDEF MSWINDOWS} - // Note: static linking is not possible with delphi because it does neither - // accept gcc nor MSVC object files (only Intel-style ones). - libprojectM_cwrapper = 'projectM-cwrapper.dll'; -{$ELSE} - // static libs are not supported in the "external"-clause - libprojectM_cwrapper = ''; - // statically link the cwrapper and dynamically link projectM - {$L 'cwrapper/libprojectM-cwrapper.a'} - {$LINKLIB projectM} -{$ENDIF} - -{**************** INTERNAL SECTION ****************} - - -type - _PProjectM = Pointer; - -{ projectM.hpp declarations } -function _projectM_create1(config_file: PChar): _PProjectM; cdecl; external libprojectM_cwrapper name 'projectM_create1'; -{$IF PROJECTM_VERSION < 1000000} // 0.9x -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: 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): cuint; cdecl; external libprojectM_cwrapper name 'projectM_initRenderToTexture'; - -procedure _projectM_free(pm: _PProjectM); cdecl; external libprojectM_cwrapper name 'projectM_free'; - -procedure _projectM_key_handler(pm: _PProjectM; event: TProjectMEvent; - keycode: TProjectMKeycode; modifier: TProjectMModifier); cdecl; external libprojectM_cwrapper name 'projectM_key_handler'; - -{$IF PROJECTM_VERSION > 1000000} // > 1.01 -procedure _projectM_settings(pm: _PProjectM; settings: PSettings); cdecl; external libprojectM_cwrapper name 'projectM_settings'; -{$IFEND} - -{ PCM.hpp declarations } -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: 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'; - - -{**************** EXTERNAL SECTION ****************} - -// This constructor is present in projectM 1.0(1) but does not work with -// linux because of a bug. -(* -constructor TProjectM.Create(gx, gy: integer; fps: integer; - texsize: integer; width, height: integer; - const presetsDir, fontsDir: string; - const titleFont, menuFont: string); -begin - data := _projectM_create2(gx, gy, fps, texsize, width, height, - PChar(presetsDir), - PChar(fontsDir + PathDelim + titleFont), - PChar(fontsDir + PathDelim + menuFont)); -end; -*) - -constructor TProjectM.Create(const configFile: string); -begin - inherited Create(); - - // we cannot catch C++ exceptions in delphi, so we have to check - // if configFile is valid first - if (not FileExists(configFile)) then - raise Exception.Create('Invalid file: ' + configFile); - - data := _projectM_create1(PChar(configFile)); - if (data = nil) then - raise Exception.Create('Creation of projectM object failed'); -end; - -procedure TProjectM.ResetGL(width, height: Integer); -begin - _projectM_resetGL(data, width, height); -end; - -procedure TProjectM.SetTitle(const title: string); -begin - _projectM_setTitle(data, PChar(title)); -end; - -procedure TProjectM.RenderFrame(); -begin - _projectM_renderFrame(data); -end; - -procedure TProjectM.AddPCMfloat(pcmData: PSingle; samples: integer); -begin - _PCM_addPCMfloat(data, pcmData, samples); -end; - -procedure TProjectM.AddPCM16(pcmData: PPCM16); -begin - _PCM_addPCM16(data, pcmData); -end; - -{** - * Passes interleaved stereo PCM-samples to projectM. - *} -procedure TProjectM.AddPCM16Data(pcmData: PSmallint; samples: Smallint); -begin - _PCM_addPCM16Data(data, PCshort(pcmData), samples); -end; - -procedure TProjectM.AddPCM8_512(pcmData: PPCM8_512); -begin - _PCM_addPCM8_512(data, pcmData); -end; - -procedure TProjectM.AddPCM8_1024(pcmData: PPCM8_1024); -begin - _PCM_addPCM8_1024(data, pcmData); -end; - -{** - * If the result is > -1 projectM will render to a texture. - * The texture-ID is the return-value. - *} -function TProjectM.InitRenderToTexture(): GLuint; -begin - result := _projectM_initRenderToTexture(data); -end; - -procedure TProjectM.KeyHandler(event: TProjectMEvent; - keycode: TProjectMKeycode; - modifier: TProjectMModifier); -begin - _projectM_key_handler(data, event, keycode, modifier); -end; - -procedure TProjectM.RandomPreset(); -begin - KeyHandler(PROJECTM_KEYDOWN, PROJECTM_K_r_LOWERCASE, PROJECTM_KMOD_LSHIFT); -end; - -procedure TProjectM.PreviousPreset(); -begin - KeyHandler(PROJECTM_KEYDOWN, PROJECTM_K_p_LOWERCASE, PROJECTM_KMOD_LSHIFT); -end; - -procedure TProjectM.NextPreset(); -begin - KeyHandler(PROJECTM_KEYDOWN, PROJECTM_K_n_LOWERCASE, PROJECTM_KMOD_LSHIFT); -end; - -procedure TProjectM.ToggleShowPresetNames(); -begin - KeyHandler(PROJECTM_KEYDOWN, PROJECTM_K_F3, PROJECTM_KMOD_LSHIFT); -end; - -{$IF PROJECTM_VERSION > 1000000} // > 1.01 -procedure TProjectM.Settings(var settings: TSettings); -begin - _projectM_settings(data, @settings); -end; -{$IFEND} - -destructor TProjectM.Destroy(); -begin - _projectM_free(data); - data := nil; - inherited; -end; - diff --git a/Game/Code/lib/projectM/projectM.pas b/Game/Code/lib/projectM/projectM.pas deleted file mode 100644 index 4adba17d..00000000 --- a/Game/Code/lib/projectM/projectM.pas +++ /dev/null @@ -1,232 +0,0 @@ -unit projectM; - -{$IFDEF FPC} - {$MODE DELPHI} - {$H+} (* use AnsiString *) - {$PACKENUM 4} (* use 4-byte enums *) - {$PACKRECORDS C} (* C/C++-compatible record packing *) -{$ELSE} - {$MINENUMSIZE 4} (* use 4-byte enums *) -{$ENDIF} - -interface - -uses - SysUtils, - ctypes, - gl, - UConfig; - -type - // 16bit non-interleaved data - TPCM16 = array[0..1, 0..511] of Smallint; - PPCM16 = ^TPCM16; - // 8bit non-interleaved data (512 samples) - TPCM8_512 = array[0..1, 0..511] of byte; - PPCM8_512 = ^TPCM8_512; - // 8bit non-interleaved data (1024 samples) - TPCM8_1024 = array[0..1, 0..1023] of byte; - PPCM8_1024 = ^TPCM8_512; - -{ Event types } -type - TProjectMEvent = cint; -const - PROJECTM_KEYUP = 0; - PROJECTM_KEYDOWN = 1; - PROJECTM_VIDEORESIZE = 2; - PROJECTM_VIDEOQUIT = 3; - PROJECTM_NONE = 4; - -{ Keycodes } -type - 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); - -{ Modifiers } -type - TProjectMModifier = cint; -const - 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: 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; - TProjectM = class(TObject) - private - data: Pointer; - public - {$IF PROJECTM_VERSION < 1000000} // 0.9x - constructor Create(gx, gy: integer; fps: integer; - texsize: integer; width, height: integer; - const presetsDir, fontsDir: string; - const titleFont: string = 'Vera.ttf'; - const menuFont: string = 'Vera.ttf'); overload; - {$IFEND} - {$IF PROJECTM_VERSION >= 1000000} - constructor Create(const configFile: string); overload; - {$IFEND} - - procedure ResetGL(width, height: Integer); - procedure SetTitle(const title: string); - procedure RenderFrame(); - - procedure AddPCMfloat(pcmData: PSingle; samples: integer); - procedure AddPCM16(pcmData: PPCM16); - procedure AddPCM16Data(pcmData: PSmallint; samples: Smallint); - procedure AddPCM8_512(pcmData: PPCM8_512); - {$IF PROJECTM_VERSION >= 1000000} - procedure AddPCM8_1024(pcmData: PPCM8_1024); - {$IFEND} - - procedure RandomPreset(); - procedure PreviousPreset(); - procedure NextPreset(); - procedure ToggleShowPresetNames(); - - {$IF PROJECTM_VERSION >= 1000000} - function InitRenderToTexture(): GLuint; - {$IFEND} - - procedure KeyHandler(event: TProjectMEvent; - keycode: TProjectMKeycode; - modifier: TProjectMModifier); - - {$IF PROJECTM_VERSION > 1000000} // > 1.01 - procedure Settings(var settings: TSettings); - {$IFEND} - - destructor Destroy(); override; - end; - -implementation - -{$IF PROJECTM_VERSION >= 1000000} - {$I projectM-1_0.inc} -{$ELSE} - {$I projectM-0_9.inc} -{$IFEND} - -end. -- cgit v1.2.3