From 23833997ee709bccd49dbf018759a24f7207803d Mon Sep 17 00:00:00 2001 From: Eidolon Date: Sun, 17 Jul 2022 19:37:46 -0500 Subject: [PATCH] Remove SRB2 Music Player This thing is ancient history and also depends on FMOD. --- tools/SRB2MP/Makefile | 44 ---- tools/SRB2MP/SRB2MP.c | 464 -------------------------------------- tools/SRB2MP/SRB2MP.dsp | 148 ------------ tools/SRB2MP/SRB2MP.dsw | 29 --- tools/SRB2MP/Script1.aps | Bin 35604 -> 0 bytes tools/SRB2MP/Script1.rc | 118 ---------- tools/SRB2MP/StdAfx.c | 8 - tools/SRB2MP/StdAfx.h | 35 --- tools/SRB2MP/icon1.ico | Bin 2998 -> 0 bytes tools/SRB2MP/lump.c | 471 --------------------------------------- tools/SRB2MP/lump.h | 61 ----- tools/SRB2MP/resource.h | 26 --- 12 files changed, 1404 deletions(-) delete mode 100644 tools/SRB2MP/Makefile delete mode 100644 tools/SRB2MP/SRB2MP.c delete mode 100644 tools/SRB2MP/SRB2MP.dsp delete mode 100644 tools/SRB2MP/SRB2MP.dsw delete mode 100644 tools/SRB2MP/Script1.aps delete mode 100644 tools/SRB2MP/Script1.rc delete mode 100644 tools/SRB2MP/StdAfx.c delete mode 100644 tools/SRB2MP/StdAfx.h delete mode 100644 tools/SRB2MP/icon1.ico delete mode 100644 tools/SRB2MP/lump.c delete mode 100644 tools/SRB2MP/lump.h delete mode 100644 tools/SRB2MP/resource.h diff --git a/tools/SRB2MP/Makefile b/tools/SRB2MP/Makefile deleted file mode 100644 index 92e112d7..00000000 --- a/tools/SRB2MP/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# Makfile of SRB2MP - -CFLAGS +=-Wall -mms-bitfields -fno-exceptions -LDFLAGS +=-mwindows -lfmod -WINDRESFLAGS= - -SRC=lump.c SRB2MP.c - -ifdef DEBUGMODE -CFLAGS +=-g -D_DEBUG -LDFLAGS +=-g -else -CFLAGS :=-Os -s $(CFLAGS) -LDFLAGS :=-s $(LDFLAGS) -endif - -OBJ=$(SRC:.c=.o) # replaces the .c from SRC with .o -EXTRAOBJ=Script1.res -EXE=SRB2MP.exe - -ifdef PREFIX -CC=$(PREFIX)-gcc -WINDRES ?=$(PREFIX)-windres -endif - -WINDRES ?=windres - -RM=rm - -%.o: %.c StdAfx.h lump.h resource.h - $(CC) $(CFLAGS) -o $@ -c $< - -%.res: %.rc resource.h - $(WINDRES) -i $< -O rc $(WINDRESFLAGS) -o $@ -O coff - -.PHONY : all # .PHONY ignores files named all -all: $(EXE) # all is dependent on $(EXE) to be complete - -$(EXE): $(OBJ) $(EXTRAOBJ) # $(EXE) is dependent on all of the files in $(OBJ) to exist - $(CC) $(OBJ) $(EXTRAOBJ) $(LDFLAGS) -o $@ - -.PHONY : clean # .PHONY ignores files named clean -clean: - -$(RM) $(OBJ) $(EXTRAOBJ) diff --git a/tools/SRB2MP/SRB2MP.c b/tools/SRB2MP/SRB2MP.c deleted file mode 100644 index 69cc2104..00000000 --- a/tools/SRB2MP/SRB2MP.c +++ /dev/null @@ -1,464 +0,0 @@ -// SRB2MP.cpp : Defines the entry point for the application. -// - -#include "StdAfx.h" -#include "lump.h" - -#define APPTITLE "SRB2 Music Player" -#define APPVERSION "v0.1" -#define APPAUTHOR "SSNTails" -#define APPCOMPANY "Sonic Team Junior" - -static FSOUND_STREAM *fmus = NULL; -static int fsoundchannel = -1; -static FMUSIC_MODULE *mod = NULL; -static struct wadfile* wfptr = NULL; - -static inline VOID M_SetVolume(int volume) -{ - if (mod && FMUSIC_GetType(mod) != FMUSIC_TYPE_NONE) - FMUSIC_SetMasterVolume(mod, volume); - if (fsoundchannel != -1) - FSOUND_SetVolume(fsoundchannel, volume); -} - -static inline BOOL M_InitMusic(VOID) -{ - if (FSOUND_GetVersion() < FMOD_VERSION) - { - printf("Error : You are using the wrong DLL version!\nYou should be using FMOD %.02f\n", FMOD_VERSION); - return FALSE; - } - -#ifdef _DEBUG - FSOUND_SetOutput(FSOUND_OUTPUT_WINMM); -#endif - - if (!FSOUND_Init(44100, 1, FSOUND_INIT_GLOBALFOCUS)) - { - printf("%s\n", FMOD_ErrorString(FSOUND_GetError())); - return FALSE; - } - return TRUE; -} - -static inline VOID M_FreeMusic(VOID) -{ - if (mod) - { - FMUSIC_StopSong(mod); - FMUSIC_FreeSong(mod); - mod = NULL; - } - if (fmus) - { - FSOUND_Stream_Stop(fmus); - FSOUND_Stream_Close(fmus); - fmus = NULL; - fsoundchannel = -1; - } -} - -static inline VOID M_ShutdownMusic(VOID) -{ - M_FreeMusic(); - FSOUND_Close(); - //remove(musicfile); // Delete the temp file -} - -static inline VOID M_PauseMusic(VOID) -{ - if (mod && !FMUSIC_GetPaused(mod)) - FMUSIC_SetPaused(mod, TRUE); - if (fsoundchannel != -1 && FSOUND_IsPlaying(fsoundchannel)) - FSOUND_SetPaused(fsoundchannel, TRUE); -} - -static inline VOID M_ResumeMusic(VOID) -{ - if (mod && FMUSIC_GetPaused(mod)) - FMUSIC_SetPaused(mod, FALSE); - if (fsoundchannel != -1 && FSOUND_GetPaused(fsoundchannel)) - FSOUND_SetPaused(fsoundchannel, FALSE); -} - -static inline VOID M_StopMusic(VOID) -{ - if (mod) - FMUSIC_StopSong(mod); - if (fsoundchannel != -1 && fmus && FSOUND_IsPlaying(fsoundchannel)) - FSOUND_Stream_Stop(fmus); -} - -static inline VOID M_StartFMODSong(LPVOID data, int len, int looping, HWND hDlg) -{ - const int loops = FSOUND_LOOP_NORMAL|FSOUND_LOADMEMORY; - const int nloop = FSOUND_LOADMEMORY; - M_FreeMusic(); - - if (looping) - mod = FMUSIC_LoadSongEx(data, 0, len, loops, NULL, 0); - else - mod = FMUSIC_LoadSongEx(data, 0, len, nloop, NULL, 0); - - if (mod) - { - FMUSIC_SetLooping(mod, (signed char)looping); - FMUSIC_SetPanSeperation(mod, 0.0f); - } - else - { - if (looping) - fmus = FSOUND_Stream_Open(data, loops, 0, len); - else - fmus = FSOUND_Stream_Open(data, nloop, 0, len); - } - - if (!fmus && !mod) - { - MessageBoxA(hDlg, FMOD_ErrorString(FSOUND_GetError()), "Error", MB_OK|MB_APPLMODAL); - return; - } - - // Scan the OGG for the COMMENT= field for a custom loop point - if (looping && fmus) - { - const BYTE *origpos, *dataum = data; - size_t scan, size = len; - - CHAR buffer[512]; - BOOL titlefound = FALSE, artistfound = FALSE; - - unsigned int loopstart = 0; - - origpos = dataum; - - for(scan = 0; scan < size; scan++) - { - if (!titlefound) - { - if (*dataum++ == 'T') - if (*dataum++ == 'I') - if (*dataum++ == 'T') - if (*dataum++ == 'L') - if (*dataum++ == 'E') - if (*dataum++ == '=') - { - size_t titlecount = 0; - CHAR title[256]; - BYTE length = *(dataum-10) - 6; - - while(titlecount < length) - title[titlecount++] = *dataum++; - - title[titlecount] = '\0'; - - sprintf(buffer, "Title: %s", title); - - SendMessage(GetDlgItem(hDlg, IDC_TITLE), WM_SETTEXT, 0, (LPARAM)(LPCSTR)buffer); - - titlefound = TRUE; - } - } - } - - dataum = origpos; - - for(scan = 0; scan < size; scan++) - { - if (!artistfound) - { - if (*dataum++ == 'A') - if (*dataum++ == 'R') - if (*dataum++ == 'T') - if (*dataum++ == 'I') - if (*dataum++ == 'S') - if (*dataum++ == 'T') - if (*dataum++ == '=') - { - size_t artistcount = 0; - CHAR artist[256]; - BYTE length = *(dataum-11) - 7; - - while(artistcount < length) - artist[artistcount++] = *dataum++; - - artist[artistcount] = '\0'; - - sprintf(buffer, "By: %s", artist); - - SendMessage(GetDlgItem(hDlg, IDC_ARTIST), WM_SETTEXT, 0, (LPARAM)(LPCSTR)buffer); - - artistfound = TRUE; - } - } - } - - dataum = origpos; - - for(scan = 0; scan < size; scan++) - { - if (*dataum++ == 'C'){ - if (*dataum++ == 'O'){ - if (*dataum++ == 'M'){ - if (*dataum++ == 'M'){ - if (*dataum++ == 'E'){ - if (*dataum++ == 'N'){ - if (*dataum++ == 'T'){ - if (*dataum++ == '='){ - if (*dataum++ == 'L'){ - if (*dataum++ == 'O'){ - if (*dataum++ == 'O'){ - if (*dataum++ == 'P'){ - if (*dataum++ == 'P'){ - if (*dataum++ == 'O'){ - if (*dataum++ == 'I'){ - if (*dataum++ == 'N'){ - if (*dataum++ == 'T'){ - if (*dataum++ == '=') - { - size_t newcount = 0; - CHAR looplength[64]; - while (*dataum != 1 && newcount < 63) - { - looplength[newcount++] = *dataum++; - } - - looplength[newcount] = '\n'; - - loopstart = atoi(looplength); - } - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - else - dataum--;} - } - - if (loopstart > 0) - { - const int length = FSOUND_Stream_GetLengthMs(fmus); - const int freq = 44100; - const unsigned int loopend = (unsigned int)((freq/1000.0f)*length-(freq/1000.0f)); - if (!FSOUND_Stream_SetLoopPoints(fmus, loopstart, loopend)) - { - printf("FMOD(Start,FSOUND_Stream_SetLoopPoints): %s\n", - FMOD_ErrorString(FSOUND_GetError())); - } - } - } - - if (mod) - FMUSIC_PlaySong(mod); - if (fmus) - fsoundchannel = FSOUND_Stream_PlayEx(FSOUND_FREE, fmus, NULL, FALSE); - - M_SetVolume(128); -} - -static inline VOID FreeWADLumps(VOID) -{ - M_FreeMusic(); - if (wfptr) free_wadfile(wfptr); - wfptr = NULL; -} - -static inline VOID ReadWADLumps(LPCSTR WADfilename, HWND hDlg) -{ - HWND listbox = GetDlgItem(hDlg, IDC_PLAYLIST); - FILE* f; - struct lumplist *curlump; - - SendMessage(listbox, LB_RESETCONTENT, 0, 0); - FreeWADLumps(); - f = fopen(WADfilename, "rb"); - wfptr = read_wadfile(f); - fclose(f); - - /* start of C_LIST */ - /* Loop through the lump list, printing lump info */ - for(curlump = wfptr->head->next; curlump; curlump = curlump->next) - { - LPCSTR lumpname = get_lump_name(curlump->cl); - if (!strncmp(lumpname, "O_", 2) || !strncmp(lumpname, "D_", 2)) - SendMessage(listbox, LB_ADDSTRING, 0, (LPARAM)(LPCSTR)get_lump_name(curlump->cl)); - } - /* end of C_LIST */ -} - -// -// OpenWadfile -// -// Provides a common dialog box -// for selecting the desired wad file. -// -static inline VOID OpenWadfile(HWND hDlg) -{ - OPENFILENAMEA ofn; - CHAR FileBuffer[256] = ""; - - ZeroMemory(&ofn, sizeof(ofn)); - ofn.hwndOwner = hDlg; - ofn.lpstrFilter = "WAD Files\0*.wad\0All Files\0*.*\0\0"; - ofn.lpstrInitialDir = NULL; - ofn.lpstrFile = FileBuffer; - ofn.lStructSize = sizeof(ofn); - ofn.nMaxFile = sizeof(FileBuffer); - ofn.nFilterIndex = 1; - ofn.lpstrFileTitle = NULL; - ofn.nMaxFileTitle = 0; - ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY; - - if (GetOpenFileNameA(&ofn)) - ReadWADLumps(FileBuffer, hDlg); -} - -static inline VOID PlayLump(HWND hDlg) -{ - HWND listbox = GetDlgItem(hDlg, IDC_PLAYLIST); - LRESULT cursel = SendMessage(listbox, LB_GETCURSEL, 0, 0); - - /* Start of C_EXTRACT */ - CHAR argv[9]; - - SendMessage(listbox, LB_GETTEXT, cursel, (LPARAM)(LPCSTR)argv); - - /* Extract LUMPNAME FILENAME pairs */ - if (wfptr) - { - struct lumplist *extracted; - - printf("Extracting lump %s...\n", argv); - /* Find the lump to extract */ - extracted = find_previous_lump(wfptr->head, NULL, argv); - if (extracted == NULL || (extracted = extracted->next) == NULL) - return; - - /* Extract lump */ - M_StartFMODSong(extracted->cl->data, extracted->cl->len, FALSE, hDlg); - - /* end of extracting LUMPNAME FILENAME pairs */ - - } /* end of C_EXTRACT */ - return; -} - -static LRESULT CALLBACK MainWndproc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) -{ - return DefWindowProc(hWnd, message, wParam, lParam); -} - -static INT_PTR CALLBACK DialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) -{ - switch(message) - { - case WM_INITDIALOG: - M_InitMusic(); - break; - - case WM_CLOSE: - EndDialog(hDlg, message); - break; - - case WM_DESTROY: - FreeWADLumps(); - M_ShutdownMusic(); - break; - - case WM_COMMAND: - { - switch(LOWORD(wParam)) - { - case 2: - EndDialog(hDlg, message); - return TRUE; - case IDC_ABOUT: // The About button. - { - char TempString[256]; - sprintf(TempString, "%s %s by %s - %s", APPTITLE, APPVERSION, APPAUTHOR, APPCOMPANY); - MessageBoxA(hDlg, TempString, "About", MB_OK|MB_APPLMODAL); - } - return TRUE; - case IDC_OPEN: - OpenWadfile(hDlg); - return TRUE; - case IDC_PLAY: - PlayLump(hDlg); - return TRUE; - default: - break; - } - break; - } - } - - return FALSE; -} - -static inline VOID RegisterDialogClass(LPCSTR name, WNDPROC callback, HINSTANCE hInst) -{ - WNDCLASSA wnd; - - wnd.style = CS_HREDRAW | CS_VREDRAW; - wnd.cbWndExtra = DLGWINDOWEXTRA; - wnd.cbClsExtra = 0; - wnd.hCursor = LoadCursorA(NULL,(LPCSTR)MAKEINTRESOURCE(IDC_ARROW)); - wnd.hIcon = LoadIcon(NULL,MAKEINTRESOURCE(IDI_ICON1)); - wnd.hInstance = hInst; - wnd.lpfnWndProc = callback; - wnd.lpszClassName = name; - wnd.lpszMenuName = NULL; - wnd.hbrBackground = (HBRUSH)(COLOR_WINDOW); - - if (!RegisterClassA(&wnd)) - { - return; - } -} - -int APIENTRY WinMain(HINSTANCE hInstance, - HINSTANCE hPrevInstance, - LPSTR lpCmdLine, - int nCmdShow) -{ - // Prevent multiples instances of this app. - CreateMutexA(NULL, TRUE, APPTITLE); - - if (GetLastError() == ERROR_ALREADY_EXISTS) - return 0; - - RegisterDialogClass("SRB2MP", MainWndproc, hInstance); - - DialogBoxA(hInstance, (LPCSTR)IDD_MAIN, NULL, DialogProc); - - return 0; -} diff --git a/tools/SRB2MP/SRB2MP.dsp b/tools/SRB2MP/SRB2MP.dsp deleted file mode 100644 index f2e700fb..00000000 --- a/tools/SRB2MP/SRB2MP.dsp +++ /dev/null @@ -1,148 +0,0 @@ -# Microsoft Developer Studio Project File - Name="SRB2MP" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Application" 0x0101 - -CFG=SRB2MP - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "SRB2MP.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "SRB2MP.mak" CFG="SRB2MP - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "SRB2MP - Win32 Release" (based on "Win32 (x86) Application") -!MESSAGE "SRB2MP - Win32 Debug" (based on "Win32 (x86) Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "SRB2MP - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /c -# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib fmodvc.lib /nologo /subsystem:windows /machine:I386 - -!ELSEIF "$(CFG)" == "SRB2MP - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib fmodvc.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "SRB2MP - Win32 Release" -# Name "SRB2MP - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\lump.c -# End Source File -# Begin Source File - -SOURCE=.\SRB2MP.c -# End Source File -# Begin Source File - -SOURCE=.\StdAfx.c -# ADD CPP /Yc"stdafx.h" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=.\lump.h -# End Source File -# Begin Source File - -SOURCE=.\resource.h -# End Source File -# Begin Source File - -SOURCE=.\StdAfx.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# Begin Source File - -SOURCE=.\icon1.ico -# End Source File -# Begin Source File - -SOURCE=.\icon2.ico -# End Source File -# Begin Source File - -SOURCE=.\icon3.ico -# End Source File -# Begin Source File - -SOURCE=.\Script1.rc -# End Source File -# End Group -# Begin Source File - -SOURCE=.\ReadMe.txt -# End Source File -# End Target -# End Project diff --git a/tools/SRB2MP/SRB2MP.dsw b/tools/SRB2MP/SRB2MP.dsw deleted file mode 100644 index b73bd1ac..00000000 --- a/tools/SRB2MP/SRB2MP.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "SRB2MP"=.\SRB2MP.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/tools/SRB2MP/Script1.aps b/tools/SRB2MP/Script1.aps deleted file mode 100644 index 994653cb127842a0407c238f8d1ffd05f5a54f30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35604 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 diff --git a/tools/SRB2MP/Script1.rc b/tools/SRB2MP/Script1.rc deleted file mode 100644 index 3fa7bd57..00000000 --- a/tools/SRB2MP/Script1.rc +++ /dev/null @@ -1,118 +0,0 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_MAIN DIALOG DISCARDABLE 0, 0, 262, 170 -STYLE DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "SRB2 Music Player" -FONT 8, "MS Sans Serif" -BEGIN - PUSHBUTTON "E&xit",IDCANCEL,205,145,50,19 - PUSHBUTTON "&About",IDC_ABOUT,230,15,23,10 - LISTBOX IDC_WADLIST,5,30,112,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_TABSTOP - LISTBOX IDC_PLAYLIST,140,30,114,110,LBS_SORT | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Play",IDC_PLAY,140,145,60,20 - PUSHBUTTON "->",IDC_ADD,120,35,15,15 - PUSHBUTTON "<-",IDC_REMOVE,120,55,15,15 - PUSHBUTTON "&Open WAD...",IDC_OPEN,5,10,50,15 - ICON IDI_ICON1,IDC_STATIC,205,5,20,20 - LTEXT "Title:",IDC_TITLE,5,140,125,10 - LTEXT "By:",IDC_ARTIST,5,150,125,15 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE -BEGIN - IDD_MAIN, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 255 - TOPMARGIN, 7 - BOTTOMMARGIN, 163 - END -END -#endif // APSTUDIO_INVOKED - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_ICON1 ICON DISCARDABLE "icon1.ico" -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/tools/SRB2MP/StdAfx.c b/tools/SRB2MP/StdAfx.c deleted file mode 100644 index 4f305cd1..00000000 --- a/tools/SRB2MP/StdAfx.c +++ /dev/null @@ -1,8 +0,0 @@ -// stdafx.cpp : source file that includes just the standard includes -// SRB2MP.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "StdAfx.h" - -// TODO: reference any additional headers you need in STDAFX.H -// and not in this file diff --git a/tools/SRB2MP/StdAfx.h b/tools/SRB2MP/StdAfx.h deleted file mode 100644 index 84ac428b..00000000 --- a/tools/SRB2MP/StdAfx.h +++ /dev/null @@ -1,35 +0,0 @@ -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, but -// are changed infrequently -// - -#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_) -#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_ - -//#define UNICODE - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 - -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers - -#include -#include -#include -#include - -// TODO: reference additional headers your program requires here -#ifdef __MINGW32__ -#include -#include -#else -#include -#include -#endif -#include "resource.h" - -//{{AFX_INSERT_LOCATION}} -// Microsoft Visual C++ will insert additional declarations immediately before the previous line. - -#endif // !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_) diff --git a/tools/SRB2MP/icon1.ico b/tools/SRB2MP/icon1.ico deleted file mode 100644 index 7548e7cafb5f491c26e6bc600d8ee8b19c1cc96a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2998 zcmd6py=!Af5Wq*4h=mckxG^aVr??1lz0J8f2ls|+T)W$U!A&^55O5s`7#31ok%Xj3 zAZVQsBF|6&SG;MLjXHl&Y$j&7l4#s|3S0FoS-XS#nI1&8MseefO`d5cpRe>PfHn zvFgPX*0fqoWfFZ!(=r9Br0t^9$07Fo8a0EDlaqt@fl~Y8< z2up+|!s17UC6YXnC=xWn;$^@XSwvVOEM68kA{-Hp2uFm&O9e-SA;J)0u+l|1A`B6R z?7vvKE+Kj953-lnssk0d6MkN5awnJ)NfQYYOo`kHVjSZU0un|&5aEC;kh2EeDmxX-{XSn+IPSv;<;pTO;lO?D{VaA z7Hk}kMq@ssvGrwkVoh9h>N>xFWMSN(^L7hg$G^+5%s!32w&r`^+5d(esyhBG|D4^4 zW<{7;?!CG@%e{9ja{PCqEQmG^48jaep~jx!hiXH F%Ae-dH{SpN diff --git a/tools/SRB2MP/lump.c b/tools/SRB2MP/lump.c deleted file mode 100644 index 4cf35540..00000000 --- a/tools/SRB2MP/lump.c +++ /dev/null @@ -1,471 +0,0 @@ -/* - LumpMod v0.21, a command-line utility for working with lumps in wad files. - Copyright (C) 2003 Thunder Palace Entertainment. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - lump.c: Provides functions for dealing with lumps -*/ - -#include "StdAfx.h" -#include -#include -#include "lump.h" - -/* Read contents of a wad file and store them in memory. - * fpoint is the file to read, opened with "rb" mode. - * A pointer to a new wadfile struct will be returned, or NULL on error. - */ -struct wadfile *read_wadfile(FILE *fpoint) { - struct wadfile *wfptr; - struct lumplist *curlump; - unsigned long diroffset, filelen; - unsigned long count; - - /* Allocate memory for wadfile struct */ - wfptr = (struct wadfile*)malloc(sizeof(struct wadfile)); - if(wfptr == NULL) return NULL; - - /* Read first four characters (PWAD or IWAD) */ - if(fread(wfptr->id, 4, 1, fpoint) < 1) { - free(wfptr); - return NULL; - } - - /* Read number of lumps */ - if(fread(&(wfptr->numlumps), 4, 1, fpoint) < 1) { - free(wfptr); - return NULL; - } - - /* If number of lumps is zero, nothing more needs to be done */ - if(wfptr->numlumps == 0) { - wfptr->head = NULL; - return wfptr; - } - - /* Read offset of directory */ - if(fread(&diroffset, 4, 1, fpoint) < 1) { - free(wfptr); - return NULL; - } - - /* Verify that the directory as long as it needs to be */ - fseek(fpoint, 0, SEEK_END); - filelen = ftell(fpoint); - if((filelen - diroffset) / DIRENTRYLEN < wfptr->numlumps) { - free(wfptr); - return NULL; - } - - /* Allocate memory for head lumplist item and set head pointer */ - curlump = (struct lumplist*)malloc(sizeof(struct lumplist)); - if(curlump == NULL) { - free(wfptr); - return NULL; - } - wfptr->head = curlump; - curlump->cl = NULL; - - /* Read directory entries and lumps */ - for(count = 0; count < wfptr->numlumps; count++) { - long lumpdataoffset; - - /* Advance to a new list item */ - curlump->next = (struct lumplist*)malloc(sizeof(struct lumplist)); - if(curlump->next == NULL) { - free_wadfile(wfptr); - return NULL; - } - curlump = curlump->next; - curlump->next = NULL; - - /* Allocate memory for the lump info */ - curlump->cl = (struct lump*)malloc(sizeof(struct lump)); - if(curlump->cl == NULL) { - free_wadfile(wfptr); - return NULL; - } - - /* Seek to the proper position in the file */ - if(fseek(fpoint, diroffset + (count * DIRENTRYLEN), SEEK_SET) != 0) { - free_wadfile(wfptr); - return NULL; - } - - /* Read offset of lump data */ - if(fread(&lumpdataoffset, 4, 1, fpoint) < 1) { - free_wadfile(wfptr); - return NULL; - } - - /* Read size of lump in bytes */ - if(fread(&(curlump->cl->len), 4, 1, fpoint) < 1) { - free_wadfile(wfptr); - return NULL; - } - - /* Read lump name */ - if(fread(curlump->cl->name, 8, 1, fpoint) < 1) { - free_wadfile(wfptr); - return NULL; - } - - /* Read actual lump data, unless lump size is 0 */ - if(curlump->cl->len > 0) { - if(fseek(fpoint, lumpdataoffset, SEEK_SET) != 0) { - free_wadfile(wfptr); - return NULL; - } - - /* Allocate memory for data */ - curlump->cl->data = (unsigned char*)malloc(curlump->cl->len); - if(curlump->cl->data == NULL) { - free_wadfile(wfptr); - return NULL; - } - - /* Fill the data buffer */ - if(fread(curlump->cl->data, curlump->cl->len, 1, fpoint) < 1) { - free_wadfile(wfptr); - return NULL; - } - } else curlump->cl->data = NULL; - } /* End of directory reading loop */ - - return wfptr; -} - -/* Free a wadfile from memory as well as all related structures. - */ -void free_wadfile(struct wadfile *wfptr) { - struct lumplist *curlump, *nextlump; - - if(wfptr == NULL) return; - curlump = wfptr->head; - - /* Free items in the lump list */ - while(curlump != NULL) { - - /* Free the actual lump and its data, if necessary */ - if(curlump->cl != NULL) { - if(curlump->cl->data != NULL) free(curlump->cl->data); - free(curlump->cl); - } - - /* Advance to next lump and free this one */ - nextlump = curlump->next; - free(curlump); - curlump = nextlump; - } - - free(wfptr); -} - -/* Write complete wadfile to a file stream, opened with "wb" mode. - * fpoint is the stream to write to. - * wfptr is a pointer to the wadfile structure to use. - * Return zero on success, nonzero on failure. - */ -int write_wadfile(FILE *fpoint, struct wadfile *wfptr) { - struct lumplist *curlump; - long lumpdataoffset, diroffset; - - if(wfptr == NULL) return 1; - - /* Write four-character ID ("PWAD" or "IWAD") */ - if(fwrite(wfptr->id, 4, 1, fpoint) < 1) return 2; - - /* Write number of lumps */ - if(fwrite(&(wfptr->numlumps), 4, 1, fpoint) < 1) return 3; - - /* Offset of directory is not known yet. For now, write number of lumps - * again, just to fill the space. - */ - if(fwrite(&(wfptr->numlumps), 4, 1, fpoint) < 1) return 4; - - /* Loop through lump list, writing lump data */ - for(curlump = wfptr->head; curlump != NULL; curlump = curlump->next) { - - /* Don't write anything for the head of the lump list or for lumps of - zero length */ - if(curlump->cl == NULL || curlump->cl->data == NULL) continue; - - /* Write the data */ - if(fwrite(curlump->cl->data, curlump->cl->len, 1, fpoint) < 1) - return 5; - } - - /* Current position is where directory will start */ - diroffset = ftell(fpoint); - - /* Offset for the first lump's data is always 12 */ - lumpdataoffset = 12; - - /* Loop through lump list again, this time writing directory entries */ - for(curlump = wfptr->head; curlump != NULL; curlump = curlump->next) { - - /* Don't write anything for the head of the lump list */ - if(curlump->cl == NULL) continue; - - /* Write offset for lump data */ - if(fwrite(&lumpdataoffset, 4, 1, fpoint) < 1) return 6; - - /* Write size of lump data */ - if(fwrite(&(curlump->cl->len), 4, 1, fpoint) < 1) return 7; - - /* Write lump name */ - if(fwrite(curlump->cl->name, 8, 1, fpoint) < 1) return 8; - - /* Increment lumpdataoffset variable as appropriate */ - lumpdataoffset += curlump->cl->len; - } - - /* Go back to header and write the proper directory offset */ - fseek(fpoint, 8, SEEK_SET); - if(fwrite(&diroffset, 4, 1, fpoint) < 1) return 9; - - return 0; -} - -/* Get the name of a lump, as a null-terminated string. - * item is a pointer to the lump (not lumplist) whose name will be obtained. - * Return NULL on error. - */ -char *get_lump_name(struct lump *item) { - char convname[9], *retname; - - if(item == NULL) return NULL; - memcpy(convname, item->name, 8); - convname[8] = '\0'; - - retname = (char*)malloc(strlen(convname) + 1); - if(retname != NULL) strcpy(retname, convname); - return retname; -} - -/* Find the lump after start and before end having a certain name. - * Return a pointer to the list item for that lump, or return NULL if no lump - * by that name is found or lumpname is too long. - * lumpname is a null-terminated string. - * If end parameter is NULL, search to the end of the entire list. - */ -struct lumplist *find_previous_lump(struct lumplist *start, struct lumplist - *end, char *lumpname) { - struct lumplist *curlump, *lastlump; - char *curname; - int found = 0; - - /* Verify that parameters are valid */ - if(start==NULL || start==end || lumpname==NULL || strlen(lumpname) > 8) - return NULL; - - /* Loop through the list from start parameter */ - lastlump = start; - for(curlump = start->next; curlump != end && curlump != NULL; - curlump = curlump->next) { - - /* Skip header lump */ - if(curlump->cl == NULL) continue; - - /* Find name of this lump */ - curname = get_lump_name(curlump->cl); - if(curname == NULL) continue; - - /* Compare names to see if this is the lump we want */ - if(strcmp(curname, lumpname) == 0) { - found = 1; - break; - } - - /* Free memory allocated to curname */ - free(curname); - - lastlump = curlump; - } - - if(found) return lastlump; - return NULL; -} - -/* Remove a lump from the list, free it, and free its data. - * before is the lump immediately preceding the lump to be removed. - * wfptr is a pointer to the wadfile structure to which the removed lump - * belongs, so that numlumps can be decreased. - */ -void remove_next_lump(struct wadfile *wfptr, struct lumplist *before) { - struct lumplist *removed; - - /* Verify that parameters are valid */ - if(before == NULL || before->next == NULL || wfptr == NULL) return; - - /* Update linked list to omit removed lump */ - removed = before->next; - before->next = removed->next; - - /* Free lump info and data if necessary */ - if(removed->cl != NULL) { - if(removed->cl->data != NULL) free(removed->cl->data); - free(removed->cl); - } - - free(removed); - - /* Decrement numlumps */ - wfptr->numlumps--; -} - -/* Add a lump. - * The lump will follow prev in the list and be named name, with a data size - * of len. - * A copy will be made of the data. - * Return zero on success or nonzero on failure. - */ -int add_lump(struct wadfile *wfptr, struct lumplist *prev, char *name, long - len, unsigned char *data) { - struct lump *newlump; - struct lumplist *newlumplist; - unsigned char *copydata; - - /* Verify that parameters are valid */ - if(wfptr == NULL || prev == NULL || name == NULL || strlen(name) > 8) - return 1; - - /* Allocate space for newlump and newlumplist */ - newlump = (struct lump*)malloc(sizeof(struct lump)); - newlumplist = (struct lumplist*)malloc(sizeof(struct lumplist)); - if(newlump == NULL || newlumplist == NULL) return 2; - - /* Copy lump data and set up newlump */ - if(len == 0 || data == NULL) { - newlump->len = 0; - newlump->data = NULL; - } else { - newlump->len = len; - copydata = (unsigned char*)malloc(len); - if(copydata == NULL) return 3; - memcpy(copydata, data, len); - newlump->data = copydata; - } - - /* Set name of newlump */ - memset(newlump->name, '\0', 8); - if(strlen(name) == 8) memcpy(newlump->name, name, 8); - else strcpy(newlump->name, name); - - /* Set up newlumplist and alter prev appropriately */ - newlumplist->cl = newlump; - newlumplist->next = prev->next; - prev->next = newlumplist; - - /* Increment numlumps */ - wfptr->numlumps++; - - return 0; -} - -/* Rename a lump. - * renamed is a pointer to the lump (not lumplist) that needs renaming. - * newname is a null-terminated string with the new name. - * Return zero on success or nonzero on failure. - */ -int rename_lump(struct lump *renamed, char *newname) { - - /* Verify that parameters are valid. */ - if(newname == NULL || renamed == NULL || strlen(newname) > 8) return 1; - - /* Do the renaming. */ - memset(renamed->name, '\0', 8); - if(strlen(newname) == 8) memcpy(renamed->name, newname, 8); - else strcpy(renamed->name, newname); - - return 0; -} - -/* Find the last lump in a wadfile structure. - * Return this lump or NULL on failure. - */ -struct lumplist *find_last_lump(struct wadfile *wfptr) { - struct lumplist *curlump; - - if(wfptr == NULL || wfptr->head == NULL) return NULL; - curlump = wfptr->head; - - while(curlump->next != NULL) curlump = curlump->next; - return curlump; -} - -/* Find the last lump between start and end. - * Return this lump or NULL on failure. - */ -struct lumplist *find_last_lump_between(struct lumplist *start, struct - lumplist *end) { - struct lumplist *curlump; - - if(start == NULL) return NULL; - curlump = start; - - while(curlump->next != end) { - curlump = curlump->next; - if(curlump == NULL) break; - } - - return curlump; -} - -/* Find the next section lump. A section lump is MAPxx (0 <= x <= 9), ExMy - * (0 <= x <= 9, 0 <= y <= 9), or any lump whose name ends in _START or _END. - * Return NULL if there are no section lumps after start. - */ -struct lumplist *find_next_section_lump(struct lumplist *start) { - struct lumplist *curlump, *found = NULL; - char *curname; - - /* Verify that parameter is valid */ - if(start == NULL || start->next == NULL) return NULL; - - /* Loop through the list from start parameter */ - for(curlump = start->next; curlump != NULL && found == NULL; - curlump = curlump->next) { - - /* Skip header lump */ - if(curlump->cl == NULL) continue; - - /* Find name of this lump */ - curname = get_lump_name(curlump->cl); - if(curname == NULL) continue; - - /* Check to see if this is a section lump */ - if(strlen(curname) == 5 && strncmp("MAP", curname, 3) == 0 && - isdigit(curname[3]) && isdigit(curname[4])) - found = curlump; - else if(strlen(curname) == 4 && curname[0] == 'E' && curname[2] == - 'M' && isdigit(curname[1]) && isdigit(curname[3])) - found = curlump; - else if(strlen(curname) == 7 && strcmp("_START", &curname[1]) == 0) - found = curlump; - else if(strlen(curname) == 8 && strcmp("_START", &curname[2]) == 0) - found = curlump; - else if(strlen(curname) == 5 && strcmp("_END", &curname[1]) == 0) - found = curlump; - else if(strlen(curname) == 6 && strcmp("_END", &curname[2]) == 0) - found = curlump; - - /* Free memory allocated to curname */ - free(curname); - } - - return found; -} diff --git a/tools/SRB2MP/lump.h b/tools/SRB2MP/lump.h deleted file mode 100644 index b36b8444..00000000 --- a/tools/SRB2MP/lump.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - LumpMod v0.21, a command-line utility for working with lumps in wad files. - Copyright (C) 2003 Thunder Palace Entertainment. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - lump.h: Defines constants, structures, and functions used in lump.c -*/ - -#ifndef __LUMP_H -#define __LUMP_H - -/* Entries in the wadfile directory are 16 bytes */ -#define DIRENTRYLEN 16 - -/* Lumps and associated info */ -struct lump { - long len; - unsigned char *data; - char name[8]; -}; - -/* Linked list of lumps */ -struct lumplist { - struct lump *cl; /* actual content of the lump */ - struct lumplist *next; -}; - -/* Structure to contain all wadfile data */ -struct wadfile { - char id[4]; /* IWAD or PWAD */ - unsigned long numlumps; /* 32-bit integer */ - struct lumplist *head; /* points to first entry */ -}; - -/* Function declarations */ -struct wadfile *read_wadfile(FILE *); -void free_wadfile(struct wadfile *); -int write_wadfile(FILE *, struct wadfile *); -char *get_lump_name(struct lump *); -struct lumplist *find_previous_lump(struct lumplist *, struct lumplist *, char *); -void remove_next_lump(struct wadfile *, struct lumplist *); -int add_lump(struct wadfile *, struct lumplist *, char *, long, unsigned char *); -int rename_lump(struct lump *, char *); -struct lumplist *find_last_lump(struct wadfile *); -struct lumplist *find_last_lump_between(struct lumplist *, struct lumplist *); -struct lumplist *find_next_section_lump(struct lumplist *); - -#endif diff --git a/tools/SRB2MP/resource.h b/tools/SRB2MP/resource.h deleted file mode 100644 index 56924e34..00000000 --- a/tools/SRB2MP/resource.h +++ /dev/null @@ -1,26 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by Script1.rc -// -#define IDD_MAIN 101 -#define IDI_ICON1 102 -#define IDC_ABOUT 1000 -#define IDC_WADLIST 1001 -#define IDC_PLAYLIST 1002 -#define IDC_PLAY 1003 -#define IDC_ADD 1004 -#define IDC_REMOVE 1005 -#define IDC_OPEN 1006 -#define IDC_TITLE 1007 -#define IDC_ARTIST 1008 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 105 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1009 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif