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; }
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; } }