Added song discovery (untested)

This commit is contained in:
Chris Danford
2002-12-03 07:20:41 +00:00
parent 28cd1793ee
commit 4d1da44edb
9 changed files with 223 additions and 19 deletions
+2 -1
View File
@@ -37,6 +37,7 @@
#define IDC_XFERSTATUS 1022
#define IDC_TOFROM 1023
#define IDC_SENTRECVD 1024
#define IDC_COMBO1 1030
// Next default values for new objects
//
@@ -44,7 +45,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 136
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1029
#define _APS_NEXT_CONTROL_VALUE 1031
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Binary file not shown.
+154 -7
View File
@@ -7,11 +7,11 @@ LastTemplate=CDialog
NewFileInclude1=#include "stdafx.h"
NewFileInclude2=#include "smlobby.h"
ClassCount=4
ClassCount=2
Class1=CSmlobbyApp
Class2=CSmlobbyDlg
ResourceCount=211
ResourceCount=355
Resource2=IDR_MAINFRAME
Resource3=IDD_CONNECT (Unknown language: 0xD
Resource4=IDD_CONNECT (Unknown language: 0xD
@@ -218,10 +218,154 @@ Resource204=IDD_CONNECT (Unknown language: 0xD
Resource205=IDD_CONNECT (Unknown language: 0xD
Resource206=IDD_CONNECT (Unknown language: 0xD
Resource207=IDD_CONNECT (Unknown language: 0xD
Resource208=IDD_ABOUTBOX
Resource209=IDD_SMLOBBY_DIALOG
Resource210=IDD_FILEXFER
Resource211=IDD_CONNECT (Unknown language: 0xD, 0x1)
Resource208=IDD_CONNECT (Unknown language: 0xD
Resource209=IDD_CONNECT (Unknown language: 0xD
Resource210=IDD_CONNECT (Unknown language: 0xD
Resource211=IDD_CONNECT (Unknown language: 0xD
Resource212=IDD_CONNECT (Unknown language: 0xD
Resource213=IDD_CONNECT (Unknown language: 0xD
Resource214=IDD_CONNECT (Unknown language: 0xD
Resource215=IDD_CONNECT (Unknown language: 0xD
Resource216=IDD_CONNECT (Unknown language: 0xD
Resource217=IDD_CONNECT (Unknown language: 0xD
Resource218=IDD_CONNECT (Unknown language: 0xD
Resource219=IDD_CONNECT (Unknown language: 0xD
Resource220=IDD_CONNECT (Unknown language: 0xD
Resource221=IDD_CONNECT (Unknown language: 0xD
Resource222=IDD_CONNECT (Unknown language: 0xD
Resource223=IDD_CONNECT (Unknown language: 0xD
Resource224=IDD_CONNECT (Unknown language: 0xD
Resource225=IDD_CONNECT (Unknown language: 0xD
Resource226=IDD_CONNECT (Unknown language: 0xD
Resource227=IDD_CONNECT (Unknown language: 0xD
Resource228=IDD_CONNECT (Unknown language: 0xD
Resource229=IDD_CONNECT (Unknown language: 0xD
Resource230=IDD_CONNECT (Unknown language: 0xD
Resource231=IDD_CONNECT (Unknown language: 0xD
Resource232=IDD_CONNECT (Unknown language: 0xD
Resource233=IDD_CONNECT (Unknown language: 0xD
Resource234=IDD_CONNECT (Unknown language: 0xD
Resource235=IDD_CONNECT (Unknown language: 0xD
Resource236=IDD_CONNECT (Unknown language: 0xD
Resource237=IDD_CONNECT (Unknown language: 0xD
Resource238=IDD_CONNECT (Unknown language: 0xD
Resource239=IDD_CONNECT (Unknown language: 0xD
Resource240=IDD_CONNECT (Unknown language: 0xD
Resource241=IDD_CONNECT (Unknown language: 0xD
Resource242=IDD_CONNECT (Unknown language: 0xD
Resource243=IDD_CONNECT (Unknown language: 0xD
Resource244=IDD_CONNECT (Unknown language: 0xD
Resource245=IDD_CONNECT (Unknown language: 0xD
Resource246=IDD_CONNECT (Unknown language: 0xD
Resource247=IDD_CONNECT (Unknown language: 0xD
Resource248=IDD_CONNECT (Unknown language: 0xD
Resource249=IDD_CONNECT (Unknown language: 0xD
Resource250=IDD_CONNECT (Unknown language: 0xD
Resource251=IDD_CONNECT (Unknown language: 0xD
Resource252=IDD_CONNECT (Unknown language: 0xD
Resource253=IDD_CONNECT (Unknown language: 0xD
Resource254=IDD_CONNECT (Unknown language: 0xD
Resource255=IDD_CONNECT (Unknown language: 0xD
Resource256=IDD_CONNECT (Unknown language: 0xD
Resource257=IDD_CONNECT (Unknown language: 0xD
Resource258=IDD_CONNECT (Unknown language: 0xD
Resource259=IDD_CONNECT (Unknown language: 0xD
Resource260=IDD_CONNECT (Unknown language: 0xD
Resource261=IDD_CONNECT (Unknown language: 0xD
Resource262=IDD_CONNECT (Unknown language: 0xD
Resource263=IDD_CONNECT (Unknown language: 0xD
Resource264=IDD_CONNECT (Unknown language: 0xD
Resource265=IDD_CONNECT (Unknown language: 0xD
Resource266=IDD_CONNECT (Unknown language: 0xD
Resource267=IDD_CONNECT (Unknown language: 0xD
Resource268=IDD_CONNECT (Unknown language: 0xD
Resource269=IDD_CONNECT (Unknown language: 0xD
Resource270=IDD_CONNECT (Unknown language: 0xD
Resource271=IDD_CONNECT (Unknown language: 0xD
Resource272=IDD_CONNECT (Unknown language: 0xD
Resource273=IDD_CONNECT (Unknown language: 0xD
Resource274=IDD_CONNECT (Unknown language: 0xD
Resource275=IDD_CONNECT (Unknown language: 0xD
Resource276=IDD_CONNECT (Unknown language: 0xD
Resource277=IDD_CONNECT (Unknown language: 0xD
Resource278=IDD_CONNECT (Unknown language: 0xD
Resource279=IDD_CONNECT (Unknown language: 0xD
Resource280=IDD_CONNECT (Unknown language: 0xD
Resource281=IDD_CONNECT (Unknown language: 0xD
Resource282=IDD_CONNECT (Unknown language: 0xD
Resource283=IDD_CONNECT (Unknown language: 0xD
Resource284=IDD_CONNECT (Unknown language: 0xD
Resource285=IDD_CONNECT (Unknown language: 0xD
Resource286=IDD_CONNECT (Unknown language: 0xD
Resource287=IDD_CONNECT (Unknown language: 0xD
Resource288=IDD_CONNECT (Unknown language: 0xD
Resource289=IDD_CONNECT (Unknown language: 0xD
Resource290=IDD_CONNECT (Unknown language: 0xD
Resource291=IDD_CONNECT (Unknown language: 0xD
Resource292=IDD_CONNECT (Unknown language: 0xD
Resource293=IDD_CONNECT (Unknown language: 0xD
Resource294=IDD_CONNECT (Unknown language: 0xD
Resource295=IDD_CONNECT (Unknown language: 0xD
Resource296=IDD_CONNECT (Unknown language: 0xD
Resource297=IDD_CONNECT (Unknown language: 0xD
Resource298=IDD_CONNECT (Unknown language: 0xD
Resource299=IDD_CONNECT (Unknown language: 0xD
Resource300=IDD_CONNECT (Unknown language: 0xD
Resource301=IDD_CONNECT (Unknown language: 0xD
Resource302=IDD_CONNECT (Unknown language: 0xD
Resource303=IDD_CONNECT (Unknown language: 0xD
Resource304=IDD_CONNECT (Unknown language: 0xD
Resource305=IDD_CONNECT (Unknown language: 0xD
Resource306=IDD_CONNECT (Unknown language: 0xD
Resource307=IDD_CONNECT (Unknown language: 0xD
Resource308=IDD_CONNECT (Unknown language: 0xD
Resource309=IDD_CONNECT (Unknown language: 0xD
Resource310=IDD_CONNECT (Unknown language: 0xD
Resource311=IDD_CONNECT (Unknown language: 0xD
Resource312=IDD_CONNECT (Unknown language: 0xD
Resource313=IDD_CONNECT (Unknown language: 0xD
Resource314=IDD_CONNECT (Unknown language: 0xD
Resource315=IDD_CONNECT (Unknown language: 0xD
Resource316=IDD_CONNECT (Unknown language: 0xD
Resource317=IDD_CONNECT (Unknown language: 0xD
Resource318=IDD_CONNECT (Unknown language: 0xD
Resource319=IDD_CONNECT (Unknown language: 0xD
Resource320=IDD_CONNECT (Unknown language: 0xD
Resource321=IDD_CONNECT (Unknown language: 0xD
Resource322=IDD_CONNECT (Unknown language: 0xD
Resource323=IDD_CONNECT (Unknown language: 0xD
Resource324=IDD_CONNECT (Unknown language: 0xD
Resource325=IDD_CONNECT (Unknown language: 0xD
Resource326=IDD_CONNECT (Unknown language: 0xD
Resource327=IDD_CONNECT (Unknown language: 0xD
Resource328=IDD_CONNECT (Unknown language: 0xD
Resource329=IDD_CONNECT (Unknown language: 0xD
Resource330=IDD_CONNECT (Unknown language: 0xD
Resource331=IDD_CONNECT (Unknown language: 0xD
Resource332=IDD_CONNECT (Unknown language: 0xD
Resource333=IDD_CONNECT (Unknown language: 0xD
Resource334=IDD_CONNECT (Unknown language: 0xD
Resource335=IDD_CONNECT (Unknown language: 0xD
Resource336=IDD_CONNECT (Unknown language: 0xD
Resource337=IDD_CONNECT (Unknown language: 0xD
Resource338=IDD_CONNECT (Unknown language: 0xD
Resource339=IDD_CONNECT (Unknown language: 0xD
Resource340=IDD_CONNECT (Unknown language: 0xD
Resource341=IDD_CONNECT (Unknown language: 0xD
Resource342=IDD_CONNECT (Unknown language: 0xD
Resource343=IDD_CONNECT (Unknown language: 0xD
Resource344=IDD_CONNECT (Unknown language: 0xD
Resource345=IDD_CONNECT (Unknown language: 0xD
Resource346=IDD_CONNECT (Unknown language: 0xD
Resource347=IDD_CONNECT (Unknown language: 0xD
Resource348=IDD_CONNECT (Unknown language: 0xD
Resource349=IDD_CONNECT (Unknown language: 0xD
Resource350=IDD_CONNECT (Unknown language: 0xD
Resource351=IDD_CONNECT (Unknown language: 0xD
Resource352=IDD_ABOUTBOX
Resource353=IDD_SMLOBBY_DIALOG
Resource354=IDD_FILEXFER
Resource355=IDD_CONNECT (Unknown language: 0xD, 0x1)
[CLS:CSmlobbyApp]
Type=0
@@ -234,6 +378,9 @@ Type=0
HeaderFile=smlobbyDlg.h
ImplementationFile=smlobbyDlg.cpp
Filter=D
BaseClass=CDialog
VirtualFilter=dWC
LastObject=CSmlobbyDlg
@@ -248,7 +395,7 @@ Control4=IDC_LIST_GAMES,listbox,1352728835
Control5=IDC_STATIC,button,1342177287
Control6=IDC_EDIT_GAME_INFO,edit,1350631428
Control7=IDC_STATIC,button,1342177287
Control8=IDC_COMBO_MUSIC,combobox,1344340226
Control8=IDC_COMBO_MUSIC,combobox,1344340227
Control9=IDC_STATIC,static,1342308352
Control10=IDC_BUTTON_CREATE_GAME,button,1342242816
Control11=IDC_LIST_USERS,listbox,1352728835
+9 -1
View File
@@ -63,7 +63,7 @@ LINK32=link.exe
# PROP BASE Target_Dir ""
# PROP Use_MFC 6
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Output_Dir "../../"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
@@ -108,6 +108,10 @@ SOURCE=.\irc.cpp
# End Source File
# Begin Source File
SOURCE=.\RageUtil.cpp
# End Source File
# Begin Source File
SOURCE=.\SendFileDialog.cpp
# End Source File
# Begin Source File
@@ -148,6 +152,10 @@ SOURCE=.\irc.h
# End Source File
# Begin Source File
SOURCE=.\RageUtil.h
# End Source File
# Begin Source File
SOURCE=.\resource2.h
# End Source File
# Begin Source File
Binary file not shown.
Binary file not shown.
+3 -3
View File
@@ -88,7 +88,7 @@ IDD_SMLOBBY_DIALOG DIALOGEX 0, 0, 464, 330
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "StepMania Lobby"
FONT 8, "MS Sans Serif", 0, 0, 0x1
FONT 8, "MS Sans Serif"
BEGIN
EDITTEXT IDC_EDIT_ENTRY,105,281,347,12,ES_AUTOHSCROLL
GROUPBOX "Chat",IDC_STATIC,5,140,453,160
@@ -98,8 +98,8 @@ BEGIN
GROUPBOX "Game Information",IDC_STATIC,143,5,107,130
EDITTEXT IDC_EDIT_GAME_INFO,153,20,90,105,ES_MULTILINE
GROUPBOX "Create New Game",IDC_STATIC,271,5,185,130
COMBOBOX IDC_COMBO_MUSIC,278,35,170,15,CBS_DROPDOWN | CBS_SORT |
WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_COMBO_MUSIC,278,35,170,88,CBS_DROPDOWNLIST |
CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Select Music:",IDC_STATIC,278,25,44,10
PUSHBUTTON "Create Game",IDC_BUTTON_CREATE_GAME,338,100,56,20
LISTBOX IDC_LIST_USERS,10,155,85,140,LBS_SORT |
+54 -7
View File
@@ -4,6 +4,7 @@
#include "stdafx.h"
#include "smlobby.h"
#include "smlobbyDlg.h"
#include "RageUtil.h"
#ifdef _DEBUG
#define new DEBUG_NEW
@@ -84,6 +85,7 @@ void CSmlobbyDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSmlobbyDlg)
DDX_Control(pDX, IDC_COMBO_MUSIC, m_comboMusic);
DDX_Control(pDX, IDC_EDIT_GAME_NAME, m_editGameName);
DDX_Control(pDX, IDC_EDIT_GAME_INFO, m_editGameInfo);
DDX_Control(pDX, IDC_LIST_USERS, m_listUsers);
@@ -189,6 +191,41 @@ BOOL CSmlobbyDlg::OnInitDialog()
return FALSE;
//
// populate drop-down list of songs
//
CString sDir = "Songs"; // search only in "Songs" directory in program folder
// Find all group directories in "Songs" folder
CStringArray arrayGroupDirs;
GetDirListing( sDir+"\\*.*", arrayGroupDirs, true );
SortCStringArray( arrayGroupDirs );
for( unsigned i=0; i< arrayGroupDirs.GetSize(); i++ ) // for each dir in /Songs/
{
CString sGroupDirName = arrayGroupDirs[i];
if( 0 == stricmp( sGroupDirName, "cvs" ) ) // the directory called "CVS"
continue; // ignore it
// Find all Song folders in this group directory
CStringArray arraySongDirs;
GetDirListing( ssprintf("%s\\%s\\*.*", sDir, sGroupDirName), arraySongDirs, true );
SortCStringArray( arraySongDirs );
for( unsigned j=0; j< arraySongDirs.GetSize(); j++ ) // for each song dir
{
CString sSongDirName = arraySongDirs[j];
if( 0 == stricmp( sSongDirName, "cvs" ) ) // the directory called "CVS"
continue; // ignore it
CString sSongDir = ssprintf("%s\\%s\\%s", sDir, sGroupDirName, sSongDirName);
m_comboMusic.AddString( sSongDir );
}
}
return TRUE; // return TRUE unless you set the focus to a control
}
@@ -588,14 +625,24 @@ void CSmlobbyDlg::OnButtonCreateGame()
sprintf(host_ip_str, "%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]);
//Insert song name/hash code here
char songHash[12] = "0x00000000";
int iIndex = m_comboMusic.GetCurSel();
if( iIndex <= 0 )
ASSERT(0); // what do we do here?
CString sSongDir;
m_comboMusic.GetLBText( iIndex, sSongDir );
unsigned long hash = GetHashForDirectory( sSongDir );
//Now tell the server our game info
g_ircSession << irc::CIrcMessage(CString("topic #") + gameName + CString(" :")
+ gameName + CString(" ")
+ CString(host_ip_str) + CString(" ")
+ CString(g_ircSession.GetInfo().sNick.c_str()) + CString(" ")
+ CString(songHash));
CString sIrcMessage = ssprintf( "topic #%s :%s %s %s %u",
gameName,
gameName,
host_ip_str,
g_ircSession.GetInfo().sNick.c_str(),
hash );
g_ircSession << irc::CIrcMessage(sIrcMessage);
}
bool CSmlobbyDlg::IsUniqueGameName(const CString GameName)
@@ -649,4 +696,4 @@ CString CSmlobbyDlg::SelectFolder()
}
return CString(szPath);
}
}
+1
View File
@@ -26,6 +26,7 @@ public:
// Dialog Data
//{{AFX_DATA(CSmlobbyDlg)
enum { IDD = IDD_SMLOBBY_DIALOG };
CComboBox m_comboMusic;
CEdit m_editGameName;
CEdit m_editGameInfo;
CListBox m_listUsers;