Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void __userpurge CField::OnPacket(int this@<ecx>, int a2@<edi>, int a3@<esi>, int a4, void *iPacket)
- {
- int v5; // esi
- unsigned __int8 v6; // al
- _DWORD *v7; // ecx
- int v8; // ecx
- int v9; // ecx
- int v10; // ecx
- int v11; // esi
- _DWORD *v12; // eax
- char v13; // al
- _DWORD *v14; // ecx
- void *v15; // esi
- int v16; // eax
- char v17; // al
- int *v18; // esi
- _DWORD *v19; // ecx
- int v20; // [esp-14h] [ebp-14h] BYREF
- void *v21; // [esp-10h] [ebp-10h]
- int v22; // [esp-Ch] [ebp-Ch]
- int v23; // [esp-8h] [ebp-8h]
- int v24; // [esp-4h] [ebp-4h]
- if ( a4 > 0x18D )
- {
- if ( a4 == 0x1C1 )
- {
- sub_A55B50((int)iPacket);
- }
- else if ( a4 == 0x1C2 )
- {
- CWvsContext::OnSetLogoutGiftConfig((int *)dword_D050C0, (int)iPacket);
- }
- else
- {
- LABEL_42:
- if ( (unsigned int)(a4 - 0xAE) <= 0x6F )
- {
- if ( a4 == 0xAE )
- {
- CUserPool::OnUserEnterField((_DWORD *)dword_D09584, (int)iPacket);
- }
- else if ( a4 == 0xAF )
- {
- CUserPool::OnUserLeaveField((_DWORD *)dword_D09584, (int)iPacket);
- }
- else if ( (unsigned int)(a4 - 0xB0) > 0x1E )
- {
- if ( (unsigned int)(a4 - 0xCF) <= 0x15 )
- {
- v24 = a3;
- v23 = a2;
- v17 = CInPacket::Decode4((int)iPacket);
- v18 = (int *)sub_9CDB10(v17);
- if ( v18 && !*(_DWORD *)(dword_D050C0 + 14452) )
- {
- if ( !v18[282] )
- {
- switch ( a4 )
- {
- case 0xD0:
- case 0xD1:
- case 0xD2:
- case 0xD3:
- CUserRemote::OnAttack((int)v18, a4, (int)iPacket);
- break;
- case 0xD4:
- CUserRemote::OnSkillPrepare(v18, (int)iPacket);
- break;
- case 0xD5:
- CUserRemote::OnMovingShootAttackPrepare((int)v18, (int)iPacket);
- break;
- case 0xD6:
- CUserRemote::OnSkillCancel(v18, (int *)iPacket);
- break;
- case 0xD7:
- CUserRemote::OnHit(v18, (int)iPacket);
- break;
- case 0xD8:
- CUser::OnEmotion(v18, (int)iPacket);
- break;
- case 0xD9:
- CUserRemote::OnSetActiveEffectItem(iPacket);
- break;
- case 0xDA:
- CUserRemote::OnShowUpgradeTombEffect(iPacket);
- break;
- case 0xDD:
- CUser::OnEffect(v18, (int)iPacket);
- break;
- case 0xE3:
- sub_9D7400(v18, (int)iPacket);
- break;
- case 0xE4:
- CUserRemote::OnThrowGrenade((int)iPacket);
- break;
- default:
- break;
- }
- }
- switch ( a4 )
- {
- case 0xCF:
- CUserRemote::OnMove(v18, (int)iPacket);
- break;
- case 0xDB:
- CUserRemote::OnSetActivePortableChair(v18, (int)iPacket);
- break;
- case 0xDC:
- CUserRemote::OnAvatarModified(v18, (int)iPacket);
- break;
- case 0xDE:
- CUserRemote::OnSetTemporaryStat(v18, (int)iPacket);
- break;
- case 0xDF:
- CUserRemote::OnResetTemporaryStat(v18, (int)iPacket);
- break;
- case 0xE0:
- CUserRemote::OnReceiveHP(v18, (int)iPacket);
- break;
- case 0xE1:
- CUserRemote::OnGuildNameChanged((int)iPacket);
- break;
- case 0xE2:
- CUserRemote::OnGuildMarkChanged((int)v18, (int)iPacket);
- break;
- default:
- return;
- }
- }
- }
- else if ( (unsigned int)(a4 - 229) <= 0x37 )
- {
- v19 = *(_DWORD **)(dword_D09584 + 8);
- if ( v19 )
- {
- switch ( a4 )
- {
- case 0xE5:
- CUserLocal::OnSitResult(v19, (int)iPacket);
- break;
- case 0xE6:
- CUser::OnEmotion(v19, (int)iPacket);
- break;
- case 0xE7:
- CUser::OnEffect(v19, (int)iPacket);
- break;
- case 0xE8:
- CUserLocal::OnTeleport(v19, (int)iPacket);
- break;
- case 0xEA:
- CUserLocal::OnMesoGive_Succeeded_((int)iPacket);
- break;
- case 0xEB:
- UserLocal::OnMesoGive_Failed(v19, (int)iPacket);
- break;
- case 0xEC:
- CUserLocal::OnFieldFadeInOut((char *)v19, (int)iPacket);
- break;
- case 0xED:
- CUserLocal::OnFieldFadeOutForce((int)iPacket);
- break;
- case 0xEE:
- CUserLocal::OnRandomMesobag_Succeeded((int)iPacket);
- break;
- case 0xEF:
- CUserLocal::OnRandomMesobag_Failed(v19, (int)iPacket);
- break;
- case 0xF0:
- CUserLocal::OnQuestResult((int)iPacket);
- break;
- case 0xF1:
- CUserLocal::OnNotifyHPDecByField((int)iPacket);
- break;
- case 0xF2:
- sub_993760(v19, (char *)iPacket);
- break;
- case 0xF3:
- CUserLocal::OnBalloonMsg(v19, (int)iPacket);
- break;
- case 0xF4:
- CUserLocal::OnPlayEventSound((char *)iPacket);
- break;
- case 0xF5:
- CUserLocal::OnPlayMinigameSound((int)iPacket);
- break;
- case 0xF6:
- sub_995910(iPacket);
- break;
- case 0xF7:
- CUserLocal::OnMakerResult((char **)iPacket);
- break;
- case 0xF8:
- sub_982950((int)iPacket);
- break;
- case 0xF9:
- CUserLocal::OnOpenClassCompetitionPage((int)iPacket);
- break;
- case 0xFA:
- CUserLocal::OnOpenUI((int)iPacket);
- break;
- case 0xFB:
- CUserLocal::OnOpenUIWithOption((int)iPacket);
- break;
- case 0xFC:
- CUserLocal::OnSetDirectionMode(v19, (int)iPacket);
- break;
- case 0xFD:
- CUserLocal::OnSetStandAloneMode((int)iPacket);
- break;
- case 0xFE:
- CUserLocal::OnHireTutor(v19, (unsigned int *)iPacket);
- break;
- case 0xFF:
- CUserLocal::OnTutorMsg(v19, (int)iPacket);
- break;
- case 0x100:
- CUserLocal::OnIncComboResponse(v19, (int)iPacket);
- break;
- case 0x101:
- sub_99B300(v19, (int)iPacket);
- break;
- case 0x102:
- sub_998CC0((int)iPacket);
- break;
- case 0x103:
- sub_98DC00(v19, (int)iPacket);
- break;
- case 0x104:
- CUser::OnRandomEmotion(iPacket);
- break;
- case 0x105:
- CUserLocal::OnResignQuestReturn((int)iPacket);
- break;
- case 0x106:
- CUserLocal::OnPassMateName((int)iPacket);
- break;
- case 0x107:
- CUserLocal::OnRadioSchedule((int)iPacket);
- break;
- case 0x108:
- CUserLocal::OnOpenSkillGuide(iPacket);
- break;
- case 0x109:
- CUserLocal::OnNoticeMsg((int)iPacket);
- break;
- case 0x10A:
- CUserLocal::OnChatMsg((int)iPacket);
- break;
- case 0x10B:
- CUserLocal::OnBuffzoneEffect((int)iPacket);
- break;
- case 0x10C:
- sub_982A60((int)iPacket);
- break;
- case 0x10D:
- CUserLocal::OnTimeBombAttack(v19, (int)iPacket);
- break;
- case 0x10E:
- CUser::OnPassiveMove(v19, (int)iPacket);
- break;
- case 0x10F:
- CUserLocal::OnFollowCharacterFailed(iPacket);
- break;
- case 0x110:
- CUserLocal::OnVengeanceSkillApply(iPacket);
- break;
- case 0x111:
- v19[4547] = 1;
- break;
- case 0x112:
- if ( dword_D0F980 )
- sub_7C7450((unsigned int *)dword_D0F980, iPacket);
- break;
- case 0x113:
- sub_998B40(v19, (int)iPacket);
- break;
- case 0x114:
- sub_982B60((int)iPacket);
- break;
- case 0x115:
- sub_99E350((int)iPacket);
- break;
- case 0x116:
- sub_5777A0(v19 + 4447, (int)iPacket);
- break;
- case 0x117:
- CUserLocal::OnQuestGuideResult((int)iPacket);
- break;
- case 0x118:
- sub_98DDC0((int)iPacket);
- break;
- case 0x119:
- sub_98DF90(v19, (int)iPacket);
- break;
- case 0x11A:
- sub_98F7B0((int)iPacket);
- break;
- case 0x11B:
- sub_982C60((int)iPacket);
- break;
- case 0x11C:
- CUserLocal::OnSkillCooltimeSet((int)iPacket);
- break;
- default:
- return;
- }
- }
- }
- }
- else
- {
- CUserPool::OnUserCommonPacket((_DWORD *)dword_D09584, a4, (int)iPacket);
- }
- }
- else if ( (unsigned int)(a4 - 286) > 5 )
- {
- if ( (unsigned int)(a4 - 292) <= 0x1A )
- {
- switch ( a4 )
- {
- case 0x124:
- CMobPool::OnMobEnterField(iPacket);
- break;
- case 0x125:
- CMobPool::OnMobLeaveField(iPacket);
- break;
- case 0x126:
- CMobPool::OnMobChangeController(iPacket);
- break;
- case 0x131:
- CMobPool::OnMobCrcKeyChanged(iPacket);
- break;
- default:
- if ( (unsigned int)(a4 - 0x127) <= 0x16 )
- {
- v24 = a3;
- v23 = a2;
- v13 = CInPacket::Decode4((int)iPacket);
- v14 = (_DWORD *)sub_441250(v13);
- if ( v14 )
- {
- if ( a4 == 0x138 )
- {
- CMob::OnEscortStopEndPermmision(v14);
- }
- else
- {
- switch ( a4 )
- {
- case 0x127:
- CMob::OnMove((int)iPacket);
- break;
- case 0x128:
- CMob::OnCtrlAck(v14, (int)iPacket);
- break;
- case 0x12A:
- CMob::OnStatSet(v14, (int)iPacket);
- break;
- case 0x12B:
- CMob::OnStatReset(v14, (int)iPacket);
- break;
- case 0x12C:
- CMob::OnSuspendReset(iPacket);
- break;
- case 0x12D:
- CMob::OnAffected(iPacket);
- break;
- case 0x12E:
- CMob::OnDamaged(iPacket);
- break;
- case 0x12F:
- CMob::OnSpecialEffectBySkill(v14, (void **)iPacket);
- break;
- case 0x132:
- CMob::OnHPIndicator(v14, (int)iPacket);
- break;
- case 0x133:
- CMob::OnCatchEffect(iPacket);
- break;
- case 0x134:
- CMob::OnEffectByItem(iPacket);
- break;
- case 0x135:
- CMob::OnMobSpeaking(iPacket);
- break;
- case 0x136:
- CMob::OnMobSkillDelay(v14, (int)iPacket);
- break;
- case 0x137:
- CMob::OnEscortFullPath(v14, (int)iPacket);
- break;
- case 0x139:
- CMob::OnEscortStopSay(v14, (int)iPacket);
- break;
- case 0x13A:
- CMob::OnEscortReturnBefore(v14, iPacket);
- break;
- case 0x13B:
- CMob::OnNextAttack(v14, (int)iPacket);
- break;
- case 0x13C:
- CMob::OnMobTeleportRequest(v14, (int)iPacket);
- break;
- case 0x13D:
- CMob::OnMobAttackedByMob(v14, (int)iPacket);
- break;
- default:
- return;
- }
- }
- }
- }
- break;
- }
- }
- else if ( (unsigned int)(a4 - 319) > 7 )
- {
- if ( (unsigned int)(a4 - 327) <= 2 )
- {
- switch ( a4 )
- {
- case 0x147:
- CEmployeePool::OnEmployeeEnterField(dword_D0B9F0, a3, (int)iPacket);
- break;
- case 0x148:
- CEmployeePool::OnEmployeeLeaveField(iPacket);
- break;
- case 0x149:
- CEmployeePool::OnEmployeeMiniRoomBalloon((int)iPacket);
- break;
- }
- }
- else if ( (unsigned int)(a4 - 330) <= 2 )
- {
- if ( a4 == 0x14A )
- {
- CDropPool::OnDropEnterField((void *)dword_D0B990, (int)iPacket);
- }
- else if ( a4 == 0x14C )
- {
- CDropPool::OnDropLeaveField((int)iPacket);
- }
- }
- else if ( (unsigned int)(a4 - 333) <= 2 )
- {
- switch ( a4 )
- {
- case 0x14D:
- v24 = 0;
- v23 = 0;
- v22 = 0;
- v21 = 0;
- v20 = dword_D0BA94;
- v12 = (_DWORD *)sub_794940();
- sub_429CE0(v12, (int)&v20, 496);
- sub_9F6190(v20, v21, v22, v23, v24);
- break;
- case 0x14E:
- CMessageBoxPool::OnMessageBoxEnterField((void *)dword_D0BA94, (int)iPacket);
- break;
- case 0x14F:
- CMessageBoxPool::OnMessageBoxLeaveField(iPacket);
- break;
- }
- }
- else if ( (unsigned int)(a4 - 336) <= 1 )
- {
- if ( a4 == 0x150 )
- {
- CAffectedAreaPool::OnAffectedAreaCreated((_DWORD *)dword_D0952C, (int)iPacket);
- }
- else if ( a4 == 0x151 )
- {
- CAffectedAreaPool::OnAffectedAreaRemoved(iPacket);
- }
- }
- else if ( (unsigned int)(a4 - 338) <= 1 )
- {
- if ( a4 == 0x152 )
- {
- CTownPortalPool::OnTownPortalCreated((void *)dword_D0BA98, (int *)iPacket);
- }
- else if ( a4 == 0x153 )
- {
- CTownPortalPool::OnTownPortalRemoved(iPacket);
- }
- }
- else if ( (unsigned int)(a4 - 340) <= 1 )
- {
- if ( a4 == 0x154 )
- {
- COpenGatePool::OnOpenGateCreated((void *)dword_D0BA9C, (int)iPacket);
- }
- else if ( a4 == 0x155 )
- {
- COpenGatePool::OnOpenGateRemoved(iPacket);
- }
- }
- else if ( (unsigned int)(a4 - 345) <= 3 )
- {
- switch ( a4 )
- {
- case 0x159:
- CReactorPool::OnReactorChangeState((int)iPacket);
- break;
- case 0x15A:
- CReactorPool::OnReactorMove((int)iPacket);
- break;
- case 0x15B:
- CReactorPool::OnReactorEnterField((void *)dword_D0BA80, (int *)iPacket);
- break;
- case 0x15C:
- CReactorPool::OnReactorLeaveField((int)iPacket);
- break;
- default:
- return;
- }
- }
- else if ( a4 == 0x176 )
- {
- CScriptMan::OnPacket((_DWORD *)dword_D0BA90, (int)iPacket);
- }
- else if ( (unsigned int)(a4 - 414) <= 3 )
- {
- v24 = a3;
- v11 = dword_D0B85C;
- switch ( a4 )
- {
- case 0x19E:
- CFuncKeyMappedMan::OnInit((int *)dword_D0B85C, (int)iPacket);
- break;
- case 0x19F:
- sub_576ED0((_DWORD *)dword_D0B85C, (int)iPacket);
- break;
- case 0x1A0:
- sub_576F00((_DWORD *)dword_D0B85C, (int)iPacket);
- break;
- case 0x1A1:
- *(_DWORD *)(v11 + 1336) = CInPacket::Decode4((int)iPacket);
- break;
- default:
- return;
- }
- }
- else if ( (unsigned int)(a4 - 375) > 1 )
- {
- if ( (unsigned int)(a4 - 380) > 1 )
- {
- if ( (unsigned int)(a4 - 136) > 2 )
- {
- if ( (unsigned int)(a4 - 139) <= 2 )
- {
- switch ( a4 )
- {
- case 0x8B:
- CMapLoadable::OnSetBackEffect((int)iPacket);
- break;
- case 0x8C:
- CMapLoadable::OnSetMapObjectVisible((int)iPacket);
- break;
- case 0x8D:
- CMapLoadable::OnClearBackEffect((char *)(this - 8));
- break;
- }
- }
- else if ( (unsigned int)(a4 - 377) > 1 )
- {
- if ( a4 < 426 || a4 > 428 )
- {
- if ( (unsigned int)(a4 - 429) <= 4 )
- {
- v24 = a3;
- v5 = dword_D09980;
- switch ( a4 )
- {
- case 0x1AE:
- CBattleRecordMan::OnDotDamageInfo((_DWORD *)dword_D09980, (int)iPacket);
- break;
- case 0x1AF:
- v6 = CInPacket::Decode1((int)iPacket);
- *(_DWORD *)(v5 + 12) = v6;
- if ( !v6 )
- {
- CWvsContext::UI_Close(dword_D050C0, 0x23u);
- *(_DWORD *)(v5 + 8) = 0;
- }
- break;
- case 0x1B0:
- sub_4707D0((_DWORD *)dword_D09980, (int)iPacket);
- break;
- }
- }
- else if ( (unsigned int)(a4 - 0x1B5) > 3 )
- {
- if ( (unsigned int)(a4 - 0x1B9) > 3 )
- {
- if ( (unsigned int)(a4 - 0x1BD) > 3 )
- {
- if ( (unsigned int)(a4 - 0x156) <= 2 )
- {
- switch ( a4 )
- {
- case 0x156:
- sub_581600((void *)dword_D0BAA0, (int *)iPacket);
- break;
- case 0x157:
- sub_5812D0((int)iPacket);
- break;
- case 0x158:
- sub_5805D0((int)iPacket);
- break;
- }
- }
- }
- else
- {
- v10 = this - 8;
- if ( *(_DWORD *)(v10 + 636) )
- (*(void (__thiscall **)(_DWORD, int, void *))(**(_DWORD **)(v10 + 636) + 60))(
- *(_DWORD *)(v10 + 636),
- a4,
- iPacket);
- }
- }
- else
- {
- v9 = this - 8;
- if ( *(_DWORD *)(v9 + 632) )
- (*(void (__thiscall **)(_DWORD, int, void *))(**(_DWORD **)(v9 + 632) + 60))(
- *(_DWORD *)(v9 + 632),
- a4,
- iPacket);
- }
- }
- else
- {
- v8 = dword_D0BAA4;
- switch ( a4 )
- {
- case 0x1B5:
- CMapleTVMan::OnSetMessage(dword_D0BAA4, (int)iPacket);
- break;
- case 0x1B6:
- *(_DWORD *)(dword_D0BAA4 + 8) = 0;
- *(_DWORD *)(v8 + 12) = 1;
- *(_DWORD *)(v8 + 744) = 0;
- break;
- case 0x1B7:
- CMapleTVMan::OnSendMessageResult((int)iPacket);
- break;
- default:
- return;
- }
- }
- }
- }
- else
- {
- CAdminShopDlg::OnPacket((int *)a4, (int)iPacket);
- }
- }
- else
- {
- CStage::OnPacket((char *)this, a4, (int)iPacket);
- }
- }
- else
- {
- CStoreBankDlg::OnPacket((int *)a4, (int)iPacket);
- }
- }
- else
- {
- CShopDlg::OnPacket(a4, (int)iPacket);
- }
- }
- else
- {
- CNpcPool::OnPacket(a2, (_DWORD *)dword_D0BA88, a4, (char *)iPacket);
- }
- }
- else
- {
- v24 = a3;
- v23 = a2;
- v15 = (void *)dword_D0BA84;
- v16 = CInPacket::Decode4((int)iPacket);
- switch ( a4 )
- {
- case 0x11E:
- CSummonedPool::OnCreated(v15, v16, (char *)iPacket);
- break;
- case 0x11F:
- CSummonedPool::OnRemoved(v16, (int)iPacket);
- break;
- case 0x120:
- CSummonedPool::OnMove(v16, (int)iPacket);
- break;
- case 0x121:
- CSummonedPool::OnAttack(v16, iPacket);
- break;
- case 0x122:
- CSummonedPool::OnSkill(v16, iPacket);
- break;
- case 0x123:
- CSummonedPool::OnHit(v16, (int)iPacket);
- break;
- default:
- return;
- }
- }
- }
- }
- else if ( a4 == 0x18D )
- {
- CParcelDlg::OnPacket((int)iPacket);
- }
- else
- {
- switch ( a4 )
- {
- case 0x8E:
- CField::OnTransferFieldReqIgnored((int *)iPacket);
- break;
- case 0x8F:
- CField::OnTransferChannelReqIgnored((int)iPacket);
- break;
- case 0x90:
- CField::OnFieldSpecificData((void *)(this - 8), (int)iPacket);
- break;
- case 0x91:
- CField::OnGroupMessage((int)iPacket);
- break;
- case 0x92:
- CField::OnWhisper((LONG *)(this - 8), (int)iPacket);
- break;
- case 0x93:
- CField::OnSummonItemInavailable((int)iPacket);
- break;
- case 0x94:
- CField::OnFieldEffect((void *)(this - 8), (int)iPacket);
- break;
- case 0x95:
- CField::OnFieldObstacleOnOff((int)iPacket);
- break;
- case 0x96:
- CField::OnFieldObstacleOnOffStatus((int)iPacket);
- break;
- case 0x97:
- CField::OnFieldObstacleAllReset((_DWORD *)(this - 8), (int)iPacket);
- break;
- case 0x98:
- sub_5311D0((int)iPacket);
- break;
- case 0x99:
- CField::OnBlowWeather((int)iPacket);
- break;
- case 0x9A:
- CField::OnPlayJukeBox(this - 8, (int)iPacket);
- break;
- case 0x9B:
- CField::OnAdminResult((int)iPacket);
- break;
- case 0x9C:
- CField::OnQuiz((int)iPacket);
- break;
- case 0x9D:
- CField::OnDesc((_DWORD *)(this - 8), (int)iPacket);
- break;
- case 0x9E:
- (*(void (__thiscall **)(int, void *))(*(_DWORD *)(this - 8) + 36))(this - 8, iPacket);
- break;
- case 0xA1:
- CField::OnSetQuestClear((int)iPacket);
- break;
- case 0xA2:
- CField::OnSetQuestTime((int)iPacket);
- break;
- case 0xA3:
- CField::OnSetObjectState((int)iPacket);
- break;
- case 0xA4:
- v7 = *(_DWORD **)(this + 520);
- if ( v7 )
- CWnd::Destroy(v7);
- break;
- case 0xA6:
- CField::OnStalkResult((int)iPacket);
- break;
- case 0xA9:
- CQuickslotKeyMappedMan::OnInit((int *)dword_D0B938, (int)iPacket);
- break;
- case 0xAA:
- CField::OnFootHoldInfo((int)iPacket);
- break;
- case 0xAB:
- CField::OnRequestFootHoldInfo((_DWORD *)(this - 8), (int)iPacket);
- break;
- case 0xAD:
- sub_53B4F0((_DWORD *)(this - 8), iPacket);
- break;
- case 0xC0:
- return;
- case 0x171:
- CField::OnHontaleTimer((char *)iPacket);
- break;
- case 0x173:
- CField::OnChaosZakumTimer((char)iPacket);
- break;
- case 0x174:
- CField::OnHontailTimer((char *)iPacket);
- break;
- case 0x175:
- CField::OnZakumTimer((char *)iPacket);
- break;
- case 0x17B:
- CTrunkDlg::OnPacket((int)iPacket);
- break;
- case 0x17E:
- CRPSGameDlg::OnPacket((int)iPacket);
- break;
- case 0x17F:
- CUIMessenger::OnPacket((char *)iPacket);
- break;
- case 0x180:
- CMiniRoomBaseDlg::OnPacketBase((int)iPacket);
- break;
- default:
- goto LABEL_42;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement