XIncludeFile "MatchWin.pb" XIncludeFile "MatchGlob.pb" XIncludeFile "IniFile.pb" XIncludeFile "NewGame.pb" XIncludeFile "NormsFTP.pb" XIncludeFile "BeginChat.pb" ;XIncludeFile "StartUp.pb" ;this handles host setup options Procedure UpdateFlags() msg.s=Left(GetGadgetText(#Host_Method),2) msg=msg+" "+Left(GetGadgetText(#Map_Type),2) msg=msg+" "+Left(GetGadgetText(#Game_Type),2) msg=msg+" "+Left(GetGadgetText(#Display_Opts),2) SetGadgetText(#Total_Flags,msg) EndProcedure Procedure.l HandlePrepHostEvent(GID.l) reply.l=0 Select GID Case #Host_Help n=RunProgram("Notepad.exe","Setup.txt","") Case #Host_Method UpDateFlags() Case #Map_Type UpDateFlags() Case #Game_Type UpDateFlags() Case #Display_Opts UpDateFlags() Case #Post_Game ;save current game settings in master ini file IniFile=MainPath+"Masterlst.ini" writeIniString(NewGameIni,"Version",Version) WriteIniString(NewGameIni,"Flags",GetGadgetText(#Total_Flags)) WriteIniString(NewGameIni,"UserPort",GetGadgetText(#UsePort)) WriteIniString(NewGameIni,"ProxyISP",GetGadgetText(#ProxyISP)) WriteIniString(NewGameIni,"ProxyPort",GetGadgetText(#Gadget_33)) WriteIniString(NewGameIni,"Game",GetGadgetText(#SG_Name)) WriteIniString(NewGameIni,"Player",GetGadgetText(#SG_Player)) WriteInt(NewGameIni,"Host",GetGadgetState(#Host_Method)) writeint(NewGameIni,"Join",GetGadgetState(#Join_Flag)) WriteInt(NewGameIni,"Map",GetGadgetState(#Map_Type)) WriteInt(NewGameIni,"GameType",GetGadgetState(#Game_Type)) WriteInt(NewGameIni,"Display",GetGadgetState(#Display_Opts)) ;MessageRequester("test","Version="+Version,0) ;create file to upload msg.s=MainPath+GetGadgetText(#SG_Name)+".host" If CreatePreferences(msg) WritePreferenceString("Version",Version) WritePreferenceString("Status","Waiting") WritePreferenceString("MyISP",GetGadgetText(#MyISP)) WritePreferenceString("UserPort",GetGadgetText(#UsePort)) WritePreferenceString("ProxyISP",GetGadgetText(#ProxyISP)) WritePreferenceString("ProxyPort",GetGadgetText(#Gadget_33)) ;WritePreferenceString("Game",GetGadgetText(#SG_Name)) WritePreferenceString("Game",NewGameIni) WritePreferenceString("Player","1") WritePreferenceString("Host",GetGadgetText(#Join_Flag)) temp.s=Trim(GetGadgetText(#Map_Type)) ;temp=Right(temp,Len(temp)-3) WritePreferenceString("Map",temp) temp.s=Trim(GetGadgetText(#Game_Type)) ;temp=Right(temp,Len(temp)-3) WritePreferenceString("GameType",temp) ClosePreferences() File\FileToSend=msg File\FileName=GetGadgetText(#SG_Name)+".host" UploadFileHost(@File) If File\hInternetConnect BeginChat(1) SetForground() Else MessageRequester("Upload Error","Unable to upload file",#MB_ICONSTOP) EndIf Else MessageRequester("Upload error","Unable to create upload file",#MB_ICONSTOP) EndIf Case #HO_Exit CloseWindow(#Prep_Host) reply=1 Case #SH_About MessageRequester("Norm's MatchMaker","Prep Host created 31sept2003 by Norm Perry",#MB_ICONINFORMATION) EndSelect ProcedureReturn reply EndProcedure Procedure PrepHost() Open_Prep_Host() ;SetForground() ;GetCurrentpath() ; ;scan for local ISP info ; ExamineIPAddresses() r=NextIPAddress() SetGadgetText(#MyISP,IPString(r)) ; ;load game .ini file ;will require line by line reading ; IniFile=MainPath+"Masterlst.ini" SetGadgetText(#Total_Flags,PeekS(GetString(NewGameINI,"Flags",""))) SetGadgetText(#UsePort,PeekS(GetString(NewGameINI,"UserPort",""))) SetGadgetText(#ProxyISP,PeekS(GetString(NewGameINI,"ProxyISP",""))) SetGadgetText(#Gadget_33,PeekS(GetString(NewGameINI,"ProxyPort",""))) SetGadgetText(#SG_Name,PeekS(GetString(NewGameINI,"Game","MyGame"))) SetGadgetText(#SG_Player,PeekS(GetString(NewGameIni,"Player","MyName"))) msg.s=PeekS(GetString(NewGameIni,"Path","")) If OpenPreferences(msg) If PreferenceGroup("Host Flags") For n=Asc("A") To Asc("Z") flag$=ReadPreferenceString("/"+Chr(n),"") If Len(Trim(flag$)) AddGadgetItem(#Host_Method,-1,"/"+Chr(n)+" = "+flag$) AddGadgetItem(#Join_Flag,-1,"/"+Chr(n)+" = "+flag$) EndIf Next n EndIf If PreferenceGroup("Maps") For n=1 To 9 flag$=ReadPreferenceString(Str(n),"") flag$=Trim(flag$) If Len(flag$) AddGadgetItem(#Map_Type,-1,flag$) EndIf Next n EndIf If PreferenceGroup("Types") For n=1 To 9 flag$=ReadPreferenceString(Str(n),"") flag$=Trim(flag$) If Len(flag$) AddGadgetItem(#Game_Type,-1,flag$) EndIf Next n EndIf If PreferenceGroup("Display Options") For n=1 To 9 flag$=ReadPreferenceString(Str(n),"") flag$=Trim(flag$) If Len(flag$) AddGadgetItem(#Display_Opts,-1,flag$) EndIf Next n EndIf EndIf SetGadgetState(#Host_Method,GetInt(NewGameIni,"Host",0)) SetGadgetState(#Join_Flag,getint(NewGameIni,"Join",0)) SetGadgetState(#Map_Type,GetInt(NewGameIni,"Map",0)) SetGadgetState(#Game_Type,GetInt(NewGameIni,"GameType",0)) SetGadgetState(#Display_Opts,GetInt(NewGameIni,"Display",0)) Version=PeekS(GetString(NewGameINI,"Version","")) If Len(Version)<1 IniFile=msg Version=PeekS(GetString("Specs","Version","")) IniFile=MainPath+"Masterlst.ini" WriteIniString(NewGameIni,"Version",Version) EndIf ;MessageRequester("Version",Version,0) quit.l=0 Repeat SetForground() If File\ThreadActive ;upload complete File\ThreadActive=0 FTPDisconnect(@File) EndIf Select WaitWindowEvent() Case #PB_EVENT_CLOSEWINDOW quit=1 Case #PB_EVENT_GADGET quit=HandlePrepHostEvent(EventGadgetID()) EndSelect Until quit EndProcedure ; ExecutableFormat=Windows ; EOF