diff --git a/cube/swiss/include/swiss.h b/cube/swiss/include/swiss.h index 83b04c83..932a216f 100644 --- a/cube/swiss/include/swiss.h +++ b/cube/swiss/include/swiss.h @@ -94,7 +94,12 @@ typedef struct { char smbUser[32]; //20 char smbPassword[32]; //16 char smbShare[128]; //80 - char smbServerIp[128]; //80 + char smbServerIp[32]; //80 + char ftpUserName[64]; + char ftpPassword[32]; + char ftpHostIp[32]; + u32 ftpPort; + bool ftpUsePasv; int autoCheats; int igrType; u8 configDeviceId; // see deviceHandler.h diff --git a/cube/swiss/source/config/config.c b/cube/swiss/source/config/config.c index 2f497959..5b5efed7 100644 --- a/cube/swiss/source/config/config.c +++ b/cube/swiss/source/config/config.c @@ -28,6 +28,11 @@ //SMBHostIP=192.168.1.32 //AutoCheats=Yes //IGRType=Disabled +//FTPUserName=user +//FTPPassword=password +//FTPHostIP=192.168.1.32 +//FTPPort=21 +//FTPUsePasv=No //!!Swiss Settings End!! // This is an example game entry @@ -174,6 +179,16 @@ int config_update_file() { string_append(configString, txtbuffer); sprintf(txtbuffer, "IGRType=%s\r\n", (igrTypeStr[swissSettings.igrType])); string_append(configString, txtbuffer); + sprintf(txtbuffer, "FTPUserName=%s\r\n",configSwissSettings.ftpUserName); + string_append(configString, txtbuffer); + sprintf(txtbuffer, "FTPPassword=%s\r\n",configSwissSettings.ftpPassword); + string_append(configString, txtbuffer); + sprintf(txtbuffer, "FTPHostIP=%s\r\n",configSwissSettings.ftpHostIp); + string_append(configString, txtbuffer); + sprintf(txtbuffer, "FTPPort=%li\r\n",configSwissSettings.ftpPort); + string_append(configString, txtbuffer); + sprintf(txtbuffer, "FTPUsePasv=%s\r\n",configSwissSettings.ftpUsePasv ? "Yes":"No"); + string_append(configString, txtbuffer); sprintf(txtbuffer, "#!!Swiss Settings End!!\r\n\r\n"); string_append(configString, txtbuffer); @@ -389,6 +404,21 @@ void config_parse(char *configData) { else if(!strcmp(igrTypeStr[3], value)) configSwissSettings.igrType = 3; } + else if(!strcmp("FTPUserName", name)) { + strncpy(configSwissSettings.ftpUserName, value, sizeof(((SwissSettings*)0)->ftpUserName)); + } + else if(!strcmp("FTPPassword", name)) { + strncpy(configSwissSettings.ftpPassword, value, sizeof(((SwissSettings*)0)->ftpPassword)); + } + else if(!strcmp("FTPHostIP", name)) { + strncpy(configSwissSettings.ftpHostIp, value, sizeof(((SwissSettings*)0)->ftpHostIp)); + } + else if(!strcmp("FTPPort", name)) { + configSwissSettings.ftpPort = atoi(value); + } + else if(!strcmp("FTPUsePasv", name)) { + configSwissSettings.ftpUsePasv = !strcmp("Yes", value); + } } } // And round we go again diff --git a/cube/swiss/source/devices/ftp/deviceHandler-FTP.c b/cube/swiss/source/devices/ftp/deviceHandler-FTP.c index a74e15ca..751d294f 100644 --- a/cube/swiss/source/devices/ftp/deviceHandler-FTP.c +++ b/cube/swiss/source/devices/ftp/deviceHandler-FTP.c @@ -77,10 +77,7 @@ void init_ftp() { if(ftp_initialized) { return; } - - //const char* name, const char *user, const char *password, const char *share, const char *hostname, unsigned short port, bool ftp_passive - //res = ftpInitDevice("ftp", &swissSettings.smbUser[0], &swissSettings.smbPassword[0], &swissSettings.smbShare[0], &swissSettings.smbServerIp[0]); - res = ftpInitDevice("ftp", "anonymous", "1234", "/", "137.99.26.52", 21, false); + res = ftpInitDevice("ftp", swissSettings.ftpUserName, swissSettings.ftpPassword, "/", swissSettings.ftpHostIp, swissSettings.ftpPort, swissSettings.ftpUsePasv); print_gecko("ftpInitDevice %i \r\n",res); if(res) { ftp_initialized = 1; @@ -93,14 +90,14 @@ void init_ftp() { s32 deviceHandler_FTP_readDir(file_handle* ffile, file_handle** dir, u32 type){ // We need at least a share name and ip addr in the settings filled out - //if(!strlen(&swissSettings.smbShare[0]) || !strlen(&swissSettings.smbServerIp[0])) { - // DrawFrameStart(); - // sprintf(txtbuffer, "Check Samba Configuration"); - // DrawMessageBox(D_FAIL,txtbuffer); - // DrawFrameFinish(); - // wait_press_A(); - // return SMB_SMBCFGERR; - //} + if(!strlen(&swissSettings.ftpHostIp[0])) { + DrawFrameStart(); + sprintf(txtbuffer, "Check FTP Configuration in swiss.ini"); + DrawMessageBox(D_FAIL,txtbuffer); + DrawFrameFinish(); + wait_press_A(); + return SMB_SMBCFGERR; + } if(!net_initialized) { //Init if we have to DrawFrameStart();