Example #1
0
ErrorStatus::FileError AFTFileDriver::Read(CStdioFile &File,PersistentModel& model)
{
	ErrorStatus::FileError errorMark = ErrorStatus::eFileOK;
	CString strData;
	File.ReadString(strData);
	if(CheckMark(strData))
	{
		AFTDriverMgr mgr;
		if(mgr.Read(File))
		{
			errorMark = m_ScenarioMgr.Read(mgr.GetScenarioMgr(),model.GetScenarioPersist());
		}
		else
		{
			
		}
	}
	else
	{
		errorMark = ErrorStatus::eFileTypeError;
	}
	return errorMark;
}
Example #2
0
Object *CreatePrefs(struct Toolbar_DataP *data)
{
  Object **objs = data->Gadgets;
  Object *textgroup, *imagegroup;
  Object *prefsgroup;

  static STRPTR LookStrings[4];
  static STRPTR BorderTypeStrings[4];
  static STRPTR SelectionModeStrings[4];
  static STRPTR PrecisionStrings[5];
  static STRPTR GhostEffectStrings[5];

  BorderTypeStrings[0] = LOCALE(MSG_BORDERTYPE_OLD, "Old");
  BorderTypeStrings[1] = LOCALE(MSG_BORDERTYPE_OFF, "Off");
  BorderTypeStrings[2] = LOCALE(MSG_BORDERTYPE_NEW,  "New");
  BorderTypeStrings[3] = NULL;

  SelectionModeStrings[0] = LOCALE(MSG_SELECTIONMODE_OLD, "Old");
  SelectionModeStrings[1] = LOCALE(MSG_SELECTIONMODE_OFF, "Off");
  SelectionModeStrings[2] = LOCALE(MSG_SELECTIONMODE_NEW,  "New");
  SelectionModeStrings[3] = NULL;

  LookStrings[0] = LOCALE(MSG_IMAGETEXT, "Image and Text");
  LookStrings[1] = LOCALE(MSG_IMAGEONLY, "Image only");
  LookStrings[2] = LOCALE(MSG_TEXTONLY,  "Text only");
  LookStrings[3] = NULL;

  PrecisionStrings[0] = LOCALE(MSG_EXACT, "Exact");
  PrecisionStrings[1] = LOCALE(MSG_IMAGE, "Image");
  PrecisionStrings[2] = LOCALE(MSG_ICON,  "Icon");
  PrecisionStrings[3] = LOCALE(MSG_GUI,   "GUI");
  PrecisionStrings[4] = NULL;

//  GhostEffectStrings[0] = LOCALE(MSG_DIMMMED,     "Dimmed"); // Temporarily disabled - remember +-1
  GhostEffectStrings[0] = LOCALE(MSG_LIGHT,       "Light Grid");
  GhostEffectStrings[1] = LOCALE(MSG_HEAVY,       "Heavy Grid");
  GhostEffectStrings[2] = LOCALE(MSG_SUPERLIGHT,  "Superlight Grid");
  GhostEffectStrings[3] = NULL;

  prefsgroup =
    VGroup,
      Child, VGroup,
        Child, HGroup,
//        MUIA_Group_SameWidth, TRUE,
/*********************************  General  *********************************/
          Child, HGroup,
            MUIA_Background, MUII_GroupBack,
            MUIA_Frame     , MUIV_Frame_Group,
            MUIA_FrameTitle, LOCALE(MSG_GENERAL, "General"),
            Child, RectangleObject, End,
            Child, VGroup,
              Child, RectangleObject, End,
              Child, objs[Look] = RadioObject,
  //                MUIA_FrameTitle, "Toolbar look",
                MUIA_Radio_Entries, LookStrings,
              End,
              Child, RectangleObject, End,
            End,
  //ghosttype
            Child, RectangleObject, End,
          End,

/*********************************  Image  *********************************/
          Child, imagegroup = HGroup,
            MUIA_Background, MUII_GroupBack,
            MUIA_Frame     , MUIV_Frame_Group,
            MUIA_FrameTitle, LOCALE(MSG_IMAGE, "Image"),
            Child, RectangleObject, End,
            Child, VGroup,
              Child, RectangleObject, End,
              Child, HGroup,
                Child, RectangleObject, End,
                Child, VGroup,
                  Child, Label(LOCALE(MSG_USEIMAGES1, "\33cUse ghosted/selected images")),
//                  Child, MUI_MakeObject(MUIO_Label, LOCALE(MSG_USEIMAGES2, "\33c(if they are available)"), MUIO_Label_Tiny),
                  Child, TextObject,
                    MUIA_Text_Contents, LOCALE(MSG_USEIMAGES2, "\33c(if they are available)"),
                    MUIA_Font, MUIV_Font_Tiny,
                  End,
                End,
                Child, objs[UseImages] = CheckMark(TRUE),
//                Child, RectangleObject, End,
              End,
              Child, ColGroup(2),
//              Child, HGroup,
                Child, Label(LOCALE(MSG_REMAP, "Remap Precision")),
                Child, objs[Precision] = Cycle(PrecisionStrings),
//              End,
//              Child, HGroup,
                Child, Label(LOCALE(MSG_GHOSTEFFECT, "Ghosting effect")),
                Child, objs[GhostEffect] = Cycle(GhostEffectStrings),
//              End,
              End,

              Child, RectangleObject, End,
            End,
            Child, RectangleObject, End,
          End,
        End,

/*********************************  Spacing  *********************************/
        Child, HGroup,
          Child, HGroup,
            MUIA_Background, MUII_GroupBack,
            MUIA_Frame     , MUIV_Frame_Group,
            MUIA_FrameTitle, LOCALE(MSG_SPACING, "Spacing"),
            Child, VGroup,
              Child, RectangleObject, End,
              Child, ColGroup(2),
                Child, Label(LOCALE(MSG_GROUPSPACE, "Group Space")),
                Child, objs[GroupSpace] = SliderObject,
                  MUIA_Slider_Min,   -1,
                  MUIA_Slider_Max,   50,
                End,
                Child, Label(LOCALE(MSG_TOOLSPACE, "Tool Space")),
                Child, objs[ToolSpace] = SliderObject,
                  MUIA_Slider_Min,   -1,
                  MUIA_Slider_Max,   10,
                End,
                Child, VGroup,
                  Child, Label(LOCALE(MSG_INNERSPACE, "\33cInner Space")),
//                  Child, MUI_MakeObject(MUIO_Label,LOCALE(MSG_INNERSPACE_WITH, "\33c(with tooltext)"), MUIO_Label_Tiny),
                  Child, TextObject,
                    MUIA_Text_Contents, LOCALE(MSG_INNERSPACE_WITH, "\33c(with tooltext)"),
                    MUIA_Font, MUIV_Font_Tiny,
                  End,
                End,
                Child, objs[InnerSpace_Text] = SliderObject,
                  MUIA_Slider_Min,   0,
                  MUIA_Slider_Max,   10,
                End,
                Child, VGroup,
                  Child, Label(LOCALE(MSG_INNERSPACE, "\33cInner Space")),
//                  Child, MUI_MakeObject(MUIO_Label,LOCALE(MSG_INNERSPACE_WITHOUT, "\33c(without tooltext)"), MUIO_Label_Tiny),
                  Child, TextObject,
                    MUIA_Text_Contents, LOCALE(MSG_INNERSPACE_WITHOUT, "\33c(without tooltext)"),
                    MUIA_Font, MUIV_Font_Tiny,
                  End,
                End,
                Child, objs[InnerSpace_NoText] = SliderObject,
                  MUIA_Slider_Min,   0,
                  MUIA_Slider_Max,   10,
                  MUIA_Disabled, TRUE,
                End,
  // some kind of relative mode
  // width: fixed/floating
              End,
              Child, RectangleObject, End,
            End,
          End,

  /*********************************  Text  *********************************/
          Child, textgroup = HGroup,
            MUIA_Background, MUII_GroupBack,
            MUIA_Frame     , MUIV_Frame_Group,
            MUIA_FrameTitle, LOCALE(MSG_TEXT, "Text"),
            Child, VGroup,
              Child, RectangleObject, End,
/*              Child, HGroup,
                Child, RectangleObject, End,
                Child, Label(LOCALE(MSG_PLACEMENT, "Placement")),
                Child, data->CY_Placement = Cycle(CY_textplacement),
//                Child, RectangleObject, End,
              End,
*/              Child, ColGroup(2),
//                Child, VGroup,
                  Child, Label(LOCALE(MSG_COLOR, "Text Color")),
//                End,
//                Child, VGroup,
                  Child, objs[ToolPen] = PoppenObject,
                    MUIA_Window_Title, LOCALE(MSG_ADJUST, "Adjust Text Color"),
                    MUIA_Draggable, TRUE,
                    MUIA_ShortHelp, LOCALE(MSG_COLOR_HELP, "Color of the tool texts."),
                  End,
                  Child, Label2(LOCALE(MSG_FONT, "Text Font")),
                  Child, data->FontASL = PopaslObject,
                    MUIA_Popstring_String, objs[ToolFont] = String(0,35),
                    MUIA_Popstring_Button, PopButton(MUII_PopUp),
                    MUIA_Popasl_Type , ASL_FontRequest,
                    ASLFO_TitleText  , LOCALE(MSG_SELECT, "Please select a text font..."),
                  End,
//                End,
              End,
              Child, RectangleObject, End,
            End,
          End,
        End,
// Sløringseffekt: Normal, 3D, ...
  End,
/*
      Child, HGroup,
        Child, HGroup,
          MUIA_Background, MUII_GroupBack,
          MUIA_Frame     , MUIV_Frame_Group,
          MUIA_FrameTitle, LOCALE(MSG_BORDERTYPE, "Border Type"),
          InnerSpacing(12, 12),
          Child, objs[BorderType] = Cycle(BorderTypeStrings),
        End,
        Child, VGroup,
          MUIA_Background, MUII_GroupBack,
          MUIA_Frame     , MUIV_Frame_Group,
          MUIA_FrameTitle, LOCALE(MSG_SELECTIONMODE, "Selection Border"),
          InnerSpacing(12, 12),
          Child, objs[SelectionMode] = Cycle(SelectionModeStrings),
          Child, HGroup,
            Child, Label2(LOCALE(MSG_AUTOACTIVE, "Show Active on Mousehi")),
            Child, objs[AutoActive] = CheckMark(TRUE),
          End,
        End,
      End,
*/



        Child, HGroup,


          Child, HGroup,
            MUIA_Background, MUII_GroupBack,
            MUIA_Frame     , MUIV_Frame_Group,
            MUIA_FrameTitle, LOCALE(MSG_BORDERTYPE, "Border Type"),
            Child, RectangleObject, End,
            Child, VGroup,
              Child, RectangleObject, End,
              Child, objs[BorderType] = Cycle(BorderTypeStrings),
              Child, RectangleObject, End,
            End,
            Child, RectangleObject, End,
          End,

          Child, HGroup,
            MUIA_Background, MUII_GroupBack,
            MUIA_Frame     , MUIV_Frame_Group,
            MUIA_FrameTitle, LOCALE(MSG_SELECTIONMODE, "Selection Border"),
            Child, RectangleObject, End,
            Child, VGroup,
              Child, RectangleObject, End,
              MUIA_Weight, 200,
              Child, objs[SelectionMode] = Cycle(SelectionModeStrings),
              Child, HGroup,
                Child, Label2(LOCALE(MSG_AUTOACTIVE, "Show Active on Mousehit")),
                Child, objs[AutoActive] = CheckMark(TRUE),
              End,            
              Child, RectangleObject, End,
            End,
            Child, RectangleObject, End,
          End,


        End,


      Child, TextObject,
        TextFrame,
        MUIA_Background, MUII_TextBack,
        MUIA_FixHeightTxt, "\n\n",
        MUIA_Text_Contents, ABOUTTEXT,
      End,
    End;

  if(prefsgroup)
  {
    DoMethod(objs[Look], MUIM_Notify, MUIA_Radio_Active, 0, textgroup, 6, MUIM_MultiSet, MUIA_Disabled, FALSE, textgroup, imagegroup, objs[InnerSpace_Text]);
    DoMethod(objs[Look], MUIM_Notify, MUIA_Radio_Active, 1, textgroup, 5, MUIM_MultiSet, MUIA_Disabled, TRUE, textgroup, objs[InnerSpace_Text]);
    DoMethod(objs[Look], MUIM_Notify, MUIA_Radio_Active, 2, textgroup, 5, MUIM_MultiSet, MUIA_Disabled, FALSE, textgroup, objs[InnerSpace_Text]);

    DoMethod(objs[Look], MUIM_Notify, MUIA_Radio_Active, 0, objs[InnerSpace_NoText], 3, MUIM_Set, MUIA_Disabled, TRUE);
    DoMethod(objs[Look], MUIM_Notify, MUIA_Radio_Active, 1, imagegroup, 5, MUIM_MultiSet, MUIA_Disabled, FALSE, imagegroup, objs[InnerSpace_NoText]);
    DoMethod(objs[Look], MUIM_Notify, MUIA_Radio_Active, 2, imagegroup, 5, MUIM_MultiSet, MUIA_Disabled, TRUE, imagegroup, objs[InnerSpace_NoText]);
  }

  return prefsgroup;
}
void CLANEntity_IsClanMember::Main()
{
	if(life ==0) return;

	switch(C_menuN)
	{
	case CLAN_isClanWon:

		switch(C_menuN2) {
		case 0:
			ANSdata.ret_val= -1;			

			WebDB.Resume() ;		//웹db를 재개한다.
			WebDB.isClanMember(cldata.szID,cldata.gserver,cldata.ChaName);		//이 id가 클랜원인지를 파악한다.						
			C_menuN2=1;
#ifdef CLAN_DEBUG
			DebugMessage("CLAN_isClanWon에서 WebDB.isClanMember(아이디 : %s,게임서버 : %s,캐릭터이름 : %s)",cldata.szID,cldata.gserver,cldata.ChaName);
#endif
			break;
		case 1:

			if(ANSdata.ret_val != -1) 
				ANSdata.ret_val= ANSdata.ret_val;			

			switch(ANSdata.ret_val) 
			{
			case 0://무등록   				
				WebDB.Suspend(); 
				if(bGetChaClan) ++nStatusCount;
				
				bIsLoading = FALSE;
				C_menuN2=0;
				C_menuN=CLAN_AllEnd;
				cldata.myPosition = CLANNO_REGESTER;
#ifdef CLAN_DEBUG
			DebugMessage("CLAN_isClanWon에서 무등록");
#endif     
#ifdef VOICE_CHAT
			   if(bCheckClan)
			   {
				   g_CtrlProcess.SetSelectCha(cldata.szID,cldata.ChaName,
					   NULL,0, cldata.myPosition);
				   //bCheckClan = FALSE;

			   }
#endif

				
				break;


			case 1://클랜원등록
				WebDB.Suspend(); //웹db 중지
				bIsLoading = FALSE;
				//ygy : 꼭 살릴것
				cldata.myPosition = CLANUSER;			//클랜원 포지션 코드는 100번임
				ParsingIsClanMember(ANSdata.ret_Buf);
				if(bGetChaClan)
				{
					if(CheckMark(bGetChaClan) ==1)
					{
						C_menuN2=0;
						C_menuN=CLAN_AllEnd;
						break;
					}
					else
					{
						WriteMyClanInfo();
					
						
					
						C_menuN2=0;
						C_menuN=MYCLAN_UPDATE;
					
					}
				}
				else
				{
						WriteMyClanInfo();				
						C_menuN2=0;
						C_menuN=MYCLAN_UPDATE;
				}
#ifdef VOICE_CHAT
				if(bCheckClan)
			    {
				   g_CtrlProcess.SetSelectCha(cldata.szID,cldata.ChaName,
					   cldata.name,(DWORD)atoi(cldata.ClanMark), cldata.myPosition);
				   //bCheckClan = FALSE;

			    }
#endif
				
#ifdef CLAN_DEBUG
			DebugMessage("CLAN_isClanWon에서 클랜원등록");
#endif				
				//C_menuN=CLAN_AllEnd;
				break;

			case 2://클랜장등록
				WebDB.Suspend(); //웹db 중지
				bIsLoading = FALSE;
				//ygy : 꼭 살릴것
				cldata.myPosition = CLANCHIP;				//클랜장 포지션 코드는 101번임
				ParsingIsClanMember(ANSdata.ret_Buf);
				cldata.isSubChip[0] = '0';
				if(bGetChaClan)
				{
					if(CheckMark(bGetChaClan) ==1)
					{
						C_menuN2=0;
						C_menuN=CLAN_AllEnd;
						break;
					}
					else
					{
						WriteMyClanInfo();
						C_menuN2=0;
						C_menuN=MYCLAN_UPDATE;
						//C_menuN=CLAN_AllEnd;
						
					}				
				}
				else
				{
						WriteMyClanInfo();
						C_menuN2=0;
						C_menuN=MYCLAN_UPDATE;
						//C_menuN=CLAN_AllEnd;
						
				}
				
#ifdef CLAN_DEBUG
			DebugMessage("CLAN_isClanWon에서 클랜장");
#endif				
#ifdef VOICE_CHAT
			if(bCheckClan)
			 {
				   g_CtrlProcess.SetSelectCha(cldata.szID,cldata.ChaName,
					   cldata.name,(DWORD)atoi(cldata.ClanMark), cldata.myPosition);
				   //bCheckClan = FALSE;

			 }
#endif
				
				
				break;
			case 4: //해체된 클랜원
				WebDB.Suspend(); 
				bIsLoading = FALSE;
				C_menuN2=0;
				C_menuN=CLAN_AllEnd;
				cldata.myPosition = CLANNO_REGESTER;
				if(bGetChaClan) 
				{
					++nStatusCount;
					bGetChaClan = FALSE;
				}
#ifdef CLAN_DEBUG
			DebugMessage("CLAN_isClanWon에서 클랜이해체된 클랜원");
#endif
#ifdef VOICE_CHAT
			if(bCheckClan)
			 {
				   g_CtrlProcess.SetSelectCha(cldata.szID,cldata.ChaName,
					   NULL,0, cldata.myPosition);
				   //bCheckClan = FALSE;

			 }
#endif
				break;
			
			case 3: //클랜이 해체됨  클랜 장
				WebDB.Suspend(); 
				ParsingIsClanMember2(ANSdata.ret_Buf);
				bIsLoading = FALSE;
				C_menuN2=0;
				C_menuN=CLAN_AllEnd;
				cldata.myPosition = CLANNO_REGESTER;
				if(bGetChaClan) 
				{
					++nStatusCount;
					bGetChaClan = FALSE;
				}
#ifdef CLAN_DEBUG
			DebugMessage("CLAN_isClanWon에서 클랜이 해체됨  클랜 장");
#endif
#ifdef VOICE_CHAT
			if(bCheckClan)
			 {
				   g_CtrlProcess.SetSelectCha(cldata.szID,cldata.ChaName,
					   NULL,0, cldata.myPosition);
				   //bCheckClan = FALSE;

			 }
#endif
				break;
			case 5: //부클랜칩일경우
				WebDB.Suspend(); //웹db 중지
				bIsLoading = FALSE;
				//ygy : 꼭 살릴것
				cldata.myPosition = CLAN_SUBCHIP;			//클랜원 포지션 코드는 100번임
				ParsingIsClanMember(ANSdata.ret_Buf);
				cldata.isSubChip[0] = '1';
				if(bGetChaClan)
				{
					if(CheckMark(bGetChaClan) ==1)
					{
						C_menuN2=0;
						C_menuN=CLAN_AllEnd;
						break;
					}
					else
					{
						WriteMyClanInfo();
					
						
					
						C_menuN2=0;
						C_menuN=MYCLAN_UPDATE;
					
					}
				}
				else
				{
						WriteMyClanInfo();				
						C_menuN2=0;
						C_menuN=MYCLAN_UPDATE;
				}
				
#ifdef CLAN_DEBUG
			DebugMessage("CLAN_isClanWon에서 클랜원등록");
#endif				
				
#ifdef VOICE_CHAT
			if(bCheckClan)
			 {
				   g_CtrlProcess.SetSelectCha(cldata.szID,cldata.ChaName,
					   cldata.name,(DWORD)atoi(cldata.ClanMark), cldata.myPosition);
				   //bCheckClan = FALSE;

			 }
#endif
				break;
			case 100:
				WebDB.Suspend();
				bIsLoading = FALSE;				
				cldata.myPosition = CLAN_NOCONNECT;
				C_menuN=CLAN_AllEnd;
				if(bGetChaClan) 
				{
					++nStatusCount;
					bGetChaClan = FALSE;
				}
#ifdef CLAN_DEBUG
			DebugMessage("CLAN_isClanWon에서 리턴코드 100");
#endif
				break;
			case ISAO_ERR_TCP_CONNECT:
				WebDB.Suspend();
				bIsLoading = FALSE;
				//ygy : 꼭 살릴것
				//wsprintf(szErrorMsg, szServerConnectErrorMsg);
				cldata.myPosition = CLAN_NOCONNECT;
				C_menuN=CLAN_AllEnd;
				menuInit(C_menuN);
				if(bGetChaClan) 
				{
					++nStatusCount;
					bGetChaClan = FALSE;
				}
#ifdef CLAN_DEBUG
			DebugMessage("CLAN_isClanWon에서 서버에 접속할수 없음");
#endif
				
				break;
			default:
				if(ANSdata.ret_val != -1) {		//전혀엉뚱한 답이 와서 에러가 났다.
					WebDB.Suspend();
					bIsLoading = FALSE;
					C_menuN2=0;
					C_menuN=CLAN_AllEnd;
					cldata.myPosition = CLAN_NOCONNECT;
					if(bGetChaClan) 
					{
						++nStatusCount;
						bGetChaClan = FALSE;
					}
#ifdef CLAN_DEBUG
			DebugMessage("CLAN_isClanWon에서 디폴트에러");
#endif
					}
				break;
				}
			break;
			}
		break;
		}
	
}