Maintenance: Resubmission of 16340 over main 047268c0 (conflict in UICashEmotionPack::GetPriceText resolved keeping main's new body).
Batch #16351 by ragnarok-clanker: no function's compiled code changes; checked with 784 compiled unit(s), including every includer of Source/Archive/GPak.h, Source/Client/Browser/BrowserCommandTarget.h, Source/Client/Browser/BrowserDocumentUI.h, Source/Client/Browser/BrowserInPlace.h, Source/Client/Browser/WebBrowser.h, Source/Client/Input/Language.h, Source/Client/Input/LanguageTC.h, Source/Client/Input/Mouse.h, Source/Client/Mode/CGameMode.h, Source/Client/Mode/CLoginMode.h, Source/Client/Replay.h, Source/Client/Session.h, Source/Client/Stove/StovePCSDK.h, Source/Contents/AchievementMgr.h, Source/Contents/Actors/CharacterRender.h, Source/Contents/Actors/EffectActors.h, Source/Contents/Actors/GameActor.h, Source/Contents/Actors/GndRiser.h, Source/Contents/Actors/GrannyGameActor.h, Source/Contents/Actors/MousePointer.h, Source/Contents/Actors/Npc.h, Source/Contents/Actors/Pc.h, Source/Contents/Actors/RenderObjectState.h, Source/Contents/Actors/Skill.h, Source/Contents/AdventureGuideMgr.h, Source/Contents/CashEmotionMgr.h, Source/Contents/ClanInfo.h, Source/Contents/Configuration/GameSettingsMgr.h, Source/Contents/EffectResourceSwitcher.h, Source/Contents/Effects/AcidifiedThrow.h, Source/Contents/Effects/ArrowEffect.h, Source/Contents/Effects/AxeBoomerang.h, Source/Contents/Effects/BlastForge.h, Source/Contents/Effects/CharacterParticleBundle.h, Source/Contents/Effects/DummyEffectLauncher.h, Source/Contents/Effects/EZ2STREffectEx.h, Source/Contents/Effects/Effect.h, Source/Contents/Effects/EffectActor.h, Source/Contents/Effects/EffectEmitter.h, Source/Contents/Effects/EffectPrimitiveState.h, Source/Contents/Effects/EffectTypes.h, Source/Contents/Effects/ElectricEffect.h, Source/Contents/Effects/EmitterEffect.h, Source/Contents/Effects/FortuneKissEffect.h, Source/Contents/Effects/MagicFloorEffect.h, Source/Contents/Effects/MandraAttackEffect.h, Source/Contents/Effects/MonsterSkillEffects.h, Source/Contents/Effects/MsgEffect.h, Source/Contents/Effects/Particle.h, Source/Contents/Effects/RagEffectState.h, Source/Contents/Effects/RichManKim.h, Source/Contents/Effects/SpriteParticle.h, Source/Contents/Effects/StarEffect.h, Source/Contents/Effects/WhirlwindEffect.h, Source/Contents/EnchantMgr.h, Source/Contents/FlyingShipRouteInfo.h, Source/Contents/Ground/GroundSpatial.h, Source/Contents/GuildInfo.h, Source/Contents/Hotkeys/InterfaceHotkey.h, Source/Contents/Items/ItemInfo.h, Source/Contents/Items/RuneSystem.h, Source/Contents/MapSkyMgr.h, Source/Contents/Models/ModelActor.h, Source/Contents/Movies/BinkMovie.h, Source/Contents/NavigationManager.h, Source/Contents/Party/PartyBookingMgr.h, Source/Contents/PetEvolutionMgr.h, Source/Contents/RenewQuestMgr.h, Source/Contents/RodexMailStore.h, Source/Contents/Schedule/Schedule.h, Source/Contents/Schedule/ShutDownSchedule.h, Source/Contents/SignBoard/SignBoard.h, Source/Contents/Skills/PlayerSkillBundle.h, Source/Contents/Sound/SoundMgr.h, Source/Contents/SpriteLayerDrawing.h, Source/Contents/Store/MCStoreInfoBackupAsyncWork.h, Source/Contents/UserData/AccountLinkedUserDataLoadAsyncWork.h, Source/Contents/UserData/NormalItemSlots.h, Source/Contents/WorldView/WorldViewData.h, Source/Network/Connection/Connection.h, Source/Render/DX7/DeviceOwnerDX7.h, Source/Render/DX7/DirectDrawEnumeration.h, Source/Render/DX9/DeviceOwnerDX9.h, Source/Render/Primitives/LightmappedPrimitive.h, Source/Render/Primitives/RenderPrimitive.h, Source/Render/Renderer.h, Source/Render/RendererDX7.h, Source/Render/Text/EmbedFont.h, Source/Render/Text/TextContext.h, Source/Render/Textures/Texture.h, Source/Resource/BinkRuntime.h, Source/Resource/GifResource.h, Source/Resource/Models/AnimatedModelResource.h, Source/Resource/Models/GrannyModelResource.h, Source/Resource/Models/ModelMesh.h, Source/Resource/ResourceMgr.h, Source/Resource/World/GroundResource.h, Source/Resource/World/WorldResource.h, Source/Security/NProtectGameGuardMgr.h, Source/Security/ReassemblyPacketMgr.h, Source/UI/Buttons/UIBmpRadioBtn.h, Source/UI/Buttons/UIBmpTextButton2.h, Source/UI/Buttons/UIDescriptRace.h, Source/UI/Buttons/UIItemTagButton.h, Source/UI/Buttons/UITVTextButton.h, Source/UI/Buttons/UITextureButton.h, Source/UI/Chat/UINewChatWnd.h, Source/UI/Chat/UISubChatHisWnd.h, Source/UI/Dialogs/UILoadingWnd.h, Source/UI/Dialogs/UIMiniMapWnd.h, Source/UI/Dialogs/UIPasswordWnd.h, Source/UI/Dialogs/UIRestartWnd.h, Source/UI/Dialogs/UISayDialogWnd.h, Source/UI/Edit/UIEditCtrl.h, Source/UI/Enchant/EnchantUI.h, Source/UI/GameSettings/GameSettingsUI.h, Source/UI/Guild/UIGuildWnd.h, Source/UI/Item/UIItemStoreFindWnd.h, Source/UI/Item/UIItemStoreSubWnd.h, Source/UI/Item/UIItemStoreWnd.h, Source/UI/Items/UIEquipWnd.h, Source/UI/Items/UIExchangeWnd.h, Source/UI/Items/UIItemCollectionWnd.h, Source/UI/Items/UIItemRepairWnd.h, Source/UI/Items/UISwapEquipmentWnd.h, Source/UI/Lists/TableBox.h, Source/UI/Lists/UIListBox.h, Source/UI/Lists/UIListBoxEx.h, Source/UI/Lists/UIListBoxID.h, Source/UI/Lists/UIListBoxTemplate.h, Source/UI/Lists/UITabControl.h, Source/UI/Lists/UITreeView.h, Source/UI/Lists/UIVScrollBar.h, Source/UI/Navigation/UINavigationV4Wnd.h, Source/UI/Navigation/UIPrivateAirplaneWnd.h, Source/UI/Party/UIAdvenPartyBoardWnd.h, Source/UI/Party/UIRequestJoinPartyWnd.h, Source/UI/ProbabilityTable/UIProbabilityTable.h, Source/UI/Quest/UIRenewQuestWnd.h, Source/UI/Rodex/UIRodexComposeWnd.h, Source/UI/RuneSystem/UIRuneSystemWindows.h, Source/UI/RuneSystem/UIRuneSystemWnd.h, Source/UI/Shop/UIMerchantItemMyShopWnd.h, Source/UI/Shop/UIMerchantShopMakeWnd.h, Source/UI/Shop/UIMerchantShopTitle.h, Source/UI/StylingShop/UIStylingShopWnd.h, Source/UI/Text/CreateLineInfo.h, Source/UI/Text/TextMarkup.h, Source/UI/Text/UIString.h, Source/UI/Text/UITextViewer.h, Source/UI/Text/UITransBalloonText.h, Source/UI/UIChangeMaterialWnd.h, Source/UI/UIMacroDetectorWnd.h, Source/UI/UIMacroUserInfoWnd.h, Source/UI/Window/UIAccountLimitedToolWnd.h, Source/UI/Window/UIBalloonOpenBtn.h, Source/UI/Window/UIBasicInfoWnd.h, Source/UI/Window/UIBattleMsgOptionWnd.h, Source/UI/Window/UICollectionSystemWnd.h, Source/UI/Window/UIControl.h, Source/UI/Window/UIHotKeyWnd.h, Source/UI/Window/UIJobListWnd.h, Source/UI/Window/UILoginWnd.h, Source/UI/Window/UIMakeCharWnd.h, Source/UI/Window/UIMerInfoWnd.h, Source/UI/Window/UIMessageBox.h, Source/UI/Window/UIMonsterDisplayWnd.h, Source/UI/Window/UINewMakeCharWnd.h, Source/UI/Window/UINewSkillListWnd.h, Source/UI/Window/UINoticeWnd.h, Source/UI/Window/UIReplayRECControlWnd.h, Source/UI/Window/UIRoMapWnd.h, Source/UI/Window/UISecondCostumeWnd.h, Source/UI/Window/UISeekPartyListWnd.h, Source/UI/Window/UISeekPartyMBWnd.h, Source/UI/Window/UISeekPartyWnd.h, Source/UI/Window/UISerachStoreInfoWnd.h, Source/UI/Window/UIWindow.h, Source/UI/Window/UIWindowMgr.h, Source/UI/Window/WindowId.h, Source/Utility/Async/NAsyncWork.h, Source/Utility/Async/NRecycleObjectPoolMgr.h, Source/Utility/JsonCppLoader.h, Source/Utility/Lexicon/LexiconSerializer.h, Source/Utility/NFileLog.h, Source/Utility/Threading/NThread.h.
This commit is contained in:
parent
047268c0f5
commit
5ad8e0c58c
299 changed files with 2107 additions and 2107 deletions
|
|
@ -55,7 +55,7 @@ namespace {
|
|||
|
||||
struct PakHeaderFile {
|
||||
/* 0000 */ char signature[16];
|
||||
/* 0010 */ std::uint8_t unknown_0010[14];
|
||||
/* 0010 */ std::uint8_t padding_0010[14];
|
||||
/* 001E */ std::uint32_t tableOffset;
|
||||
/* 0022 */ std::uint32_t seed;
|
||||
/* 0026 */ std::uint32_t entryCount;
|
||||
|
|
@ -64,7 +64,7 @@ namespace {
|
|||
|
||||
struct PakHeaderFile64 {
|
||||
/* 0000 */ char signature[16];
|
||||
/* 0010 */ std::uint8_t unknown_0010[14];
|
||||
/* 0010 */ std::uint8_t padding_0010[14];
|
||||
/* 001E */ std::uint64_t tableOffset;
|
||||
/* 0026 */ std::uint32_t entryCount;
|
||||
/* 002A */ std::uint32_t version;
|
||||
|
|
@ -99,9 +99,9 @@ namespace {
|
|||
|
||||
struct PakAuxiliaryFile {
|
||||
/* 0000 */ std::uint8_t version;
|
||||
/* 0001 */ std::uint8_t unknown_0001[3];
|
||||
/* 0001 */ std::uint8_t padding_0001[3];
|
||||
/* 0004 */ std::uint64_t identifier;
|
||||
/* 000C */ std::uint32_t unknown_000C;
|
||||
/* 000C */ std::uint32_t padding_000C;
|
||||
};
|
||||
|
||||
#pragma pack(pop)
|
||||
|
|
@ -1530,7 +1530,7 @@ struct PakLinkNode {
|
|||
};
|
||||
|
||||
struct PakIntrusiveLink {
|
||||
/* 0000 */ unsigned int unknown_0000;
|
||||
/* 0000 */ unsigned int padding_0000;
|
||||
/* 0004 */ PakLinkNode* m_prev;
|
||||
/* 0008 */ PakLinkNode* m_next;
|
||||
|
||||
|
|
@ -1568,7 +1568,7 @@ __declspec(noinline) PakUniformRandom::PakUniformRandom(int minimum, int maximum
|
|||
struct PakAuxiliaryHeader {
|
||||
/* 0000 */ std::uint8_t version;
|
||||
/* 0001 */ std::uint8_t keySource;
|
||||
/* 0002 */ std::uint8_t unknown_0002[2];
|
||||
/* 0002 */ std::uint8_t padding_0002[2];
|
||||
/* 0004 */ std::uint32_t checksum;
|
||||
/* 0008 */ std::uint8_t payload[96];
|
||||
};
|
||||
|
|
@ -1585,7 +1585,7 @@ struct PakAuxiliaryContext {
|
|||
struct PakAuxiliaryState {
|
||||
/* 0000 */ HashTable_655340 m_handlers;
|
||||
/* 0020 */ PakMaskedKey48 m_key;
|
||||
/* 0055 */ std::uint8_t unknown_0055[107];
|
||||
/* 0055 */ std::uint8_t padding_0055[107];
|
||||
/* 00C0 */ AES* m_cipher;
|
||||
|
||||
bool DecodeHeader(PakSpan_655A30 name, std::uint8_t* data, std::uint32_t size, PakAuxiliaryHeader* header);
|
||||
|
|
|
|||
|
|
@ -26,10 +26,10 @@ namespace myGPack {
|
|||
/* 0000 */ std::uint32_t alignedSize;
|
||||
/* 0004 */ std::uint32_t compressedSize;
|
||||
/* 0008 */ std::uint32_t originalSize;
|
||||
/* 000C */ std::uint32_t unknown_000C;
|
||||
/* 000C */ std::uint32_t padding_000C;
|
||||
/* 0010 */ std::uint64_t dataOffset;
|
||||
/* 0018 */ std::uint8_t flags;
|
||||
/* 0019 */ std::uint8_t unknown_0019[3];
|
||||
/* 0019 */ std::uint8_t padding_0019[3];
|
||||
/* 001C */ PakName name;
|
||||
};
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ struct PakAuxiliary {
|
|||
void Apply(const void* data, std::uint32_t size, const void* auxData, std::uint32_t auxSize);
|
||||
bool Extract(std::string_view name, const std::uint8_t* data, std::uint32_t size, std::span<const std::uint8_t> scratch, void* output, std::uint32_t outputSize, unsigned flags);
|
||||
|
||||
/* 0000 */ std::uint8_t unknown_0000[244];
|
||||
/* 0000 */ std::uint8_t padding_0000[244];
|
||||
};
|
||||
|
||||
static_assert(sizeof(PakAuxiliary) == 244);
|
||||
|
|
@ -72,7 +72,7 @@ protected:
|
|||
/* 0008 */ CPakFile* m_file;
|
||||
/* 000C */ std::uint32_t m_version;
|
||||
/* 0010 */ std::uint32_t m_entryCount;
|
||||
/* 0014 */ std::uint32_t unknown_0014;
|
||||
/* 0014 */ std::uint32_t padding_0014;
|
||||
/* 0018 */ std::uint64_t m_tableOffset;
|
||||
/* 0020 */ std::uint32_t m_tableSize;
|
||||
/* 0024 */ std::vector<myGPack::PakEntry> m_entries;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class BrowserClientSite;
|
|||
class BrowserCommandTarget final : public IOleCommandTarget {
|
||||
public:
|
||||
// INLINED
|
||||
explicit BrowserCommandTarget(BrowserClientSite* site) : unknown_0004(0), m_site(site) {
|
||||
explicit BrowserCommandTarget(BrowserClientSite* site) : padding_0004(0), m_site(site) {
|
||||
}
|
||||
~BrowserCommandTarget();
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ public:
|
|||
HRESULT STDMETHODCALLTYPE Exec(const GUID* group, DWORD command, DWORD options, VARIANT* input, VARIANT* output) override;
|
||||
|
||||
private:
|
||||
/* 0004 */ int unknown_0004;
|
||||
/* 0004 */ int padding_0004;
|
||||
/* 0008 */ BrowserClientSite* m_site;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class BrowserClientSite;
|
|||
class BrowserDocumentUI final : public IDocHostUIHandler {
|
||||
public:
|
||||
// INLINED
|
||||
explicit BrowserDocumentUI(BrowserClientSite* site) : unknown_0004(0), m_site(site) {
|
||||
explicit BrowserDocumentUI(BrowserClientSite* site) : padding_0004(0), m_site(site) {
|
||||
}
|
||||
~BrowserDocumentUI();
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ public:
|
|||
HRESULT STDMETHODCALLTYPE FilterDataObject(IDataObject* data, IDataObject** filtered) override;
|
||||
|
||||
private:
|
||||
/* 0004 */ int unknown_0004;
|
||||
/* 0004 */ int padding_0004;
|
||||
/* 0008 */ BrowserClientSite* m_site;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ class BrowserClientSite;
|
|||
class BrowserInPlaceFrame final : public IOleInPlaceFrame {
|
||||
public:
|
||||
// INLINED
|
||||
explicit BrowserInPlaceFrame(BrowserClientSite* site) : unknown_0004(0), m_site(site) {
|
||||
explicit BrowserInPlaceFrame(BrowserClientSite* site) : padding_0004(0), m_site(site) {
|
||||
}
|
||||
~BrowserInPlaceFrame();
|
||||
|
||||
|
|
@ -30,14 +30,14 @@ public:
|
|||
HRESULT STDMETHODCALLTYPE TranslateAccelerator(MSG* message, WORD id) override;
|
||||
|
||||
private:
|
||||
/* 0004 */ int unknown_0004;
|
||||
/* 0004 */ int padding_0004;
|
||||
/* 0008 */ BrowserClientSite* m_site;
|
||||
};
|
||||
|
||||
class BrowserInPlaceSite final : public IOleInPlaceSite {
|
||||
public:
|
||||
// INLINED
|
||||
explicit BrowserInPlaceSite(BrowserClientSite* site) : unknown_0004(0), m_frame(new BrowserInPlaceFrame(site)), m_site(site) {
|
||||
explicit BrowserInPlaceSite(BrowserClientSite* site) : padding_0004(0), m_frame(new BrowserInPlaceFrame(site)), m_site(site) {
|
||||
}
|
||||
// INLINED
|
||||
~BrowserInPlaceSite() {
|
||||
|
|
@ -62,7 +62,7 @@ public:
|
|||
HRESULT STDMETHODCALLTYPE OnPosRectChange(const RECT* position) override;
|
||||
|
||||
private:
|
||||
/* 0004 */ int unknown_0004;
|
||||
/* 0004 */ int padding_0004;
|
||||
/* 0008 */ BrowserInPlaceFrame* m_frame;
|
||||
/* 000C */ BrowserClientSite* m_site;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public:
|
|||
/* 0010 */ HWND browserWindow;
|
||||
/* 0014 */ int cursorState;
|
||||
/* 0018 */ unsigned char auxiliaryVisible;
|
||||
/* 0019 */ unsigned char unknown_0019[3];
|
||||
/* 0019 */ unsigned char padding_0019[3];
|
||||
/* 001C */ int screenWidth;
|
||||
/* 0020 */ int screenHeight;
|
||||
/* 0024 */ DWORD cookie;
|
||||
|
|
@ -56,7 +56,7 @@ public:
|
|||
/* 0034 */ int width;
|
||||
/* 0038 */ int height;
|
||||
/* 003C */ unsigned char restoreOption;
|
||||
/* 003D */ unsigned char unknown_003D[3];
|
||||
/* 003D */ unsigned char padding_003D[3];
|
||||
};
|
||||
|
||||
extern WNDPROC lpPrevWndFunc;
|
||||
|
|
@ -70,7 +70,7 @@ enum class BrowserCommand : WORD { Navigate = 1000 };
|
|||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
static_assert(offsetof(CWebBrowser, host) == 0xC);
|
||||
static_assert(offsetof(CWebBrowser, unknown_0019) == 0x19);
|
||||
static_assert(offsetof(CWebBrowser, padding_0019) == 0x19);
|
||||
static_assert(offsetof(CWebBrowser, cookie) == 0x24);
|
||||
static_assert(offsetof(CWebBrowser, restoreOption) == 0x3C);
|
||||
static_assert(sizeof(CWebBrowser) == 0x40);
|
||||
|
|
|
|||
|
|
@ -37,14 +37,14 @@ struct CLanguageBase {
|
|||
/* 0070 */ std::string candidate;
|
||||
/* 0088 */ int compositionCursor;
|
||||
/* 008C */ unsigned char password;
|
||||
/* 008D */ unsigned char unknown_008D;
|
||||
/* 008D */ unsigned char padding_008D;
|
||||
/* 008E */ std::uint16_t language;
|
||||
/* 0090 */ unsigned codePage;
|
||||
/* 0094 */ int underlineStart;
|
||||
/* 0098 */ int underlineEnd;
|
||||
/* 009C */ std::string servicePrefix;
|
||||
/* 00B4 */ std::uint16_t alternateLanguage;
|
||||
/* 00B6 */ unsigned char unknown_00B6[2];
|
||||
/* 00B6 */ unsigned char padding_00B6[2];
|
||||
|
||||
CLanguageBase();
|
||||
const char* Candidate(int index) const;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ struct CLanguageTC : CLanguageBase {
|
|||
/* 00C0 */ std::array<TraditionalKeyMapping, 256> mappings;
|
||||
/* 04C0 */ unsigned char keyStrokeEnabled;
|
||||
/* 04C1 */ std::uint8_t keyStroke;
|
||||
/* 04C2 */ unsigned char unknown_04C2[2];
|
||||
/* 04C2 */ unsigned char padding_04C2[2];
|
||||
|
||||
CLanguageTC();
|
||||
~CLanguageTC() override;
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public:
|
|||
/* 0030 */ std::uint32_t pressTicks[2] = {};
|
||||
/* 0038 */ std::uint32_t doubleClickTime = 500;
|
||||
/* 003C */ std::uint8_t active = 1;
|
||||
/* 003D */ std::uint8_t unknown_003D[3] = {};
|
||||
/* 003D */ std::uint8_t padding_003D[3] = {};
|
||||
};
|
||||
|
||||
extern CMouse g_mouse;
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ public:
|
|||
void ReceiveMacroReporterList(int count, const int* aids);
|
||||
/* 0058 */ unsigned char areaBounds[0x10];
|
||||
/* 0068 */ char mapName[16];
|
||||
/* 0078 */ unsigned char unknown_0078[0xC];
|
||||
/* 0078 */ unsigned char padding_0078[0xC];
|
||||
/* 0084 */ std::vector<std::string> mapResources;
|
||||
/* 0090 */ unsigned char minimapBmpName[0x3C];
|
||||
/* 00CC */ CWorld* scene;
|
||||
|
|
@ -166,7 +166,7 @@ public:
|
|||
/* 02E0 */ int menuTargetAid;
|
||||
/* 02E4 */ unsigned char nameBalloonSize[0x08];
|
||||
/* 02EC */ std::string menuTargetName;
|
||||
/* 0304 */ unsigned char unknown_0304[0x04];
|
||||
/* 0304 */ unsigned char padding_0304[0x04];
|
||||
/* 0308 */ ModeDragState drag;
|
||||
/* 03C8 */ std::string chatRoomTitle;
|
||||
/* 03E0 */ std::string chatRoomPassword;
|
||||
|
|
@ -196,12 +196,12 @@ public:
|
|||
/* 05B4 */ int yggdrasilUsePending;
|
||||
/* 05B8 */ int lastPickItemTime;
|
||||
/* 05BC */ int chatLogLines;
|
||||
/* 05C0 */ unsigned char unknown_05C0[0x04];
|
||||
/* 05C0 */ unsigned char padding_05C0[0x04];
|
||||
/* 05C4 */ int bossMonsterX;
|
||||
/* 05C8 */ int bossMonsterY;
|
||||
/* 05CC */ unsigned char bossAlarmAndCopyNameFlags[0x02];
|
||||
/* 05CE */ unsigned char inventoryChanged;
|
||||
/* 05CF */ unsigned char unknown_05CF;
|
||||
/* 05CF */ unsigned char padding_05CF;
|
||||
/* 05D0 */ UIWindow* statusIconTooltip;
|
||||
/* 05D4 */ std::list<unsigned long> periodicTicks;
|
||||
/* 05DC */ std::map<int, std::string> miniMapTooltipWindows;
|
||||
|
|
@ -220,9 +220,9 @@ public:
|
|||
/* 0624 */ unsigned char isInitializing[0x4];
|
||||
/* 0628 */ std::unordered_set<int> petFriendlyNoticeIds;
|
||||
/* 0648 */ unsigned char recordItemPickups;
|
||||
/* 0649 */ unsigned char unknown_0649[0x3];
|
||||
/* 0649 */ unsigned char padding_0649[0x3];
|
||||
/* 064C */ std::unordered_map<int, int> itemPickupCounts;
|
||||
/* 066C */ unsigned char unknown_066C[0x4];
|
||||
/* 066C */ unsigned char padding_066C[0x4];
|
||||
|
||||
std::string MapName();
|
||||
UIBroadcastBalloon* EnsureBroadcastBalloon();
|
||||
|
|
@ -386,12 +386,12 @@ public:
|
|||
void ProcessActorClick(int& handled, ActorPickInfo* pick, CGameActor* actor);
|
||||
void ProcessActorPick(int& handled, ActorPickInfo* pick, CGameActor* actor);
|
||||
void ReceiveSkillUpdate(
|
||||
std::uint16_t id, std::int16_t level, std::int16_t spCost, unsigned char upgradable, std::int16_t range, int type, std::int16_t unknown
|
||||
std::uint16_t id, std::int16_t level, std::int16_t spCost, unsigned char upgradable, std::int16_t range, int type, std::int16_t learnedLevel
|
||||
);
|
||||
void ApplySkillUpdatePacket(const void* packet);
|
||||
void ReceiveLearnedSkill(
|
||||
std::uint16_t id, std::int16_t level, int type, std::uint8_t upgradable, std::int16_t spCost, std::int16_t range,
|
||||
std::int16_t unknown0030
|
||||
std::int16_t padding_0030
|
||||
);
|
||||
void ApplyAdditionalSkillPacket(const void* packet);
|
||||
std::uint32_t FindChatRoomActorId(std::uint32_t key);
|
||||
|
|
@ -480,7 +480,7 @@ public:
|
|||
void ShowNoticeBalloon(const std::vector<std::string>* lines);
|
||||
void UpdateBalloons();
|
||||
void ChangeZoneServer(std::string mapName, int x, int y, int ip, int port, std::string host);
|
||||
const char* Unknown04DCText();
|
||||
const char* RecordChat4Text();
|
||||
CPlayer* Player();
|
||||
MinimapMarker* FindMinimapMarker(std::uint32_t key);
|
||||
float CameraDesiredYaw();
|
||||
|
|
@ -584,13 +584,13 @@ public:
|
|||
void ReceiveGuildLeave2(const unsigned char* data);
|
||||
void ReceivePartyInfo2(const unsigned char* data);
|
||||
void ReceiveWhisper(const unsigned char* data);
|
||||
void RefreshInventoryOrEquipItem(std::uint16_t itemId, unsigned char unknownValue, std::uint16_t refine, ItemCardSlots cards, ItemSlotOptions options);
|
||||
void RefreshInventoryOrEquipItem(std::uint16_t itemId, unsigned char damaged, std::uint16_t refine, ItemCardSlots cards, ItemSlotOptions options);
|
||||
void RefreshInventoryOrEquipItem2(const unsigned char* data);
|
||||
void ReceiveRankingList(const unsigned char* data);
|
||||
void ApplyStatusIcons(int level, unsigned int flags);
|
||||
void ReceiveGuildStorageLogItems(const unsigned char* data);
|
||||
void ReceiveWhisper2(const unsigned char* data);
|
||||
void ProcessWhisper(int unknown_0004, std::string name, std::string text, bool flag);
|
||||
void ProcessWhisper(int padding_0004, std::string name, std::string text, bool flag);
|
||||
void SpawnGroundSkill(std::uint32_t aid, std::uint32_t owner, int value, std::int16_t x, std::int16_t y, int type, signed char level, unsigned char visible, unsigned char flags);
|
||||
void Zc_Skill_Entry(const unsigned char* record);
|
||||
void ReceiveStatusChangeEntry(const unsigned char* record);
|
||||
|
|
@ -919,12 +919,12 @@ public:
|
|||
void ReceiveActorStateEntryNamedOld(const unsigned char* data);
|
||||
void ReceiveActorStateEntryOld(const unsigned char* data);
|
||||
void SpawnStandingPc(
|
||||
std::uint32_t aid, int job, short cellX, short cellY, unsigned char sex, short unknown_0024, int unknown_0028, int unknown_002C,
|
||||
short unknown_0030, short unknown_004C, short unknown_0050, short unknown_0054, short unknown_0058, short robe, std::string name
|
||||
std::uint32_t aid, int job, short cellX, short cellY, unsigned char sex, short padding_0024, int padding_0028, int padding_002C,
|
||||
short padding_0030, short padding_004C, short padding_0050, short padding_0054, short padding_0058, short robe, std::string name
|
||||
);
|
||||
void SpawnStandingPc2(
|
||||
std::uint32_t aid, int job, short cellX, short cellY, unsigned char sex, short unknown_0024, int unknown_0028, int unknown_002C,
|
||||
short unknown_0030, short unknown_004C, short unknown_0050, short unknown_0054, short unknown_0058, short robe, std::string name, short unknown_0078
|
||||
std::uint32_t aid, int job, short cellX, short cellY, unsigned char sex, short padding_0024, int padding_0028, int padding_002C,
|
||||
short padding_0030, short padding_004C, short padding_0050, short padding_0054, short padding_0058, short robe, std::string name, short padding_0078
|
||||
);
|
||||
void SpawnMirrorActor(std::uint32_t aid, std::uint32_t owner, short x, short y);
|
||||
void ReceiveActorMoveEntryOld(const unsigned char* data);
|
||||
|
|
@ -1003,7 +1003,7 @@ static_assert(offsetof(CGameMode, statusIconTooltip) == 0x5D0);
|
|||
static_assert(offsetof(CGameMode, notificationWindows) == 0x604);
|
||||
static_assert(offsetof(CGameMode, petFriendlyNoticeIds) == 0x628);
|
||||
static_assert(offsetof(CGameMode, itemPickupCounts) == 0x64C);
|
||||
static_assert(offsetof(CGameMode, unknown_066C) == 0x66C);
|
||||
static_assert(offsetof(CGameMode, padding_066C) == 0x66C);
|
||||
static_assert(sizeof(CGameMode) == 0x670);
|
||||
#endif
|
||||
|
||||
|
|
@ -1022,10 +1022,10 @@ extern std::map<int, MiniMapEffectMarker> g_miniMapEffectMarkers;
|
|||
extern char g_pendingWhisperCount;
|
||||
void CloseWhisperRecord();
|
||||
extern unsigned char g_gameModePacketBuffer[0x10000];
|
||||
extern int g_unknown173A5BC;
|
||||
extern int g_unknown_01738268;
|
||||
extern int g_unknown_0173826C;
|
||||
extern int g_unknown_01738270;
|
||||
extern int g_overweightThresholdPercent;
|
||||
extern int g_buyingStoreMode;
|
||||
extern int g_buyingStoreDbNumber;
|
||||
extern int g_buyingStoreNoPermission;
|
||||
extern std::string g_gameModeNamelessTag;
|
||||
void __stdcall OpenWordDisplay(CGameActor* actor);
|
||||
|
||||
|
|
|
|||
|
|
@ -65,11 +65,11 @@ struct CharacterInfo {
|
|||
};
|
||||
|
||||
struct CharacterSlotExtension {
|
||||
/* 0000 */ unsigned char unknown_0000;
|
||||
/* 0000 */ unsigned char padding_0000;
|
||||
/* 0001 */ std::uint32_t code;
|
||||
/* 0005 */ std::uint32_t time1;
|
||||
/* 0009 */ std::uint32_t time2;
|
||||
/* 000D */ unsigned char unknown_000D[7];
|
||||
/* 000D */ unsigned char padding_000D[7];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
|
|
@ -113,9 +113,9 @@ public:
|
|||
/* 01CC */ int characterCount;
|
||||
/* 01D0 */ unsigned char loginExtra[0x8];
|
||||
/* 01D8 */ int receivedCharacterCount;
|
||||
/* 01DC */ int unknown_01DC;
|
||||
/* 01DC */ int padding_01DC;
|
||||
/* 01E0 */ bool characterDeleted;
|
||||
/* 01E1 */ unsigned char unknown_01E1[0x3];
|
||||
/* 01E1 */ unsigned char padding_01E1[0x3];
|
||||
/* 01E4 */ std::uint32_t otpStarted;
|
||||
/* 01E8 */ unsigned char serverList[0x3E80];
|
||||
/* 4068 */ CharacterInfo characters[68];
|
||||
|
|
@ -126,10 +126,10 @@ public:
|
|||
/* 6F18 */ int passwordRetryCount;
|
||||
/* 6F1C */ std::vector<int> noticeCommands;
|
||||
/* 6F28 */ int authChallengeId;
|
||||
/* 6F2C */ std::vector<int> unknown_6F2C;
|
||||
/* 6F2C */ std::vector<int> padding_6F2C;
|
||||
/* 6F38 */ std::vector<LoginStringRecord> accountInfo;
|
||||
/* 6F44 */ unsigned char savedInlineCharset;
|
||||
/* 6F45 */ unsigned char unknown_6F45[0x3];
|
||||
/* 6F45 */ unsigned char padding_6F45[0x3];
|
||||
/* 6F48 */ int selectedAccount;
|
||||
/* 6F4C */ int selectedSecondaryAccount;
|
||||
/* 6F50 */ std::string keycryptErrorInfo;
|
||||
|
|
@ -137,7 +137,7 @@ public:
|
|||
/* 6F74 */ bool loginResponseReceived;
|
||||
/* 6F75 */ bool otpPending;
|
||||
/* 6F76 */ bool otpTimedOut;
|
||||
/* 6F77 */ unsigned char unknown_6F77[0x1];
|
||||
/* 6F77 */ unsigned char padding_6F77[0x1];
|
||||
/* 6F78 */ int remainingLoginSeconds;
|
||||
|
||||
int Run() override;
|
||||
|
|
|
|||
|
|
@ -527,7 +527,7 @@ __declspec(noinline) void CGameMode::UpdatePetFriendlyNoticeIds(int id, bool add
|
|||
|
||||
// OFFSET: 0x00CF0070
|
||||
// FUNCTION: fn_21410
|
||||
const char* CGameMode::Unknown04DCText() {
|
||||
const char* CGameMode::RecordChat4Text() {
|
||||
return reinterpret_cast<std::string*>(reinterpret_cast<char*>(this) + 0x4DC)->c_str();
|
||||
}
|
||||
|
||||
|
|
@ -937,7 +937,7 @@ int CGameMode::SendMsg(int event, int argument1, int argument2, int argument3, i
|
|||
case MM_ADD_ITEM_TO_STORE: {
|
||||
g_session.FlagInventoryItem(static_cast<std::uint32_t>(argument1));
|
||||
const GameModePacketWordDword packet{
|
||||
g_unknown_01738268 != 0 ? 0x9E1 : 0x364,
|
||||
g_buyingStoreMode != 0 ? 0x9E1 : 0x364,
|
||||
static_cast<std::uint16_t>(argument1), static_cast<std::uint32_t>(argument2)
|
||||
};
|
||||
GetRagConnection().Send(g_packetLengths.FixedLength(packet.packetId), &packet);
|
||||
|
|
@ -946,14 +946,14 @@ int CGameMode::SendMsg(int event, int argument1, int argument2, int argument3, i
|
|||
case MM_MOVE_ITEM_FROM_STORE_TO_BODY: {
|
||||
g_session.FlagCartItem(static_cast<std::uint32_t>(argument1));
|
||||
const GameModePacketWordDword packet{
|
||||
g_unknown_01738268 != 0 ? 0x9E2 : 0x365,
|
||||
g_buyingStoreMode != 0 ? 0x9E2 : 0x365,
|
||||
static_cast<std::uint16_t>(argument1), static_cast<std::uint32_t>(argument2)
|
||||
};
|
||||
GetRagConnection().Send(g_packetLengths.FixedLength(packet.packetId), &packet);
|
||||
return 0;
|
||||
}
|
||||
case MM_CLOSE_STORE: {
|
||||
const std::uint16_t packet = g_unknown_01738268 != 0 ? 0x9BE : 0x193;
|
||||
const std::uint16_t packet = g_buyingStoreMode != 0 ? 0x9BE : 0x193;
|
||||
GetRagConnection().Send(g_packetLengths.FixedLength(packet), &packet);
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -995,7 +995,7 @@ int CGameMode::SendMsg(int event, int argument1, int argument2, int argument3, i
|
|||
if (!this->IsMenuWindowOpen()) {
|
||||
g_session.FlagCartItem(static_cast<std::uint32_t>(argument1));
|
||||
const GameModePacketWordDword packet{
|
||||
g_unknown_01738268 != 0 ? 0x9E4 : 0x128,
|
||||
g_buyingStoreMode != 0 ? 0x9E4 : 0x128,
|
||||
static_cast<std::uint16_t>(argument1), static_cast<std::uint32_t>(argument2)
|
||||
};
|
||||
GetRagConnection().Send(g_packetLengths.FixedLength(packet.packetId), &packet);
|
||||
|
|
@ -1005,7 +1005,7 @@ int CGameMode::SendMsg(int event, int argument1, int argument2, int argument3, i
|
|||
if (!this->IsMenuWindowOpen()) {
|
||||
g_session.FlagMerchantShopItem(static_cast<std::uint32_t>(argument1));
|
||||
const GameModePacketWordDword packet{
|
||||
g_unknown_01738268 != 0 ? 0x9E3 : 0x129,
|
||||
g_buyingStoreMode != 0 ? 0x9E3 : 0x129,
|
||||
static_cast<std::uint16_t>(argument1), static_cast<std::uint32_t>(argument2)
|
||||
};
|
||||
GetRagConnection().Send(g_packetLengths.FixedLength(packet.packetId), &packet);
|
||||
|
|
@ -4175,7 +4175,7 @@ int CGameMode::SendMsg(int event, int argument1, int argument2, int argument3, i
|
|||
case MM_MOVE_ITEM_TO_PERSONAL: {
|
||||
g_session.FlagCartItem(static_cast<std::uint32_t>(argument1));
|
||||
const GameModePacketDwordWordDword packet{
|
||||
0xC22, g_unknown_01738268 != 0 ? 1U : 0U, static_cast<std::uint16_t>(argument1), static_cast<std::uint32_t>(argument2)
|
||||
0xC22, g_buyingStoreMode != 0 ? 1U : 0U, static_cast<std::uint16_t>(argument1), static_cast<std::uint32_t>(argument2)
|
||||
};
|
||||
GetRagConnection().Send(g_packetLengths.FixedLength(packet.packetId), &packet);
|
||||
return 0;
|
||||
|
|
@ -5295,15 +5295,15 @@ std::string CGameMode::HuntTargetText(const RenewQuestOngoingInfo& quest, int in
|
|||
std::string text;
|
||||
if (std::strlen(quest.m_huntName[index]) == 0) {
|
||||
text = static_cast<const std::string&>(
|
||||
g_renewQuestMgr->GetMonsterConditionText(quest.m_huntUnknown01A0[index], quest.m_huntUnknown01AC[index], quest.m_huntUnknown01B2[index]));
|
||||
g_renewQuestMgr->GetMonsterConditionText(quest.m_huntConditionFlags[index], quest.m_huntMinLevel[index], quest.m_huntMaxLevel[index]));
|
||||
} else {
|
||||
text = static_cast<const std::string&>(FormatOwnedString("%s", quest.m_huntName[index]));
|
||||
}
|
||||
|
||||
if (quest.m_huntUnknown00E0[index] == quest.m_huntUnknown0180[index]) {
|
||||
if (quest.m_huntKillCount[index] == quest.m_huntMaxCount[index]) {
|
||||
text = static_cast<const std::string&>(FormatOwnedString("%s [ %s ]", text.c_str(), LookupMessage(MSI_COMPLETE_HUNTING_QUEST)));
|
||||
} else {
|
||||
text = static_cast<const std::string&>(FormatOwnedString("%s [ %d / %d ]", text.c_str(), quest.m_huntUnknown00E0[index], quest.m_huntUnknown0180[index]));
|
||||
text = static_cast<const std::string&>(FormatOwnedString("%s [ %d / %d ]", text.c_str(), quest.m_huntKillCount[index], quest.m_huntMaxCount[index]));
|
||||
}
|
||||
|
||||
return text;
|
||||
|
|
@ -6107,7 +6107,7 @@ struct GameModeUiKindTextMessage {
|
|||
/* 0002 */ std::uint16_t type;
|
||||
/* 0004 */ std::uint16_t length;
|
||||
/* 0006 */ int kind;
|
||||
/* 000A */ int unknown_000A;
|
||||
/* 000A */ int padding_000A;
|
||||
/* 000E */ char text[1];
|
||||
};
|
||||
|
||||
|
|
@ -6492,7 +6492,7 @@ struct ZoneEnterPacket {
|
|||
/* 0002 */ std::uint32_t aid;
|
||||
/* 0006 */ std::uint32_t gid;
|
||||
/* 000A */ int authCode;
|
||||
/* 000E */ unsigned char unknown_000E[4];
|
||||
/* 000E */ unsigned char padding_000E[4];
|
||||
/* 0012 */ std::uint32_t clientTime;
|
||||
/* 0016 */ unsigned char sex;
|
||||
};
|
||||
|
|
@ -7266,7 +7266,7 @@ void CGameMode::InitializeState() {
|
|||
g_windowMgr.EnsureWindow(WID_QUIKSLOTWND);
|
||||
}
|
||||
|
||||
if (g_session.m_partyBooking.unknown_0000) {
|
||||
if (g_session.m_partyBooking.seekWindowOpen) {
|
||||
g_windowMgr.EnsureWindow(WID_SEEKPARTYWND);
|
||||
}
|
||||
|
||||
|
|
@ -7769,7 +7769,7 @@ namespace EquipmentProperties {
|
|||
class CEquipmentPropertiesMgr {
|
||||
public:
|
||||
virtual ~CEquipmentPropertiesMgr();
|
||||
/* 0004 */ unsigned char unknown_0004[0x1F8];
|
||||
/* 0004 */ unsigned char padding_0004[0x1F8];
|
||||
|
||||
CEquipmentPropertiesMgr();
|
||||
void RefreshPretend();
|
||||
|
|
@ -8052,7 +8052,7 @@ void CGameMode::ReceiveSkillList(int packetType, const std::vector<SkillListEntr
|
|||
// OFFSET: 0x00D07250
|
||||
// FUNCTION: fn_21581
|
||||
void CGameMode::ReceiveSkillUpdate(
|
||||
std::uint16_t id, std::int16_t level, std::int16_t spCost, unsigned char upgradable, std::int16_t range, int type, std::int16_t unknown
|
||||
std::uint16_t id, std::int16_t level, std::int16_t spCost, unsigned char upgradable, std::int16_t range, int type, std::int16_t learnedLevel
|
||||
) {
|
||||
*reinterpret_cast<int*>(&this->equipmentRequestState[0x0C]) = 0;
|
||||
|
||||
|
|
@ -8062,7 +8062,7 @@ void CGameMode::ReceiveSkillUpdate(
|
|||
skill.upgradable = upgradable;
|
||||
skill.range = range;
|
||||
skill.type = type;
|
||||
skill.learnedLevel = unknown;
|
||||
skill.learnedLevel = learnedLevel;
|
||||
skill.id = id;
|
||||
|
||||
if (g_session.IsHomunculusSkill(id)) {
|
||||
|
|
@ -9048,7 +9048,7 @@ void CGameMode::ProcessInput() {
|
|||
}
|
||||
|
||||
if ((handled == 1 || g_mouse.buttons[0] == 1) && g_mouse.buttons[0] == 1) {
|
||||
g_unknown173AD3F = false;
|
||||
g_moveRequestPending = false;
|
||||
this->SendMsg(MM_CANCEL_USE_SKILL, 0, 0, 0, 0);
|
||||
if (timeGetTime() > this->noMoveStartTick + 5000) {
|
||||
this->noMove = 0;
|
||||
|
|
@ -9474,13 +9474,13 @@ void CGameMode::ExecuteTalkType(int talkType, std::string* arguments) {
|
|||
g_windowMgr.SendNotice(UIM_OPENCHATWND, 0, 0, 0, 0, 0);
|
||||
g_windowMgr.SendNotice(UIM_PUSHINTOCHATHISTORY, reinterpret_cast<std::intptr_t>(LookupMessage(g_serviceOptions.Get(0xB) ? 0x1B : 0x1C)), 0x64FFFF, 0, 0, 0);
|
||||
if (g_serviceOptions.Get(0xB)) {
|
||||
g_soundMgr->unknown = 0;
|
||||
g_soundMgr->tingOnly = 0;
|
||||
}
|
||||
g_windowMgr.RefreshGameSettings();
|
||||
break;
|
||||
case TT_TINGONLY_ON_OFF:
|
||||
g_soundMgr->unknown = g_soundMgr->unknown == 0;
|
||||
g_windowMgr.SendNotice(UIM_PUSHINTOCHATHISTORY, reinterpret_cast<std::intptr_t>(LookupMessage(g_soundMgr->unknown ? 0x5DA : 0x5DB)), 0x64FFFF, 0, 0, 0);
|
||||
g_soundMgr->tingOnly = g_soundMgr->tingOnly == 0;
|
||||
g_windowMgr.SendNotice(UIM_PUSHINTOCHATHISTORY, reinterpret_cast<std::intptr_t>(LookupMessage(g_soundMgr->tingOnly ? 0x5DA : 0x5DB)), 0x64FFFF, 0, 0, 0);
|
||||
break;
|
||||
case TT_FRAMESKIP_ON_OFF:
|
||||
g_frameskip = 1 - g_frameskip;
|
||||
|
|
@ -10137,7 +10137,7 @@ void CGameMode::ProcessActorPick(int& handled, ActorPickInfo* pick, CGameActor*
|
|||
bool resetCursor = false;
|
||||
if (pick) {
|
||||
if (this->scene->isBattleFieldMode != 0) {
|
||||
if (actor && g_session.playerTeam[0] != actor->render.unknown_00FB) {
|
||||
if (actor && g_session.playerTeam[0] != actor->render.battleTeam) {
|
||||
attack = 1;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -10586,7 +10586,7 @@ int CGameMode::HandleActorPick(ActorPickInfo* pick, int result) {
|
|||
attack = 1;
|
||||
}
|
||||
}
|
||||
} else if (actor != nullptr && g_session.playerTeam[0] != actor->render.unknown_00FB) {
|
||||
} else if (actor != nullptr && g_session.playerTeam[0] != actor->render.battleTeam) {
|
||||
attack = 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ struct RuneRewardStepEntry {
|
|||
struct RuneListPacket {
|
||||
/* 0000 */ std::int16_t id;
|
||||
/* 0002 */ std::uint16_t length;
|
||||
/* 0004 */ unsigned char unknown_0004;
|
||||
/* 0004 */ unsigned char padding_0004;
|
||||
/* 0005 */ std::uint16_t tagId;
|
||||
/* 0007 */ std::uint16_t count;
|
||||
};
|
||||
|
|
@ -534,7 +534,7 @@ void CGameMode::ReceivePartyBookingRegisterResult(const unsigned char* packet) {
|
|||
void CGameMode::ReceivePartyBookingUpdateResult(const unsigned char* packet) {
|
||||
const std::int16_t result = *reinterpret_cast<const std::int16_t*>(packet + 2);
|
||||
if (result == 0) {
|
||||
g_session.m_partyBooking.unknown_0034 = GetTickCount();
|
||||
g_session.m_partyBooking.registeredTick = GetTickCount();
|
||||
g_windowMgr.EnsureWindow(WID_SEEKPARTYWND);
|
||||
UISeekPartyWnd* seekWindow = static_cast<UISeekPartyWnd*>(g_windowMgr.LookupWindow(WID_SEEKPARTYWND));
|
||||
if (seekWindow) {
|
||||
|
|
@ -2246,7 +2246,7 @@ void CGameMode::ReceiveAchievementResult(unsigned char result, int id) {
|
|||
|
||||
const int index = g_session.AddAchievementJobTitle(id);
|
||||
if (index != -1) {
|
||||
g_session.AddUnknownId(index);
|
||||
g_session.AddAchievementId(index);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2870,31 +2870,31 @@ struct Item1718PendingRecord {
|
|||
/* 0009 */ std::int32_t itemId;
|
||||
/* 000D */ std::uint16_t sprite;
|
||||
/* 000F */ std::uint32_t location;
|
||||
/* 0013 */ unsigned char unknown_0013[6];
|
||||
/* 0013 */ unsigned char padding_0013[6];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(sizeof(Item1718PendingRecord) == 0x19);
|
||||
|
||||
struct Unknown015D4818Values {
|
||||
/* 0000 */ std::uint32_t unknown_0000[2];
|
||||
/* 0000 */ std::uint32_t padding_0000[2];
|
||||
/* 0008 */ std::uint32_t location;
|
||||
/* 000C */ std::uint32_t unknown_000C[25];
|
||||
/* 000C */ std::uint32_t padding_000C[25];
|
||||
/* 0070 */ std::uint32_t sprite;
|
||||
};
|
||||
|
||||
struct Unknown015D4818Entry {
|
||||
/* 0000 */ std::uint32_t unknown_0000[2];
|
||||
/* 0000 */ std::uint32_t padding_0000[2];
|
||||
/* 0008 */ Unknown015D4818Values values;
|
||||
};
|
||||
|
||||
struct Unknown015D4818 {
|
||||
/* 0000 */ std::uint32_t unknown_0000;
|
||||
/* 0000 */ std::uint32_t padding_0000;
|
||||
/* 0004 */ Unknown015D4818Entry* entry;
|
||||
};
|
||||
|
||||
// GLOBAL: gl_25368
|
||||
Unknown015D4818* g_unknown_015D4818;
|
||||
Unknown015D4818* g_pendingCashItemList;
|
||||
|
||||
// OFFSET: 0x00D3BD40
|
||||
// FUNCTION: fn_21790
|
||||
|
|
@ -2921,8 +2921,8 @@ void CGameMode::ReceivePendingItem1718List(const unsigned char* packet) {
|
|||
item.id = -1;
|
||||
item.identified = 1;
|
||||
g_session.AddShopItem(item, 0);
|
||||
if (g_unknown_015D4818 && g_unknown_015D4818->entry) {
|
||||
Unknown015D4818Values& values = g_unknown_015D4818->entry->values;
|
||||
if (g_pendingCashItemList && g_pendingCashItemList->entry) {
|
||||
Unknown015D4818Values& values = g_pendingCashItemList->entry->values;
|
||||
values.sprite = record->sprite;
|
||||
values.location = record->location;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ public:
|
|||
CEquipmentPropertiesMgr();
|
||||
void AddExpansion(const int& kind, const int& itemId, bool notify);
|
||||
|
||||
unsigned char unknown_0000[0x1FC];
|
||||
unsigned char padding_0000[0x1FC];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@ struct RouletteInfoSlot {
|
|||
/* 0002 */ std::int16_t column;
|
||||
/* 0004 */ int itemId;
|
||||
/* 0008 */ std::int16_t count;
|
||||
/* 000A */ std::int16_t unknown_000A;
|
||||
/* 000A */ std::int16_t padding_000A;
|
||||
};
|
||||
|
||||
struct RouletteInfoPacket {
|
||||
|
|
@ -1835,13 +1835,13 @@ void CGameMode::ReceiveMacroReporterList(int count, const int* aids) {
|
|||
}
|
||||
|
||||
// GLOBAL: gl_25111
|
||||
int g_unknown_01738268;
|
||||
int g_buyingStoreMode;
|
||||
|
||||
// GLOBAL: gl_25112
|
||||
int g_unknown_0173826C;
|
||||
int g_buyingStoreDbNumber;
|
||||
|
||||
// GLOBAL: gl_25113
|
||||
int g_unknown_01738270;
|
||||
int g_buyingStoreNoPermission;
|
||||
|
||||
|
||||
|
||||
|
|
@ -1866,9 +1866,9 @@ void CGameMode::ReceiveStorageClose(const AchievementStatePacket* packet) {
|
|||
}
|
||||
|
||||
g_session.ClearCartItems();
|
||||
g_unknown_01738268 = 0;
|
||||
g_unknown_0173826C = 0;
|
||||
g_unknown_01738270 = 0;
|
||||
g_buyingStoreMode = 0;
|
||||
g_buyingStoreDbNumber = 0;
|
||||
g_buyingStoreNoPermission = 0;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00D6C460
|
||||
|
|
@ -2102,12 +2102,12 @@ void CGameMode::ReceiveBuyingStoreResult(const BuyingStoreResultPacket* packet)
|
|||
std::memset(text, 0, 250);
|
||||
message = 0x9C1;
|
||||
} else if (result == 3) {
|
||||
g_unknown_01738270 = 1;
|
||||
g_buyingStoreNoPermission = 1;
|
||||
std::memset(text, 0, 250);
|
||||
message = 0x9C2;
|
||||
} else if (result == 1) {
|
||||
g_unknown_01738268 = 1;
|
||||
g_unknown_0173826C = packet->value;
|
||||
g_buyingStoreMode = 1;
|
||||
g_buyingStoreDbNumber = packet->value;
|
||||
if (packet->value != 0) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -5067,12 +5067,12 @@ void CGameMode::ReceiveOngoingQuestList(const unsigned char* data) {
|
|||
const auto* hunt = reinterpret_cast<const OngoingQuestHunt*>(cursor);
|
||||
cursor += sizeof(OngoingQuestHunt);
|
||||
info.m_huntId[i] = hunt->huntId;
|
||||
info.m_huntUnknown01A0[i] = hunt->conditionFlags;
|
||||
info.m_huntUnknown00D4[i] = hunt->mobId;
|
||||
info.m_huntUnknown00E0[i] = hunt->count;
|
||||
info.m_huntUnknown0180[i] = hunt->maxCount;
|
||||
info.m_huntUnknown01AC[i] = hunt->minLevel;
|
||||
info.m_huntUnknown01B2[i] = hunt->maxLevel;
|
||||
info.m_huntConditionFlags[i] = hunt->conditionFlags;
|
||||
info.m_huntMobId[i] = hunt->mobId;
|
||||
info.m_huntKillCount[i] = hunt->count;
|
||||
info.m_huntMaxCount[i] = hunt->maxCount;
|
||||
info.m_huntMinLevel[i] = hunt->minLevel;
|
||||
info.m_huntMaxLevel[i] = hunt->maxLevel;
|
||||
const int mobId = hunt->mobId;
|
||||
if ((mobId < 1001 || mobId > 3998) && static_cast<unsigned int>(mobId - 20021) > 11978) {
|
||||
if (mobId == 0x1099) {
|
||||
|
|
@ -5127,12 +5127,12 @@ void CGameMode::ReceiveOngoingQuestList2(const unsigned char* data) {
|
|||
const auto* hunt = reinterpret_cast<const OngoingQuestHunt2*>(cursor);
|
||||
cursor += sizeof(OngoingQuestHunt2);
|
||||
info.m_huntId[i] = hunt->huntId;
|
||||
info.m_huntUnknown01A0[i] = hunt->conditionFlags;
|
||||
info.m_huntUnknown00D4[i] = hunt->mobId;
|
||||
info.m_huntUnknown00E0[i] = hunt->count;
|
||||
info.m_huntUnknown0180[i] = hunt->maxCount;
|
||||
info.m_huntUnknown01AC[i] = hunt->minLevel;
|
||||
info.m_huntUnknown01B2[i] = hunt->maxLevel;
|
||||
info.m_huntConditionFlags[i] = hunt->conditionFlags;
|
||||
info.m_huntMobId[i] = hunt->mobId;
|
||||
info.m_huntKillCount[i] = hunt->count;
|
||||
info.m_huntMaxCount[i] = hunt->maxCount;
|
||||
info.m_huntMinLevel[i] = hunt->minLevel;
|
||||
info.m_huntMaxLevel[i] = hunt->maxLevel;
|
||||
const int mobId = hunt->mobId;
|
||||
if ((mobId < 1001 || mobId > 3998) && static_cast<unsigned int>(mobId - 20021) > 11978) {
|
||||
if (mobId == 0x1099) {
|
||||
|
|
@ -5610,17 +5610,17 @@ void CGameMode::ReceiveQuestHuntUpdate(const unsigned char* data) {
|
|||
}
|
||||
}
|
||||
if (index < 3) {
|
||||
info.m_huntUnknown00E0[index] = entry.count;
|
||||
info.m_huntUnknown0180[index] = entry.maxCount;
|
||||
info.m_huntKillCount[index] = entry.count;
|
||||
info.m_huntMaxCount[index] = entry.maxCount;
|
||||
notices.push_back(this->HuntTargetText(info, index));
|
||||
|
||||
std::string name;
|
||||
if (info.m_huntUnknown00D4[index] == 0x7CFF) {
|
||||
name.assign(g_renewQuestMgr->GetMonsterConditionText(info.m_huntUnknown01A0[index], info.m_huntUnknown01AC[index], info.m_huntUnknown01B2[index]));
|
||||
if (info.m_huntMobId[index] == 0x7CFF) {
|
||||
name.assign(g_renewQuestMgr->GetMonsterConditionText(info.m_huntConditionFlags[index], info.m_huntMinLevel[index], info.m_huntMaxLevel[index]));
|
||||
} else {
|
||||
name.assign(info.m_huntName[index]);
|
||||
}
|
||||
name = static_cast<const std::string&>(FormatOwnedString(LookupMessage(MSI_CLEAR_QUEST_MONSTER), info.m_title.c_str(), name.c_str(), info.m_huntUnknown00E0[index], entry.maxCount));
|
||||
name = static_cast<const std::string&>(FormatOwnedString(LookupMessage(MSI_CLEAR_QUEST_MONSTER), info.m_title.c_str(), name.c_str(), info.m_huntKillCount[index], entry.maxCount));
|
||||
g_windowMgr.SendNotice(UIM_PUSHINTOCHATHISTORY, reinterpret_cast<std::intptr_t>(name.c_str()), 0xFFFF, 19, 0, 0);
|
||||
g_renewQuestMgr->SetOngoingQuest(entry.questId, info);
|
||||
}
|
||||
|
|
@ -5656,17 +5656,17 @@ void CGameMode::ReceiveQuestHuntUpdate2(const unsigned char* data) {
|
|||
}
|
||||
}
|
||||
if (index < 3) {
|
||||
info.m_huntUnknown00E0[index] = entry.count;
|
||||
info.m_huntUnknown0180[index] = entry.maxCount;
|
||||
info.m_huntKillCount[index] = entry.count;
|
||||
info.m_huntMaxCount[index] = entry.maxCount;
|
||||
notices.push_back(this->HuntTargetText(info, index));
|
||||
|
||||
std::string name;
|
||||
if (info.m_huntUnknown00D4[index] == 0x7CFF) {
|
||||
name.assign(g_renewQuestMgr->GetMonsterConditionText(info.m_huntUnknown01A0[index], info.m_huntUnknown01AC[index], info.m_huntUnknown01B2[index]));
|
||||
if (info.m_huntMobId[index] == 0x7CFF) {
|
||||
name.assign(g_renewQuestMgr->GetMonsterConditionText(info.m_huntConditionFlags[index], info.m_huntMinLevel[index], info.m_huntMaxLevel[index]));
|
||||
} else {
|
||||
name.assign(info.m_huntName[index]);
|
||||
}
|
||||
name = static_cast<const std::string&>(FormatOwnedString(LookupMessage(MSI_CLEAR_QUEST_MONSTER), info.m_title.c_str(), name.c_str(), info.m_huntUnknown00E0[index], entry.maxCount));
|
||||
name = static_cast<const std::string&>(FormatOwnedString(LookupMessage(MSI_CLEAR_QUEST_MONSTER), info.m_title.c_str(), name.c_str(), info.m_huntKillCount[index], entry.maxCount));
|
||||
g_windowMgr.SendNotice(UIM_PUSHINTOCHATHISTORY, reinterpret_cast<std::intptr_t>(name.c_str()), 0xFFFF, 19, 0, 0);
|
||||
g_renewQuestMgr->SetOngoingQuest(entry.questId, info);
|
||||
}
|
||||
|
|
@ -7375,7 +7375,7 @@ struct EquipItemUpdatePacket {
|
|||
|
||||
// OFFSET: 0x00D6D850
|
||||
// FUNCTION: fn_22091
|
||||
void CGameMode::RefreshInventoryOrEquipItem(std::uint16_t itemId, unsigned char unknownValue, std::uint16_t refine, ItemCardSlots cards, ItemSlotOptions options) {
|
||||
void CGameMode::RefreshInventoryOrEquipItem(std::uint16_t itemId, unsigned char damaged, std::uint16_t refine, ItemCardSlots cards, ItemSlotOptions options) {
|
||||
ITEM_INFO item = LookupClientItemByIdentity(g_session.m_inventoryItems, itemId);
|
||||
int lookup = 0;
|
||||
int slot = 0;
|
||||
|
|
@ -7388,7 +7388,7 @@ void CGameMode::RefreshInventoryOrEquipItem(std::uint16_t itemId, unsigned char
|
|||
}
|
||||
}
|
||||
|
||||
item.damaged = unknownValue;
|
||||
item.damaged = damaged;
|
||||
item.refiningLevel = refine;
|
||||
std::memcpy(item.cards, cards.cards, sizeof(cards.cards));
|
||||
item.optionCount = CountItemSlotOptions(options.options);
|
||||
|
|
@ -7648,7 +7648,7 @@ void CGameMode::ApplyStatusIcons(int level, unsigned int flags) {
|
|||
|
||||
// OFFSET: 0x00D1A520
|
||||
// FUNCTION: fn_21618
|
||||
void CGameMode::ProcessWhisper(int unknown_0004, std::string name, std::string text, bool flag) {
|
||||
void CGameMode::ProcessWhisper(int shortcutId, std::string name, std::string text, bool flag) {
|
||||
const std::string sender(name);
|
||||
std::vector<char> message(text.begin(), text.end());
|
||||
message.push_back('\0');
|
||||
|
|
@ -7657,7 +7657,7 @@ void CGameMode::ProcessWhisper(int unknown_0004, std::string name, std::string t
|
|||
line.append(" : ");
|
||||
line.append(message.data());
|
||||
|
||||
if (g_windowMgr.ShowWhisperFrom(name.c_str(), line.c_str(), 0x222222, static_cast<std::uint32_t>(unknown_0004)) != 0) {
|
||||
if (g_windowMgr.ShowWhisperFrom(name.c_str(), line.c_str(), 0x222222, static_cast<std::uint32_t>(shortcutId)) != 0) {
|
||||
if (g_session.autoReplyState[0] != 0) {
|
||||
char notice[24];
|
||||
std::sprintf(notice, LookupMessage(MSI_AUTO_MSG2));
|
||||
|
|
@ -7704,22 +7704,22 @@ void CGameMode::ProcessWhisper(int unknown_0004, std::string name, std::string t
|
|||
if (g_windowMgr.IsFriend(name.c_str())) {
|
||||
prefix = "[ Friend ";
|
||||
prefix.append(sender);
|
||||
if (unknown_0004 != 0) {
|
||||
prefix.append(" (" + ShortcutFilename(static_cast<std::uint32_t>(unknown_0004)) + ")");
|
||||
if (shortcutId != 0) {
|
||||
prefix.append(" (" + ShortcutFilename(static_cast<std::uint32_t>(shortcutId)) + ")");
|
||||
}
|
||||
prefix = prefix + " ] : " + message.data();
|
||||
} else if (flag) {
|
||||
prefix = "[ ";
|
||||
prefix.append(sender);
|
||||
if (unknown_0004 != 0) {
|
||||
prefix.append(" (" + ShortcutFilename(static_cast<std::uint32_t>(unknown_0004)) + ")");
|
||||
if (shortcutId != 0) {
|
||||
prefix.append(" (" + ShortcutFilename(static_cast<std::uint32_t>(shortcutId)) + ")");
|
||||
}
|
||||
prefix = prefix + " ] : " + message.data();
|
||||
} else if (g_session.IsGuildMemberName(name.c_str())) {
|
||||
prefix = "[ Member ";
|
||||
prefix.append(sender);
|
||||
if (unknown_0004 != 0) {
|
||||
prefix.append(" (" + ShortcutFilename(static_cast<std::uint32_t>(unknown_0004)) + ")");
|
||||
if (shortcutId != 0) {
|
||||
prefix.append(" (" + ShortcutFilename(static_cast<std::uint32_t>(shortcutId)) + ")");
|
||||
}
|
||||
prefix = prefix + " ] : " + message.data();
|
||||
} else {
|
||||
|
|
@ -7733,8 +7733,8 @@ void CGameMode::ProcessWhisper(int unknown_0004, std::string name, std::string t
|
|||
}
|
||||
prefix = "( From ";
|
||||
prefix.append(sender);
|
||||
if (unknown_0004 != 0) {
|
||||
prefix.append(" [" + ShortcutFilename(static_cast<std::uint32_t>(unknown_0004)) + "]");
|
||||
if (shortcutId != 0) {
|
||||
prefix.append(" [" + ShortcutFilename(static_cast<std::uint32_t>(shortcutId)) + "]");
|
||||
}
|
||||
prefix = prefix + " ) : " + message.data();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ namespace {
|
|||
struct SimulationPacketHeader {
|
||||
/* 0000 */ std::uint16_t packetType;
|
||||
/* 0002 */ std::uint16_t length;
|
||||
/* 0004 */ std::uint32_t unknown_0004;
|
||||
/* 0004 */ std::uint32_t padding_0004;
|
||||
/* 0008 */ int value;
|
||||
/* 000C */ unsigned char name[0x18];
|
||||
};
|
||||
|
|
@ -192,9 +192,9 @@ namespace {
|
|||
struct EnchantSimulationRecord {
|
||||
/* 0000 */ int itemId;
|
||||
/* 0004 */ int resultItemId;
|
||||
/* 0008 */ std::uint32_t unknown_0008[2];
|
||||
/* 0008 */ std::uint32_t padding_0008[2];
|
||||
/* 0010 */ int rate;
|
||||
/* 0014 */ std::uint32_t unknown_0014;
|
||||
/* 0014 */ std::uint32_t padding_0014;
|
||||
/* 0018 */ int count;
|
||||
};
|
||||
|
||||
|
|
@ -217,7 +217,7 @@ namespace {
|
|||
/* 0007 */ int second;
|
||||
/* 000B */ std::uint16_t current;
|
||||
/* 000D */ std::uint16_t total;
|
||||
/* 000F */ unsigned char unknown_000F[4];
|
||||
/* 000F */ unsigned char padding_000F[4];
|
||||
/* 0013 */ char name[1];
|
||||
};
|
||||
|
||||
|
|
@ -1357,7 +1357,7 @@ void CGameMode::ReceiveHpSpRecovery(const unsigned char* packet, int variant) {
|
|||
}
|
||||
|
||||
// GLOBAL: gl_24965
|
||||
int g_unknown173A5BC;
|
||||
int g_overweightThresholdPercent;
|
||||
|
||||
// OFFSET: 0x00D50580
|
||||
// FUNCTION: fn_21884
|
||||
|
|
@ -1369,7 +1369,7 @@ void CGameMode::IgnoreRemovedPacket7(const unsigned char*) {
|
|||
__declspec(noinline) void CGameMode::ReceiveOverweightThreshold(const unsigned char* packet) {
|
||||
const int value = *reinterpret_cast<const int*>(packet + 2);
|
||||
if (value > 0) {
|
||||
g_unknown173A5BC = value;
|
||||
g_overweightThresholdPercent = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4189,7 +4189,7 @@ public:
|
|||
void RefreshExpansion(const int& kind, const int& itemId);
|
||||
CEquipmentWearable* FindProperty1(const int& key);
|
||||
void UnequipWearable(const int& location);
|
||||
unsigned char unknown_0004[0x1F8];
|
||||
unsigned char padding_0004[0x1F8];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -4743,9 +4743,9 @@ void CGameMode::ReceiveParChange(unsigned char* data) {
|
|||
|
||||
const int percent = (g_session.m_weight * 100) / (g_session.m_maxWeight < 1 ? 1 : g_session.m_maxWeight);
|
||||
if (oldPercent < percent) {
|
||||
if (percent >= g_unknown173A5BC && oldPercent < g_unknown173A5BC) {
|
||||
if (percent >= g_overweightThresholdPercent && oldPercent < g_overweightThresholdPercent) {
|
||||
g_windowMgr.SendNotice(UIM_OPENCHATWND, 0, 0, 0, 0, 0);
|
||||
text = FormatOwnedString(LookupMessage(MSI_USA_LOGINERRORMSG_UNKNOWN), g_unknown173A5BC);
|
||||
text = FormatOwnedString(LookupMessage(MSI_USA_LOGINERRORMSG_UNKNOWN), g_overweightThresholdPercent);
|
||||
g_windowMgr.SendNotice(UIM_PUSHINTOCHATHISTORY, reinterpret_cast<std::intptr_t>(text.c_str()), 0xFF, 8, 0, 0);
|
||||
}
|
||||
if (percent > 89 && oldPercent < 90) {
|
||||
|
|
@ -4757,7 +4757,7 @@ void CGameMode::ReceiveParChange(unsigned char* data) {
|
|||
if (oldPercent <= percent) {
|
||||
break;
|
||||
}
|
||||
if (percent < g_unknown173A5BC && g_unknown173A5BC <= oldPercent) {
|
||||
if (percent < g_overweightThresholdPercent && g_overweightThresholdPercent <= oldPercent) {
|
||||
g_windowMgr.SendNotice(UIM_OPENCHATWND, 0, 0, 0, 0, 0);
|
||||
g_windowMgr.SendNotice(UIM_PUSHINTOCHATHISTORY, reinterpret_cast<std::intptr_t>(LookupMessage(MSI_NO_RECOVER_OVERWEIGHT_RELEASED)), 0xFFFF00, 8, 0, 0);
|
||||
}
|
||||
|
|
@ -7592,11 +7592,11 @@ void CGameMode::ReceiveAddQuest64(const unsigned char* data) {
|
|||
for (int i = 0; i < packet->huntCount; ++i) {
|
||||
const AddQuestHunt64& hunt = hunts[i];
|
||||
info.m_huntId[i] = hunt.huntId;
|
||||
info.m_huntUnknown01A0[i] = hunt.condition;
|
||||
info.m_huntUnknown00D4[i] = hunt.mobId;
|
||||
info.m_huntUnknown00E0[i] = hunt.count;
|
||||
info.m_huntUnknown01AC[i] = hunt.minLevel;
|
||||
info.m_huntUnknown01B2[i] = hunt.maxLevel;
|
||||
info.m_huntConditionFlags[i] = hunt.condition;
|
||||
info.m_huntMobId[i] = hunt.mobId;
|
||||
info.m_huntKillCount[i] = hunt.count;
|
||||
info.m_huntMinLevel[i] = hunt.minLevel;
|
||||
info.m_huntMaxLevel[i] = hunt.maxLevel;
|
||||
const int mobId = hunt.mobId;
|
||||
if ((mobId < 1001 || mobId > 3998) && static_cast<unsigned int>(mobId - 20021) > 11978) {
|
||||
if (mobId == 0x1099) {
|
||||
|
|
@ -7645,11 +7645,11 @@ void CGameMode::ReceiveAddQuest(const unsigned char* data) {
|
|||
for (int i = 0; i < packet->huntCount; ++i) {
|
||||
const AddQuestHunt& hunt = hunts[i];
|
||||
info.m_huntId[i] = hunt.huntId;
|
||||
info.m_huntUnknown01A0[i] = hunt.condition;
|
||||
info.m_huntUnknown00D4[i] = hunt.mobId;
|
||||
info.m_huntUnknown00E0[i] = hunt.count;
|
||||
info.m_huntUnknown01AC[i] = hunt.minLevel;
|
||||
info.m_huntUnknown01B2[i] = hunt.maxLevel;
|
||||
info.m_huntConditionFlags[i] = hunt.condition;
|
||||
info.m_huntMobId[i] = hunt.mobId;
|
||||
info.m_huntKillCount[i] = hunt.count;
|
||||
info.m_huntMinLevel[i] = hunt.minLevel;
|
||||
info.m_huntMaxLevel[i] = hunt.maxLevel;
|
||||
const int mobId = hunt.mobId;
|
||||
if ((mobId < 1001 || mobId > 3998) && static_cast<unsigned int>(mobId - 20021) > 11978) {
|
||||
if (mobId == 0x1099) {
|
||||
|
|
@ -10361,7 +10361,7 @@ static_assert(sizeof(ActorDisappearPacket) == 7);
|
|||
void CGameMode::ReceiveActorDisappear(const unsigned char* data) {
|
||||
const ActorDisappearPacket* packet = reinterpret_cast<const ActorDisappearPacket*>(data);
|
||||
this->nameCard.Erase(packet->aid);
|
||||
g_session.EraseUnknownKey(packet->aid);
|
||||
g_session.EraseSummonHp(packet->aid);
|
||||
if (g_session.elementalGid == packet->aid) {
|
||||
g_session.SetElementalGid(-1);
|
||||
}
|
||||
|
|
@ -11886,8 +11886,8 @@ static_assert(sizeof(ActorStandEntry) == 0x7C);
|
|||
// OFFSET: 0x00D7AFA0
|
||||
// FUNCTION: fn_22199
|
||||
void CGameMode::SpawnStandingPc(
|
||||
std::uint32_t aid, int job, short cellX, short cellY, unsigned char sex, short unknown_0024, int unknown_0028, int unknown_002C,
|
||||
short unknown_0030, short unknown_004C, short unknown_0050, short unknown_0054, short unknown_0058, short robe, std::string name
|
||||
std::uint32_t aid, int job, short cellX, short cellY, unsigned char sex, short head, int weapon, int shield,
|
||||
short accessory, short accessory2, short accessory3, short headPalette, short bodyPalette, short robe, std::string name
|
||||
) {
|
||||
ActorStandEntry entry;
|
||||
entry.aid = aid;
|
||||
|
|
@ -11896,14 +11896,14 @@ void CGameMode::SpawnStandingPc(
|
|||
entry.cellX = cellX;
|
||||
entry.cellY = cellY;
|
||||
entry.direction = 4;
|
||||
entry.head = unknown_0024;
|
||||
entry.weapon = unknown_0028;
|
||||
entry.shield = unknown_002C;
|
||||
entry.accessory = unknown_0030;
|
||||
entry.accessory2 = unknown_004C;
|
||||
entry.accessory3 = unknown_0050;
|
||||
entry.headPalette = unknown_0054;
|
||||
entry.bodyPalette = unknown_0058;
|
||||
entry.head = head;
|
||||
entry.weapon = weapon;
|
||||
entry.shield = shield;
|
||||
entry.accessory = accessory;
|
||||
entry.accessory2 = accessory2;
|
||||
entry.accessory3 = accessory3;
|
||||
entry.headPalette = headPalette;
|
||||
entry.bodyPalette = bodyPalette;
|
||||
entry.robe = robe;
|
||||
if (name.size() != 0) {
|
||||
this->nameCard.SetName(aid, name);
|
||||
|
|
@ -11927,8 +11927,8 @@ void CGameMode::SpawnStandingPc(
|
|||
// OFFSET: 0x00D7B170
|
||||
// FUNCTION: fn_22200
|
||||
void CGameMode::SpawnStandingPc2(
|
||||
std::uint32_t aid, int job, short cellX, short cellY, unsigned char sex, short unknown_0024, int unknown_0028, int unknown_002C,
|
||||
short unknown_0030, short unknown_004C, short unknown_0050, short unknown_0054, short unknown_0058, short robe, std::string name, short unknown_0078
|
||||
std::uint32_t aid, int job, short cellX, short cellY, unsigned char sex, short head, int weapon, int shield,
|
||||
short accessory, short accessory2, short accessory3, short headPalette, short bodyPalette, short robe, std::string name, short bodyCostume
|
||||
) {
|
||||
ActorStandEntry entry;
|
||||
entry.aid = aid;
|
||||
|
|
@ -11937,16 +11937,16 @@ void CGameMode::SpawnStandingPc2(
|
|||
entry.cellX = cellX;
|
||||
entry.cellY = cellY;
|
||||
entry.direction = 4;
|
||||
entry.head = unknown_0024;
|
||||
entry.weapon = unknown_0028;
|
||||
entry.shield = unknown_002C;
|
||||
entry.accessory = unknown_0030;
|
||||
entry.accessory2 = unknown_004C;
|
||||
entry.accessory3 = unknown_0050;
|
||||
entry.headPalette = unknown_0054;
|
||||
entry.bodyPalette = unknown_0058;
|
||||
entry.head = head;
|
||||
entry.weapon = weapon;
|
||||
entry.shield = shield;
|
||||
entry.accessory = accessory;
|
||||
entry.accessory2 = accessory2;
|
||||
entry.accessory3 = accessory3;
|
||||
entry.headPalette = headPalette;
|
||||
entry.bodyPalette = bodyPalette;
|
||||
entry.robe = robe;
|
||||
entry.bodyCostume = unknown_0078;
|
||||
entry.bodyCostume = bodyCostume;
|
||||
if (name.size() != 0) {
|
||||
this->nameCard.SetName(aid, name);
|
||||
}
|
||||
|
|
@ -15103,7 +15103,7 @@ void CGameMode::ReceiveActorStateEntryNamedBody(const unsigned char* data) {
|
|||
#pragma pack(push, 1)
|
||||
struct RefineBroadcastPacket {
|
||||
/* 0000 */ std::uint16_t packetType;
|
||||
/* 0002 */ std::uint16_t unknown_0002;
|
||||
/* 0002 */ std::uint16_t padding_0002;
|
||||
/* 0004 */ int itemId;
|
||||
/* 0008 */ char name[24];
|
||||
/* 0020 */ int materialId;
|
||||
|
|
@ -15113,7 +15113,7 @@ struct RefineBroadcastPacket {
|
|||
|
||||
struct TradeBroadcastPacket {
|
||||
/* 0000 */ std::uint16_t packetType;
|
||||
/* 0002 */ std::uint16_t unknown_0002;
|
||||
/* 0002 */ std::uint16_t padding_0002;
|
||||
/* 0004 */ int itemId;
|
||||
/* 0008 */ char name[24];
|
||||
/* 0020 */ char otherName[24];
|
||||
|
|
@ -15121,7 +15121,7 @@ struct TradeBroadcastPacket {
|
|||
|
||||
struct ItemBroadcastPacket {
|
||||
/* 0000 */ std::uint16_t packetType;
|
||||
/* 0002 */ std::uint16_t unknown_0002;
|
||||
/* 0002 */ std::uint16_t padding_0002;
|
||||
/* 0004 */ int itemId;
|
||||
/* 0008 */ char name[24];
|
||||
};
|
||||
|
|
@ -20281,7 +20281,7 @@ struct ItemSlotOptions {
|
|||
|
||||
struct ChatRoomMemberUpdateInfo {
|
||||
/* 0000 */ std::string title;
|
||||
/* 0018 */ std::string unknown_0018;
|
||||
/* 0018 */ std::string padding_0018;
|
||||
/* 0030 */ int type;
|
||||
/* 0034 */ int memberCount;
|
||||
/* 0038 */ int memberLimit;
|
||||
|
|
@ -20290,7 +20290,7 @@ struct ChatRoomMemberUpdateInfo {
|
|||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
static_assert(sizeof(ChatRoomMemberUpdateInfo) == 0x40);
|
||||
static_assert(offsetof(ChatRoomMemberUpdateInfo, unknown_0018) == 0x18);
|
||||
static_assert(offsetof(ChatRoomMemberUpdateInfo, padding_0018) == 0x18);
|
||||
static_assert(offsetof(ChatRoomMemberUpdateInfo, type) == 0x30);
|
||||
#endif
|
||||
|
||||
|
|
@ -25039,9 +25039,9 @@ void CGameMode::ProcessIncomingPackets() {
|
|||
|
||||
RenewQuestOngoingInfo info = quest;
|
||||
for (int index = i; index < 3; ++index) {
|
||||
if (*reinterpret_cast<const int *>(entry + 4) == info.m_huntUnknown00D4[index]) {
|
||||
info.m_huntUnknown00E0[index] = *reinterpret_cast<const std::int16_t *>(entry + 0xA);
|
||||
info.m_huntUnknown0180[index] = *reinterpret_cast<const std::int16_t *>(entry + 8);
|
||||
if (*reinterpret_cast<const int *>(entry + 4) == info.m_huntMobId[index]) {
|
||||
info.m_huntKillCount[index] = *reinterpret_cast<const std::int16_t *>(entry + 0xA);
|
||||
info.m_huntMaxCount[index] = *reinterpret_cast<const std::int16_t *>(entry + 8);
|
||||
g_renewQuestMgr->SetOngoingQuest(*reinterpret_cast<const unsigned int *>(entry), info);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ struct AcceptEnterPacket {
|
|||
/* 0000 */ std::int16_t id;
|
||||
/* 0002 */ std::uint16_t length;
|
||||
/* 0004 */ CharacterSlotExtension extension;
|
||||
/* 0018 */ unsigned char unknown_0018[3];
|
||||
/* 0018 */ unsigned char padding_0018[3];
|
||||
/* 001B */ CharacterInfo characters[1];
|
||||
};
|
||||
|
||||
|
|
@ -325,7 +325,7 @@ const char* g_loginWallpaperName = "";
|
|||
|
||||
struct SessionAccount {
|
||||
/* 0000 */ int sex;
|
||||
/* 0004 */ int unknown_0004;
|
||||
/* 0004 */ int padding_0004;
|
||||
/* 0008 */ int authCode;
|
||||
/* 000C */ int userLevel;
|
||||
/* 0010 */ std::uint32_t lastLoginIp;
|
||||
|
|
@ -665,7 +665,7 @@ void CLoginMode::ReceiveCharacterSlots(const CharacterSlotsPacket* packet) {
|
|||
SecureZeroMemory(this->characters, sizeof(this->characters));
|
||||
g_session.characterSlotState = 0;
|
||||
this->receivedCharacterCount = 0;
|
||||
this->unknown_01DC = 0;
|
||||
this->padding_01DC = 0;
|
||||
|
||||
this->slotExtension = packet->extension;
|
||||
this->slotExtension.code = htonl(this->slotExtension.code);
|
||||
|
|
@ -2233,7 +2233,7 @@ void CLoginMode::ShowLoginError(int code, int argument) {
|
|||
|
||||
// OFFSET: 0x00D8C6A0
|
||||
// FUNCTION: fn_22258
|
||||
CLoginMode::CLoginMode() : wallpaperName(), noticeCommands(), unknown_6F2C(), accountInfo(), keycryptErrorInfo(), mapStates() {
|
||||
CLoginMode::CLoginMode() : wallpaperName(), noticeCommands(), padding_6F2C(), accountInfo(), keycryptErrorInfo(), mapStates() {
|
||||
this->fadeInRequested = 1;
|
||||
this->nextKeepaliveTime = timeGetTime() + 12000;
|
||||
this->savedInlineCharset = g_inlineCharset;
|
||||
|
|
@ -2243,7 +2243,7 @@ CLoginMode::CLoginMode() : wallpaperName(), noticeCommands(), unknown_6F2C(), ac
|
|||
this->passwordRetryCount = 0;
|
||||
SecureZeroMemory(this->characters, sizeof(this->characters));
|
||||
this->receivedCharacterCount = 0;
|
||||
this->unknown_01DC = 0;
|
||||
this->padding_01DC = 0;
|
||||
this->characterDeleted = false;
|
||||
}
|
||||
|
||||
|
|
@ -2914,7 +2914,7 @@ void CLoginMode::PollNetworkStatus() {
|
|||
case ID_ZC_RECOVER_PENALTY_OVERWEIGHT: {
|
||||
const int value = reinterpret_cast<const IntValuePacket*>(g_gameModePacketBuffer)->value;
|
||||
if (value > 0) {
|
||||
g_unknown173A5BC = value;
|
||||
g_overweightThresholdPercent = value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -3435,7 +3435,7 @@ struct ZoneEnterPacket {
|
|||
/* 0002 */ std::uint32_t aid;
|
||||
/* 0006 */ std::uint32_t gid;
|
||||
/* 000A */ int authCode;
|
||||
/* 000E */ unsigned char unknown_000E[4];
|
||||
/* 000E */ unsigned char padding_000E[4];
|
||||
/* 0012 */ std::uint32_t clientTime;
|
||||
/* 0016 */ unsigned char sex;
|
||||
};
|
||||
|
|
@ -4189,7 +4189,7 @@ void CLoginMode::OnChangeState(int value) {
|
|||
g_session.m_playerY = header.cellY;
|
||||
g_session.m_playerDir = header.playerDirection;
|
||||
g_windowMgr.ApplyReplayOptions(header.options);
|
||||
g_session.ResetUnknownState();
|
||||
g_session.ResetCharacterSlotState();
|
||||
g_session.ReadReplayCharacter(Replay::Instance().ReadSection(3));
|
||||
char mapName[56];
|
||||
std::sprintf(mapName, "%s.rsw", g_session.m_navigationPlayerMap);
|
||||
|
|
|
|||
|
|
@ -868,7 +868,7 @@ ReplayFileList& ReplayFileList::Instance() {
|
|||
// FUNCTION: fn_19339
|
||||
bool Replay::SetHeaderInfo(
|
||||
std::uint32_t key0, std::uint32_t key1, const char* characterName, const char* mapName, int accountId, int cellX, int cellY, int playerDirection, int service,
|
||||
int serviceType, int unknown0014
|
||||
int serviceType, int sessionSyncValue
|
||||
) {
|
||||
if (!characterName || !mapName) {
|
||||
return false;
|
||||
|
|
@ -877,7 +877,7 @@ bool Replay::SetHeaderInfo(
|
|||
std::memcpy(this->header.characterName, characterName, sizeof(this->header.characterName));
|
||||
this->header.service = service;
|
||||
this->header.serviceType = serviceType;
|
||||
this->header.sessionSyncValue = unknown0014;
|
||||
this->header.sessionSyncValue = sessionSyncValue;
|
||||
this->header.key0 = key0;
|
||||
this->header.key1 = key1;
|
||||
this->header.accountId = accountId;
|
||||
|
|
@ -1151,7 +1151,7 @@ std::vector<unsigned char> CSession::BuildCompanionReplayRecords() {
|
|||
namespace {
|
||||
#pragma pack(push, 1)
|
||||
struct ReplayShopNameRecord {
|
||||
/* 0000 */ std::int16_t unknown;
|
||||
/* 0000 */ std::int16_t padding_0000;
|
||||
/* 0002 */ char name[16];
|
||||
/* 0012 */ int shopId;
|
||||
};
|
||||
|
|
@ -1297,7 +1297,7 @@ std::vector<unsigned char> CSession::BuildShopReplayRecords() {
|
|||
AppendRecord(records, MakeReplayRecord(7500, nullptr, 0));
|
||||
for (auto it = this->m_nameToId.begin(); it != this->m_nameToId.end(); ++it) {
|
||||
ReplayShopNameRecord value;
|
||||
value.unknown = 0;
|
||||
value.padding_0000 = 0;
|
||||
value.shopId = it->second;
|
||||
std::memset(value.name, 0, sizeof(value.name));
|
||||
std::memcpy(value.name, it->first.c_str(), (std::min)(it->first.size(), sizeof(value.name)));
|
||||
|
|
|
|||
|
|
@ -24,10 +24,10 @@ struct ReplayCachedPacket {
|
|||
|
||||
#pragma pack(push, 1)
|
||||
struct ReplayOptions {
|
||||
/* 0000 */ unsigned char unknown_0000[6];
|
||||
/* 0000 */ unsigned char padding_0000[6];
|
||||
/* 0006 */ unsigned char recordRestricted;
|
||||
/* 0007 */ unsigned char showItemSlots;
|
||||
/* 0008 */ unsigned char unknown_0008[22];
|
||||
/* 0008 */ unsigned char padding_0008[22];
|
||||
|
||||
unsigned char Get(ReplayRecordOption option) const {
|
||||
return reinterpret_cast<const unsigned char*>(this)[static_cast<std::size_t>(option)];
|
||||
|
|
@ -150,7 +150,7 @@ public:
|
|||
void Rewind();
|
||||
bool SetHeaderInfo(
|
||||
std::uint32_t key0, std::uint32_t key1, const char* characterName, const char* mapName, int accountId, int cellX, int cellY, int playerDirection, int service,
|
||||
int serviceType, int unknown0014
|
||||
int serviceType, int padding_0014
|
||||
);
|
||||
void IncreaseSpeed();
|
||||
void DecreaseSpeed();
|
||||
|
|
|
|||
|
|
@ -253,7 +253,7 @@ __declspec(noinline) int CSession::HasSwapEquipmentItem(std::uint32_t id) const
|
|||
|
||||
// OFFSET: 0x00E3DB20
|
||||
// FUNCTION: fn_24194
|
||||
bool CSession::ResetUnknownState() {
|
||||
bool CSession::ResetCharacterSlotState() {
|
||||
this->m_normalSlotCount = 1;
|
||||
this->m_premiumSlotCount = 1;
|
||||
this->m_billingSlotCount = 1;
|
||||
|
|
@ -1453,7 +1453,7 @@ int CSession::GetItem1718QuantityOf(const ITEM_INFO& item) const {
|
|||
|
||||
// OFFSET: 0x00DDFDE0
|
||||
// FUNCTION: fn_23447
|
||||
std::uint16_t CSession::GetItem1718Unknown006CByItemId(const ITEM_INFO& item) const {
|
||||
std::uint16_t CSession::GetShopItemPriceFactorByItemId(const ITEM_INFO& item) const {
|
||||
for (std::list<ITEM_INFO>::const_iterator it = this->shopItems.begin(); it != this->shopItems.end(); ++it) {
|
||||
if (std::atoi(it->itemId.c_str()) == std::atoi(item.itemId.c_str())) {
|
||||
return it->priceFactor;
|
||||
|
|
@ -1465,7 +1465,7 @@ std::uint16_t CSession::GetItem1718Unknown006CByItemId(const ITEM_INFO& item) co
|
|||
|
||||
// OFFSET: 0x00DDFE60
|
||||
// FUNCTION: fn_23448
|
||||
std::uint16_t CSession::GetItem1718Unknown006COf(const ITEM_INFO& item) const {
|
||||
std::uint16_t CSession::GetShopItemPriceFactor(const ITEM_INFO& item) const {
|
||||
for (auto it = this->shopItems.begin(); it != this->shopItems.end(); ++it) {
|
||||
if (it->identity[1] == item.identity[1]) {
|
||||
return it->priceFactor;
|
||||
|
|
@ -1477,10 +1477,10 @@ std::uint16_t CSession::GetItem1718Unknown006COf(const ITEM_INFO& item) const {
|
|||
|
||||
// OFFSET: 0x00DDFE90
|
||||
// FUNCTION: fn_23449
|
||||
std::uint16_t CSession::SumItem1720Unknown006CByItemId() const {
|
||||
std::uint16_t CSession::SumPurchasePriceFactorByItemId() const {
|
||||
std::uint16_t total = 0;
|
||||
for (std::list<ITEM_INFO>::const_iterator it = this->purchaseItems.begin(); it != this->purchaseItems.end(); ++it) {
|
||||
total += it->quantity * this->GetItem1718Unknown006CByItemId(*it);
|
||||
total += it->quantity * this->GetShopItemPriceFactorByItemId(*it);
|
||||
}
|
||||
|
||||
return total;
|
||||
|
|
@ -1488,10 +1488,10 @@ std::uint16_t CSession::SumItem1720Unknown006CByItemId() const {
|
|||
|
||||
// OFFSET: 0x00DDFF60
|
||||
// FUNCTION: fn_23450
|
||||
std::uint16_t CSession::SumItem1720Unknown006C() const {
|
||||
std::uint16_t CSession::SumPurchasePriceFactor() const {
|
||||
std::uint16_t total = 0;
|
||||
for (auto it = this->purchaseItems.begin(); it != this->purchaseItems.end(); ++it) {
|
||||
total += it->quantity * this->GetItem1718Unknown006COf(*it);
|
||||
total += it->quantity * this->GetShopItemPriceFactor(*it);
|
||||
}
|
||||
|
||||
return total;
|
||||
|
|
@ -2166,7 +2166,7 @@ void CSession::SetMercSkillLevel(int skillId, int level) {
|
|||
|
||||
// OFFSET: 0x00DFFC40
|
||||
// FUNCTION: fn_23630
|
||||
void CSession::SetItem1768Unknown0014(int index, std::uint32_t value) {
|
||||
void CSession::SetMerchantPurchaseSavedPrice(int index, std::uint32_t value) {
|
||||
int position = 0;
|
||||
for (ITEM_INFO& item : this->merchantPurchaseSavedItems) {
|
||||
if (position == index) {
|
||||
|
|
@ -6396,10 +6396,10 @@ void CSession::InitResourceNameTables() {
|
|||
shieldJobNames[403] = KarnosBodyPath1().Text();
|
||||
shieldJobNames[404] = KarnosBodyPath2().Text();
|
||||
shieldJobNames[405] = AliteaBodyPath1().Text();
|
||||
std::vector<const char*>& unknownNames = reinterpret_cast<std::vector<const char*>&>(this->additionalSpriteNames[0x08]);
|
||||
unknownNames.resize(2, "f");
|
||||
unknownNames[0] = "f";
|
||||
unknownNames[1] = "";
|
||||
std::vector<const char*>& femaleSuffixNames = reinterpret_cast<std::vector<const char*>&>(this->additionalSpriteNames[0x08]);
|
||||
femaleSuffixNames.resize(2, "f");
|
||||
femaleSuffixNames[0] = "f";
|
||||
femaleSuffixNames[1] = "";
|
||||
std::vector<const char*>& weaponNames = reinterpret_cast<std::vector<const char*>&>(this->m_weaponNamesBegin);
|
||||
weaponNames.resize(105, "");
|
||||
for (int index = 0; index < 105; ++index) {
|
||||
|
|
@ -6930,7 +6930,7 @@ void CSession::LoadSessionTables() {
|
|||
[](const char* left, const char* right) { return std::strcmp(left, right) < 0; });
|
||||
|
||||
session->LoadMapViewParameters();
|
||||
session->InitUnknownMapTables();
|
||||
session->InitSkillEffectIds();
|
||||
ImportMessageTable();
|
||||
g_forbiddenWords.Load("manner.txt");
|
||||
session->LoadXmlTables();
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ struct SessionRecord6144 {
|
|||
/* 0004 */ std::uint32_t objectives[10] = {};
|
||||
/* 002C */ int completedAt = 0;
|
||||
/* 0030 */ std::uint8_t rewarded = 0;
|
||||
/* 0031 */ std::uint8_t unknown_0031;
|
||||
/* 0031 */ std::uint8_t padding_0031;
|
||||
/* 0032 */ std::int16_t year;
|
||||
/* 0034 */ std::int16_t month;
|
||||
/* 0036 */ std::int16_t day;
|
||||
|
|
@ -85,7 +85,7 @@ struct SessionRecord6178Entry {
|
|||
};
|
||||
|
||||
struct SessionRecord6178 {
|
||||
/* 0000 */ unsigned char unknown_0000 = 0;
|
||||
/* 0000 */ unsigned char padding_0000 = 0;
|
||||
/* 0001 */ unsigned char completed = 0;
|
||||
/* 0004 */ int id = -1;
|
||||
/* 0008 */ std::string title;
|
||||
|
|
@ -190,7 +190,7 @@ public:
|
|||
/* 00B4 */ int m_simplifiedSkillList;
|
||||
/* 00B8 */ int m_showSkillDescription;
|
||||
/* 00BC */ unsigned char m_hotkeyPage;
|
||||
/* 00BD */ unsigned char unknown_00BD[3];
|
||||
/* 00BD */ unsigned char padding_00BD[3];
|
||||
/* 00C0 */ std::string m_hotkeyDescriptions[36];
|
||||
/* 0420 */ std::uint32_t hotkeySkillLevels[36];
|
||||
/* 04B0 */ NormalItemSlot m_shortcutSlots[36];
|
||||
|
|
@ -199,7 +199,7 @@ public:
|
|||
/* 06AC */ NormalItemSlot m_normalItemSlots[9];
|
||||
/* 06EB */ NormalItemSlot quickSlot;
|
||||
/* 06F2 */ NormalItemSlot alternateQuickSlot;
|
||||
/* 06F9 */ unsigned char unknown_06F9[0x03];
|
||||
/* 06F9 */ unsigned char padding_06F9[0x03];
|
||||
/* 06FC */ int mainShortcutRow;
|
||||
/* 0700 */ std::map<int, int> skillFollowEffects;
|
||||
/* 0708 */ std::map<int, int> skillEffectIds;
|
||||
|
|
@ -210,7 +210,7 @@ public:
|
|||
/* 073C */ std::map<int, SubChatWndInfo> m_noSubChatWnds;
|
||||
/* 0744 */ std::map<int, SubChatWndInfo> m_subChatWnds;
|
||||
/* 074C */ bool m_canDragWnd;
|
||||
/* 074D */ unsigned char unknown_074D[0x03];
|
||||
/* 074D */ unsigned char padding_074D[0x03];
|
||||
/* 0750 */ std::uint32_t m_prohibitionTarget;
|
||||
/* 0754 */ std::vector<ProhibitionLogEntry> m_prohibitionLog;
|
||||
/* 0760 */ std::string m_accountName;
|
||||
|
|
@ -227,7 +227,7 @@ public:
|
|||
/* 07A4 */ std::uint32_t m_timeAttackCountdown;
|
||||
/* 07A8 */ std::uint32_t m_timeAttackStart;
|
||||
/* 07AC */ int m_timeAttackVisible;
|
||||
/* 07B0 */ unsigned char unknown_07B0[4];
|
||||
/* 07B0 */ unsigned char padding_07B0[4];
|
||||
};
|
||||
};
|
||||
/* 07B4 */ unsigned char m_playerNameKey[0x40];
|
||||
|
|
@ -243,7 +243,7 @@ public:
|
|||
/* 0EF4 */ unsigned char accessoryAppearance[0x0C];
|
||||
/* 0F00 */ int m_robe;
|
||||
/* 0F04 */ bool m_newRobeDrawOnTop;
|
||||
/* 0F05 */ unsigned char unknown_0F05[0x03];
|
||||
/* 0F05 */ unsigned char padding_0F05[0x03];
|
||||
/* 0F08 */ int m_bodyCostume;
|
||||
/* 0F0C */ unsigned char statusLevelEffects[0x08];
|
||||
/* 0F14 */ std::uint32_t m_jobFlags;
|
||||
|
|
@ -283,7 +283,7 @@ public:
|
|||
/* 0FA8 */ std::vector<const char*> m_jobNameTable;
|
||||
/* 0FB4 */ std::map<unsigned, const char*> m_jobNameTableWoman;
|
||||
/* 0FBC */ std::map<unsigned, const char*> m_jobNameTableMan;
|
||||
/* 0FC4 */ std::map<unsigned, const char*> unknown_0FC4;
|
||||
/* 0FC4 */ std::map<unsigned, const char*> padding_0FC4;
|
||||
/* 0FCC */ std::vector<const char*> m_sexLabels;
|
||||
/* 0FD8 */ std::vector<const char*> m_jobKeyNames;
|
||||
/* 0FE4 */ std::list<std::uint32_t> m_pingSamples;
|
||||
|
|
@ -350,7 +350,7 @@ public:
|
|||
/* 1784 */ std::list<ITEM_INFO> inventoryCategories[11];
|
||||
/* 17DC */ std::list<MessengerMember> m_partyMembers;
|
||||
/* 17E4 */ std::list<MessengerMember> m_friends;
|
||||
/* 17EC */ unsigned char unknown_17EC[0x04];
|
||||
/* 17EC */ unsigned char padding_17EC[0x04];
|
||||
/* 17F0 */ ITEM_INFO equippedItems[10];
|
||||
/* 21A0 */ ITEM_INFO alternateEquippedItems[10];
|
||||
/* 2B50 */ ITEM_INFO costumeItems[10];
|
||||
|
|
@ -366,8 +366,8 @@ public:
|
|||
/* 5248 */ std::vector<char*> m_indoorRswNames;
|
||||
/* 5254 */ std::map<int, float> m_npcLocationRadius;
|
||||
/* 525C */ unsigned char weaponSoundTables[0x24];
|
||||
/* 5280 */ std::list<int> unknown_5280;
|
||||
/* 5288 */ unsigned char unknown_5288[0x0C];
|
||||
/* 5280 */ std::list<int> padding_5280;
|
||||
/* 5288 */ unsigned char padding_5288[0x0C];
|
||||
/* 5294 */ const char* const* m_bodyJobNames;
|
||||
/* 5298 */ unsigned char m_bodyJobNamesEndAndCapacity[0x08];
|
||||
/* 52A0 */ const char* const* m_sexNames;
|
||||
|
|
@ -439,7 +439,7 @@ public:
|
|||
/* 55D0 */ int homunMaxSp;
|
||||
/* 55D4 */ int homunFriendly;
|
||||
/* 55D8 */ int homunAccessory;
|
||||
/* 55DC */ unsigned char unknown_55DC[4];
|
||||
/* 55DC */ unsigned char padding_55DC[4];
|
||||
/* 55E0 */ std::int64_t m_homunExp;
|
||||
/* 55E8 */ std::int64_t m_homunMaxExp;
|
||||
/* 55F0 */ int homunHunger;
|
||||
|
|
@ -479,13 +479,13 @@ public:
|
|||
/* 56B8 */ unsigned char autoReplyState[0x1C];
|
||||
/* 56D4 */ int m_storePasswordMode;
|
||||
/* 56D8 */ bool m_passwordInputAlternate;
|
||||
/* 56D9 */ unsigned char unknown_56D9[0x7];
|
||||
/* 56D9 */ unsigned char padding_56D9[0x7];
|
||||
/* 56E0 */ int m_passwordWndMode;
|
||||
/* 56E4 */ std::uint32_t m_loginAccountId;
|
||||
/* 56E8 */ std::int32_t m_passwordWndAccountId;
|
||||
/* 56EC */ bool m_launchAccountEnabled;
|
||||
/* 56ED */ char m_loginErrorText[500];
|
||||
/* 58E1 */ unsigned char unknown_58E1[0x19];
|
||||
/* 58E1 */ unsigned char padding_58E1[0x19];
|
||||
/* 58FA */ char clientVersion[0x18];
|
||||
/* 5912 */ unsigned char characterRenameEnabled;
|
||||
/* 5913 */ unsigned char characterRenameData[0x25];
|
||||
|
|
@ -511,9 +511,9 @@ public:
|
|||
union {
|
||||
/* 59DC */ unsigned char mouseAndChannelOptions[0x19C];
|
||||
struct {
|
||||
/* 59DC */ unsigned char unknown_59DC_0000[0x194];
|
||||
/* 59DC */ unsigned char padding_59DC[0x194];
|
||||
/* 5B70 */ bool m_lockMouse;
|
||||
/* 5B71 */ unsigned char unknown_5B71[3];
|
||||
/* 5B71 */ unsigned char padding_5B71[3];
|
||||
/* 5B74 */ int m_channelCopId;
|
||||
};
|
||||
};
|
||||
|
|
@ -574,19 +574,19 @@ public:
|
|||
/* 61B3 */ bool m_itemDefaultSort;
|
||||
/* 61B4 */ bool m_itemAscendingOrder;
|
||||
/* 61B5 */ bool m_itemDescendingOrder;
|
||||
/* 61B6 */ unsigned char unknown_61B6[2];
|
||||
/* 61B6 */ unsigned char padding_61B6[2];
|
||||
};
|
||||
};
|
||||
/* 61B8 */ ITEM_INFO swapCostumeItems[10];
|
||||
/* 6B68 */ ITEM_INFO swapEquippedItems[10];
|
||||
/* 7518 */ ITEM_INFO unknown_7518[10];
|
||||
/* 7518 */ ITEM_INFO padding_7518[10];
|
||||
/* 7EC8 */ std::uint32_t swapArrowIndex;
|
||||
/* 7ECC */ unsigned char swapEquipmentFlag[0x04];
|
||||
/* 7ED0 */ int minimumNameLength;
|
||||
/* 7ED4 */ std::uint32_t nameValidationTick;
|
||||
/* 7ED8 */ int m_swapEquipmentMode = 0;
|
||||
/* 7EDC */ bool m_showMenuIcon;
|
||||
/* 7EDD */ unsigned char unknown_7EDD[3];
|
||||
/* 7EDD */ unsigned char padding_7EDD[3];
|
||||
/* 7EE0 */ std::map<int, RobeAlpha> m_robeAlpha;
|
||||
/* 7EE8 */ unsigned char maxBaseLevel[4];
|
||||
/* 7EEC */ int m_maxLevel;
|
||||
|
|
@ -598,7 +598,7 @@ public:
|
|||
union {
|
||||
/* 7F7D */ unsigned char homunculusFeedOptions[0x0F];
|
||||
struct {
|
||||
/* 7F7D */ unsigned char unknown_7F7D_0000[0x0B];
|
||||
/* 7F7D */ unsigned char padding_7F7D[0x0B];
|
||||
/* 7F88 */ bool m_loginModeFlag;
|
||||
};
|
||||
};
|
||||
|
|
@ -773,7 +773,7 @@ public:
|
|||
void FormatMonsterSpeech(char* text, char* output, std::uint32_t aid, int feminine);
|
||||
bool UpdateHomunSkill(const CSkillInfo& value, unsigned char notify);
|
||||
bool UpdateMercSkill(const CSkillInfo& value, unsigned char notify);
|
||||
void AddUnknownId(int id);
|
||||
void AddAchievementId(int id);
|
||||
EquipSlots GetEquipSlots(int location);
|
||||
bool EquipInventoryItem(const ITEM_INFO& item, const char* name);
|
||||
bool UnequipItem(int location, std::uint32_t identity);
|
||||
|
|
@ -792,7 +792,7 @@ public:
|
|||
void ClearShortcutSlots();
|
||||
void ClearSecondaryShortcutSlots();
|
||||
void ClearHotkeySkillLevels();
|
||||
void EraseUnknownKey(std::int64_t key);
|
||||
void EraseSummonHp(std::int64_t key);
|
||||
std::int64_t FindSummonHp(std::int64_t key) const;
|
||||
std::int64_t FindSummonMaxHp(std::int64_t key) const;
|
||||
SessionRecord6144 FindAchievementRecord(int key) const;
|
||||
|
|
@ -886,7 +886,7 @@ public:
|
|||
void NotifyMercSkillWindows();
|
||||
int GetPetActionNumber(int hungerLevel, int friendlyLevel, int action);
|
||||
void InitPetActionTable();
|
||||
void InitUnknownMapTables();
|
||||
void InitSkillEffectIds();
|
||||
int GetPetFriendlyState(int friendly);
|
||||
void GetPetFriendlyStateString(int friendly, char* buffer);
|
||||
int GetPetHungryState(int hunger);
|
||||
|
|
@ -899,7 +899,7 @@ public:
|
|||
bool IsPlayerPerformerJob(int job) const;
|
||||
bool IsSpecialMonsterJob(int job) const;
|
||||
bool IsRestrictedCharacterSlot(int value) const;
|
||||
bool ResetUnknownState();
|
||||
bool ResetCharacterSlotState();
|
||||
__declspec(noinline) bool IsSecondJob(int job);
|
||||
void UpdateBodyStyle(int job, int style, int renderJob);
|
||||
std::string GetBodyJobName(int job);
|
||||
|
|
@ -918,7 +918,7 @@ public:
|
|||
void LoadExternalSettings();
|
||||
void ReloadLanguageTables();
|
||||
bool AddInventoryItem(const ITEM_INFO& item, unsigned char refresh);
|
||||
void AddShopItem(const RawItemBasic& item, int quantity, std::uint16_t unknown_006C);
|
||||
void AddShopItem(const RawItemBasic& item, int quantity, std::uint16_t padding_006C);
|
||||
void AddShopItem(const RawItemBasic& item, int mode);
|
||||
bool AddMerchantPurchaseSavedItem(const ITEM_INFO& item, unsigned char alternate, unsigned char refresh);
|
||||
bool AddMerchantShopItem(const ITEM_INFO& item);
|
||||
|
|
@ -965,7 +965,7 @@ public:
|
|||
void ClearCartItems();
|
||||
void CopyItems1740To1750();
|
||||
void CopyItems1760To1770();
|
||||
std::pair<bool, ITEM_INFO> FindMerchantMyShopItem(const ITEM_INFO& item, unsigned char unknown);
|
||||
std::pair<bool, ITEM_INFO> FindMerchantMyShopItem(const ITEM_INFO& item, unsigned char wholeItem);
|
||||
void ClearMiniPartyRecords();
|
||||
void ResetStatBonuses();
|
||||
void ResetHotkeyDescriptions();
|
||||
|
|
@ -1132,10 +1132,10 @@ public:
|
|||
ITEM_INFO GetAlternateEquippedItemAt(int index) const;
|
||||
int GetItem1718QuantityByItemId(const ITEM_INFO& item) const;
|
||||
int GetItem1718QuantityOf(const ITEM_INFO& item) const;
|
||||
std::uint16_t GetItem1718Unknown006CByItemId(const ITEM_INFO& item) const;
|
||||
std::uint16_t GetItem1718Unknown006COf(const ITEM_INFO& item) const;
|
||||
std::uint16_t SumItem1720Unknown006CByItemId() const;
|
||||
std::uint16_t SumItem1720Unknown006C() const;
|
||||
std::uint16_t GetShopItemPriceFactorByItemId(const ITEM_INFO& item) const;
|
||||
std::uint16_t GetShopItemPriceFactor(const ITEM_INFO& item) const;
|
||||
std::uint16_t SumPurchasePriceFactorByItemId() const;
|
||||
std::uint16_t SumPurchasePriceFactor() const;
|
||||
ITEM_INFO FindItem1720ByItemId(const char* itemId) const;
|
||||
ITEM_INFO GetItem1720At(int index) const;
|
||||
int GetItem1720QuantityByItemId(const char* itemId) const;
|
||||
|
|
@ -1213,7 +1213,7 @@ public:
|
|||
void SetHomunSkillLevel(int skillId, int level);
|
||||
void UpdateInventoryItem(const ITEM_INFO& item, unsigned char refresh);
|
||||
void SetMercSkillLevel(int skillId, int level);
|
||||
void SetItem1768Unknown0014(int index, std::uint32_t value);
|
||||
void SetMerchantPurchaseSavedPrice(int index, std::uint32_t value);
|
||||
void AddMiniPartyRecord(int id, std::uint32_t value);
|
||||
void SetExchangeMoney(int value);
|
||||
void SetOtherExchangeMoney(int value);
|
||||
|
|
|
|||
|
|
@ -356,7 +356,7 @@ void CSession::ResolvePendingActorName(std::uint32_t id, const char* name) {
|
|||
|
||||
// OFFSET: 0x00E1A5E0
|
||||
// FUNCTION: fn_23849
|
||||
void CSession::InitUnknownMapTables() {
|
||||
void CSession::InitSkillEffectIds() {
|
||||
int key;
|
||||
|
||||
this->skillEffectIds.clear();
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ void OnStoveAllProductsFetched(Stove::PCSDK::CallbackResult callbackResult, cons
|
|||
void OnStoveInitialized(Stove::PCSDK::CallbackResult callbackResult);
|
||||
void OnStoveShutdown(Stove::PCSDK::CallbackResult callbackResult, Stove::PCSDK::Base::StovePCShutdown shutdown);
|
||||
void OnStovePurchaseStarted(Stove::PCSDK::CallbackResult callbackResult, Stove::PCSDK::IAP::StovePCPurchaseResult purchaseResult);
|
||||
void OnStovePurchaseConfirmed(Stove::PCSDK::CallbackResult callbackResult, bool purchased, int unknown1, unsigned int count, int unknown2, int unknown3);
|
||||
void OnStovePurchaseConfirmed(Stove::PCSDK::CallbackResult callbackResult, bool purchased, int productCount, unsigned int count, int remainingCount, int resultCode);
|
||||
|
||||
// STRING: st_01259
|
||||
const wchar_t g_stoveCategoryIdA[] = L"44C71118750747D";
|
||||
|
|
@ -153,7 +153,7 @@ struct CategoryProductsCallback {
|
|||
};
|
||||
|
||||
struct ConfirmPurchaseCallback {
|
||||
void operator()(Stove::PCSDK::CallbackResult callbackResult, bool purchased, int unknown1, unsigned int count, int unknown2, int unknown3) const;
|
||||
void operator()(Stove::PCSDK::CallbackResult callbackResult, bool purchased, int productCount, unsigned int count, int remainingCount, int resultCode) const;
|
||||
};
|
||||
|
||||
// OFFSET: 0x0063A780
|
||||
|
|
@ -188,8 +188,8 @@ void OnStovePurchaseStarted(Stove::PCSDK::CallbackResult callbackResult, Stove::
|
|||
|
||||
// OFFSET: 0x0063A9D0
|
||||
// FUNCTION: fn_04776
|
||||
void OnStovePurchaseConfirmed(Stove::PCSDK::CallbackResult callbackResult, bool purchased, int unknown1, unsigned int count, int unknown2, int unknown3) {
|
||||
ConfirmPurchaseCallback()(callbackResult, purchased, unknown1, count, unknown2, unknown3);
|
||||
void OnStovePurchaseConfirmed(Stove::PCSDK::CallbackResult callbackResult, bool purchased, int productCount, unsigned int count, int remainingCount, int resultCode) {
|
||||
ConfirmPurchaseCallback()(callbackResult, purchased, productCount, count, remainingCount, resultCode);
|
||||
}
|
||||
|
||||
// OFFSET: 0x0063AA50
|
||||
|
|
@ -474,8 +474,8 @@ EncryptedName<129, 0x2D3B15774149D5DDULL>& PurchaseCheckingMessage::operator()()
|
|||
|
||||
// OFFSET: 0x0063D5D0
|
||||
// FUNCTION: fn_04791
|
||||
void ConfirmPurchaseCallback::operator()(Stove::PCSDK::CallbackResult callbackResult, bool purchased, int unknown1, unsigned int count, int unknown2,
|
||||
int unknown3) const {
|
||||
void ConfirmPurchaseCallback::operator()(Stove::PCSDK::CallbackResult callbackResult, bool purchased, int productCount, unsigned int count, int remainingCount,
|
||||
int resultCode) const {
|
||||
g_stoveWaitingCallback = false;
|
||||
if (callbackResult.GetResult().IsSuccessful()) {
|
||||
if (count != 0 && purchased == true) {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Stove::PCSDK {
|
|||
|
||||
bool IsSuccessful() const;
|
||||
|
||||
/* 0000 */ std::uint8_t unknown_0000[12];
|
||||
/* 0000 */ std::uint8_t padding_0000[12];
|
||||
};
|
||||
|
||||
struct __declspec(dllimport) CallbackResult {
|
||||
|
|
@ -19,7 +19,7 @@ namespace Stove::PCSDK {
|
|||
|
||||
Result GetResult() const;
|
||||
|
||||
/* 0000 */ std::uint8_t unknown_0000[28];
|
||||
/* 0000 */ std::uint8_t padding_0000[28];
|
||||
};
|
||||
|
||||
namespace Base {
|
||||
|
|
@ -36,7 +36,7 @@ namespace Stove::PCSDK {
|
|||
StovePCShutdown(const StovePCShutdown& other);
|
||||
~StovePCShutdown();
|
||||
|
||||
/* 0000 */ void* unknown_0000[3];
|
||||
/* 0000 */ void* padding_0000[3];
|
||||
};
|
||||
|
||||
struct __declspec(dllimport) StovePCInitializeParam {
|
||||
|
|
@ -45,7 +45,7 @@ namespace Stove::PCSDK {
|
|||
void SetEnvironment(const wchar_t* environment);
|
||||
void SetApplicationKey(const wchar_t* applicationKey);
|
||||
|
||||
/* 0000 */ std::uint8_t unknown_0000[36];
|
||||
/* 0000 */ std::uint8_t padding_0000[36];
|
||||
};
|
||||
|
||||
struct __declspec(dllimport) StovePCUser {
|
||||
|
|
@ -55,7 +55,7 @@ namespace Stove::PCSDK {
|
|||
std::uint64_t GetMemberNumber() const;
|
||||
std::uint64_t GetGameUserId() const;
|
||||
|
||||
/* 0000 */ void* unknown_0000[5];
|
||||
/* 0000 */ void* padding_0000[5];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +70,7 @@ namespace Stove::PCSDK {
|
|||
StovePCPaymentOption(const StovePCPaymentOption& other);
|
||||
void SetOperation(StovePCPaymentOperation operation);
|
||||
|
||||
/* 0000 */ void* unknown_0000[6];
|
||||
/* 0000 */ void* padding_0000[6];
|
||||
};
|
||||
|
||||
struct __declspec(dllimport) StovePCTermsOption : StovePCPaymentOption {
|
||||
|
|
@ -84,7 +84,7 @@ namespace Stove::PCSDK {
|
|||
void SetPageNumber(int pageNumber);
|
||||
void SetPageSize(int pageSize);
|
||||
|
||||
/* 0000 */ void* unknown_0000[3];
|
||||
/* 0000 */ void* padding_0000[3];
|
||||
};
|
||||
|
||||
struct StovePCPurchaseOption : StovePCPaymentOption {
|
||||
|
|
@ -103,7 +103,7 @@ namespace Stove::PCSDK {
|
|||
std::int64_t GetProductId() const;
|
||||
void SetProductId(std::int64_t productId);
|
||||
|
||||
/* 0000 */ void* unknown_0000[5];
|
||||
/* 0000 */ void* padding_0000[5];
|
||||
};
|
||||
|
||||
struct __declspec(dllimport) StovePCStartPurchaseParam {
|
||||
|
|
@ -113,7 +113,7 @@ namespace Stove::PCSDK {
|
|||
void SetOrderProduct(int index, const StovePCOrderProduct* orderProduct);
|
||||
void SetPurchaseOption(StovePCPurchaseOption option);
|
||||
|
||||
/* 0000 */ void* unknown_0000[10];
|
||||
/* 0000 */ void* padding_0000[10];
|
||||
};
|
||||
|
||||
struct __declspec(dllimport) StovePCPurchasedProduct {
|
||||
|
|
@ -132,14 +132,14 @@ namespace Stove::PCSDK {
|
|||
std::int64_t GetSaleBeginDate() const;
|
||||
std::int64_t GetSaleEndDate() const;
|
||||
|
||||
/* 0000 */ std::uint8_t unknown_0000[156];
|
||||
/* 0000 */ std::uint8_t padding_0000[156];
|
||||
};
|
||||
|
||||
struct __declspec(dllimport) StovePCPurchaseResult {
|
||||
StovePCPurchaseResult(const StovePCPurchaseResult& other);
|
||||
~StovePCPurchaseResult();
|
||||
|
||||
/* 0000 */ std::uint8_t unknown_0000[48];
|
||||
/* 0000 */ std::uint8_t padding_0000[48];
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -277,13 +277,13 @@ bool CAchievementMgr::LoadAchievementInfo() {
|
|||
|
||||
// OFFSET: 0x0066ED90
|
||||
// FUNCTION: fn_05323
|
||||
std::pair<bool, std::string> CAchievementMgr::InsertAchieveInfo(int id, std::string title, std::string unknown0018, std::string description, int points) {
|
||||
std::pair<bool, std::string> CAchievementMgr::InsertAchieveInfo(int id, std::string title, std::string summaryText, std::string description, int points) {
|
||||
if (this->achievements.find(id) != this->achievements.end()) {
|
||||
const std::string message = FormatOwnedString("duplicate achievement info [%d]", id);
|
||||
return std::make_pair(false, message);
|
||||
}
|
||||
|
||||
if (this->achievements.insert(std::pair<int, AchievementInfo>(id, AchievementInfo(title, unknown0018, description, points))).second) {
|
||||
if (this->achievements.insert(std::pair<int, AchievementInfo>(id, AchievementInfo(title, summaryText, description, points))).second) {
|
||||
return std::make_pair(true, "good");
|
||||
}
|
||||
|
||||
|
|
@ -293,7 +293,7 @@ std::pair<bool, std::string> CAchievementMgr::InsertAchieveInfo(int id, std::str
|
|||
|
||||
// OFFSET: 0x0066F170
|
||||
// FUNCTION: fn_05324
|
||||
std::pair<bool, std::string> CAchievementMgr::InsertAchieveResource(int id, std::string text, int unknown0018, int unknown001C) {
|
||||
std::pair<bool, std::string> CAchievementMgr::InsertAchieveResource(int id, std::string text, int targetCount, int conditionId) {
|
||||
const auto found = this->achievements.find(id);
|
||||
if (found == this->achievements.end()) {
|
||||
const std::string message = FormatOwnedString("achievement info [%d] cannot be find", id);
|
||||
|
|
@ -303,7 +303,7 @@ std::pair<bool, std::string> CAchievementMgr::InsertAchieveResource(int id, std:
|
|||
std::vector<AchievementReward>& rewards = found->second.rewards;
|
||||
const auto end = rewards.end();
|
||||
if (std::find_if(rewards.begin(), end, [text](const AchievementReward& reward) { return text.compare(reward.text) == 0; }) == end) {
|
||||
const AchievementReward reward(text, unknown0018, unknown001C);
|
||||
const AchievementReward reward(text, targetCount, conditionId);
|
||||
rewards.push_back(reward);
|
||||
return std::make_pair(true, "good");
|
||||
}
|
||||
|
|
@ -415,10 +415,10 @@ int CAchievementMgr::L_InsertAchieveInfo(lua_State* state) {
|
|||
} else {
|
||||
const int id = static_cast<int>(lua_tonumber(state, -5));
|
||||
const std::string title = lua_tostring(state, -4);
|
||||
const std::string unknown0018 = lua_tostring(state, -3);
|
||||
const std::string summaryText = lua_tostring(state, -3);
|
||||
const std::string description = lua_tostring(state, -2);
|
||||
const std::pair<bool, std::string> result =
|
||||
g_achievementMgr->InsertAchieveInfo(id, title, unknown0018, description, static_cast<int>(lua_tonumber(state, -1)));
|
||||
g_achievementMgr->InsertAchieveInfo(id, title, summaryText, description, static_cast<int>(lua_tonumber(state, -1)));
|
||||
if (!result.first) {
|
||||
lua_pushboolean(state, 0);
|
||||
lua_pushstring(state, FormatString("InsertAchieveInfo : %s", result.second.c_str()));
|
||||
|
|
@ -448,9 +448,9 @@ int CAchievementMgr::L_InsertAchieveResource(lua_State* state) {
|
|||
} else {
|
||||
const int id = static_cast<int>(lua_tonumber(state, -4));
|
||||
const std::string text = lua_tostring(state, -3);
|
||||
const int unknown0018 = static_cast<int>(lua_tonumber(state, -2));
|
||||
const int targetCount = static_cast<int>(lua_tonumber(state, -2));
|
||||
const std::pair<bool, std::string> result =
|
||||
g_achievementMgr->InsertAchieveResource(id, text, unknown0018, static_cast<int>(lua_tonumber(state, -1)));
|
||||
g_achievementMgr->InsertAchieveResource(id, text, targetCount, static_cast<int>(lua_tonumber(state, -1)));
|
||||
if (!result.first) {
|
||||
lua_pushboolean(state, 0);
|
||||
lua_pushstring(state, FormatString("InsertAchieveResource : %s", result.second.c_str()));
|
||||
|
|
|
|||
|
|
@ -10,10 +10,10 @@ struct lua_State;
|
|||
|
||||
struct AchievementReward {
|
||||
// INLINED
|
||||
AchievementReward(std::string text, int unknown0018, int unknown001C) {
|
||||
AchievementReward(std::string text, int targetCount, int conditionId) {
|
||||
this->text = text;
|
||||
this->targetCount = unknown0018;
|
||||
this->conditionId = unknown001C;
|
||||
this->targetCount = targetCount;
|
||||
this->conditionId = conditionId;
|
||||
}
|
||||
|
||||
/* 0000 */ std::string text;
|
||||
|
|
@ -26,8 +26,8 @@ struct AchievementInfo {
|
|||
AchievementInfo() {
|
||||
}
|
||||
// INLINED
|
||||
AchievementInfo(std::string title, std::string unknown0018, std::string description, int points)
|
||||
: title(title), summaryText(unknown0018), description(description), points(points) {
|
||||
AchievementInfo(std::string title, std::string summaryText, std::string description, int points)
|
||||
: title(title), summaryText(summaryText), description(description), points(points) {
|
||||
}
|
||||
|
||||
/* 0000 */ std::string title;
|
||||
|
|
@ -73,8 +73,8 @@ public:
|
|||
int GetAchievementCount(int group, int index);
|
||||
int GetCompletedCount(int group, int index);
|
||||
bool FindTab(int id, int& group, int& index);
|
||||
std::pair<bool, std::string> InsertAchieveInfo(int id, std::string title, std::string unknown0018, std::string description, int points);
|
||||
std::pair<bool, std::string> InsertAchieveResource(int id, std::string text, int unknown0018, int unknown001C);
|
||||
std::pair<bool, std::string> InsertAchieveInfo(int id, std::string title, std::string padding_0018, std::string description, int points);
|
||||
std::pair<bool, std::string> InsertAchieveResource(int id, std::string text, int padding_0018, int padding_001C);
|
||||
std::pair<bool, std::string> InsertAchieveRewardBuff(int id, int value);
|
||||
std::pair<bool, std::string> InsertAchieveRewardItem(int id, int value);
|
||||
std::pair<bool, std::string> InsertAchieveRewardTitle(int id, int value);
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ CCharacterRender::CCharacterRender(int width, int renderHeight)
|
|||
: headJob(0), lowerHeadgear(0), upperHeadgear(0), middleHeadgear(0), lowerHeadgearLocation(0),
|
||||
upperHeadgearLocation(0), middleHeadgearLocation(0), madogearType(0), riding(0), bodyCostume(0), viewportOffsetX(0), viewportOffsetY(80.0f), bodyBlend(-1),
|
||||
bodyCellX(-1), bodyCellY(-1), viewportWidth(width), viewportHeight(renderHeight), cameraDistance(400.0f), cameraPitch(-45.0f),
|
||||
cameraYaw(0.0f), unknown_007C(0.0f), unknown_0080(0.0f), unknown_0084(0.0f), cameraUpX(0.0f), cameraUpY(1.0f), cameraUpZ(0),
|
||||
cameraYaw(0.0f), padding_007C(0.0f), padding_0080(0.0f), padding_0084(0.0f), cameraUpX(0.0f), cameraUpY(1.0f), cameraUpZ(0),
|
||||
screenX(0), screenY(0), robe(0), isHelmRobe(0) {
|
||||
this->positionX = 0;
|
||||
this->positionY = 0;
|
||||
|
|
|
|||
|
|
@ -66,9 +66,9 @@ public:
|
|||
/* 0070 */ float cameraDistance;
|
||||
/* 0074 */ float cameraPitch;
|
||||
/* 0078 */ float cameraYaw;
|
||||
/* 007C */ float unknown_007C;
|
||||
/* 0080 */ float unknown_0080;
|
||||
/* 0084 */ float unknown_0084;
|
||||
/* 007C */ float padding_007C;
|
||||
/* 0080 */ float padding_0080;
|
||||
/* 0084 */ float padding_0084;
|
||||
/* 0088 */ float cameraUpX;
|
||||
/* 008C */ float cameraUpY;
|
||||
/* 0090 */ int cameraUpZ;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public:
|
|||
void Render(int argument) override;
|
||||
|
||||
/* 0138 */ float spriteOffset;
|
||||
/* 013C */ std::uint32_t unknown_013C;
|
||||
/* 013C */ std::uint32_t padding_013C;
|
||||
};
|
||||
|
||||
class CMasterChaser : public CRenderObject {
|
||||
|
|
@ -38,7 +38,7 @@ public:
|
|||
void ClearChaseState();
|
||||
|
||||
/* 0138 */ std::uint32_t chaseState;
|
||||
/* 013C */ std::uint32_t unknown_013C;
|
||||
/* 013C */ std::uint32_t padding_013C;
|
||||
};
|
||||
|
||||
class CNumEffect : public CRenderObject {
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ enum {
|
|||
};
|
||||
|
||||
struct ActorHitInfo {
|
||||
/* 0000 */ int unknown_0000;
|
||||
/* 0000 */ int padding_0000;
|
||||
/* 0004 */ int damage;
|
||||
/* 0008 */ int extraDamage;
|
||||
/* 000C */ int type;
|
||||
|
|
@ -83,11 +83,11 @@ public:
|
|||
/* 018C */ int actorTitleWindow;
|
||||
/* 0190 */ unsigned char hitWaveName[0x80];
|
||||
/* 0210 */ std::uint16_t characterLevel;
|
||||
/* 0212 */ unsigned char unknown_0212[0x02];
|
||||
/* 0212 */ unsigned char padding_0212[0x02];
|
||||
/* 0214 */ vector3d accel;
|
||||
/* 0220 */ MovementRouteInterpolation route;
|
||||
/* 0238 */ unsigned char isNeverAnimation;
|
||||
/* 0239 */ unsigned char unknown_0239[0x03];
|
||||
/* 0239 */ unsigned char padding_0239[0x03];
|
||||
/* 023C */ int pathStartCell;
|
||||
/* 0240 */ float dist;
|
||||
/* 0244 */ std::uint32_t lastProcessStateTime;
|
||||
|
|
@ -114,13 +114,13 @@ public:
|
|||
/* 02B0 */ int willBeDead;
|
||||
/* 02B4 */ int hasLevelAura;
|
||||
/* 02B8 */ unsigned char levelAuraType;
|
||||
/* 02B9 */ unsigned char unknown_02B9[0x03];
|
||||
/* 02B9 */ unsigned char padding_02B9[0x03];
|
||||
/* 02BC */ int bodyState;
|
||||
/* 02C0 */ std::uint32_t stateFlags;
|
||||
/* 02C4 */ int effectState;
|
||||
/* 02C8 */ int healthState;
|
||||
/* 02CC */ unsigned char isRiding;
|
||||
/* 02CD */ unsigned char unknown_02CD[0x03];
|
||||
/* 02CD */ unsigned char padding_02CD[0x03];
|
||||
/* 02D0 */ float damageDestX;
|
||||
/* 02D4 */ float damageDestZ;
|
||||
/* 02D8 */ int effectLaunchCnt;
|
||||
|
|
@ -136,12 +136,12 @@ public:
|
|||
/* 0300 */ int hpGaugeWindow;
|
||||
/* 0304 */ unsigned char hpGaugeFlags;
|
||||
/* 0305 */ unsigned char hasSp;
|
||||
/* 0306 */ unsigned char unknown_0306[2];
|
||||
/* 0306 */ unsigned char padding_0306[2];
|
||||
/* 0308 */ int spGaugeValue;
|
||||
/* 030C */ int homunAI;
|
||||
/* 0310 */ int merAI;
|
||||
/* 0314 */ unsigned char objectType;
|
||||
/* 0315 */ unsigned char unknown_0315[3];
|
||||
/* 0315 */ unsigned char padding_0315[3];
|
||||
/* 0318 */ float homunMsg[6];
|
||||
/* 0330 */ float homunResMsg[6];
|
||||
/* 0348 */ float merMsg[6];
|
||||
|
|
@ -158,13 +158,13 @@ public:
|
|||
/* 03D8 */ int secondFollowerEffect;
|
||||
/* 03DC */ int mountedState;
|
||||
union { /* 03E0 */ std::uint16_t actorFlags; struct { unsigned char storedActorEntry; /* 03E1 */ bool modelReady; }; };
|
||||
/* 03E2 */ unsigned char unknown_03E2[0x06];
|
||||
/* 03E2 */ unsigned char padding_03E2[0x06];
|
||||
/* 03E8 */ std::int64_t maximumValue;
|
||||
/* 03F0 */ vector3d positionDelta;
|
||||
/* 03FC */ std::set<int> exclusiveEffects;
|
||||
/* 0404 */ int shapeShift;
|
||||
/* 0408 */ int savedShapeShift;
|
||||
/* 040C */ unsigned char unknown_040C[0x04];
|
||||
/* 040C */ unsigned char padding_040C[0x04];
|
||||
|
||||
int Get8Dir(float angle) override;
|
||||
void SetRenderInfo(const float* bounds, float x, float y) override;
|
||||
|
|
|
|||
|
|
@ -3375,7 +3375,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c,
|
|||
this->LaunchEffect(0x220, vector3d{0.0f, 0.0f, 0.0f}, 0.0f);
|
||||
}
|
||||
break;
|
||||
case EFST_UNKNOWN_NAME:
|
||||
case EFST_SHOW_HP:
|
||||
this->hasHp = (static_cast<std::int64_t>(e) << 32 | static_cast<std::uint32_t>(d)) != 0;
|
||||
break;
|
||||
case EFST_HAT_EFFECT:
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ public:
|
|||
/* 0158 */ int lifetime;
|
||||
/* 015C */ int screenX;
|
||||
/* 0160 */ int screenY;
|
||||
/* 0164 */ int unknown_0164;
|
||||
/* 0164 */ int padding_0164;
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
|
|
|
|||
|
|
@ -45,10 +45,10 @@ public:
|
|||
/* 050C */ granny_system_clock clock;
|
||||
/* 051C */ granny_system_clock lastClock;
|
||||
/* 052C */ float motionProgress;
|
||||
/* 0530 */ unsigned char unknown_0530[0x08];
|
||||
/* 0530 */ unsigned char padding_0530[0x08];
|
||||
/* 0538 */ float angle;
|
||||
/* 053C */ unsigned char alpha;
|
||||
/* 053D */ unsigned char unknown_053D[0x03];
|
||||
/* 053D */ unsigned char padding_053D[0x03];
|
||||
/* 0540 */ unsigned brightness;
|
||||
/* 0544 */ int motion;
|
||||
/* 0548 */ unsigned char currentFrame[0x04];
|
||||
|
|
@ -57,7 +57,7 @@ public:
|
|||
/* 0654 */ int cellTexture;
|
||||
/* 0658 */ granny_control* controls[20];
|
||||
/* 06A8 */ unsigned char initializeFacing;
|
||||
/* 06A9 */ unsigned char unknown_06A9[0x03];
|
||||
/* 06A9 */ unsigned char padding_06A9[0x03];
|
||||
/* 06AC */ CTexture* meshTextures[30];
|
||||
/* 0724 */ std::uint16_t* meshIndices[30];
|
||||
/* 079C */ int meshTriangleCounts[30];
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ public:
|
|||
void SendMsg(CGameObject* sender, int message, int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m) override;
|
||||
|
||||
/* 0138 */ int m_remainingFrames;
|
||||
/* 013C */ int unknown_013C;
|
||||
/* 013C */ int padding_013C;
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public:
|
|||
/* 0438 */ int attachedEffectId;
|
||||
/* 0438 */ std::int16_t minimapMarkerCell[2];
|
||||
};
|
||||
/* 043C */ int unknown_043C;
|
||||
/* 043C */ int padding_043C;
|
||||
};
|
||||
|
||||
class CCharacterNpc : public CNpc {
|
||||
|
|
@ -72,9 +72,9 @@ public:
|
|||
|
||||
/* 0440 */ float hallucinationOffset;
|
||||
/* 0444 */ int fadeStep;
|
||||
/* 0448 */ int unknown_0448;
|
||||
/* 044C */ int unknown_044C;
|
||||
/* 0450 */ int unknown_0450;
|
||||
/* 0448 */ int padding_0448;
|
||||
/* 044C */ int padding_044C;
|
||||
/* 0450 */ int padding_0450;
|
||||
/* 0454 */ int processCount;
|
||||
};
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ public:
|
|||
void Render(int argument) override;
|
||||
|
||||
/* 0440 */ std::uint32_t processCount;
|
||||
/* 0444 */ int unknown_0444;
|
||||
/* 0444 */ int padding_0444;
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
|
|
|
|||
|
|
@ -103,11 +103,11 @@ public:
|
|||
void DrawBody(int argument, int layer, const float* position, float x, float y, float distanceScale, float scale, float depth);
|
||||
void RenderOverlaySprite(const float* matrix, int);
|
||||
void UpdateGaugeWindow();
|
||||
void DrawLayers(const float* matrix, int unknown0030, char blendVariant);
|
||||
void DrawLayers(const float* matrix, int padding_0030, char blendVariant);
|
||||
|
||||
float* GetExtent(float* extent) const override;
|
||||
|
||||
/* 0410 */ unsigned char unknown_0410[4];
|
||||
/* 0410 */ unsigned char padding_0410[4];
|
||||
/* 0414 */ CMsgEffect* msgEffect;
|
||||
/* 0418 */ std::string imfName;
|
||||
/* 0430 */ int honor;
|
||||
|
|
@ -134,7 +134,7 @@ public:
|
|||
/* 04A0 */ int blend;
|
||||
/* 04A4 */ int layerCellX;
|
||||
/* 04A8 */ int layerCellY;
|
||||
/* 04AC */ std::map<int, std::pair<int, int>> unknown_04AC;
|
||||
/* 04AC */ std::map<int, std::pair<int, int>> padding_04AC;
|
||||
/* 04B4 */ std::vector<CRes*> equipSprites;
|
||||
/* 04C0 */ std::vector<CRes*> equipActions;
|
||||
/* 04CC */ int pkState;
|
||||
|
|
@ -142,10 +142,10 @@ public:
|
|||
/* 04D4 */ int appearanceJob;
|
||||
/* 04D8 */ unsigned char alternateDoramAppearance[1];
|
||||
/* 04D9 */ bool isHelmRobe;
|
||||
/* 04DA */ unsigned char unknown_04DA[2];
|
||||
/* 04DA */ unsigned char padding_04DA[2];
|
||||
/* 04DC */ int madogearType;
|
||||
/* 04E0 */ bool arrowEffectSuppressed;
|
||||
/* 04E1 */ unsigned char unknown_04E1[0x03];
|
||||
/* 04E1 */ unsigned char padding_04E1[0x03];
|
||||
/* 04E4 */ float extentLeft;
|
||||
/* 04E8 */ float extentTop;
|
||||
/* 04EC */ float extentRight;
|
||||
|
|
@ -181,7 +181,7 @@ public:
|
|||
void Render(int argument) override;
|
||||
|
||||
/* 0510 */ CPc* sourcePc;
|
||||
/* 0514 */ int unknown_0514;
|
||||
/* 0514 */ int padding_0514;
|
||||
};
|
||||
|
||||
class CHalluPC2 : public CPc {
|
||||
|
|
@ -195,7 +195,7 @@ public:
|
|||
void Render(int argument) override;
|
||||
|
||||
/* 0510 */ CPc* sourcePc;
|
||||
/* 0514 */ int unknown_0514;
|
||||
/* 0514 */ int padding_0514;
|
||||
};
|
||||
|
||||
class CPlayer : public CPc {
|
||||
|
|
@ -294,14 +294,14 @@ public:
|
|||
/* 0430 */ int headDir;
|
||||
/* 0434 */ int head;
|
||||
/* 0438 */ int headPalette;
|
||||
/* 043C */ unsigned char unknown_043C[4];
|
||||
/* 043C */ unsigned char padding_043C[4];
|
||||
/* 0440 */ int weapon;
|
||||
/* 0444 */ int secondaryWeapon;
|
||||
/* 0448 */ int accessory;
|
||||
/* 044C */ int accessory2;
|
||||
/* 0450 */ int accessory3;
|
||||
/* 0454 */ int shield;
|
||||
/* 0458 */ unsigned char unknown_0458[8];
|
||||
/* 0458 */ unsigned char padding_0458[8];
|
||||
/* 0460 */ std::string headPaletteName;
|
||||
/* 0478 */ UIWindow* gaugeWindow;
|
||||
/* 047C */ int pkRank;
|
||||
|
|
@ -320,26 +320,26 @@ public:
|
|||
/* 0F2C */ int baseAnimation;
|
||||
/* 0F30 */ float angle;
|
||||
/* 0F34 */ unsigned char alpha;
|
||||
/* 0F35 */ unsigned char unknown_0F35[0x03];
|
||||
/* 0F35 */ unsigned char padding_0F35[0x03];
|
||||
/* 0F38 */ unsigned brightness;
|
||||
/* 0F3C */ int motion;
|
||||
/* 0F40 */ unsigned char currentFrame[4];
|
||||
/* 0F44 */ char modelName[0x104];
|
||||
/* 1048 */ unsigned char unknown_1048[8];
|
||||
/* 1048 */ unsigned char padding_1048[8];
|
||||
/* 1050 */ granny_control* controls[20];
|
||||
/* 10A0 */ unsigned char snapFacing;
|
||||
/* 10A1 */ unsigned char unknown_10A1[3];
|
||||
/* 10A1 */ unsigned char padding_10A1[3];
|
||||
/* 10A4 */ int renderFrame;
|
||||
/* 10A8 */ CTexture* meshTextures[10][30];
|
||||
/* 1558 */ std::uint16_t* meshIndices[10][30];
|
||||
/* 1A08 */ int meshTriangleCounts[10][30];
|
||||
/* 1EB8 */ matrix meshTransforms[30];
|
||||
/* 2458 */ unsigned char unknown_2458[0xF8];
|
||||
/* 2458 */ unsigned char padding_2458[0xF8];
|
||||
/* 2550 */ granny_world_pose* worldPose;
|
||||
/* 2554 */ CTexture* shadowTexture;
|
||||
/* 2558 */ std::vector<vector3d> attachmentPositions;
|
||||
/* 2564 */ int attachLayer;
|
||||
/* 2568 */ int unknown_2568;
|
||||
/* 2568 */ int padding_2568;
|
||||
/* 256C */ matrix attachTransform;
|
||||
};
|
||||
|
||||
|
|
@ -392,6 +392,6 @@ static_assert(offsetof(CPc, arrowEffectSuppressed) == 0x4E0);
|
|||
#endif
|
||||
|
||||
extern unsigned char g_statusRefreshSuppressed;
|
||||
extern bool g_unknown173AD3F;
|
||||
extern bool g_moveRequestPending;
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -889,7 +889,7 @@ void CPc::RenderBodyOutline(int layer, const float* position, float x, float y,
|
|||
this->RaiseTransformPriority((box[3] - box[1]) / 4);
|
||||
quad.image = image;
|
||||
quad.color = color;
|
||||
if (this->render.unknown_0130[0] == 1) {
|
||||
if (this->render.translucentOther[0] == 1) {
|
||||
quad.color = color & 0xFFFFFF | 0x46000000;
|
||||
}
|
||||
|
||||
|
|
@ -2046,7 +2046,7 @@ void CPc::DrawBody(int, int layer, const float* position, float x, float y, floa
|
|||
}
|
||||
|
||||
this->RaiseTransformPriority((box[3] - box[1]) / 4);
|
||||
if (this->render.unknown_0130[0] == 1) {
|
||||
if (this->render.translucentOther[0] == 1) {
|
||||
quad.color = quad.color & 0xFFFFFF | 0x46000000;
|
||||
}
|
||||
|
||||
|
|
@ -2302,9 +2302,9 @@ void CPc::Render(int argument) {
|
|||
}
|
||||
}
|
||||
|
||||
this->render.unknown_0130[0] = 0;
|
||||
this->render.translucentOther[0] = 0;
|
||||
if (g_serviceOptions.Get(0x109) && this->render.accountId != g_session.m_aid) {
|
||||
this->render.unknown_0130[0] = 1;
|
||||
this->render.translucentOther[0] = 1;
|
||||
}
|
||||
|
||||
const float* matrix = reinterpret_cast<const float*>(argument);
|
||||
|
|
@ -2354,9 +2354,9 @@ void CPc::Render(int argument) {
|
|||
|
||||
// OFFSET: 0x00DAD8C0
|
||||
// FUNCTION: fn_22599
|
||||
void CPc::DrawLayers(const float* matrix, int unknown0030, char blendVariant) {
|
||||
void CPc::DrawLayers(const float* matrix, int blendMode, char blendVariant) {
|
||||
SpriteLayerRenderer renderer(this);
|
||||
renderer.Render(matrix, unknown0030, blendVariant);
|
||||
renderer.Render(matrix, blendMode, blendVariant);
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DABF50
|
||||
|
|
@ -3831,7 +3831,7 @@ void CPlayer::ReapplySkillEffects() {
|
|||
}
|
||||
|
||||
// GLOBAL: gl_25218
|
||||
bool g_unknown173AD3F;
|
||||
bool g_moveRequestPending;
|
||||
|
||||
struct PlayerSkillRequest {
|
||||
int skill;
|
||||
|
|
@ -3913,7 +3913,7 @@ void CPlayer::SendMsg(
|
|||
}
|
||||
break;
|
||||
case AM_REQ_MOVE_PRIMITIVE:
|
||||
g_unknown173AD3F = false;
|
||||
g_moveRequestPending = false;
|
||||
if (timeGetTime() > this->standTick + 350) {
|
||||
this->standTick = timeGetTime();
|
||||
mode->SendMsg(MM_REQUEST_MOVE, b, d, 0, 0);
|
||||
|
|
|
|||
|
|
@ -144,11 +144,11 @@ public:
|
|||
/* 0118 */ granny_system_clock clock;
|
||||
/* 0128 */ granny_system_clock startClock;
|
||||
/* 0138 */ float animationTime;
|
||||
/* 013C */ unsigned char unknown_013C[4];
|
||||
/* 013C */ unsigned char padding_013C[4];
|
||||
/* 0140 */ int tick;
|
||||
/* 0144 */ float angle;
|
||||
/* 0148 */ unsigned char alpha;
|
||||
/* 0149 */ unsigned char unknown_0149[3];
|
||||
/* 0149 */ unsigned char padding_0149[3];
|
||||
/* 014C */ unsigned brightness;
|
||||
/* 0150 */ char name[0x108];
|
||||
};
|
||||
|
|
@ -2682,11 +2682,11 @@ void CCharacterNpc::Render(int) {
|
|||
struct CharacterNpcViewInfo {
|
||||
/* 0000 */ int aid;
|
||||
/* 0004 */ int job;
|
||||
/* 0008 */ int unknown_0008[10];
|
||||
/* 0008 */ int padding_0008[10];
|
||||
/* 0030 */ int standAccessory;
|
||||
/* 0034 */ int unknown_0034;
|
||||
/* 0034 */ int padding_0034;
|
||||
/* 0038 */ int moveAccessory;
|
||||
/* 003C */ int unknown_003C[4];
|
||||
/* 003C */ int padding_003C[4];
|
||||
/* 004C */ int standAccessory2;
|
||||
/* 0050 */ int standAccessory3OrMoveAccessory2;
|
||||
/* 0054 */ int standBodyPaletteOrMoveAccessory3;
|
||||
|
|
@ -2694,7 +2694,7 @@ struct CharacterNpcViewInfo {
|
|||
/* 005C */ int moveHeadPalette;
|
||||
/* 0060 */ int guildId;
|
||||
/* 0064 */ int guildEmblemVersion;
|
||||
/* 0068 */ int unknown_0068[2];
|
||||
/* 0068 */ int padding_0068[2];
|
||||
/* 0070 */ int robe;
|
||||
/* 0074 */ int robeAlt;
|
||||
/* 0078 */ int standBodyStyle;
|
||||
|
|
@ -3629,8 +3629,8 @@ void CGameActor::ProcessHitMessage(CGameObject*, const ActorHitInfo* info, int,
|
|||
int damage = info->damage;
|
||||
int hitCount = info->hitCount;
|
||||
const int extraDamage = info->extraDamage;
|
||||
const int unknown_001C = info->cellX;
|
||||
const int unknown_0020 = info->cellY;
|
||||
const int cellX = info->cellX;
|
||||
const int cellY = info->cellY;
|
||||
const int attackSpeed = info->attackSpeed;
|
||||
const int motionSpeed = info->motionSpeed;
|
||||
|
||||
|
|
@ -3762,8 +3762,8 @@ void CGameActor::ProcessHitMessage(CGameObject*, const ActorHitInfo* info, int,
|
|||
message.targetAid = this->hitTargetAid;
|
||||
message.time = timeGetTime() + delay;
|
||||
message.attackerAid = this->render.accountId;
|
||||
message.cellX = unknown_001C;
|
||||
message.cellY = unknown_0020;
|
||||
message.cellX = cellX;
|
||||
message.cellY = cellY;
|
||||
message.hitEffect = flag;
|
||||
message.effectId = effectId;
|
||||
message.blueDamage = info->blueDamage;
|
||||
|
|
@ -5311,8 +5311,8 @@ void CGameActor::ProcessSkillMessage(CGameObject*, const ActorSkillInfo* info, i
|
|||
int hitCount = info->hitCount;
|
||||
const int skillId = info->skillId;
|
||||
int type = info->type;
|
||||
const int unknown_001C = info->cellX;
|
||||
const int unknown_0020 = info->cellY;
|
||||
const int cellX = info->cellX;
|
||||
const int cellY = info->cellY;
|
||||
const int attackSpeed = info->attackSpeed;
|
||||
const int motionSpeed = info->motionSpeed;
|
||||
if (hitCount <= 0 || hitCount > 36) {
|
||||
|
|
@ -5418,8 +5418,8 @@ void CGameActor::ProcessSkillMessage(CGameObject*, const ActorSkillInfo* info, i
|
|||
message.damage = damage;
|
||||
message.time = timeGetTime() + delay;
|
||||
message.attackerAid = this->render.accountId;
|
||||
message.cellX = unknown_001C;
|
||||
message.cellY = unknown_0020;
|
||||
message.cellX = cellX;
|
||||
message.cellY = cellY;
|
||||
message.hitEffect = effect;
|
||||
message.effectId = followEffect;
|
||||
message.monsterValue = level;
|
||||
|
|
@ -5443,8 +5443,8 @@ void CGameActor::ProcessSkillMessage(CGameObject*, const ActorSkillInfo* info, i
|
|||
message.damage = damage;
|
||||
message.time = timeGetTime() + delay;
|
||||
message.attackerAid = this->render.accountId;
|
||||
message.cellX = unknown_001C;
|
||||
message.cellY = unknown_0020;
|
||||
message.cellX = cellX;
|
||||
message.cellY = cellY;
|
||||
message.hitEffect = -1;
|
||||
message.effectId = -1;
|
||||
message.monsterValue = level;
|
||||
|
|
@ -5689,8 +5689,8 @@ void CGameActor::ProcessSkillMessage(CGameObject*, const ActorSkillInfo* info, i
|
|||
message.damage = damage;
|
||||
message.time = timeGetTime() + delay;
|
||||
message.attackerAid = this->render.accountId;
|
||||
message.cellX = unknown_001C;
|
||||
message.cellY = unknown_0020;
|
||||
message.cellX = cellX;
|
||||
message.cellY = cellY;
|
||||
message.hitEffect = effect;
|
||||
message.effectId = followEffect;
|
||||
message.monsterValue = level;
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ void RenderObjectState::Reset() {
|
|||
this->hoverAngle = 0;
|
||||
this->hoverHeight = 0;
|
||||
this->fontSequenceState = 0;
|
||||
this->unknown_0100 = 0;
|
||||
this->padding_0100 = 0;
|
||||
this->accountId = 0;
|
||||
this->specialMotionLocked = 0;
|
||||
this->frameSequenceActive = 0;
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ struct RenderObjectState {
|
|||
/* 00A4 */ std::uint16_t visibilityState;
|
||||
/* 00A4 */ unsigned char visibilityOptions[2];
|
||||
};
|
||||
/* 00A6 */ unsigned char unknown_00A6[2];
|
||||
/* 00A6 */ unsigned char padding_00A6[2];
|
||||
/* 00A8 */ std::uint32_t isCharacter;
|
||||
/* 00AC */ int screenX;
|
||||
/* 00B0 */ int screenY;
|
||||
|
|
@ -73,7 +73,7 @@ struct RenderObjectState {
|
|||
/* 00C3 */ unsigned char sequenceFinishAnimation;
|
||||
/* 00C4 */ unsigned char sequenceFinishFrame;
|
||||
/* 00C5 */ unsigned char sequenceIndex;
|
||||
/* 00C6 */ unsigned char unknown_00C6[2];
|
||||
/* 00C6 */ unsigned char padding_00C6[2];
|
||||
/* 00C8 */ std::uint32_t frameSequenceActive;
|
||||
/* 00CC */ int sequenceLoop;
|
||||
/* 00D0 */ int sequenceTimed;
|
||||
|
|
@ -92,30 +92,30 @@ struct RenderObjectState {
|
|||
/* 00F0 */ unsigned char pulsePhases[2];
|
||||
};
|
||||
/* 00F2 */ unsigned char outlineAlpha;
|
||||
/* 00F3 */ unsigned char unknown_00F3;
|
||||
/* 00F3 */ unsigned char padding_00F3;
|
||||
/* 00F4 */ short effectPhase;
|
||||
/* 00F6 */ unsigned char tintPhase;
|
||||
/* 00F7 */ unsigned char unknown_00F7;
|
||||
/* 00F7 */ unsigned char runStartTick;
|
||||
/* 00F8 */ short hoverAngle;
|
||||
/* 00FA */ unsigned char hoverHeight;
|
||||
/* 00FB */ unsigned char unknown_00FB;
|
||||
/* 00FB */ unsigned char battleTeam;
|
||||
union {
|
||||
/* 00FC */ std::uint32_t fontSequenceState;
|
||||
/* 00FC */ unsigned char fontSequenceBytes[4];
|
||||
};
|
||||
/* 0100 */ unsigned char unknown_0100;
|
||||
/* 0101 */ unsigned char unknown_0101[3];
|
||||
/* 0100 */ unsigned char padding_0100;
|
||||
/* 0101 */ unsigned char padding_0101[3];
|
||||
/* 0104 */ CSprRes* sprite;
|
||||
/* 0108 */ CActRes* action;
|
||||
/* 010C */ std::uint32_t spriteJob;
|
||||
/* 0110 */ std::uint32_t accountId;
|
||||
/* 0114 */ unsigned char specialMotionLocked;
|
||||
/* 0115 */ unsigned char unknown_0115[3];
|
||||
/* 0115 */ unsigned char padding_0115[3];
|
||||
/* 0118 */ CInstantVar instant;
|
||||
/* 0124 */ std::uint32_t blendFlags;
|
||||
/* 0128 */ std::uint32_t hoverOffsetLow;
|
||||
/* 012C */ std::uint32_t hoverOffsetHigh;
|
||||
/* 0130 */ unsigned char unknown_0130[8];
|
||||
/* 0130 */ unsigned char translucentOther[8];
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
|
|
|
|||
|
|
@ -354,9 +354,9 @@ void CSkill::SendMsg(CGameObject* sender, int message, int a, int b, int c, int
|
|||
case AM_SKILL: {
|
||||
const SkillHitMessage* hit = reinterpret_cast<const SkillHitMessage*>(b);
|
||||
const int skillId = hit->skillId;
|
||||
const int unknown_0014 = hit->monsterValue;
|
||||
const int unknown_001C = hit->cellX;
|
||||
const int unknown_0020 = hit->cellY;
|
||||
const int monsterValue = hit->monsterValue;
|
||||
const int cellX = hit->cellX;
|
||||
const int cellY = hit->cellY;
|
||||
const int motionSpeed = hit->motionSpeed;
|
||||
int hitCount = hit->hitCount;
|
||||
if (hitCount == 0) {
|
||||
|
|
@ -447,11 +447,11 @@ void CSkill::SendMsg(CGameObject* sender, int message, int a, int b, int c, int
|
|||
damageMessage.damage = damage;
|
||||
damageMessage.time = timeGetTime();
|
||||
damageMessage.attackerAid = this->skillAid;
|
||||
damageMessage.cellX = unknown_001C;
|
||||
damageMessage.cellY = unknown_0020;
|
||||
damageMessage.cellX = cellX;
|
||||
damageMessage.cellY = cellY;
|
||||
damageMessage.hitEffect = effectId;
|
||||
damageMessage.effectId = -1;
|
||||
damageMessage.monsterValue = unknown_0014;
|
||||
damageMessage.monsterValue = monsterValue;
|
||||
damageMessage.motionSpeed = static_cast<float>(motionSpeed) / 288.0f;
|
||||
damageMessage.blueDamage = 0;
|
||||
damageMessage.skillId = skillId;
|
||||
|
|
|
|||
|
|
@ -31,10 +31,10 @@ public:
|
|||
/* 0420 */ CRagEffect* m_effect;
|
||||
/* 0424 */ int m_effectId;
|
||||
/* 0428 */ bool m_hasEffect;
|
||||
/* 0429 */ unsigned char unknown_0429[0x03];
|
||||
/* 0429 */ unsigned char padding_0429[0x03];
|
||||
/* 042C */ int range;
|
||||
/* 0430 */ std::vector<std::uint64_t> m_targets;
|
||||
/* 043C */ int unknown_043C;
|
||||
/* 043C */ int padding_043C;
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
|
|
|
|||
|
|
@ -170,9 +170,9 @@ int InsertEpisodeSubMenu(lua_State* state) {
|
|||
const int id = static_cast<int>(lua_tonumber(state, -5));
|
||||
const int minLevel = static_cast<int>(lua_tonumber(state, -4));
|
||||
const int maxLevel = static_cast<int>(lua_tonumber(state, -3));
|
||||
const int unknown = static_cast<int>(lua_tonumber(state, -2));
|
||||
const int questId = static_cast<int>(lua_tonumber(state, -2));
|
||||
const std::string text = lua_tostring(state, -1);
|
||||
const AdventureGuideResult result = g_adventureGuideMgr->InsertEpisodeSubMenu(id, minLevel, maxLevel, unknown, text);
|
||||
const AdventureGuideResult result = g_adventureGuideMgr->InsertEpisodeSubMenu(id, minLevel, maxLevel, questId, text);
|
||||
|
||||
if (!result.ok) {
|
||||
lua_pushboolean(state, 0);
|
||||
|
|
@ -240,11 +240,11 @@ int InsertEpisodeContents(lua_State* state) {
|
|||
const int menu = static_cast<int>(lua_tonumber(state, -7));
|
||||
const int minLevel = static_cast<int>(lua_tonumber(state, -6));
|
||||
const int maxLevel = static_cast<int>(lua_tonumber(state, -5));
|
||||
const int unknown = static_cast<int>(lua_tonumber(state, -4));
|
||||
const int questId = static_cast<int>(lua_tonumber(state, -4));
|
||||
const bool flag = lua_tonumber(state, -3) != 0;
|
||||
const std::string first = lua_tostring(state, -2);
|
||||
const std::string second = lua_tostring(state, -1);
|
||||
const AdventureGuideResult result = g_adventureGuideMgr->InsertEpisodeContents(id, menu, minLevel, maxLevel, unknown, flag, first, second);
|
||||
const AdventureGuideResult result = g_adventureGuideMgr->InsertEpisodeContents(id, menu, minLevel, maxLevel, questId, flag, first, second);
|
||||
|
||||
if (!result.ok) {
|
||||
lua_pushboolean(state, 0);
|
||||
|
|
@ -1324,11 +1324,11 @@ AdventureGuideResult CAdventureGuideMgr::InsertDungeonSubMenu(int id, int minLev
|
|||
|
||||
// OFFSET: 0x006654E0
|
||||
// FUNCTION: fn_05243
|
||||
AdventureGuideResult CAdventureGuideMgr::InsertEpisodeContents(int id, int menu, int minLevel, int maxLevel, int unknown, bool flag, std::string_view first, std::string_view second) {
|
||||
AdventureGuideResult CAdventureGuideMgr::InsertEpisodeContents(int id, int menu, int minLevel, int maxLevel, int questId, bool flag, std::string_view first, std::string_view second) {
|
||||
AdventureGuideContents contents;
|
||||
contents.minLevel = minLevel;
|
||||
contents.maxLevel = maxLevel;
|
||||
contents.questId = unknown;
|
||||
contents.questId = questId;
|
||||
contents.flag = flag;
|
||||
contents.first = first;
|
||||
contents.second = second;
|
||||
|
|
@ -1352,11 +1352,11 @@ AdventureGuideResult CAdventureGuideMgr::InsertEpisodeReward(int id, std::string
|
|||
|
||||
// OFFSET: 0x00665940
|
||||
// FUNCTION: fn_05245
|
||||
AdventureGuideResult CAdventureGuideMgr::InsertEpisodeSubMenu(int id, int minLevel, int maxLevel, int unknown, std::string_view text) {
|
||||
AdventureGuideResult CAdventureGuideMgr::InsertEpisodeSubMenu(int id, int minLevel, int maxLevel, int questId, std::string_view text) {
|
||||
AdventureGuideDetail detail;
|
||||
detail.minLevel = minLevel;
|
||||
detail.maxLevel = maxLevel;
|
||||
detail.questId = unknown;
|
||||
detail.questId = questId;
|
||||
detail.text = text;
|
||||
for (auto& [key, intro] : m_intros) {
|
||||
if (intro.type == 1) {
|
||||
|
|
|
|||
|
|
@ -112,8 +112,8 @@ public:
|
|||
|
||||
__declspec(noinline) AdventureGuideResult InsertGuideMenu(int type, int id, std::string_view name, std::string_view text);
|
||||
__declspec(noinline) AdventureGuideResult InsertIntroContents(int id, std::string_view title, std::string_view text);
|
||||
__declspec(noinline) AdventureGuideResult InsertEpisodeSubMenu(int id, int minLevel, int maxLevel, int unknown, std::string_view text);
|
||||
__declspec(noinline) AdventureGuideResult InsertEpisodeContents(int id, int menu, int minLevel, int maxLevel, int unknown, bool flag, std::string_view first, std::string_view second);
|
||||
__declspec(noinline) AdventureGuideResult InsertEpisodeSubMenu(int id, int minLevel, int maxLevel, int questId, std::string_view text);
|
||||
__declspec(noinline) AdventureGuideResult InsertEpisodeContents(int id, int menu, int minLevel, int maxLevel, int questId, bool flag, std::string_view first, std::string_view second);
|
||||
__declspec(noinline) AdventureGuideResult InsertEpisodeReward(int id, std::string_view text);
|
||||
__declspec(noinline) AdventureGuideResult InsertQuestSubMenu(int id, int minLevel, int maxLevel, std::string_view text);
|
||||
__declspec(noinline) AdventureGuideResult InsertQuestContents(int id, int menu, int minLevel, int maxLevel, bool flag, std::string_view first, std::string_view second);
|
||||
|
|
|
|||
|
|
@ -478,8 +478,8 @@ __declspec(noinline) std::pair<int, int> CashEmotionCommand::Get(int index) cons
|
|||
|
||||
// OFFSET: 0x00592520
|
||||
// FUNCTION: fn_02856
|
||||
CashEmotionData::CashEmotionData(int id, int subId, const char* name, int unknown20, int unknown24, int actId, int sprId)
|
||||
: id(id), subId(subId), name(name), actionIndex(unknown20), frameIndex(unknown24), actId(actId), sprId(sprId) {
|
||||
CashEmotionData::CashEmotionData(int id, int subId, const char* name, int actionIndex, int frameIndex, int actId, int sprId)
|
||||
: id(id), subId(subId), name(name), actionIndex(actionIndex), frameIndex(frameIndex), actId(actId), sprId(sprId) {
|
||||
}
|
||||
|
||||
// OFFSET: 0x00592820
|
||||
|
|
@ -502,7 +502,7 @@ bool CashEmotionPackOrder::operator()(const int& left, const int& right) const {
|
|||
// OFFSET: 0x00596430
|
||||
// FUNCTION: fn_02915
|
||||
CCashEmotionMgr::CCashEmotionMgr()
|
||||
: m_enabled(true), unknown_0005{}, m_action(nullptr), basePackId(0), packs{}, m_emotionsByPack{}, emotionOrder{}, m_packNames{}, actIds{},
|
||||
: m_enabled(true), padding_0005{}, m_action(nullptr), basePackId(0), packs{}, m_emotionsByPack{}, emotionOrder{}, m_packNames{}, actIds{},
|
||||
m_commands{}, packOrder{} {
|
||||
}
|
||||
|
||||
|
|
@ -863,7 +863,7 @@ const char* CCashEmotionMgr::GetPackTitle(int packId) {
|
|||
|
||||
// OFFSET: 0x0059A110
|
||||
// FUNCTION: fn_02954
|
||||
int CCashEmotionMgr::GetPackUnknown18(int packId) {
|
||||
int CCashEmotionMgr::GetPackPrice(int packId) {
|
||||
auto it = this->packs.find(packId);
|
||||
if (this->packs.end() == it) {
|
||||
return -1;
|
||||
|
|
@ -1029,7 +1029,7 @@ std::vector<int> CCashEmotionMgr::SortUnownedPacks(const char* filter) {
|
|||
|
||||
// OFFSET: 0x0059AD40
|
||||
// FUNCTION: fn_02965
|
||||
int CCashEmotionMgr::GetPackUnknown24(int packId) {
|
||||
int CCashEmotionMgr::GetPackPeriod(int packId) {
|
||||
auto it = this->packs.find(packId);
|
||||
if (this->packs.end() == it) {
|
||||
return 0;
|
||||
|
|
@ -1128,18 +1128,18 @@ void CCashEmotionMgr::AddShortcut(const std::string& name, int packId, int emoti
|
|||
|
||||
// OFFSET: 0x0059B8F0
|
||||
// FUNCTION: fn_02970
|
||||
bool CCashEmotionMgr::AddEmotion(int packId, int emotionId, const char* name, int unknown20, int unknown24, const char* actFile, const char* sprFile) {
|
||||
bool CCashEmotionMgr::AddEmotion(int packId, int emotionId, const char* name, int actionIndex, int frameIndex, const char* actFile, const char* sprFile) {
|
||||
const int actId = this->GetActFilePath(actFile, true);
|
||||
const int sprId = this->GetSprFilePath(sprFile, true);
|
||||
|
||||
bool inserted = false;
|
||||
auto it = this->m_emotionsByPack.find(packId);
|
||||
if (this->m_emotionsByPack.end() != it) {
|
||||
return it->second.try_emplace(emotionId, packId, emotionId, name, unknown20, unknown24, actId, sprId).second;
|
||||
return it->second.try_emplace(emotionId, packId, emotionId, name, actionIndex, frameIndex, actId, sprId).second;
|
||||
}
|
||||
|
||||
CashEmotionTable table;
|
||||
if (table.try_emplace(emotionId, packId, emotionId, name, unknown20, unknown24, actId, sprId).second == true) {
|
||||
if (table.try_emplace(emotionId, packId, emotionId, name, actionIndex, frameIndex, actId, sprId).second == true) {
|
||||
inserted = this->m_emotionsByPack.emplace(packId, table).second;
|
||||
}
|
||||
|
||||
|
|
@ -1157,7 +1157,7 @@ static void AddSearchKey(std::unordered_map<std::string, std::pair<int, int>>& i
|
|||
|
||||
// OFFSET: 0x0059BC30
|
||||
// FUNCTION: fn_02971
|
||||
void CCashEmotionMgr::InsertEmotion(const int packId, const int emotionId, int unknown20, int unknown24, const char* actFile, const char* sprFile) {
|
||||
void CCashEmotionMgr::InsertEmotion(const int packId, const int emotionId, int actionIndex, int frameIndex, const char* actFile, const char* sprFile) {
|
||||
const char* packName = this->GetPackTitle(packId);
|
||||
if (!packName) {
|
||||
return;
|
||||
|
|
@ -1169,7 +1169,7 @@ void CCashEmotionMgr::InsertEmotion(const int packId, const int emotionId, int u
|
|||
}
|
||||
|
||||
std::string name = FormatOwnedString("%s_%s", baseName, packName);
|
||||
this->AddEmotion(packId, emotionId, name.c_str(), unknown20, unknown24, actFile, sprFile);
|
||||
this->AddEmotion(packId, emotionId, name.c_str(), actionIndex, frameIndex, actFile, sprFile);
|
||||
|
||||
AddSearchKey(this->m_searchIndex, name.c_str(), packId, emotionId);
|
||||
|
||||
|
|
@ -1433,7 +1433,7 @@ void CCashEmotionMgr::ShowErrorMessage(const char* key, int value) {
|
|||
|
||||
// OFFSET: 0x0059D040
|
||||
// FUNCTION: fn_02984
|
||||
void CCashEmotionMgr::Unknown59D040(int, int) {
|
||||
void CCashEmotionMgr::EmptyHandler59D040(int, int) {
|
||||
}
|
||||
|
||||
// OFFSET: 0x0059D090
|
||||
|
|
@ -1511,14 +1511,14 @@ int CCashEmotionMgr::InsertEmotionListTable(lua_State* state) {
|
|||
const int packId = luaL_checkinteger(state, 1);
|
||||
const int emotionId = luaL_checkinteger(state, 2);
|
||||
const std::string key = FromUtf8(luaL_checkstring(state, 3), g_textCodePage);
|
||||
const int unknown20 = luaL_checkinteger(state, 4);
|
||||
const int unknown24 = luaL_checkinteger(state, 5);
|
||||
const int actionIndex = luaL_checkinteger(state, 4);
|
||||
const int frameIndex = luaL_checkinteger(state, 5);
|
||||
const std::string actFile = FromUtf8(luaL_checkstring(state, 6), g_textCodePage);
|
||||
const std::string sprFile = FromUtf8(luaL_checkstring(state, 7), g_textCodePage);
|
||||
|
||||
const char* result;
|
||||
if (key.empty()) {
|
||||
g_cashEmotionMgr->AddEmotion(packId, emotionId, "", unknown20, unknown24, actFile.c_str(), sprFile.c_str());
|
||||
g_cashEmotionMgr->AddEmotion(packId, emotionId, "", actionIndex, frameIndex, actFile.c_str(), sprFile.c_str());
|
||||
result = nullptr;
|
||||
} else {
|
||||
const char* name = g_simpleStringMgr->GetString(key.c_str());
|
||||
|
|
@ -1527,7 +1527,7 @@ int CCashEmotionMgr::InsertEmotionListTable(lua_State* state) {
|
|||
}
|
||||
|
||||
result = nullptr;
|
||||
if (g_cashEmotionMgr->AddEmotion(packId, emotionId, name, unknown20, unknown24, actFile.c_str(), sprFile.c_str())) {
|
||||
if (g_cashEmotionMgr->AddEmotion(packId, emotionId, name, actionIndex, frameIndex, actFile.c_str(), sprFile.c_str())) {
|
||||
result = name;
|
||||
}
|
||||
}
|
||||
|
|
@ -1582,12 +1582,12 @@ int CCashEmotionMgr::InsertEmotionMsgListTableForCustom(lua_State* state) {
|
|||
int CCashEmotionMgr::InsertEmotionVarientListTable(lua_State* state) {
|
||||
const int packId = luaL_checkinteger(state, 1);
|
||||
const int emotionId = luaL_checkinteger(state, 2);
|
||||
const int unknown20 = luaL_checkinteger(state, 3);
|
||||
const int unknown24 = luaL_checkinteger(state, 4);
|
||||
const int actionIndex = luaL_checkinteger(state, 3);
|
||||
const int frameIndex = luaL_checkinteger(state, 4);
|
||||
const std::string actFile = FromUtf8(luaL_checkstring(state, 5), g_textCodePage);
|
||||
const std::string sprFile = FromUtf8(luaL_checkstring(state, 6), g_textCodePage);
|
||||
|
||||
g_cashEmotionMgr->InsertEmotion(packId, emotionId, unknown20, unknown24, actFile.c_str(), sprFile.c_str());
|
||||
g_cashEmotionMgr->InsertEmotion(packId, emotionId, actionIndex, frameIndex, actFile.c_str(), sprFile.c_str());
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -1628,8 +1628,8 @@ int CCashEmotionMgr::InsertPackInfo(lua_State* state) {
|
|||
const char* name = g_simpleStringMgr->GetString(title.c_str());
|
||||
|
||||
const int saleType = luaL_checkinteger(state, 3);
|
||||
const int unknown18 = luaL_checkinteger(state, 4);
|
||||
if (!(saleType == 0 && unknown18 == 0) && !(saleType == 1 && unknown18 != 0)) {
|
||||
const int price = luaL_checkinteger(state, 4);
|
||||
if (!(saleType == 0 && price == 0) && !(saleType == 1 && price != 0)) {
|
||||
g_cashEmotionMgr->ShowErrorMessage("EMSG_ERR_SALE_TYPE", packId);
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -1660,14 +1660,14 @@ int CCashEmotionMgr::InsertPackInfo(lua_State* state) {
|
|||
}
|
||||
|
||||
const int useType = luaL_checkinteger(state, 8);
|
||||
const int unknown24 = luaL_checkinteger(state, 9);
|
||||
if (!(useType == 0 && unknown24 == 0) && !(useType == 1 && unknown24 != 0)) {
|
||||
const int period = luaL_checkinteger(state, 9);
|
||||
if (!(useType == 0 && period == 0) && !(useType == 1 && period != 0)) {
|
||||
g_cashEmotionMgr->ShowErrorMessage("EMSG_ERR_USE_TIME", packId);
|
||||
return 1;
|
||||
}
|
||||
|
||||
const char limited = static_cast<char>(luaL_checkinteger(state, 10));
|
||||
if (g_cashEmotionMgr->packs.try_emplace(packId, name, unknown18, startTime, endTime, unknown24, limited).second == true) {
|
||||
if (g_cashEmotionMgr->packs.try_emplace(packId, name, price, startTime, endTime, period, limited).second == true) {
|
||||
g_cashEmotionMgr->packOrder.push_back(packId);
|
||||
}
|
||||
|
||||
|
|
@ -1931,7 +1931,7 @@ __declspec(noinline) void UICashEmotionListChildWnd_Purchase::Refresh(const char
|
|||
} else {
|
||||
pack->SetTitle(nullptr);
|
||||
}
|
||||
pack->m_limited = g_cashEmotionMgr->GetPackUnknown24(packId) > 0;
|
||||
pack->m_limited = g_cashEmotionMgr->GetPackPeriod(packId) > 0;
|
||||
pack->Move(9, y);
|
||||
y += height;
|
||||
this->AddChild(pack);
|
||||
|
|
@ -2146,7 +2146,7 @@ __declspec(noinline) void UICashEmotionListChildWnd_UnPurchased::Refresh(const c
|
|||
} else {
|
||||
pack->SetTitle(nullptr);
|
||||
}
|
||||
pack->m_limited = g_cashEmotionMgr->GetPackUnknown24(packId) > 0;
|
||||
pack->m_limited = g_cashEmotionMgr->GetPackPeriod(packId) > 0;
|
||||
pack->Move(9, y);
|
||||
y += height;
|
||||
this->AddChild(pack);
|
||||
|
|
@ -2409,7 +2409,7 @@ int UICashEmotionListWnd::SetPeriod(int packId) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
const int period = g_cashEmotionMgr->GetPackUnknown24(packId);
|
||||
const int period = g_cashEmotionMgr->GetPackPeriod(packId);
|
||||
if (period < 1) {
|
||||
this->m_period->Show(0);
|
||||
} else {
|
||||
|
|
@ -2519,7 +2519,7 @@ int UICashEmotionListWnd::SendMsg(UIWindow* sender, int message, std::intptr_t a
|
|||
}
|
||||
}
|
||||
|
||||
const int price = g_cashEmotionMgr->GetPackUnknown18(packId);
|
||||
const int price = g_cashEmotionMgr->GetPackPrice(packId);
|
||||
if (price < 0) {
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -2552,7 +2552,7 @@ int UICashEmotionListWnd::SendMsg(UIWindow* sender, int message, std::intptr_t a
|
|||
packet.id = 0xBEC;
|
||||
packet.packId = g_cashEmotionMgr->selectedPackId;
|
||||
packet.itemId = g_cashEmotionMgr->purchaseItemId;
|
||||
packet.price = g_cashEmotionMgr->GetPackUnknown18(packet.packId);
|
||||
packet.price = g_cashEmotionMgr->GetPackPrice(packet.packId);
|
||||
GetRagConnection().Send(sizeof(packet), &packet);
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -2999,7 +2999,7 @@ void UICashEmotionPack::UpdateExpiry(Timestamp* expiry) {
|
|||
// OFFSET: 0x007CA100
|
||||
// FUNCTION: fn_09443
|
||||
std::string UICashEmotionPack::GetPriceText(int packId) {
|
||||
int price = g_cashEmotionMgr->GetPackUnknown18(packId);
|
||||
int price = g_cashEmotionMgr->GetPackPrice(packId);
|
||||
if (price > 0) {
|
||||
const char* format = g_simpleStringMgr->GetString("EMSG_PURCHASE_PRICE");
|
||||
if (format) {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public:
|
|||
};
|
||||
|
||||
struct CashEmotionData {
|
||||
CashEmotionData(int id, int subId, const char* name, int unknown20, int unknown24, int actId, int sprId);
|
||||
CashEmotionData(int id, int subId, const char* name, int actionIndex, int frameIndex, int actId, int sprId);
|
||||
|
||||
/* 0000 */ int id;
|
||||
/* 0004 */ int subId;
|
||||
|
|
@ -52,8 +52,8 @@ struct CashEmotionData {
|
|||
|
||||
struct CashEmotionPack {
|
||||
// INLINED
|
||||
CashEmotionPack(const char* name, int unknown18, unsigned int startTime, unsigned int endTime, int unknown24, char unknown28)
|
||||
: name(name), price(unknown18), startTime(startTime), endTime(endTime), period(unknown24), saleBadge(unknown28),
|
||||
CashEmotionPack(const char* name, int price, unsigned int startTime, unsigned int endTime, int period, char saleBadge)
|
||||
: name(name), price(price), startTime(startTime), endTime(endTime), period(period), saleBadge(saleBadge),
|
||||
originalStartTime(startTime), originalEndTime(endTime) {
|
||||
}
|
||||
|
||||
|
|
@ -142,7 +142,7 @@ public:
|
|||
CashEmotionTable* GetPackEmotionTable(int packId);
|
||||
CashEmotionPack* GetPack(int packId);
|
||||
const char* GetPackTitle(int packId);
|
||||
int GetPackUnknown18(int packId);
|
||||
int GetPackPrice(int packId);
|
||||
__declspec(noinline) Timestamp* FindExpiry(int packId);
|
||||
__declspec(noinline) std::vector<int> SortOwnedPacks(const char* filter);
|
||||
__declspec(noinline) unsigned int GetPackEndTime(int packId);
|
||||
|
|
@ -154,7 +154,7 @@ public:
|
|||
std::vector<int> SortPacks(const std::vector<int>& packs, const char* filter);
|
||||
__declspec(noinline) const char* GetSprFileName(int sprId);
|
||||
__declspec(noinline) std::vector<int> SortUnownedPacks(const char* filter);
|
||||
__declspec(noinline) int GetPackUnknown24(int packId);
|
||||
__declspec(noinline) int GetPackPeriod(int packId);
|
||||
void SetOwnedPack(int packId, unsigned int expiry);
|
||||
int LookupSpecialEmotion(CashEmotionSpecial type);
|
||||
int LookupSpecialEmotion(CashEmotionSpecial type, const char* name);
|
||||
|
|
@ -170,7 +170,7 @@ public:
|
|||
bool RemoveExpiredPacks();
|
||||
bool UpdatePurchasedPackExpiry();
|
||||
void ShowErrorMessage(const char* key, int value);
|
||||
void Unknown59D040(int argument1, int argument2);
|
||||
void EmptyHandler59D040(int argument1, int argument2);
|
||||
__declspec(noinline) int GetServerTime();
|
||||
// INLINED
|
||||
int BasePackId() const {
|
||||
|
|
@ -185,14 +185,14 @@ public:
|
|||
int GetActFilePath(const char* name, bool add);
|
||||
int GetSprFilePath(const char* name, bool add);
|
||||
int RegisterFileName(std::unordered_map<std::string, int>& ids, CashEmotionFileNames& names, std::function<int()> nextId, const char* name, bool add);
|
||||
bool AddEmotion(int packId, int emotionId, const char* name, int unknown20, int unknown24, const char* actFile, const char* sprFile);
|
||||
bool AddEmotion(int packId, int emotionId, const char* name, int actionIndex, int frameIndex, const char* actFile, const char* sprFile);
|
||||
void LoadScripts();
|
||||
void InsertEmotion(int packId, int emotionId, int unknown20, int unknown24, const char* actFile, const char* sprFile);
|
||||
void InsertEmotion(int packId, int emotionId, int actionIndex, int frameIndex, const char* actFile, const char* sprFile);
|
||||
void AcquirePack(int packId, unsigned int expiry);
|
||||
|
||||
protected:
|
||||
/* 0004 */ bool m_enabled;
|
||||
/* 0005 */ std::uint8_t unknown_0005[3];
|
||||
/* 0005 */ std::uint8_t padding_0005[3];
|
||||
/* 0008 */ ICashEmotionAction* m_action;
|
||||
/* 000C */ int basePackId;
|
||||
/* 0010 */ std::unordered_map<int, CashEmotionPack, CashEmotionKeyHash> packs;
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ void CClanInfo::Destroy() {
|
|||
void CClanInfo::Clear() {
|
||||
this->m_clanName = "";
|
||||
this->m_masterName = "";
|
||||
this->unknown_0034 = 0;
|
||||
this->allyClanCount = 0;
|
||||
this->m_connectedMembers = 0;
|
||||
this->m_totalMembers = 0;
|
||||
this->m_mapName = "";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ public:
|
|||
/* 0000 */ bool m_isInitialized;
|
||||
/* 0004 */ std::string m_clanName;
|
||||
/* 001C */ std::string m_masterName;
|
||||
/* 0034 */ int unknown_0034;
|
||||
/* 0034 */ int allyClanCount;
|
||||
/* 0038 */ int m_connectedMembers;
|
||||
/* 003C */ int m_totalMembers;
|
||||
/* 0040 */ std::string m_mapName;
|
||||
|
|
@ -33,7 +33,7 @@ extern CClanInfo* g_clanInfo;
|
|||
static_assert(sizeof(CClanInfo) == 0x68);
|
||||
static_assert(offsetof(CClanInfo, m_clanName) == 0x04);
|
||||
static_assert(offsetof(CClanInfo, m_masterName) == 0x1C);
|
||||
static_assert(offsetof(CClanInfo, unknown_0034) == 0x34);
|
||||
static_assert(offsetof(CClanInfo, allyClanCount) == 0x34);
|
||||
static_assert(offsetof(CClanInfo, m_mapName) == 0x40);
|
||||
static_assert(offsetof(CClanInfo, m_clanId) == 0x58);
|
||||
static_assert(offsetof(CClanInfo, m_hasClan) == 0x5C);
|
||||
|
|
|
|||
|
|
@ -212,12 +212,12 @@ public:
|
|||
class CEquipmentPropertiesMgr {
|
||||
public:
|
||||
virtual ~CEquipmentPropertiesMgr();
|
||||
unsigned char unknown_0004[0x9];
|
||||
unsigned char padding_0004[0x9];
|
||||
bool m_dirty;
|
||||
unsigned char unknown_000E[0x12];
|
||||
unsigned char padding_000E[0x12];
|
||||
UIWindow* m_window;
|
||||
/* 0024 */ std::unordered_map<int, CEquipmentWearable*> properties1;
|
||||
/* 0044 */ unsigned char unknown_0044[0x1B8];
|
||||
/* 0044 */ unsigned char padding_0044[0x1B8];
|
||||
|
||||
CEquipmentPropertiesMgr();
|
||||
CEquipmentWearable* FindProperty1(const int& key);
|
||||
|
|
@ -878,11 +878,11 @@ bool CSession::Equip(const ITEM_INFO& item) {
|
|||
|
||||
// OFFSET: 0x00DD75C0
|
||||
// FUNCTION: fn_23291
|
||||
void CSession::AddShopItem(const RawItemBasic& item, int quantity, std::uint16_t unknown_006C) {
|
||||
void CSession::AddShopItem(const RawItemBasic& item, int quantity, std::uint16_t priceFactor) {
|
||||
ITEM_INFO value;
|
||||
value.AssignBasic(item);
|
||||
value.quantity = quantity;
|
||||
value.priceFactor = unknown_006C;
|
||||
value.priceFactor = priceFactor;
|
||||
value.refiningLevel = 0;
|
||||
value.damaged = 0;
|
||||
value.SetItemId(std::atoi(value.itemId.c_str()));
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ namespace {
|
|||
};
|
||||
|
||||
struct ReplayShopNameRecord {
|
||||
/* 0000 */ std::int16_t unknown;
|
||||
/* 0000 */ std::int16_t padding_0000;
|
||||
/* 0002 */ char name[16];
|
||||
/* 0012 */ int shopId;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -71,15 +71,15 @@ const char* DecryptName(const char (&source)[Length]) {
|
|||
}
|
||||
|
||||
struct NaviUnknownBlock {
|
||||
/* 0000 */ int unknown_0000;
|
||||
/* 0004 */ int unknown_0004;
|
||||
/* 0008 */ int unknown_0008;
|
||||
/* 000C */ int unknown_000C;
|
||||
/* 0010 */ int unknown_0010;
|
||||
/* 0014 */ int unknown_0014;
|
||||
/* 0018 */ int unknown_0018;
|
||||
/* 001C */ int unknown_001C;
|
||||
/* 0020 */ int unknown_0020;
|
||||
/* 0000 */ int padding_0000;
|
||||
/* 0004 */ int padding_0004;
|
||||
/* 0008 */ int padding_0008;
|
||||
/* 000C */ int padding_000C;
|
||||
/* 0010 */ int padding_0010;
|
||||
/* 0014 */ int padding_0014;
|
||||
/* 0018 */ int padding_0018;
|
||||
/* 001C */ int padding_001C;
|
||||
/* 0020 */ int padding_0020;
|
||||
|
||||
NaviUnknownBlock();
|
||||
};
|
||||
|
|
@ -100,8 +100,8 @@ CNavi_Object::CNavi_Object()
|
|||
// OFFSET: 0x00B8C990
|
||||
// FUNCTION: fn_19427
|
||||
NaviUnknownBlock::NaviUnknownBlock()
|
||||
: unknown_0000(0), unknown_0004(0), unknown_0008(0), unknown_000C(0), unknown_0010(0), unknown_0014(0), unknown_0018(0), unknown_001C(0),
|
||||
unknown_0020(0) {
|
||||
: padding_0000(0), padding_0004(0), padding_0008(0), padding_000C(0), padding_0010(0), padding_0014(0), padding_0018(0), padding_001C(0),
|
||||
padding_0020(0) {
|
||||
}
|
||||
|
||||
// OFFSET: 0x00B8C710
|
||||
|
|
@ -136,7 +136,7 @@ CNavi_Link::CNavi_Link() : linkedCellX(0), linkedCellY(0) {
|
|||
// OFFSET: 0x00B8C2B0
|
||||
// FUNCTION: fn_19422
|
||||
CNavi_Link::CNavi_Link(
|
||||
int type, int index, const char* name, const char* title, int cellX, int cellY, CNaviInfo* info, CNaviInfo* linkedInfo, int unknown80, int unknown84
|
||||
int type, int index, const char* name, const char* title, int cellX, int cellY, CNaviInfo* info, CNaviInfo* linkedInfo, int linkedCellX, int linkedCellY
|
||||
)
|
||||
: linkedCellX(0), linkedCellY(0) {
|
||||
this->type = type;
|
||||
|
|
@ -151,8 +151,8 @@ CNavi_Link::CNavi_Link(
|
|||
this->cellY = cellY;
|
||||
this->info = info;
|
||||
this->linkedInfo = linkedInfo;
|
||||
this->linkedCellX = unknown80;
|
||||
this->linkedCellY = unknown84;
|
||||
this->linkedCellX = linkedCellX;
|
||||
this->linkedCellY = linkedCellY;
|
||||
this->depth = 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ struct GameSettingsOption {
|
|||
/* 003C */ int tipBoxId = 0;
|
||||
/* 0040 */ std::string description;
|
||||
/* 0058 */ unsigned char defaultValue;
|
||||
/* 0059 */ unsigned char unknown_0059[3];
|
||||
/* 0059 */ unsigned char padding_0059[3];
|
||||
/* 005C */ int enabledMessage = 4698;
|
||||
/* 0060 */ int disabledMessage = 4698;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ struct GameSettingsOption {
|
|||
/* 003C */ int tipBoxId = 0;
|
||||
/* 0040 */ std::string description;
|
||||
/* 0058 */ unsigned char defaultValue;
|
||||
/* 0059 */ unsigned char unknown_0059[3];
|
||||
/* 0059 */ unsigned char padding_0059[3];
|
||||
/* 005C */ int enabledMessage = 4698;
|
||||
/* 0060 */ int disabledMessage = 4698;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public:
|
|||
class EffectResourceSwitcher : public CEffect {
|
||||
public:
|
||||
/* 00CC */ unsigned char active;
|
||||
/* 00CD */ unsigned char unknown_00CD[3];
|
||||
/* 00CD */ unsigned char padding_00CD[3];
|
||||
/* 00D0 */ CEZ2STREffectEx* effect;
|
||||
/* 00D4 */ vector3d spawnPosition;
|
||||
/* 00E0 */ std::string sourceName;
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public:
|
|||
/* 00CC */ EZ2STREmitter* projectileEmitter;
|
||||
/* 00D0 */ EZ2STREmitter* impactEmitters[3];
|
||||
/* 00DC */ bool active;
|
||||
/* 00DD */ unsigned char unknown_00DD[3];
|
||||
/* 00DD */ unsigned char padding_00DD[3];
|
||||
/* 00E0 */ float trajectoryTime;
|
||||
/* 00E4 */ vector3d impactPosition;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public:
|
|||
/* 0160 */ float startFrame;
|
||||
/* 0164 */ std::uint32_t targetAid;
|
||||
/* 0168 */ int frameCount;
|
||||
/* 016C */ int unknown_016C;
|
||||
/* 016C */ int padding_016C;
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public:
|
|||
/* 00CC */ EZ2STREmitter* emitter;
|
||||
/* 00D0 */ unsigned char alive;
|
||||
/* 00D1 */ unsigned char returning;
|
||||
/* 00D2 */ unsigned char unknown_00D2[2];
|
||||
/* 00D2 */ unsigned char padding_00D2[2];
|
||||
/* 00D4 */ int processCount;
|
||||
/* 00D8 */ float trajectoryTime;
|
||||
/* 00DC */ vector3d particlePosition;
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public:
|
|||
/* 00D4 */ CEZ2STRParticle* blastParticle;
|
||||
/* 00D8 */ CEZ2STRParticle* blastBottomParticle;
|
||||
/* 00DC */ unsigned char openToggle;
|
||||
/* 00DD */ unsigned char unknown_00DD[3];
|
||||
/* 00DD */ unsigned char padding_00DD[3];
|
||||
/* 00E0 */ std::int64_t startTime;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public:
|
|||
virtual void ProcessParticle(CEZ2STRParticle* particle);
|
||||
virtual void RenderParticle(CEZ2STRParticle* particle);
|
||||
|
||||
/* 00CC */ int unknown_00CC;
|
||||
/* 00CC */ int padding_00CC;
|
||||
/* 00D0 */ long long startTime;
|
||||
/* 00D8 */ int elapsedFrames;
|
||||
/* 00DC */ std::vector<CEZ2STRParticle*> particles;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ public:
|
|||
void SendMsg(CGameObject* sender, int message, int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m) override;
|
||||
|
||||
/* 0158 */ int lifeFrames;
|
||||
/* 015C */ int unknown_015C;
|
||||
/* 015C */ int padding_015C;
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -32,7 +32,7 @@ public:
|
|||
|
||||
/* 00CC */ EZ2STREmitter* emitter;
|
||||
/* 00D0 */ unsigned char timed;
|
||||
/* 00D1 */ unsigned char unknown_00D1[3];
|
||||
/* 00D1 */ unsigned char padding_00D1[3];
|
||||
/* 00D4 */ int frameStep;
|
||||
/* 00D8 */ unsigned char alternateRender;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ public:
|
|||
/* 002C */ int effectLifetime;
|
||||
/* 0030 */ int effectArgument;
|
||||
/* 0034 */ unsigned char outsideRange;
|
||||
/* 0035 */ unsigned char unknown_0035[3];
|
||||
/* 0035 */ unsigned char padding_0035[3];
|
||||
/* 0038 */ int range;
|
||||
/* 003C */ unsigned char areaParameters[12];
|
||||
/* 0048 */ int scaleParameter;
|
||||
|
|
@ -85,10 +85,10 @@ public:
|
|||
/* 00C0 */ unsigned char retained;
|
||||
/* 00C1 */ unsigned char emissionStopped;
|
||||
/* 00C2 */ unsigned char forceRender;
|
||||
/* 00C3 */ unsigned char unknown_00C3;
|
||||
/* 00C3 */ unsigned char padding_00C3;
|
||||
/* 00C4 */ int instanceId;
|
||||
/* 00C8 */ unsigned char headAttached;
|
||||
/* 00C9 */ unsigned char unknown_00C9[3];
|
||||
/* 00C9 */ unsigned char padding_00C9[3];
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include "Contents/Effects/RagEffect.h"
|
||||
|
||||
// INLINED
|
||||
EffectActorState::EffectActorState() : unknown_0138(-1), unknown_013C(0), effectLaunched(0), first(nullptr), second(nullptr) {
|
||||
EffectActorState::EffectActorState() : padding_0138(-1), padding_013C(0), effectLaunched(0), first(nullptr), second(nullptr) {
|
||||
}
|
||||
|
||||
// INLINED
|
||||
|
|
@ -13,7 +13,7 @@ EffectActorState::~EffectActorState() {
|
|||
// OFFSET: 0x00CA82E0
|
||||
// FUNCTION: fn_20987
|
||||
EffectActor::EffectActor() {
|
||||
this->render.unknown_0130[0] = 0;
|
||||
this->render.translucentOther[0] = 0;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00CA8C40
|
||||
|
|
@ -35,10 +35,10 @@ EffectActor::~EffectActor() {
|
|||
// OFFSET: 0x00CAF4B0
|
||||
// FUNCTION: fn_21083
|
||||
void EffectActor::ResetEffectState() {
|
||||
this->state.unknown_0138 = -1;
|
||||
this->state.unknown_013C = 0;
|
||||
this->state.padding_0138 = -1;
|
||||
this->state.padding_013C = 0;
|
||||
this->state.effectLaunched = 0;
|
||||
this->state.first = nullptr;
|
||||
this->state.second = nullptr;
|
||||
this->render.unknown_0130[0] = 0;
|
||||
this->render.translucentOther[0] = 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ struct EffectActorState {
|
|||
EffectActorState();
|
||||
~EffectActorState();
|
||||
|
||||
/* 0138 */ int unknown_0138;
|
||||
/* 013C */ std::uint32_t unknown_013C;
|
||||
/* 0138 */ int padding_0138;
|
||||
/* 013C */ std::uint32_t padding_013C;
|
||||
/* 0140 */ std::uint32_t effectLaunched;
|
||||
/* 0144 */ std::list<CRagEffect*> effects;
|
||||
/* 014C */ CRagEffect* first;
|
||||
|
|
|
|||
|
|
@ -6,31 +6,31 @@
|
|||
#include <cstddef>
|
||||
|
||||
struct EZ2STREmitter {
|
||||
/* 0000 */ unsigned char unknown_0000[0x24];
|
||||
/* 0000 */ unsigned char padding_0000[0x24];
|
||||
/* 0024 */ vector3d position;
|
||||
/* 0030 */ unsigned char unknown_0030[0x14];
|
||||
/* 0030 */ unsigned char padding_0030[0x14];
|
||||
/* 0044 */ int alpha;
|
||||
/* 0048 */ unsigned char unknown_0048[0x8];
|
||||
/* 0048 */ unsigned char padding_0048[0x8];
|
||||
/* 0050 */ int baseAngle;
|
||||
/* 0054 */ unsigned char unknown_0054[0x70];
|
||||
/* 0054 */ unsigned char padding_0054[0x70];
|
||||
/* 00C4 */ float angle;
|
||||
/* 00C8 */ unsigned char unknown_00C8[0x4];
|
||||
/* 00C8 */ unsigned char padding_00C8[0x4];
|
||||
/* 00CC */ float lifetime;
|
||||
/* 00D0 */ vector3d offset;
|
||||
/* 00DC */ unsigned char unknown_00DC[0xC];
|
||||
/* 00DC */ unsigned char padding_00DC[0xC];
|
||||
/* 00E8 */ int elapsed;
|
||||
/* 00EC */ unsigned char unknown_00EC[0x1DC];
|
||||
/* 00EC */ unsigned char padding_00EC[0x1DC];
|
||||
/* 02C8 */ vector3d velocity;
|
||||
/* 02D4 */ unsigned char unknown_02D4[0x4];
|
||||
/* 02D4 */ unsigned char padding_02D4[0x4];
|
||||
/* 02D8 */ float speed;
|
||||
/* 02DC */ unsigned char unknown_02DC[0x39E8];
|
||||
/* 02DC */ unsigned char padding_02DC[0x39E8];
|
||||
/* 3CC4 */ int currentFrame;
|
||||
/* 3CC8 */ int frameCount;
|
||||
/* 3CCC */ unsigned char unknown_3CCC[0x28C];
|
||||
/* 3CCC */ unsigned char padding_3CCC[0x28C];
|
||||
/* 3F58 */ int playbackState;
|
||||
/* 3F5C */ unsigned char looping;
|
||||
/* 3F5D */ unsigned char fadeOut;
|
||||
/* 3F5E */ unsigned char unknown_3F5E[0x3A];
|
||||
/* 3F5E */ unsigned char padding_3F5E[0x3A];
|
||||
/* 3F98 */ int lifetimeLimit;
|
||||
/* 3F9C */ int remainingLoops;
|
||||
/* 3FA0 */ int duration;
|
||||
|
|
@ -39,7 +39,7 @@ struct EZ2STREmitter {
|
|||
/* 3FAC */ float yaw;
|
||||
/* 3FB0 */ float scale;
|
||||
/* 3FB4 */ float remainingTime;
|
||||
/* 3FB8 */ unsigned char unknown_3FB8[0x30];
|
||||
/* 3FB8 */ unsigned char padding_3FB8[0x30];
|
||||
/* 3FE8 */ unsigned char flipX;
|
||||
/* 3FE9 */ unsigned char flipY;
|
||||
/* 3FEA */ unsigned char repeatFrame;
|
||||
|
|
|
|||
|
|
@ -1849,7 +1849,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_PNEUMA, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1130, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_BAKURETSU_HADOU, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_FIREDANCE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -1885,37 +1885,37 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_UNK_1146, new (std::nothrow) CEffectAllocator<CCloud>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1147, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_POPCORN, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1151, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMMUNE_PROPERTY_NOTHING, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1152, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMMUNE_PROPERTY_WATER, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1153, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMMUNE_PROPERTY_GROUND, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1154, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMMUNE_PROPERTY_FIRE, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1155, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMMUNE_PROPERTY_WIND, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1156, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMMUNE_PROPERTY_POISON, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1157, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMMUNE_PROPERTY_SAINT, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1158, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMMUNE_PROPERTY_DARKNESS, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1159, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMMUNE_PROPERTY_TELEKINESIS, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1160, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMMUNE_PROPERTY_UNDEAD, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1187, new (std::nothrow) CEffectAllocator<CRandomOptEffect>)) {
|
||||
|
|
@ -1927,7 +1927,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_UNK_1191, new (std::nothrow) CEffectAllocator<CRandomOptEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1192, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_RANDOM_OPT_YELLOW, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1196, new (std::nothrow) CEffectAllocator<CNewCloudKillEffect>)) {
|
||||
|
|
@ -1942,7 +1942,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_LIGHTSPHERE_STAR, new (std::nothrow) CEffectAllocator<CLightSphereEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1200, new (std::nothrow) CEffectAllocator<CJupitelThunderHit>)) {
|
||||
if (!this->RegisterAllocator(EF_THUNDER_PLAZMA_BLAST, new (std::nothrow) CEffectAllocator<CJupitelThunderHit>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1201, new (std::nothrow) CEffectAllocator<CGravityControlEffect>)) {
|
||||
|
|
@ -1957,10 +1957,10 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_UNK_1211, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1212, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SUBJECT_AURA_1212, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1213, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SUBJECT_AURA_1213, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1214, new (std::nothrow) CEffectAllocator<CSunStanceEffect>)) {
|
||||
|
|
@ -2014,7 +2014,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_BOOK_OF_DIMENSION, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1232, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_BOOK_OF_CREATINGSTAR, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_CURSE_EXPLOSION, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
|
|
@ -2023,13 +2023,13 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_SOUL_REAPER, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1235, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SOUL_SHADOW, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1236, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SOUL_FAIRY, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1237, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SOUL_FALCON, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_SOUL_CURSE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -2351,7 +2351,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_NEW_BANISHINGPOINT_11, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1377, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_VALKYRIE_WING, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_NEW_DRAGONBREATH_BOMB, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -2462,7 +2462,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_NEW_COMET_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1419, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_C_AMDARAIS_EFFECT, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_NEW_RAYOFGENESIS, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -2987,13 +2987,13 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_RED_WAVE_3, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1617, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_BLACKBUBBLE_SMALL, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1618, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_BLACKBUBBLE_MIDIUM, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1619, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_BLACKBUBBLE_LARGE, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_NEW_WALLOFTHORN_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -3107,13 +3107,13 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_NEW_AXEBOOMERANG_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1661, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_HACKANDSLASH, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1662, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_HACKANDSLASH_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1663, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_HACKANDSLASH_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_NEW_SPELLFIST_FIRE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -3131,19 +3131,19 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_NEW_SPELLFIST_WIND, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1670, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_STORMSLASH_1, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1671, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_STORMSLASH_2, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1672, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_STORMSLASH_3, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1673, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_STORMSLASH_4, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1674, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_STORMSLASH_5, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_NEW_CARTBOOST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -3203,13 +3203,13 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_UNK_1694, new (std::nothrow) CEffectAllocator<CServantWeaponEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1695, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_NEW_SERVANTWEAPON_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1696, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_NEW_SERVANTWEAPON_HIT_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1697, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_NEW_SERVANTWEAPON_SHOOT_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_NEW_POWERSWING_01, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -3245,43 +3245,43 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_NEW_EARTHDRIVE_TARGET, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1710, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_SIGN, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2280, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_SIGN_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1711, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_SIGN_DOWN, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1712, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_SIGN_DOWN_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1713, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_PHANTOM_DOWN, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1714, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_PHANTOM_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1715, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_PHANTOM_HIT_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1716, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_PHANTOM_SUB, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1717, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_PHANTOM_SUB_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1718, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_DEMOLITION_COLLECT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1719, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_DEMOLITION_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1720, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_DEMOLITION_LEFTDOWN, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1721, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERVANT_DEMOLITION_RIGHTDOWN, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_DRAGONIC_AURA, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -3302,16 +3302,16 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_DRAGONIC_AURA_BUFF_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1728, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_MADNESS_CRUSHER, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1729, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_MADNESS_CRUSHER_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1750, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_VIGOR_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1751, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_VIGOR_BUFF, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_NEW_AUTOSHADOWSPELL, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -3386,7 +3386,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_UNK_1755, new (std::nothrow) CEffectAllocator<CStormCannonEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1756, new (std::nothrow) CEffectAllocator<CCrimsonArrowEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_CRIMSONARROW, new (std::nothrow) CEffectAllocator<CCrimsonArrowEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_CRIMSON_ARROW_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -3398,7 +3398,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_CRIMSON_ARROW_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1760, new (std::nothrow) CEffectAllocator<CViolentQuakeEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_VIOLENTQUAKE, new (std::nothrow) CEffectAllocator<CViolentQuakeEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_VIOLENT_QUAKE_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -3419,13 +3419,13 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_UNK_1764, new (std::nothrow) CEffectAllocator<CChargingPierceEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1765, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_NEW_CHARGINGPIERCE_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1766, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_NEW_CHARGINGPIERCE_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1767, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_NEW_CHARGINGPIERCE_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1768, new (std::nothrow) CEffectAllocator<CAstralStrikeEffect>)) {
|
||||
|
|
@ -3665,13 +3665,13 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_UNK_1829, new (std::nothrow) CEffectAllocator<CDancingKnifeEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1827, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_DANCING_KNIFE_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1828, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_DANCING_KNIFE_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1830, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ABYSS_DAGGER_HIT_1830, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_NEW_REPARATIO_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -3740,10 +3740,10 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_CRYSTAL_IMPACT_BUFF, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1862, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_NEW_ENCHANTING_SHADOW, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1863, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_NEW_ENCHANTING_SHADOW_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_RELIGIO, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -3761,19 +3761,19 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_FATAL_SHADOW_CROW_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1869, new (std::nothrow) CEffectAllocator<CDropItemEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_DROPITEM_BLUE, new (std::nothrow) CEffectAllocator<CDropItemEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1870, new (std::nothrow) CEffectAllocator<CDropItemEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_DROPITEM_GREEN, new (std::nothrow) CEffectAllocator<CDropItemEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1871, new (std::nothrow) CEffectAllocator<CDropItemEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_DROPITEM_RED, new (std::nothrow) CEffectAllocator<CDropItemEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1189, new (std::nothrow) CEffectAllocator<CDropItemEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_DROPITEM_YELLOW, new (std::nothrow) CEffectAllocator<CDropItemEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1190, new (std::nothrow) CEffectAllocator<CDropItemEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_DROPITEM_PURPLE, new (std::nothrow) CEffectAllocator<CDropItemEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1186, new (std::nothrow) CEffectAllocator<CDropItemEffect>)) {
|
||||
|
|
@ -3791,7 +3791,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_UNK_2467, new (std::nothrow) CEffectAllocator<CShadowExceedNew>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1868, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SHADOW_EXCEED_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1867, new (std::nothrow) CEffectAllocator<CShadowExceed>)) {
|
||||
|
|
@ -3851,13 +3851,13 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_STRATUM_TREMOR_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1895, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMPACT_CRATER, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1896, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMPACT_CRATER_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1898, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_IMPACT_CRATER_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_WIND_SIGN, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -3944,34 +3944,34 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_ETERNAL_SLASH_HIT_2, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1960, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_CALUMITYGALE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1961, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_CALUMITYGALE_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1962, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_CALUMITYGALE_LOOP, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_NEW_POTENT_VENOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1950, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_CRESCIVEBOLT_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1951, new (std::nothrow) CEffectAllocator<CCresciveBolt>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1952, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_CRESCIVEBOLT_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1953, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SHADOW_STAB, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1954, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ETERNAL_SLASH_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_1955, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SHADOW_STAB_HIT2, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_SINCERE_FAITH, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -4145,13 +4145,13 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_FIRM_FAITH, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2006, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_KVASIRSONATA, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2007, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_KVASIRSONATA_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2008, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_KVASIRSONATA_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_CHAIN_REACTION_SHOT_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -4169,13 +4169,13 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_CHAIN_REACTION_SHOT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2000, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_MYSTICSYMPHONY, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2001, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_MYSTICSYMPHONY_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2002, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_MYSTICSYMPHONY_NOTE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_ACTIVITY_BURN, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -4235,7 +4235,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_SPELL_ENCHANTING, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2026, new (std::nothrow) CEffectAllocator<CSevereRainStorm>)) {
|
||||
if (!this->RegisterAllocator(EF_DIAMOND_STORM, new (std::nothrow) CEffectAllocator<CSevereRainStorm>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_DIAMOND_STORM_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -4262,19 +4262,19 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_VENOM_SWAMP_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2046, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ROSEBLOSSOM_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2047, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ROSEBLOSSOM_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2048, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ROSEBLOSSOM_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2049, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ROSEBLOSSOM_ROSE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2050, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ROSEBLOSSOM_SHOT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_ARDOR, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -4346,34 +4346,34 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_METALLIC_FURY, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2065, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_JAWAII_SERENADE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2066, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_JAWAII_SERENADE_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2067, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_JAWAII_SERENADE_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2068, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_PRONMARCH, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2069, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_PRONMARCH_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2070, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_PRONMARCH_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2071, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_RHYTHMSHOOTING_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2072, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_RHYTHMSHOOTING_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2073, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_RHYTHMSHOOTING_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2074, new (std::nothrow) CEffectAllocator<CCrimsonArrowEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_RHYTHMSHOOTING_SHOT, new (std::nothrow) CEffectAllocator<CCrimsonArrowEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_NIFLHEIM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -4472,28 +4472,28 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_ABYSS_DAGGER_HIT_2, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2114, new (std::nothrow) CEffectAllocator<CCrimsonArrowEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_FRENZY_SHOT, new (std::nothrow) CEffectAllocator<CCrimsonArrowEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_FRENZY_SHOT_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2116, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GEF_NOCTURN, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2117, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GEF_NOCTURN_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2118, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GEF_NOCTURN_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2119, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ROKI_CAPRICCIO, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2120, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ROKI_CAPRICCIO_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2121, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ROKI_CAPRICCIO_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_MUSICAL_INTERLUDE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -4502,10 +4502,10 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_MUSICAL_INTERLUDE_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2124, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_AIN_RHAPSODY, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2125, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_AIN_RHAPSODY_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_TERRA_DRIVE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -4571,7 +4571,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_ELEMENTAL_BUSTER_WIND_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2154, new (std::nothrow) CEffectAllocator<CCrimsonArrowEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_UNLUCKY_RUSH, new (std::nothrow) CEffectAllocator<CCrimsonArrowEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNLUCKY_RUSH_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -4580,16 +4580,16 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_ABYSS_DAGGER_HIT_3, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2157, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_OVERSLASH, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2158, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_OVERSLASH_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2159, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_OVERSLASH_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2160, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_OVERSLASH_HIT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_ADVANCED_PROTECTION, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -4607,58 +4607,58 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_UNK_2462, new (std::nothrow) CEffectAllocator<CSevereRainStorm>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2165, new (std::nothrow) CEffectAllocator<CSevereRainStorm>)) {
|
||||
if (!this->RegisterAllocator(EF_CROSS_RAIN, new (std::nothrow) CEffectAllocator<CSevereRainStorm>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2166, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_CROSS_RAIN_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2167, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_CROSS_RAIN_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2168, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_CROSS_RAIN_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2175, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GRAND_JUDGEMENT, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2176, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GRAND_JUDGEMENT_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2177, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GRAND_JUDGEMENT_BUFF, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2178, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GRAND_JUDGEMENT_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2179, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GRAND_JUDGEMENT_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2169, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GUARD_STANCE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2170, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GUARD_STANCE_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2171, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GUARD_STANCE_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2172, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ATTACK_STANCE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2173, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ATTACK_STANCE_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2174, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ATTACK_STANCE_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2181, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_HOLY_SHIELD, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2180, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_HOLY_SHIELD_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2182, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_HOLY_SHIELD_LOOP, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2183, new (std::nothrow) CEffectAllocator<CAxeBoomerang>)) {
|
||||
|
|
@ -4676,49 +4676,49 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_THE_W_PROTECTION_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2188, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GUARDIANSHIELD, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2189, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GUARDIANSHIELD_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2190, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_GUARDIANSHIELD_SUB, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2191, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_JUDGEMENT_CROSS, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2192, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_JUDGEMENT_CROSS_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2193, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_JUDGEMENT_CROSS_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2194, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_JUDGEMENT_CROSS_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2195, new (std::nothrow) CEffectAllocator<CCrimsonArrowEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_JUDGEMENT_CROSS_SHOT, new (std::nothrow) CEffectAllocator<CCrimsonArrowEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2196, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_REBOUND_SHIELD, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2197, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_REBOUND_SHIELD_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2198, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_REBOUND_SHIELD_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2199, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_REBOUND_SHIELD_CAST_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2200, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ULTIMATESACRIFICE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2201, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ULTIMATESACRIFICE_BOTTOM, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2202, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ULTIMATESACRIFICE_SHINE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_ACIDIFIED_ZONE_FIRE_CAST, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
|
|
@ -5125,7 +5125,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_NPC_GATE_SKYBLUE, new (std::nothrow) CEffectAllocator<CEZ2STRScreenEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2394, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_SERPENT_SHADOW, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2400, new (std::nothrow) CEffectAllocator<CGravityControlEffect>)) {
|
||||
|
|
@ -5161,22 +5161,22 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_UNK_2412, new (std::nothrow) CEffectAllocator<CFootprintStrEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2420, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_VIOLEN_HIT, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2424, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_C_AURA_OF_GHOST_S, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2428, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_ATQUE_POENITENTIA, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2429, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_PERM_FROST_OBLIVION, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2430, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_C_GUIDE_OF_DEAD_TEXT, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2431, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_C_MEDJED_TEXT, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2441, new (std::nothrow) CEffectAllocator<CThunderingOrb>)) {
|
||||
|
|
@ -5194,7 +5194,7 @@ bool EffectLists::RegisterAllocators() {
|
|||
if (!this->RegisterAllocator(EF_UNK_2473, new (std::nothrow) CEffectAllocator<EffectResourceSwitcher>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2458, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
if (!this->RegisterAllocator(EF_S_BEELZEBUB_WING, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
return false;
|
||||
}
|
||||
if (!this->RegisterAllocator(EF_UNK_2443, new (std::nothrow) CEffectAllocator<CSpriteEffect>)) {
|
||||
|
|
|
|||
|
|
@ -29,17 +29,17 @@ struct EffectPrimitiveRecord {
|
|||
struct EffectPrimitiveSlot {
|
||||
EffectPrimitiveSlot();
|
||||
/* 0000 */ char life;
|
||||
/* 0001 */ unsigned char unknown_0001;
|
||||
/* 0001 */ unsigned char padding_0001;
|
||||
/* 0002 */ std::int16_t alphaB;
|
||||
/* 0004 */ std::int16_t alphaT;
|
||||
/* 0006 */ std::int16_t fullDisplayAngle;
|
||||
/* 0008 */ float maxHeight;
|
||||
/* 000C */ int process;
|
||||
/* 0010 */ std::int16_t rotStart;
|
||||
/* 0012 */ unsigned char unknown_0012[2];
|
||||
/* 0012 */ unsigned char padding_0012[2];
|
||||
/* 0014 */ float height[21];
|
||||
/* 0068 */ char flag1[21];
|
||||
/* 007D */ unsigned char unknown_007D;
|
||||
/* 007D */ unsigned char padding_007D;
|
||||
/* 007E */ std::int16_t riseAngle;
|
||||
/* 0080 */ float distance;
|
||||
union {
|
||||
|
|
@ -98,7 +98,7 @@ struct EffectPrimitiveState {
|
|||
/* 024C */ int greenSpeed;
|
||||
/* 0250 */ int blueSpeed;
|
||||
/* 0254 */ unsigned char repeatAnim;
|
||||
/* 0255 */ unsigned char unknown_0255[3];
|
||||
/* 0255 */ unsigned char padding_0255[3];
|
||||
/* 0258 */ std::vector<float> chPoint;
|
||||
/* 0264 */ std::vector<float> chVal1;
|
||||
/* 0270 */ std::vector<float> chVal2;
|
||||
|
|
|
|||
|
|
@ -1136,7 +1136,7 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_SU_POWEROFFLOCK] = 1127;
|
||||
result[EF_UNK_1128] = 1128;
|
||||
result[EF_SU_SVG_SPIRIT] = 1129;
|
||||
result[EF_UNK_1130] = 1130;
|
||||
result[EF_BAKURETSU_HADOU] = 1130;
|
||||
result[EF_SU_SPIRIT_OF_LIFE] = 99;
|
||||
result[EF_SU_STOOP] = 99999999;
|
||||
result[EF_FIREDANCE] = 1133;
|
||||
|
|
@ -1153,20 +1153,20 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_UNK_1144] = 100;
|
||||
result[EF_RL_HAMMER_OF_GOD] = 99999999;
|
||||
result[EF_UNK_1146] = 1146;
|
||||
result[EF_UNK_1147] = 99999999;
|
||||
result[EF_POPCORN] = 99999999;
|
||||
result[EF_RL_R_TRIP] = 9999999;
|
||||
result[EF_IMMUNE_PROPERTY] = 99999;
|
||||
result[EF_MOVE_COORDINATE] = 300;
|
||||
result[EF_UNK_1151] = 1151;
|
||||
result[EF_UNK_1152] = 1152;
|
||||
result[EF_UNK_1153] = 1153;
|
||||
result[EF_UNK_1154] = 1154;
|
||||
result[EF_UNK_1155] = 1155;
|
||||
result[EF_UNK_1156] = 1156;
|
||||
result[EF_UNK_1157] = 1157;
|
||||
result[EF_UNK_1158] = 1158;
|
||||
result[EF_UNK_1159] = 1159;
|
||||
result[EF_UNK_1160] = 1160;
|
||||
result[EF_IMMUNE_PROPERTY_NOTHING] = 1151;
|
||||
result[EF_IMMUNE_PROPERTY_WATER] = 1152;
|
||||
result[EF_IMMUNE_PROPERTY_GROUND] = 1153;
|
||||
result[EF_IMMUNE_PROPERTY_FIRE] = 1154;
|
||||
result[EF_IMMUNE_PROPERTY_WIND] = 1155;
|
||||
result[EF_IMMUNE_PROPERTY_POISON] = 1156;
|
||||
result[EF_IMMUNE_PROPERTY_SAINT] = 1157;
|
||||
result[EF_IMMUNE_PROPERTY_DARKNESS] = 1158;
|
||||
result[EF_IMMUNE_PROPERTY_TELEKINESIS] = 1159;
|
||||
result[EF_IMMUNE_PROPERTY_UNDEAD] = 1160;
|
||||
result[EF_QUAGMIRE_VISUAL] = 150;
|
||||
result[EF_LORD_OF_VERMILLION_VISUAL] = 9999;
|
||||
result[EF_METEOR_STORM_VISUAL] = 9999;
|
||||
|
|
@ -1195,10 +1195,10 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_UNK_1186] = 1186;
|
||||
result[EF_UNK_1187] = 1187;
|
||||
result[EF_UNK_1188] = 1188;
|
||||
result[EF_UNK_1189] = 1189;
|
||||
result[EF_UNK_1190] = 1190;
|
||||
result[EF_DROPITEM_YELLOW] = 1189;
|
||||
result[EF_DROPITEM_PURPLE] = 1190;
|
||||
result[EF_UNK_1191] = 1191;
|
||||
result[EF_UNK_1192] = 1192;
|
||||
result[EF_RANDOM_OPT_YELLOW] = 1192;
|
||||
result[EF_UNK_1193] = 1193;
|
||||
result[EF_UNK_1194] = 1194;
|
||||
result[EF_AUTOSHADOWSPELL_ACTIVE] = 1195;
|
||||
|
|
@ -1206,7 +1206,7 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_LIGHTSPHERE_SUN] = 1197;
|
||||
result[EF_LIGHTSPHERE_MOON] = 1198;
|
||||
result[EF_LIGHTSPHERE_STAR] = 1199;
|
||||
result[EF_UNK_1200] = 1200;
|
||||
result[EF_THUNDER_PLAZMA_BLAST] = 1200;
|
||||
result[EF_UNK_1201] = 1201;
|
||||
result[EF_NOVAEXPLOSING] = 1202;
|
||||
result[EF_STAR_EMPEROR] = 1203;
|
||||
|
|
@ -1218,8 +1218,8 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_BLINK_BODY] = 100;
|
||||
result[EF_LINELINK5] = 200;
|
||||
result[EF_UNK_1211] = 1211;
|
||||
result[EF_UNK_1212] = 1212;
|
||||
result[EF_UNK_1213] = 1213;
|
||||
result[EF_SUBJECT_AURA_1212] = 1212;
|
||||
result[EF_SUBJECT_AURA_1213] = 1213;
|
||||
result[EF_UNK_1214] = 1214;
|
||||
result[EF_UNK_1215] = 1215;
|
||||
result[EF_UNK_1216] = 1216;
|
||||
|
|
@ -1238,12 +1238,12 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_NEWMOON_KICK] = 1229;
|
||||
result[EF_FULLMOON_KICK] = 1230;
|
||||
result[EF_BOOK_OF_DIMENSION] = 1231;
|
||||
result[EF_UNK_1232] = 1232;
|
||||
result[EF_BOOK_OF_CREATINGSTAR] = 1232;
|
||||
result[EF_CURSE_EXPLOSION] = 1233;
|
||||
result[EF_SOUL_REAPER] = 1234;
|
||||
result[EF_UNK_1235] = 1235;
|
||||
result[EF_UNK_1236] = 1236;
|
||||
result[EF_UNK_1237] = 1237;
|
||||
result[EF_SOUL_SHADOW] = 1235;
|
||||
result[EF_SOUL_FAIRY] = 1236;
|
||||
result[EF_SOUL_FALCON] = 1237;
|
||||
result[EF_SOUL_CURSE] = 1238;
|
||||
result[EF_PROMINENCE_KICK] = 1239;
|
||||
result[EF_SOUL_REAPER_COLLECT] = 1240;
|
||||
|
|
@ -1383,7 +1383,7 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_NEW_BANISHINGPOINT_05] = 1374;
|
||||
result[EF_NEW_BANISHINGPOINT_07] = 1375;
|
||||
result[EF_NEW_BANISHINGPOINT_11] = 1376;
|
||||
result[EF_UNK_1377] = 99999999;
|
||||
result[EF_VALKYRIE_WING] = 99999999;
|
||||
result[EF_NEW_DRAGONBREATH_BOMB] = 1378;
|
||||
result[EF_NEW_DRAGONBREATH_BOMB_BOTTOM] = 1379;
|
||||
result[EF_NEW_DRAGONBREATH_01] = 1380;
|
||||
|
|
@ -1425,7 +1425,7 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_NEW_COMET_SUB_EXP] = 1416;
|
||||
result[EF_NEW_COMET_SUB_EXP_BOTTOM] = 1417;
|
||||
result[EF_NEW_MOON_SLASH] = 1418;
|
||||
result[EF_UNK_1419] = 1419;
|
||||
result[EF_C_AMDARAIS_EFFECT] = 1419;
|
||||
result[EF_NEW_GRANDCROSS] = 99999999;
|
||||
result[EF_NEW_COMET_CAST] = 1421;
|
||||
result[EF_NEW_CART_CANNON_CAST] = 1422;
|
||||
|
|
@ -1623,9 +1623,9 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_RED_WAVE_1] = 1614;
|
||||
result[EF_RED_WAVE_2] = 1615;
|
||||
result[EF_RED_WAVE_3] = 1616;
|
||||
result[EF_UNK_1617] = 1617;
|
||||
result[EF_UNK_1618] = 1618;
|
||||
result[EF_UNK_1619] = 1619;
|
||||
result[EF_BLACKBUBBLE_SMALL] = 1617;
|
||||
result[EF_BLACKBUBBLE_MIDIUM] = 1618;
|
||||
result[EF_BLACKBUBBLE_LARGE] = 1619;
|
||||
result[EF_NEW_WALLOFTHORN_CAST] = 1620;
|
||||
result[EF_NEW_WALLOFTHORN_CAST_BOTTOM] = 1621;
|
||||
result[EF_NEW_EARTHGRAVE_BOTTOM] = 1622;
|
||||
|
|
@ -1667,20 +1667,20 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_NEW_AXEBOOMERANG_CAST] = 1658;
|
||||
result[EF_NEW_AXEBOOMERANG_CAST_BOTTOM] = 1659;
|
||||
result[EF_NEW_AXEBOOMERANG_HIT] = 1660;
|
||||
result[EF_UNK_1661] = 1661;
|
||||
result[EF_UNK_1662] = 1662;
|
||||
result[EF_UNK_1663] = 1663;
|
||||
result[EF_HACKANDSLASH] = 1661;
|
||||
result[EF_HACKANDSLASH_BOTTOM] = 1662;
|
||||
result[EF_HACKANDSLASH_HIT] = 1663;
|
||||
result[EF_NEW_SANCTUARY] = 100;
|
||||
result[EF_NEW_SPELLFIST_FIRE] = 1665;
|
||||
result[EF_NEW_SPELLFIST_FIRE_BOTTOM] = 1666;
|
||||
result[EF_NEW_SPELLFIST_WATER] = 1667;
|
||||
result[EF_NEW_SPELLFIST_WATER_BOTTOM] = 1668;
|
||||
result[EF_NEW_SPELLFIST_WIND] = 1669;
|
||||
result[EF_UNK_1670] = 1670;
|
||||
result[EF_UNK_1671] = 1671;
|
||||
result[EF_UNK_1672] = 1672;
|
||||
result[EF_UNK_1673] = 1673;
|
||||
result[EF_UNK_1674] = 1674;
|
||||
result[EF_STORMSLASH_1] = 1670;
|
||||
result[EF_STORMSLASH_2] = 1671;
|
||||
result[EF_STORMSLASH_3] = 1672;
|
||||
result[EF_STORMSLASH_4] = 1673;
|
||||
result[EF_STORMSLASH_5] = 1674;
|
||||
result[EF_NEW_CARTBOOST] = 1675;
|
||||
result[EF_NEW_CARTBOOST_BOTTOM] = 1676;
|
||||
result[EF_NEW_SAFETYWALL] = 60;
|
||||
|
|
@ -1701,9 +1701,9 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_NEW_WINDCUTTER_BOTTOM_05] = 1692;
|
||||
result[EF_NEW_WINDCUTTER_TARGET] = 1693;
|
||||
result[EF_UNK_1694] = 1694;
|
||||
result[EF_UNK_1695] = 1695;
|
||||
result[EF_UNK_1696] = 1696;
|
||||
result[EF_UNK_1697] = 1697;
|
||||
result[EF_NEW_SERVANTWEAPON_HIT] = 1695;
|
||||
result[EF_NEW_SERVANTWEAPON_HIT_BOTTOM] = 1696;
|
||||
result[EF_NEW_SERVANTWEAPON_SHOOT_BOTTOM] = 1697;
|
||||
result[EF_NEW_POWERSWING_01] = 1698;
|
||||
result[EF_NEW_POWERSWING_05] = 1699;
|
||||
result[EF_NEW_POWERSWING_07] = 1700;
|
||||
|
|
@ -1716,26 +1716,26 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_NEW_EARTHDRIVE_BOTTOM] = 1707;
|
||||
result[EF_NEW_EARTHDRIVE_TARGET] = 1708;
|
||||
result[EF_NEW_EARTHDRIVE_CAST] = 40;
|
||||
result[EF_UNK_1710] = 1710;
|
||||
result[EF_UNK_1711] = 1711;
|
||||
result[EF_UNK_1712] = 1712;
|
||||
result[EF_UNK_1713] = 1713;
|
||||
result[EF_UNK_1714] = 1714;
|
||||
result[EF_UNK_1715] = 1715;
|
||||
result[EF_UNK_1716] = 1716;
|
||||
result[EF_UNK_1717] = 1717;
|
||||
result[EF_UNK_1718] = 1718;
|
||||
result[EF_UNK_1719] = 1719;
|
||||
result[EF_UNK_1720] = 1720;
|
||||
result[EF_UNK_1721] = 1721;
|
||||
result[EF_SERVANT_SIGN] = 1710;
|
||||
result[EF_SERVANT_SIGN_DOWN] = 1711;
|
||||
result[EF_SERVANT_SIGN_DOWN_BOTTOM] = 1712;
|
||||
result[EF_SERVANT_PHANTOM_DOWN] = 1713;
|
||||
result[EF_SERVANT_PHANTOM_HIT] = 1714;
|
||||
result[EF_SERVANT_PHANTOM_HIT_BOTTOM] = 1715;
|
||||
result[EF_SERVANT_PHANTOM_SUB] = 1716;
|
||||
result[EF_SERVANT_PHANTOM_SUB_BOTTOM] = 1717;
|
||||
result[EF_SERVANT_DEMOLITION_COLLECT] = 1718;
|
||||
result[EF_SERVANT_DEMOLITION_HIT] = 1719;
|
||||
result[EF_SERVANT_DEMOLITION_LEFTDOWN] = 1720;
|
||||
result[EF_SERVANT_DEMOLITION_RIGHTDOWN] = 1721;
|
||||
result[EF_DRAGONIC_AURA] = 1722;
|
||||
result[EF_DRAGONIC_AURA_BOTTOM] = 1723;
|
||||
result[EF_DRAGONIC_AURA_HIT] = 1724;
|
||||
result[EF_DRAGONIC_AURA_HIT_BOTTOM] = 1725;
|
||||
result[EF_DRAGONIC_AURA_BUFF] = 1726;
|
||||
result[EF_DRAGONIC_AURA_BUFF_BOTTOM] = 1727;
|
||||
result[EF_UNK_1728] = 1728;
|
||||
result[EF_UNK_1729] = 1729;
|
||||
result[EF_MADNESS_CRUSHER] = 1728;
|
||||
result[EF_MADNESS_CRUSHER_BOTTOM] = 1729;
|
||||
result[EF_NEW_AUTOSHADOWSPELL] = 1730;
|
||||
result[EF_NEW_AUTOSHADOWSPELL_BOTTOM] = 1731;
|
||||
result[EF_DESTRUCTIVE_HURRICANE] = 1732;
|
||||
|
|
@ -1756,24 +1756,24 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_ROCKDOWN_CAST] = 1747;
|
||||
result[EF_ROCKDOWN_CAST_BOTTOM] = 1748;
|
||||
result[EF_ROCKDOWN_HIT] = 1749;
|
||||
result[EF_UNK_1750] = 1750;
|
||||
result[EF_UNK_1751] = 1751;
|
||||
result[EF_VIGOR_CAST] = 1750;
|
||||
result[EF_VIGOR_BUFF] = 1751;
|
||||
result[EF_UNK_1752] = 1752;
|
||||
result[EF_RAIN_OF_CRYSTAL] = 1753;
|
||||
result[EF_RAIN_OF_CRYSTAL_BOTTOM] = 1754;
|
||||
result[EF_UNK_1755] = 1755;
|
||||
result[EF_UNK_1756] = 1756;
|
||||
result[EF_CRIMSONARROW] = 1756;
|
||||
result[EF_CRIMSON_ARROW_CAST] = 1757;
|
||||
result[EF_CRIMSON_ARROW_CAST_BOTTOM] = 1758;
|
||||
result[EF_CRIMSON_ARROW_HIT] = 1759;
|
||||
result[EF_UNK_1760] = 1760;
|
||||
result[EF_VIOLENTQUAKE] = 1760;
|
||||
result[EF_VIOLENT_QUAKE_CAST] = 1761;
|
||||
result[EF_VIOLENT_QUAKE_CAST_BOTTOM] = 1762;
|
||||
result[EF_VIOLENT_QUAKE_HIT] = 1763;
|
||||
result[EF_UNK_1764] = 1764;
|
||||
result[EF_UNK_1765] = 1765;
|
||||
result[EF_UNK_1766] = 1766;
|
||||
result[EF_UNK_1767] = 1767;
|
||||
result[EF_NEW_CHARGINGPIERCE_CAST] = 1765;
|
||||
result[EF_NEW_CHARGINGPIERCE_CAST_BOTTOM] = 1766;
|
||||
result[EF_NEW_CHARGINGPIERCE_HIT] = 1767;
|
||||
result[EF_UNK_1768] = 1768;
|
||||
result[EF_ASTRAL_STRIKE_CAST] = 1769;
|
||||
result[EF_ASTRAL_STRIKE_CAST_BOTTOM] = 1770;
|
||||
|
|
@ -1833,10 +1833,10 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_ARBITRIUM] = 1824;
|
||||
result[EF_ARBITRIUM_BOTTOM] = 1825;
|
||||
result[EF_ARBITRIUM_HIT] = 1826;
|
||||
result[EF_UNK_1827] = 1827;
|
||||
result[EF_UNK_1828] = 1828;
|
||||
result[EF_DANCING_KNIFE_CAST] = 1827;
|
||||
result[EF_DANCING_KNIFE_CAST_BOTTOM] = 1828;
|
||||
result[EF_UNK_1829] = 1829;
|
||||
result[EF_UNK_1830] = 1830;
|
||||
result[EF_ABYSS_DAGGER_HIT_1830] = 1830;
|
||||
result[EF_NEW_REPARATIO_CAST] = 1831;
|
||||
result[EF_NEW_REPARATIO_CAST_BOTTOM] = 1832;
|
||||
result[EF_NEW_REPARATIO] = 1833;
|
||||
|
|
@ -1868,16 +1868,16 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_CRYSTAL_IMPACT_BUFF] = 1859;
|
||||
result[EF_RELIGIO] = 1860;
|
||||
result[EF_RELIGIO_CAST] = 1861;
|
||||
result[EF_UNK_1862] = 1862;
|
||||
result[EF_UNK_1863] = 1863;
|
||||
result[EF_NEW_ENCHANTING_SHADOW] = 1862;
|
||||
result[EF_NEW_ENCHANTING_SHADOW_BOTTOM] = 1863;
|
||||
result[EF_FATAL_SHADOW_CROW] = 1864;
|
||||
result[EF_FATAL_SHADOW_CROW_BOTTOM] = 1865;
|
||||
result[EF_FATAL_SHADOW_CROW_HIT] = 1866;
|
||||
result[EF_UNK_1867] = 1867;
|
||||
result[EF_UNK_1868] = 1868;
|
||||
result[EF_UNK_1869] = 1869;
|
||||
result[EF_UNK_1870] = 1870;
|
||||
result[EF_UNK_1871] = 1871;
|
||||
result[EF_SHADOW_EXCEED_CAST] = 1868;
|
||||
result[EF_DROPITEM_BLUE] = 1869;
|
||||
result[EF_DROPITEM_GREEN] = 1870;
|
||||
result[EF_DROPITEM_RED] = 1871;
|
||||
result[EF_NEW_PNEUMA] = 1872;
|
||||
result[EF_DEEP_BLIND_TRAP_CAST] = 1873;
|
||||
result[EF_DEEP_BLIND_TRAP] = 1874;
|
||||
|
|
@ -1901,10 +1901,10 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_STRATUM_TREMOR_HIT] = 1892;
|
||||
result[EF_STRATUM_TREMOR] = 1893;
|
||||
result[EF_STRATUM_TREMOR_BOTTOM] = 1894;
|
||||
result[EF_UNK_1895] = 1895;
|
||||
result[EF_UNK_1896] = 1896;
|
||||
result[EF_IMPACT_CRATER] = 1895;
|
||||
result[EF_IMPACT_CRATER_BOTTOM] = 1896;
|
||||
result[EF_UNK_1897] = 1897;
|
||||
result[EF_UNK_1898] = 1898;
|
||||
result[EF_IMPACT_CRATER_HIT] = 1898;
|
||||
result[EF_WIND_SIGN] = 1899;
|
||||
result[EF_WIND_SIGN_LOOP] = 1900;
|
||||
result[EF_ABR_MOTHER_CAST] = 1901;
|
||||
|
|
@ -1956,19 +1956,19 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_NEW_AXE_STOMP_08] = 1947;
|
||||
result[EF_NEW_AXE_STOMP_09] = 1948;
|
||||
result[EF_NEW_AXE_STOMP_11] = 1949;
|
||||
result[EF_UNK_1950] = 1950;
|
||||
result[EF_CRESCIVEBOLT_CAST] = 1950;
|
||||
result[EF_UNK_1951] = 1951;
|
||||
result[EF_UNK_1952] = 1952;
|
||||
result[EF_UNK_1953] = 1953;
|
||||
result[EF_UNK_1954] = 1954;
|
||||
result[EF_UNK_1955] = 1955;
|
||||
result[EF_CRESCIVEBOLT_HIT] = 1952;
|
||||
result[EF_SHADOW_STAB] = 1953;
|
||||
result[EF_ETERNAL_SLASH_HIT] = 1954;
|
||||
result[EF_SHADOW_STAB_HIT2] = 1955;
|
||||
result[EF_UNK_1956] = 1956;
|
||||
result[EF_UNK_1957] = 1957;
|
||||
result[EF_PNEUMATICUS_PROCELLA_CAST] = 1958;
|
||||
result[EF_PNEUMATICUS_PROCELLA_RING] = 1959;
|
||||
result[EF_UNK_1960] = 1960;
|
||||
result[EF_UNK_1961] = 1961;
|
||||
result[EF_UNK_1962] = 1962;
|
||||
result[EF_CALUMITYGALE] = 1960;
|
||||
result[EF_CALUMITYGALE_CAST] = 1961;
|
||||
result[EF_CALUMITYGALE_LOOP] = 1962;
|
||||
result[EF_SINCERE_FAITH_RING] = 1963;
|
||||
result[EF_SINCERE_FAITH] = 1964;
|
||||
result[EF_SINCERE_FAITH_BOTTOM] = 1965;
|
||||
|
|
@ -2006,15 +2006,15 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_EXPLOSION_BLASTER_HIT] = 1997;
|
||||
result[EF_FIRM_FAITH_RING] = 1998;
|
||||
result[EF_FIRM_FAITH] = 1999;
|
||||
result[EF_UNK_2000] = 2000;
|
||||
result[EF_UNK_2001] = 2001;
|
||||
result[EF_UNK_2002] = 2002;
|
||||
result[EF_MYSTICSYMPHONY] = 2000;
|
||||
result[EF_MYSTICSYMPHONY_CAST] = 2001;
|
||||
result[EF_MYSTICSYMPHONY_NOTE] = 2002;
|
||||
result[EF_ACTIVITY_BURN] = 2003;
|
||||
result[EF_ACTIVITY_BURN_CAST] = 2004;
|
||||
result[EF_ACTIVITY_BURN_CAST_BOTTOM] = 2005;
|
||||
result[EF_UNK_2006] = 2006;
|
||||
result[EF_UNK_2007] = 2007;
|
||||
result[EF_UNK_2008] = 2008;
|
||||
result[EF_KVASIRSONATA] = 2006;
|
||||
result[EF_KVASIRSONATA_CAST] = 2007;
|
||||
result[EF_KVASIRSONATA_CAST_BOTTOM] = 2008;
|
||||
result[EF_SERPENS_BOTTOM] = 2009;
|
||||
result[EF_SERPENS_CAST] = 2010;
|
||||
result[EF_SERPENS_CAST_BOTTOM] = 2011;
|
||||
|
|
@ -2032,7 +2032,7 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_DILUVIO_HIT] = 2023;
|
||||
result[EF_DILUVIO_ARMOR] = 2024;
|
||||
result[EF_SPELL_ENCHANTING] = 2025;
|
||||
result[EF_UNK_2026] = 60;
|
||||
result[EF_DIAMOND_STORM] = 60;
|
||||
result[EF_DIAMOND_STORM_BOTTOM] = 60;
|
||||
result[EF_DIAMOND_STORM_CAST] = 2028;
|
||||
result[EF_DIAMOND_STORM_CAST_BOTTOM] = 2029;
|
||||
|
|
@ -2052,11 +2052,11 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_LIGHTNING_LAND_CAST] = 2043;
|
||||
result[EF_LIGHTNING_LAND_CAST_BOTTOM] = 2044;
|
||||
result[EF_LIGHTNING_LAND_HIT] = 2045;
|
||||
result[EF_UNK_2046] = 2046;
|
||||
result[EF_UNK_2047] = 2047;
|
||||
result[EF_UNK_2048] = 2048;
|
||||
result[EF_UNK_2049] = 2049;
|
||||
result[EF_UNK_2050] = 2050;
|
||||
result[EF_ROSEBLOSSOM_CAST] = 2046;
|
||||
result[EF_ROSEBLOSSOM_CAST_BOTTOM] = 2047;
|
||||
result[EF_ROSEBLOSSOM_HIT] = 2048;
|
||||
result[EF_ROSEBLOSSOM_ROSE] = 2049;
|
||||
result[EF_ROSEBLOSSOM_SHOT] = 2050;
|
||||
result[EF_FIRST_BRAND] = 2051;
|
||||
result[EF_FIRST_BRAND_AURA] = 2052;
|
||||
result[EF_FIRST_BRAND_HIT] = 2053;
|
||||
|
|
@ -2071,16 +2071,16 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_SOUND_BLEND_CAST_BOTTOM] = 2062;
|
||||
result[EF_SOUND_BLEND_RED] = 2063;
|
||||
result[EF_METALLIC_FURY] = 2064;
|
||||
result[EF_UNK_2065] = 2065;
|
||||
result[EF_UNK_2066] = 2066;
|
||||
result[EF_UNK_2067] = 2067;
|
||||
result[EF_UNK_2068] = 2068;
|
||||
result[EF_UNK_2069] = 2069;
|
||||
result[EF_UNK_2070] = 2070;
|
||||
result[EF_UNK_2071] = 2071;
|
||||
result[EF_UNK_2072] = 2072;
|
||||
result[EF_UNK_2073] = 2073;
|
||||
result[EF_UNK_2074] = 2074;
|
||||
result[EF_JAWAII_SERENADE] = 2065;
|
||||
result[EF_JAWAII_SERENADE_CAST] = 2066;
|
||||
result[EF_JAWAII_SERENADE_CAST_BOTTOM] = 2067;
|
||||
result[EF_PRONMARCH] = 2068;
|
||||
result[EF_PRONMARCH_CAST] = 2069;
|
||||
result[EF_PRONMARCH_CAST_BOTTOM] = 2070;
|
||||
result[EF_RHYTHMSHOOTING_CAST] = 2071;
|
||||
result[EF_RHYTHMSHOOTING_CAST_BOTTOM] = 2072;
|
||||
result[EF_RHYTHMSHOOTING_HIT] = 2073;
|
||||
result[EF_RHYTHMSHOOTING_SHOT] = 2074;
|
||||
result[EF_NIFLHEIM] = 2075;
|
||||
result[EF_NIFLHEIM_CAST] = 2076;
|
||||
result[EF_UNK_2077] = 2077;
|
||||
|
|
@ -2120,18 +2120,18 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_ABYSS_STRIKE_HIT_2] = 2111;
|
||||
result[EF_THIRD_PUNISH] = 2095;
|
||||
result[EF_THIRD_PUNISH_BOTTOM] = 2096;
|
||||
result[EF_UNK_2114] = 2114;
|
||||
result[EF_FRENZY_SHOT] = 2114;
|
||||
result[EF_FRENZY_SHOT_HIT] = 2115;
|
||||
result[EF_UNK_2116] = 2116;
|
||||
result[EF_UNK_2117] = 2117;
|
||||
result[EF_UNK_2118] = 2118;
|
||||
result[EF_UNK_2119] = 2119;
|
||||
result[EF_UNK_2120] = 2120;
|
||||
result[EF_UNK_2121] = 2121;
|
||||
result[EF_GEF_NOCTURN] = 2116;
|
||||
result[EF_GEF_NOCTURN_CAST] = 2117;
|
||||
result[EF_GEF_NOCTURN_CAST_BOTTOM] = 2118;
|
||||
result[EF_ROKI_CAPRICCIO] = 2119;
|
||||
result[EF_ROKI_CAPRICCIO_CAST] = 2120;
|
||||
result[EF_ROKI_CAPRICCIO_CAST_BOTTOM] = 2121;
|
||||
result[EF_MUSICAL_INTERLUDE] = 2122;
|
||||
result[EF_MUSICAL_INTERLUDE_CAST] = 2123;
|
||||
result[EF_UNK_2124] = 2124;
|
||||
result[EF_UNK_2125] = 2125;
|
||||
result[EF_AIN_RHAPSODY] = 2124;
|
||||
result[EF_AIN_RHAPSODY_CAST] = 2125;
|
||||
result[EF_ABYSS_SLAYER] = 2126;
|
||||
result[EF_ABYSS_SLAYER_CAST] = 2127;
|
||||
result[EF_ABYSS_SLAYER_CAST_BOTTOM] = 2128;
|
||||
|
|
@ -2160,55 +2160,55 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_ELEMENTAL_BUSTER_WIND] = 2151;
|
||||
result[EF_ELEMENTAL_BUSTER_WIND_BOTTOM] = 2152;
|
||||
result[EF_ELEMENTAL_BUSTER_WIND_HIT] = 2153;
|
||||
result[EF_UNK_2154] = 2154;
|
||||
result[EF_UNLUCKY_RUSH] = 2154;
|
||||
result[EF_UNLUCKY_RUSH_CAST] = 2155;
|
||||
result[EF_ABYSS_DAGGER_HIT_3] = 2156;
|
||||
result[EF_UNK_2157] = 2157;
|
||||
result[EF_UNK_2158] = 2158;
|
||||
result[EF_UNK_2159] = 2159;
|
||||
result[EF_UNK_2160] = 2160;
|
||||
result[EF_OVERSLASH] = 2157;
|
||||
result[EF_OVERSLASH_BOTTOM] = 2158;
|
||||
result[EF_OVERSLASH_CAST] = 2159;
|
||||
result[EF_OVERSLASH_HIT] = 2160;
|
||||
result[EF_ADVANCED_PROTECTION] = 2161;
|
||||
result[EF_ADVANCED_PROTECTION_BOTTOM] = 2162;
|
||||
result[EF_ADVANCED_PROTECTION_CAST] = 2163;
|
||||
result[EF_ADVANCED_PROTECTION_CAST_BOTTOM] = 2164;
|
||||
result[EF_UNK_2165] = 2165;
|
||||
result[EF_UNK_2166] = 2166;
|
||||
result[EF_UNK_2167] = 2167;
|
||||
result[EF_UNK_2168] = 2168;
|
||||
result[EF_UNK_2169] = 2169;
|
||||
result[EF_UNK_2170] = 2170;
|
||||
result[EF_UNK_2171] = 2171;
|
||||
result[EF_UNK_2172] = 2172;
|
||||
result[EF_UNK_2173] = 2173;
|
||||
result[EF_UNK_2174] = 2174;
|
||||
result[EF_UNK_2175] = 2175;
|
||||
result[EF_UNK_2176] = 2176;
|
||||
result[EF_UNK_2177] = 2177;
|
||||
result[EF_UNK_2178] = 2178;
|
||||
result[EF_UNK_2179] = 2179;
|
||||
result[EF_UNK_2180] = 2180;
|
||||
result[EF_UNK_2181] = 2181;
|
||||
result[EF_UNK_2182] = 2182;
|
||||
result[EF_CROSS_RAIN] = 2165;
|
||||
result[EF_CROSS_RAIN_BOTTOM] = 2166;
|
||||
result[EF_CROSS_RAIN_CAST] = 2167;
|
||||
result[EF_CROSS_RAIN_CAST_BOTTOM] = 2168;
|
||||
result[EF_GUARD_STANCE] = 2169;
|
||||
result[EF_GUARD_STANCE_CAST] = 2170;
|
||||
result[EF_GUARD_STANCE_CAST_BOTTOM] = 2171;
|
||||
result[EF_ATTACK_STANCE] = 2172;
|
||||
result[EF_ATTACK_STANCE_CAST] = 2173;
|
||||
result[EF_ATTACK_STANCE_CAST_BOTTOM] = 2174;
|
||||
result[EF_GRAND_JUDGEMENT] = 2175;
|
||||
result[EF_GRAND_JUDGEMENT_BOTTOM] = 2176;
|
||||
result[EF_GRAND_JUDGEMENT_BUFF] = 2177;
|
||||
result[EF_GRAND_JUDGEMENT_CAST] = 2178;
|
||||
result[EF_GRAND_JUDGEMENT_CAST_BOTTOM] = 2179;
|
||||
result[EF_HOLY_SHIELD_CAST] = 2180;
|
||||
result[EF_HOLY_SHIELD] = 2181;
|
||||
result[EF_HOLY_SHIELD_LOOP] = 2182;
|
||||
result[EF_UNK_2183] = 2183;
|
||||
result[EF_SHIELD_SHOOTING_CAST] = 2184;
|
||||
result[EF_SHIELD_SHOOTING_HIT] = 2185;
|
||||
result[EF_THE_W_PROTECTION] = 2186;
|
||||
result[EF_THE_W_PROTECTION_CAST] = 2187;
|
||||
result[EF_UNK_2188] = 2188;
|
||||
result[EF_UNK_2189] = 2189;
|
||||
result[EF_UNK_2190] = 2190;
|
||||
result[EF_UNK_2191] = 2191;
|
||||
result[EF_UNK_2192] = 2192;
|
||||
result[EF_UNK_2193] = 2193;
|
||||
result[EF_UNK_2194] = 2194;
|
||||
result[EF_UNK_2195] = 2195;
|
||||
result[EF_UNK_2196] = 2196;
|
||||
result[EF_UNK_2197] = 2197;
|
||||
result[EF_UNK_2198] = 2198;
|
||||
result[EF_UNK_2199] = 2199;
|
||||
result[EF_UNK_2200] = 2200;
|
||||
result[EF_UNK_2201] = 2201;
|
||||
result[EF_UNK_2202] = 2202;
|
||||
result[EF_GUARDIANSHIELD] = 2188;
|
||||
result[EF_GUARDIANSHIELD_BOTTOM] = 2189;
|
||||
result[EF_GUARDIANSHIELD_SUB] = 2190;
|
||||
result[EF_JUDGEMENT_CROSS] = 2191;
|
||||
result[EF_JUDGEMENT_CROSS_BOTTOM] = 2192;
|
||||
result[EF_JUDGEMENT_CROSS_CAST] = 2193;
|
||||
result[EF_JUDGEMENT_CROSS_CAST_BOTTOM] = 2194;
|
||||
result[EF_JUDGEMENT_CROSS_SHOT] = 2195;
|
||||
result[EF_REBOUND_SHIELD] = 2196;
|
||||
result[EF_REBOUND_SHIELD_BOTTOM] = 2197;
|
||||
result[EF_REBOUND_SHIELD_CAST] = 2198;
|
||||
result[EF_REBOUND_SHIELD_CAST_BOTTOM] = 2199;
|
||||
result[EF_ULTIMATESACRIFICE] = 2200;
|
||||
result[EF_ULTIMATESACRIFICE_BOTTOM] = 2201;
|
||||
result[EF_ULTIMATESACRIFICE_SHINE] = 2202;
|
||||
result[EF_UNK_2203] = 2203;
|
||||
result[EF_ACIDIFIED_ZONE_FIRE_CAST] = 2204;
|
||||
result[EF_ACIDIFIED_ZONE_FIRE_CAST_BOTTOM] = 2205;
|
||||
|
|
@ -2286,7 +2286,7 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_UNK_2277] = 99999;
|
||||
result[EF_UNK_2278] = 99999;
|
||||
result[EF_THIRD_CONSECRATION_BOTTOM] = 2279;
|
||||
result[EF_UNK_2280] = 2280;
|
||||
result[EF_SERVANT_SIGN_BOTTOM] = 2280;
|
||||
result[EF_UNK_2281] = 2281;
|
||||
result[EF_UNK_2282] = 2281;
|
||||
result[EF_UNK_2283] = 2282;
|
||||
|
|
@ -2373,9 +2373,9 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_POK_104] = 99999999;
|
||||
result[EF_POK_105] = 99999999;
|
||||
result[EF_UNK_2366] = 2366;
|
||||
result[EF_UNKNOWN_RING_YELLOW] = 40;
|
||||
result[EF_UNKNOWN_SPELL] = 100;
|
||||
result[EF_UNKNOWN_RING_WHITE] = 40;
|
||||
result[EF_BEGINSPELL_RING_YELLOW] = 40;
|
||||
result[EF_BEGINSPELL_SWIRL] = 100;
|
||||
result[EF_BEGINSPELL_RING_WHITE] = 40;
|
||||
result[EF_UNK_2370] = 2370;
|
||||
result[EF_TETRA_VORTEX_WATER_SUB_2] = 2371;
|
||||
result[EF_TETRA_VORTEX_EARTH_SUB_2] = 2372;
|
||||
|
|
@ -2400,7 +2400,7 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_UNK_2391] = 999999;
|
||||
result[EF_UNK_2392] = 999999;
|
||||
result[EF_UNK_2393] = 999999;
|
||||
result[EF_UNK_2394] = 2394;
|
||||
result[EF_SERPENT_SHADOW] = 2394;
|
||||
result[EF_RUNE_ACTIVE_FINISH] = 2395;
|
||||
result[EF_RUNESET_ACTIVE] = 2396;
|
||||
result[EF_RUNESET_UPGRADE_SUCCESS] = 2397;
|
||||
|
|
@ -2428,10 +2428,10 @@ static std::unordered_map<int, int> BuildLifetimes() {
|
|||
result[EF_RG_COIN_BLUE] = 3000;
|
||||
result[EF_RG_COIN_BLUE_2] = 3000;
|
||||
result[EF_UNK_2438] = 2438;
|
||||
result[EF_UNK_2439] = 300;
|
||||
result[EF_CRUEL_BITE_LINE] = 300;
|
||||
result[EF_UNK_2440] = 99999999;
|
||||
result[EF_UNK_2441] = 300;
|
||||
result[EF_UNK_2442] = 300;
|
||||
result[EF_QUILL_SPEAR_LINE] = 300;
|
||||
result[EF_UNK_2443] = 99999999;
|
||||
result[EF_UNK_2444] = 500;
|
||||
result[EF_UNK_2445] = 2435;
|
||||
|
|
|
|||
|
|
@ -1135,7 +1135,7 @@ enum RagEffectID : std::int32_t {
|
|||
EF_SU_POWEROFFLOCK = 1127,
|
||||
EF_UNK_1128 = 1128,
|
||||
EF_SU_SVG_SPIRIT = 1129,
|
||||
EF_UNK_1130 = 1130,
|
||||
EF_BAKURETSU_HADOU = 1130,
|
||||
EF_SU_SPIRIT_OF_LIFE = 1131,
|
||||
EF_SU_STOOP = 1132,
|
||||
EF_FIREDANCE = 1133,
|
||||
|
|
@ -1152,20 +1152,20 @@ enum RagEffectID : std::int32_t {
|
|||
EF_UNK_1144 = 1144,
|
||||
EF_RL_HAMMER_OF_GOD = 1145,
|
||||
EF_UNK_1146 = 1146,
|
||||
EF_UNK_1147 = 1147,
|
||||
EF_POPCORN = 1147,
|
||||
EF_RL_R_TRIP = 1148,
|
||||
EF_IMMUNE_PROPERTY = 1149,
|
||||
EF_MOVE_COORDINATE = 1150,
|
||||
EF_UNK_1151 = 1151,
|
||||
EF_UNK_1152 = 1152,
|
||||
EF_UNK_1153 = 1153,
|
||||
EF_UNK_1154 = 1154,
|
||||
EF_UNK_1155 = 1155,
|
||||
EF_UNK_1156 = 1156,
|
||||
EF_UNK_1157 = 1157,
|
||||
EF_UNK_1158 = 1158,
|
||||
EF_UNK_1159 = 1159,
|
||||
EF_UNK_1160 = 1160,
|
||||
EF_IMMUNE_PROPERTY_NOTHING = 1151,
|
||||
EF_IMMUNE_PROPERTY_WATER = 1152,
|
||||
EF_IMMUNE_PROPERTY_GROUND = 1153,
|
||||
EF_IMMUNE_PROPERTY_FIRE = 1154,
|
||||
EF_IMMUNE_PROPERTY_WIND = 1155,
|
||||
EF_IMMUNE_PROPERTY_POISON = 1156,
|
||||
EF_IMMUNE_PROPERTY_SAINT = 1157,
|
||||
EF_IMMUNE_PROPERTY_DARKNESS = 1158,
|
||||
EF_IMMUNE_PROPERTY_TELEKINESIS = 1159,
|
||||
EF_IMMUNE_PROPERTY_UNDEAD = 1160,
|
||||
EF_QUAGMIRE_VISUAL = 1161,
|
||||
EF_LORD_OF_VERMILLION_VISUAL = 1162,
|
||||
EF_METEOR_STORM_VISUAL = 1163,
|
||||
|
|
@ -1194,10 +1194,10 @@ enum RagEffectID : std::int32_t {
|
|||
EF_UNK_1186 = 1186,
|
||||
EF_UNK_1187 = 1187,
|
||||
EF_UNK_1188 = 1188,
|
||||
EF_UNK_1189 = 1189,
|
||||
EF_UNK_1190 = 1190,
|
||||
EF_DROPITEM_YELLOW = 1189,
|
||||
EF_DROPITEM_PURPLE = 1190,
|
||||
EF_UNK_1191 = 1191,
|
||||
EF_UNK_1192 = 1192,
|
||||
EF_RANDOM_OPT_YELLOW = 1192,
|
||||
EF_UNK_1193 = 1193,
|
||||
EF_UNK_1194 = 1194,
|
||||
EF_AUTOSHADOWSPELL_ACTIVE = 1195,
|
||||
|
|
@ -1205,7 +1205,7 @@ enum RagEffectID : std::int32_t {
|
|||
EF_LIGHTSPHERE_SUN = 1197,
|
||||
EF_LIGHTSPHERE_MOON = 1198,
|
||||
EF_LIGHTSPHERE_STAR = 1199,
|
||||
EF_UNK_1200 = 1200,
|
||||
EF_THUNDER_PLAZMA_BLAST = 1200,
|
||||
EF_UNK_1201 = 1201,
|
||||
EF_NOVAEXPLOSING = 1202,
|
||||
EF_STAR_EMPEROR = 1203,
|
||||
|
|
@ -1217,8 +1217,8 @@ enum RagEffectID : std::int32_t {
|
|||
EF_BLINK_BODY = 1209,
|
||||
EF_LINELINK5 = 1210,
|
||||
EF_UNK_1211 = 1211,
|
||||
EF_UNK_1212 = 1212,
|
||||
EF_UNK_1213 = 1213,
|
||||
EF_SUBJECT_AURA_1212 = 1212,
|
||||
EF_SUBJECT_AURA_1213 = 1213,
|
||||
EF_UNK_1214 = 1214,
|
||||
EF_UNK_1215 = 1215,
|
||||
EF_UNK_1216 = 1216,
|
||||
|
|
@ -1237,12 +1237,12 @@ enum RagEffectID : std::int32_t {
|
|||
EF_NEWMOON_KICK = 1229,
|
||||
EF_FULLMOON_KICK = 1230,
|
||||
EF_BOOK_OF_DIMENSION = 1231,
|
||||
EF_UNK_1232 = 1232,
|
||||
EF_BOOK_OF_CREATINGSTAR = 1232,
|
||||
EF_CURSE_EXPLOSION = 1233,
|
||||
EF_SOUL_REAPER = 1234,
|
||||
EF_UNK_1235 = 1235,
|
||||
EF_UNK_1236 = 1236,
|
||||
EF_UNK_1237 = 1237,
|
||||
EF_SOUL_SHADOW = 1235,
|
||||
EF_SOUL_FAIRY = 1236,
|
||||
EF_SOUL_FALCON = 1237,
|
||||
EF_SOUL_CURSE = 1238,
|
||||
EF_PROMINENCE_KICK = 1239,
|
||||
EF_SOUL_REAPER_COLLECT = 1240,
|
||||
|
|
@ -1382,7 +1382,7 @@ enum RagEffectID : std::int32_t {
|
|||
EF_NEW_BANISHINGPOINT_05 = 1374,
|
||||
EF_NEW_BANISHINGPOINT_07 = 1375,
|
||||
EF_NEW_BANISHINGPOINT_11 = 1376,
|
||||
EF_UNK_1377 = 1377,
|
||||
EF_VALKYRIE_WING = 1377,
|
||||
EF_NEW_DRAGONBREATH_BOMB = 1378,
|
||||
EF_NEW_DRAGONBREATH_BOMB_BOTTOM = 1379,
|
||||
EF_NEW_DRAGONBREATH_01 = 1380,
|
||||
|
|
@ -1424,7 +1424,7 @@ enum RagEffectID : std::int32_t {
|
|||
EF_NEW_COMET_SUB_EXP = 1416,
|
||||
EF_NEW_COMET_SUB_EXP_BOTTOM = 1417,
|
||||
EF_NEW_MOON_SLASH = 1418,
|
||||
EF_UNK_1419 = 1419,
|
||||
EF_C_AMDARAIS_EFFECT = 1419,
|
||||
EF_NEW_GRANDCROSS = 1420,
|
||||
EF_NEW_COMET_CAST = 1421,
|
||||
EF_NEW_CART_CANNON_CAST = 1422,
|
||||
|
|
@ -1622,9 +1622,9 @@ enum RagEffectID : std::int32_t {
|
|||
EF_RED_WAVE_1 = 1614,
|
||||
EF_RED_WAVE_2 = 1615,
|
||||
EF_RED_WAVE_3 = 1616,
|
||||
EF_UNK_1617 = 1617,
|
||||
EF_UNK_1618 = 1618,
|
||||
EF_UNK_1619 = 1619,
|
||||
EF_BLACKBUBBLE_SMALL = 1617,
|
||||
EF_BLACKBUBBLE_MIDIUM = 1618,
|
||||
EF_BLACKBUBBLE_LARGE = 1619,
|
||||
EF_NEW_WALLOFTHORN_CAST = 1620,
|
||||
EF_NEW_WALLOFTHORN_CAST_BOTTOM = 1621,
|
||||
EF_NEW_EARTHGRAVE_BOTTOM = 1622,
|
||||
|
|
@ -1666,20 +1666,20 @@ enum RagEffectID : std::int32_t {
|
|||
EF_NEW_AXEBOOMERANG_CAST = 1658,
|
||||
EF_NEW_AXEBOOMERANG_CAST_BOTTOM = 1659,
|
||||
EF_NEW_AXEBOOMERANG_HIT = 1660,
|
||||
EF_UNK_1661 = 1661,
|
||||
EF_UNK_1662 = 1662,
|
||||
EF_UNK_1663 = 1663,
|
||||
EF_HACKANDSLASH = 1661,
|
||||
EF_HACKANDSLASH_BOTTOM = 1662,
|
||||
EF_HACKANDSLASH_HIT = 1663,
|
||||
EF_NEW_SANCTUARY = 1664,
|
||||
EF_NEW_SPELLFIST_FIRE = 1665,
|
||||
EF_NEW_SPELLFIST_FIRE_BOTTOM = 1666,
|
||||
EF_NEW_SPELLFIST_WATER = 1667,
|
||||
EF_NEW_SPELLFIST_WATER_BOTTOM = 1668,
|
||||
EF_NEW_SPELLFIST_WIND = 1669,
|
||||
EF_UNK_1670 = 1670,
|
||||
EF_UNK_1671 = 1671,
|
||||
EF_UNK_1672 = 1672,
|
||||
EF_UNK_1673 = 1673,
|
||||
EF_UNK_1674 = 1674,
|
||||
EF_STORMSLASH_1 = 1670,
|
||||
EF_STORMSLASH_2 = 1671,
|
||||
EF_STORMSLASH_3 = 1672,
|
||||
EF_STORMSLASH_4 = 1673,
|
||||
EF_STORMSLASH_5 = 1674,
|
||||
EF_NEW_CARTBOOST = 1675,
|
||||
EF_NEW_CARTBOOST_BOTTOM = 1676,
|
||||
EF_NEW_SAFETYWALL = 1677,
|
||||
|
|
@ -1700,9 +1700,9 @@ enum RagEffectID : std::int32_t {
|
|||
EF_NEW_WINDCUTTER_BOTTOM_05 = 1692,
|
||||
EF_NEW_WINDCUTTER_TARGET = 1693,
|
||||
EF_UNK_1694 = 1694,
|
||||
EF_UNK_1695 = 1695,
|
||||
EF_UNK_1696 = 1696,
|
||||
EF_UNK_1697 = 1697,
|
||||
EF_NEW_SERVANTWEAPON_HIT = 1695,
|
||||
EF_NEW_SERVANTWEAPON_HIT_BOTTOM = 1696,
|
||||
EF_NEW_SERVANTWEAPON_SHOOT_BOTTOM = 1697,
|
||||
EF_NEW_POWERSWING_01 = 1698,
|
||||
EF_NEW_POWERSWING_05 = 1699,
|
||||
EF_NEW_POWERSWING_07 = 1700,
|
||||
|
|
@ -1715,26 +1715,26 @@ enum RagEffectID : std::int32_t {
|
|||
EF_NEW_EARTHDRIVE_BOTTOM = 1707,
|
||||
EF_NEW_EARTHDRIVE_TARGET = 1708,
|
||||
EF_NEW_EARTHDRIVE_CAST = 1709,
|
||||
EF_UNK_1710 = 1710,
|
||||
EF_UNK_1711 = 1711,
|
||||
EF_UNK_1712 = 1712,
|
||||
EF_UNK_1713 = 1713,
|
||||
EF_UNK_1714 = 1714,
|
||||
EF_UNK_1715 = 1715,
|
||||
EF_UNK_1716 = 1716,
|
||||
EF_UNK_1717 = 1717,
|
||||
EF_UNK_1718 = 1718,
|
||||
EF_UNK_1719 = 1719,
|
||||
EF_UNK_1720 = 1720,
|
||||
EF_UNK_1721 = 1721,
|
||||
EF_SERVANT_SIGN = 1710,
|
||||
EF_SERVANT_SIGN_DOWN = 1711,
|
||||
EF_SERVANT_SIGN_DOWN_BOTTOM = 1712,
|
||||
EF_SERVANT_PHANTOM_DOWN = 1713,
|
||||
EF_SERVANT_PHANTOM_HIT = 1714,
|
||||
EF_SERVANT_PHANTOM_HIT_BOTTOM = 1715,
|
||||
EF_SERVANT_PHANTOM_SUB = 1716,
|
||||
EF_SERVANT_PHANTOM_SUB_BOTTOM = 1717,
|
||||
EF_SERVANT_DEMOLITION_COLLECT = 1718,
|
||||
EF_SERVANT_DEMOLITION_HIT = 1719,
|
||||
EF_SERVANT_DEMOLITION_LEFTDOWN = 1720,
|
||||
EF_SERVANT_DEMOLITION_RIGHTDOWN = 1721,
|
||||
EF_DRAGONIC_AURA = 1722,
|
||||
EF_DRAGONIC_AURA_BOTTOM = 1723,
|
||||
EF_DRAGONIC_AURA_HIT = 1724,
|
||||
EF_DRAGONIC_AURA_HIT_BOTTOM = 1725,
|
||||
EF_DRAGONIC_AURA_BUFF = 1726,
|
||||
EF_DRAGONIC_AURA_BUFF_BOTTOM = 1727,
|
||||
EF_UNK_1728 = 1728,
|
||||
EF_UNK_1729 = 1729,
|
||||
EF_MADNESS_CRUSHER = 1728,
|
||||
EF_MADNESS_CRUSHER_BOTTOM = 1729,
|
||||
EF_NEW_AUTOSHADOWSPELL = 1730,
|
||||
EF_NEW_AUTOSHADOWSPELL_BOTTOM = 1731,
|
||||
EF_DESTRUCTIVE_HURRICANE = 1732,
|
||||
|
|
@ -1755,24 +1755,24 @@ enum RagEffectID : std::int32_t {
|
|||
EF_ROCKDOWN_CAST = 1747,
|
||||
EF_ROCKDOWN_CAST_BOTTOM = 1748,
|
||||
EF_ROCKDOWN_HIT = 1749,
|
||||
EF_UNK_1750 = 1750,
|
||||
EF_UNK_1751 = 1751,
|
||||
EF_VIGOR_CAST = 1750,
|
||||
EF_VIGOR_BUFF = 1751,
|
||||
EF_UNK_1752 = 1752,
|
||||
EF_RAIN_OF_CRYSTAL = 1753,
|
||||
EF_RAIN_OF_CRYSTAL_BOTTOM = 1754,
|
||||
EF_UNK_1755 = 1755,
|
||||
EF_UNK_1756 = 1756,
|
||||
EF_CRIMSONARROW = 1756,
|
||||
EF_CRIMSON_ARROW_CAST = 1757,
|
||||
EF_CRIMSON_ARROW_CAST_BOTTOM = 1758,
|
||||
EF_CRIMSON_ARROW_HIT = 1759,
|
||||
EF_UNK_1760 = 1760,
|
||||
EF_VIOLENTQUAKE = 1760,
|
||||
EF_VIOLENT_QUAKE_CAST = 1761,
|
||||
EF_VIOLENT_QUAKE_CAST_BOTTOM = 1762,
|
||||
EF_VIOLENT_QUAKE_HIT = 1763,
|
||||
EF_UNK_1764 = 1764,
|
||||
EF_UNK_1765 = 1765,
|
||||
EF_UNK_1766 = 1766,
|
||||
EF_UNK_1767 = 1767,
|
||||
EF_NEW_CHARGINGPIERCE_CAST = 1765,
|
||||
EF_NEW_CHARGINGPIERCE_CAST_BOTTOM = 1766,
|
||||
EF_NEW_CHARGINGPIERCE_HIT = 1767,
|
||||
EF_UNK_1768 = 1768,
|
||||
EF_ASTRAL_STRIKE_CAST = 1769,
|
||||
EF_ASTRAL_STRIKE_CAST_BOTTOM = 1770,
|
||||
|
|
@ -1832,10 +1832,10 @@ enum RagEffectID : std::int32_t {
|
|||
EF_ARBITRIUM = 1824,
|
||||
EF_ARBITRIUM_BOTTOM = 1825,
|
||||
EF_ARBITRIUM_HIT = 1826,
|
||||
EF_UNK_1827 = 1827,
|
||||
EF_UNK_1828 = 1828,
|
||||
EF_DANCING_KNIFE_CAST = 1827,
|
||||
EF_DANCING_KNIFE_CAST_BOTTOM = 1828,
|
||||
EF_UNK_1829 = 1829,
|
||||
EF_UNK_1830 = 1830,
|
||||
EF_ABYSS_DAGGER_HIT_1830 = 1830,
|
||||
EF_NEW_REPARATIO_CAST = 1831,
|
||||
EF_NEW_REPARATIO_CAST_BOTTOM = 1832,
|
||||
EF_NEW_REPARATIO = 1833,
|
||||
|
|
@ -1867,16 +1867,16 @@ enum RagEffectID : std::int32_t {
|
|||
EF_CRYSTAL_IMPACT_BUFF = 1859,
|
||||
EF_RELIGIO = 1860,
|
||||
EF_RELIGIO_CAST = 1861,
|
||||
EF_UNK_1862 = 1862,
|
||||
EF_UNK_1863 = 1863,
|
||||
EF_NEW_ENCHANTING_SHADOW = 1862,
|
||||
EF_NEW_ENCHANTING_SHADOW_BOTTOM = 1863,
|
||||
EF_FATAL_SHADOW_CROW = 1864,
|
||||
EF_FATAL_SHADOW_CROW_BOTTOM = 1865,
|
||||
EF_FATAL_SHADOW_CROW_HIT = 1866,
|
||||
EF_UNK_1867 = 1867,
|
||||
EF_UNK_1868 = 1868,
|
||||
EF_UNK_1869 = 1869,
|
||||
EF_UNK_1870 = 1870,
|
||||
EF_UNK_1871 = 1871,
|
||||
EF_SHADOW_EXCEED_CAST = 1868,
|
||||
EF_DROPITEM_BLUE = 1869,
|
||||
EF_DROPITEM_GREEN = 1870,
|
||||
EF_DROPITEM_RED = 1871,
|
||||
EF_NEW_PNEUMA = 1872,
|
||||
EF_DEEP_BLIND_TRAP_CAST = 1873,
|
||||
EF_DEEP_BLIND_TRAP = 1874,
|
||||
|
|
@ -1900,10 +1900,10 @@ enum RagEffectID : std::int32_t {
|
|||
EF_STRATUM_TREMOR_HIT = 1892,
|
||||
EF_STRATUM_TREMOR = 1893,
|
||||
EF_STRATUM_TREMOR_BOTTOM = 1894,
|
||||
EF_UNK_1895 = 1895,
|
||||
EF_UNK_1896 = 1896,
|
||||
EF_IMPACT_CRATER = 1895,
|
||||
EF_IMPACT_CRATER_BOTTOM = 1896,
|
||||
EF_UNK_1897 = 1897,
|
||||
EF_UNK_1898 = 1898,
|
||||
EF_IMPACT_CRATER_HIT = 1898,
|
||||
EF_WIND_SIGN = 1899,
|
||||
EF_WIND_SIGN_LOOP = 1900,
|
||||
EF_ABR_MOTHER_CAST = 1901,
|
||||
|
|
@ -1955,19 +1955,19 @@ enum RagEffectID : std::int32_t {
|
|||
EF_NEW_AXE_STOMP_08 = 1947,
|
||||
EF_NEW_AXE_STOMP_09 = 1948,
|
||||
EF_NEW_AXE_STOMP_11 = 1949,
|
||||
EF_UNK_1950 = 1950,
|
||||
EF_CRESCIVEBOLT_CAST = 1950,
|
||||
EF_UNK_1951 = 1951,
|
||||
EF_UNK_1952 = 1952,
|
||||
EF_UNK_1953 = 1953,
|
||||
EF_UNK_1954 = 1954,
|
||||
EF_UNK_1955 = 1955,
|
||||
EF_CRESCIVEBOLT_HIT = 1952,
|
||||
EF_SHADOW_STAB = 1953,
|
||||
EF_ETERNAL_SLASH_HIT = 1954,
|
||||
EF_SHADOW_STAB_HIT2 = 1955,
|
||||
EF_UNK_1956 = 1956,
|
||||
EF_UNK_1957 = 1957,
|
||||
EF_PNEUMATICUS_PROCELLA_CAST = 1958,
|
||||
EF_PNEUMATICUS_PROCELLA_RING = 1959,
|
||||
EF_UNK_1960 = 1960,
|
||||
EF_UNK_1961 = 1961,
|
||||
EF_UNK_1962 = 1962,
|
||||
EF_CALUMITYGALE = 1960,
|
||||
EF_CALUMITYGALE_CAST = 1961,
|
||||
EF_CALUMITYGALE_LOOP = 1962,
|
||||
EF_SINCERE_FAITH_RING = 1963,
|
||||
EF_SINCERE_FAITH = 1964,
|
||||
EF_SINCERE_FAITH_BOTTOM = 1965,
|
||||
|
|
@ -2005,15 +2005,15 @@ enum RagEffectID : std::int32_t {
|
|||
EF_EXPLOSION_BLASTER_HIT = 1997,
|
||||
EF_FIRM_FAITH_RING = 1998,
|
||||
EF_FIRM_FAITH = 1999,
|
||||
EF_UNK_2000 = 2000,
|
||||
EF_UNK_2001 = 2001,
|
||||
EF_UNK_2002 = 2002,
|
||||
EF_MYSTICSYMPHONY = 2000,
|
||||
EF_MYSTICSYMPHONY_CAST = 2001,
|
||||
EF_MYSTICSYMPHONY_NOTE = 2002,
|
||||
EF_ACTIVITY_BURN = 2003,
|
||||
EF_ACTIVITY_BURN_CAST = 2004,
|
||||
EF_ACTIVITY_BURN_CAST_BOTTOM = 2005,
|
||||
EF_UNK_2006 = 2006,
|
||||
EF_UNK_2007 = 2007,
|
||||
EF_UNK_2008 = 2008,
|
||||
EF_KVASIRSONATA = 2006,
|
||||
EF_KVASIRSONATA_CAST = 2007,
|
||||
EF_KVASIRSONATA_CAST_BOTTOM = 2008,
|
||||
EF_SERPENS_BOTTOM = 2009,
|
||||
EF_SERPENS_CAST = 2010,
|
||||
EF_SERPENS_CAST_BOTTOM = 2011,
|
||||
|
|
@ -2031,7 +2031,7 @@ enum RagEffectID : std::int32_t {
|
|||
EF_DILUVIO_HIT = 2023,
|
||||
EF_DILUVIO_ARMOR = 2024,
|
||||
EF_SPELL_ENCHANTING = 2025,
|
||||
EF_UNK_2026 = 2026,
|
||||
EF_DIAMOND_STORM = 2026,
|
||||
EF_DIAMOND_STORM_BOTTOM = 2027,
|
||||
EF_DIAMOND_STORM_CAST = 2028,
|
||||
EF_DIAMOND_STORM_CAST_BOTTOM = 2029,
|
||||
|
|
@ -2051,11 +2051,11 @@ enum RagEffectID : std::int32_t {
|
|||
EF_LIGHTNING_LAND_CAST = 2043,
|
||||
EF_LIGHTNING_LAND_CAST_BOTTOM = 2044,
|
||||
EF_LIGHTNING_LAND_HIT = 2045,
|
||||
EF_UNK_2046 = 2046,
|
||||
EF_UNK_2047 = 2047,
|
||||
EF_UNK_2048 = 2048,
|
||||
EF_UNK_2049 = 2049,
|
||||
EF_UNK_2050 = 2050,
|
||||
EF_ROSEBLOSSOM_CAST = 2046,
|
||||
EF_ROSEBLOSSOM_CAST_BOTTOM = 2047,
|
||||
EF_ROSEBLOSSOM_HIT = 2048,
|
||||
EF_ROSEBLOSSOM_ROSE = 2049,
|
||||
EF_ROSEBLOSSOM_SHOT = 2050,
|
||||
EF_FIRST_BRAND = 2051,
|
||||
EF_FIRST_BRAND_AURA = 2052,
|
||||
EF_FIRST_BRAND_HIT = 2053,
|
||||
|
|
@ -2070,16 +2070,16 @@ enum RagEffectID : std::int32_t {
|
|||
EF_SOUND_BLEND_CAST_BOTTOM = 2062,
|
||||
EF_SOUND_BLEND_RED = 2063,
|
||||
EF_METALLIC_FURY = 2064,
|
||||
EF_UNK_2065 = 2065,
|
||||
EF_UNK_2066 = 2066,
|
||||
EF_UNK_2067 = 2067,
|
||||
EF_UNK_2068 = 2068,
|
||||
EF_UNK_2069 = 2069,
|
||||
EF_UNK_2070 = 2070,
|
||||
EF_UNK_2071 = 2071,
|
||||
EF_UNK_2072 = 2072,
|
||||
EF_UNK_2073 = 2073,
|
||||
EF_UNK_2074 = 2074,
|
||||
EF_JAWAII_SERENADE = 2065,
|
||||
EF_JAWAII_SERENADE_CAST = 2066,
|
||||
EF_JAWAII_SERENADE_CAST_BOTTOM = 2067,
|
||||
EF_PRONMARCH = 2068,
|
||||
EF_PRONMARCH_CAST = 2069,
|
||||
EF_PRONMARCH_CAST_BOTTOM = 2070,
|
||||
EF_RHYTHMSHOOTING_CAST = 2071,
|
||||
EF_RHYTHMSHOOTING_CAST_BOTTOM = 2072,
|
||||
EF_RHYTHMSHOOTING_HIT = 2073,
|
||||
EF_RHYTHMSHOOTING_SHOT = 2074,
|
||||
EF_NIFLHEIM = 2075,
|
||||
EF_NIFLHEIM_CAST = 2076,
|
||||
EF_UNK_2077 = 2077,
|
||||
|
|
@ -2119,18 +2119,18 @@ enum RagEffectID : std::int32_t {
|
|||
EF_ABYSS_STRIKE_HIT_2 = 2111,
|
||||
EF_THIRD_PUNISH = 2112,
|
||||
EF_THIRD_PUNISH_BOTTOM = 2113,
|
||||
EF_UNK_2114 = 2114,
|
||||
EF_FRENZY_SHOT = 2114,
|
||||
EF_FRENZY_SHOT_HIT = 2115,
|
||||
EF_UNK_2116 = 2116,
|
||||
EF_UNK_2117 = 2117,
|
||||
EF_UNK_2118 = 2118,
|
||||
EF_UNK_2119 = 2119,
|
||||
EF_UNK_2120 = 2120,
|
||||
EF_UNK_2121 = 2121,
|
||||
EF_GEF_NOCTURN = 2116,
|
||||
EF_GEF_NOCTURN_CAST = 2117,
|
||||
EF_GEF_NOCTURN_CAST_BOTTOM = 2118,
|
||||
EF_ROKI_CAPRICCIO = 2119,
|
||||
EF_ROKI_CAPRICCIO_CAST = 2120,
|
||||
EF_ROKI_CAPRICCIO_CAST_BOTTOM = 2121,
|
||||
EF_MUSICAL_INTERLUDE = 2122,
|
||||
EF_MUSICAL_INTERLUDE_CAST = 2123,
|
||||
EF_UNK_2124 = 2124,
|
||||
EF_UNK_2125 = 2125,
|
||||
EF_AIN_RHAPSODY = 2124,
|
||||
EF_AIN_RHAPSODY_CAST = 2125,
|
||||
EF_ABYSS_SLAYER = 2126,
|
||||
EF_ABYSS_SLAYER_CAST = 2127,
|
||||
EF_ABYSS_SLAYER_CAST_BOTTOM = 2128,
|
||||
|
|
@ -2159,55 +2159,55 @@ enum RagEffectID : std::int32_t {
|
|||
EF_ELEMENTAL_BUSTER_WIND = 2151,
|
||||
EF_ELEMENTAL_BUSTER_WIND_BOTTOM = 2152,
|
||||
EF_ELEMENTAL_BUSTER_WIND_HIT = 2153,
|
||||
EF_UNK_2154 = 2154,
|
||||
EF_UNLUCKY_RUSH = 2154,
|
||||
EF_UNLUCKY_RUSH_CAST = 2155,
|
||||
EF_ABYSS_DAGGER_HIT_3 = 2156,
|
||||
EF_UNK_2157 = 2157,
|
||||
EF_UNK_2158 = 2158,
|
||||
EF_UNK_2159 = 2159,
|
||||
EF_UNK_2160 = 2160,
|
||||
EF_OVERSLASH = 2157,
|
||||
EF_OVERSLASH_BOTTOM = 2158,
|
||||
EF_OVERSLASH_CAST = 2159,
|
||||
EF_OVERSLASH_HIT = 2160,
|
||||
EF_ADVANCED_PROTECTION = 2161,
|
||||
EF_ADVANCED_PROTECTION_BOTTOM = 2162,
|
||||
EF_ADVANCED_PROTECTION_CAST = 2163,
|
||||
EF_ADVANCED_PROTECTION_CAST_BOTTOM = 2164,
|
||||
EF_UNK_2165 = 2165,
|
||||
EF_UNK_2166 = 2166,
|
||||
EF_UNK_2167 = 2167,
|
||||
EF_UNK_2168 = 2168,
|
||||
EF_UNK_2169 = 2169,
|
||||
EF_UNK_2170 = 2170,
|
||||
EF_UNK_2171 = 2171,
|
||||
EF_UNK_2172 = 2172,
|
||||
EF_UNK_2173 = 2173,
|
||||
EF_UNK_2174 = 2174,
|
||||
EF_UNK_2175 = 2175,
|
||||
EF_UNK_2176 = 2176,
|
||||
EF_UNK_2177 = 2177,
|
||||
EF_UNK_2178 = 2178,
|
||||
EF_UNK_2179 = 2179,
|
||||
EF_UNK_2180 = 2180,
|
||||
EF_UNK_2181 = 2181,
|
||||
EF_UNK_2182 = 2182,
|
||||
EF_CROSS_RAIN = 2165,
|
||||
EF_CROSS_RAIN_BOTTOM = 2166,
|
||||
EF_CROSS_RAIN_CAST = 2167,
|
||||
EF_CROSS_RAIN_CAST_BOTTOM = 2168,
|
||||
EF_GUARD_STANCE = 2169,
|
||||
EF_GUARD_STANCE_CAST = 2170,
|
||||
EF_GUARD_STANCE_CAST_BOTTOM = 2171,
|
||||
EF_ATTACK_STANCE = 2172,
|
||||
EF_ATTACK_STANCE_CAST = 2173,
|
||||
EF_ATTACK_STANCE_CAST_BOTTOM = 2174,
|
||||
EF_GRAND_JUDGEMENT = 2175,
|
||||
EF_GRAND_JUDGEMENT_BOTTOM = 2176,
|
||||
EF_GRAND_JUDGEMENT_BUFF = 2177,
|
||||
EF_GRAND_JUDGEMENT_CAST = 2178,
|
||||
EF_GRAND_JUDGEMENT_CAST_BOTTOM = 2179,
|
||||
EF_HOLY_SHIELD_CAST = 2180,
|
||||
EF_HOLY_SHIELD = 2181,
|
||||
EF_HOLY_SHIELD_LOOP = 2182,
|
||||
EF_UNK_2183 = 2183,
|
||||
EF_SHIELD_SHOOTING_CAST = 2184,
|
||||
EF_SHIELD_SHOOTING_HIT = 2185,
|
||||
EF_THE_W_PROTECTION = 2186,
|
||||
EF_THE_W_PROTECTION_CAST = 2187,
|
||||
EF_UNK_2188 = 2188,
|
||||
EF_UNK_2189 = 2189,
|
||||
EF_UNK_2190 = 2190,
|
||||
EF_UNK_2191 = 2191,
|
||||
EF_UNK_2192 = 2192,
|
||||
EF_UNK_2193 = 2193,
|
||||
EF_UNK_2194 = 2194,
|
||||
EF_UNK_2195 = 2195,
|
||||
EF_UNK_2196 = 2196,
|
||||
EF_UNK_2197 = 2197,
|
||||
EF_UNK_2198 = 2198,
|
||||
EF_UNK_2199 = 2199,
|
||||
EF_UNK_2200 = 2200,
|
||||
EF_UNK_2201 = 2201,
|
||||
EF_UNK_2202 = 2202,
|
||||
EF_GUARDIANSHIELD = 2188,
|
||||
EF_GUARDIANSHIELD_BOTTOM = 2189,
|
||||
EF_GUARDIANSHIELD_SUB = 2190,
|
||||
EF_JUDGEMENT_CROSS = 2191,
|
||||
EF_JUDGEMENT_CROSS_BOTTOM = 2192,
|
||||
EF_JUDGEMENT_CROSS_CAST = 2193,
|
||||
EF_JUDGEMENT_CROSS_CAST_BOTTOM = 2194,
|
||||
EF_JUDGEMENT_CROSS_SHOT = 2195,
|
||||
EF_REBOUND_SHIELD = 2196,
|
||||
EF_REBOUND_SHIELD_BOTTOM = 2197,
|
||||
EF_REBOUND_SHIELD_CAST = 2198,
|
||||
EF_REBOUND_SHIELD_CAST_BOTTOM = 2199,
|
||||
EF_ULTIMATESACRIFICE = 2200,
|
||||
EF_ULTIMATESACRIFICE_BOTTOM = 2201,
|
||||
EF_ULTIMATESACRIFICE_SHINE = 2202,
|
||||
EF_UNK_2203 = 2203,
|
||||
EF_ACIDIFIED_ZONE_FIRE_CAST = 2204,
|
||||
EF_ACIDIFIED_ZONE_FIRE_CAST_BOTTOM = 2205,
|
||||
|
|
@ -2285,7 +2285,7 @@ enum RagEffectID : std::int32_t {
|
|||
EF_UNK_2277 = 2277,
|
||||
EF_UNK_2278 = 2278,
|
||||
EF_THIRD_CONSECRATION_BOTTOM = 2279,
|
||||
EF_UNK_2280 = 2280,
|
||||
EF_SERVANT_SIGN_BOTTOM = 2280,
|
||||
EF_UNK_2281 = 2281,
|
||||
EF_UNK_2282 = 2282,
|
||||
EF_UNK_2283 = 2283,
|
||||
|
|
@ -2372,9 +2372,9 @@ enum RagEffectID : std::int32_t {
|
|||
EF_POK_104 = 2364,
|
||||
EF_POK_105 = 2365,
|
||||
EF_UNK_2366 = 2366,
|
||||
EF_UNKNOWN_RING_YELLOW = 2367,
|
||||
EF_UNKNOWN_SPELL = 2368,
|
||||
EF_UNKNOWN_RING_WHITE = 2369,
|
||||
EF_BEGINSPELL_RING_YELLOW = 2367,
|
||||
EF_BEGINSPELL_SWIRL = 2368,
|
||||
EF_BEGINSPELL_RING_WHITE = 2369,
|
||||
EF_UNK_2370 = 2370,
|
||||
EF_TETRA_VORTEX_WATER_SUB_2 = 2371,
|
||||
EF_TETRA_VORTEX_EARTH_SUB_2 = 2372,
|
||||
|
|
@ -2399,7 +2399,7 @@ enum RagEffectID : std::int32_t {
|
|||
EF_UNK_2391 = 2391,
|
||||
EF_UNK_2392 = 2392,
|
||||
EF_UNK_2393 = 2393,
|
||||
EF_UNK_2394 = 2394,
|
||||
EF_SERPENT_SHADOW = 2394,
|
||||
EF_RUNE_ACTIVE_FINISH = 2395,
|
||||
EF_RUNESET_ACTIVE = 2396,
|
||||
EF_RUNESET_UPGRADE_SUCCESS = 2397,
|
||||
|
|
@ -2425,18 +2425,18 @@ enum RagEffectID : std::int32_t {
|
|||
EF_ABC_CROSSIMPACT_LINE = 2417,
|
||||
EF_UNK_2418 = 2418,
|
||||
EF_UNK_2419 = 2419,
|
||||
EF_UNK_2420 = 2420,
|
||||
EF_VIOLEN_HIT = 2420,
|
||||
EF_RUNE_SLOT_SMALL = 2421,
|
||||
EF_RUNE_SLOT_BIG = 2422,
|
||||
EF_UNK_2423 = 2423,
|
||||
EF_UNK_2424 = 2424,
|
||||
EF_C_AURA_OF_GHOST_S = 2424,
|
||||
EF_WH_WILD_WALK = 2425,
|
||||
EF_FORCE_ANIM_27 = 2426,
|
||||
EF_HEAL_BLUE_2 = 2427,
|
||||
EF_UNK_2428 = 2428,
|
||||
EF_UNK_2429 = 2429,
|
||||
EF_UNK_2430 = 2430,
|
||||
EF_UNK_2431 = 2431,
|
||||
EF_ATQUE_POENITENTIA = 2428,
|
||||
EF_PERM_FROST_OBLIVION = 2429,
|
||||
EF_C_GUIDE_OF_DEAD_TEXT = 2430,
|
||||
EF_C_MEDJED_TEXT = 2431,
|
||||
EF_UNK_2432 = 2432,
|
||||
EF_UNK_2433 = 2433,
|
||||
EF_UNK_2434 = 2434,
|
||||
|
|
@ -2444,10 +2444,10 @@ enum RagEffectID : std::int32_t {
|
|||
EF_RG_COIN_BLUE = 2436,
|
||||
EF_RG_COIN_BLUE_2 = 2437,
|
||||
EF_UNK_2438 = 2438,
|
||||
EF_UNK_2439 = 2439,
|
||||
EF_CRUEL_BITE_LINE = 2439,
|
||||
EF_UNK_2440 = 2440,
|
||||
EF_UNK_2441 = 2441,
|
||||
EF_UNK_2442 = 2442,
|
||||
EF_QUILL_SPEAR_LINE = 2442,
|
||||
EF_UNK_2443 = 2443,
|
||||
EF_UNK_2444 = 2444,
|
||||
EF_UNK_2445 = 2445,
|
||||
|
|
@ -2463,7 +2463,7 @@ enum RagEffectID : std::int32_t {
|
|||
EF_UNK_2455 = 2455,
|
||||
EF_UNK_2456 = 2456,
|
||||
EF_UNK_2457 = 2457,
|
||||
EF_UNK_2458 = 2458,
|
||||
EF_S_BEELZEBUB_WING = 2458,
|
||||
EF_UNK_2460 = 2460,
|
||||
EF_UNK_2461 = 2461,
|
||||
EF_UNK_2462 = 2462,
|
||||
|
|
@ -3154,7 +3154,7 @@ enum efst_type : std::int16_t {
|
|||
EFST_REUSE_LIMIT_ECL,
|
||||
EFST_M_LIFEPOTION,
|
||||
EFST_ENTRY_QUEUE_NOTIFY_ADMISSION_TIME_OUT,
|
||||
EFST_UNKNOWN_NAME,
|
||||
EFST_SHOW_HP,
|
||||
EFST_ON_PUSH_CART,
|
||||
EFST_HAT_EFFECT,
|
||||
EFST_FLOWER_LEAF,
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ public:
|
|||
void AddBolt(int tilt);
|
||||
|
||||
/* 00CC */ short angle;
|
||||
/* 00CE */ unsigned char unknown_00CE[2];
|
||||
/* 00CE */ unsigned char padding_00CE[2];
|
||||
/* 00D0 */ vector3d path[2];
|
||||
/* 00E8 */ vector3d lastEdge[2];
|
||||
/* 0100 */ int tick;
|
||||
|
|
|
|||
|
|
@ -54,10 +54,10 @@ public:
|
|||
/* 0158 */ float particleSpeed;
|
||||
/* 015C */ bool depth;
|
||||
/* 015D */ bool billboard;
|
||||
/* 015E */ unsigned char unknown_015E[2];
|
||||
/* 015E */ unsigned char padding_015E[2];
|
||||
/* 0160 */ float rotation[3];
|
||||
/* 016C */ unsigned char fixedAlpha;
|
||||
/* 016D */ unsigned char unknown_016D[3];
|
||||
/* 016D */ unsigned char padding_016D[3];
|
||||
/* 0170 */ std::vector<CParticle*> particles;
|
||||
/* 017C */ ParticlePool pool;
|
||||
/* 0188 */ int duration;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ public:
|
|||
void Close() override;
|
||||
bool IsAlive() override;
|
||||
|
||||
/* 00CC */ unsigned char unknown_00CC[0x38];
|
||||
/* 00CC */ unsigned char padding_00CC[0x38];
|
||||
/* 0104 */ int angle;
|
||||
/* 0108 */ std::vector<CParticle*> particles;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -22,14 +22,14 @@ public:
|
|||
void AddClouds(int layer);
|
||||
|
||||
/* 00CC */ EffectPoint lastPoints[2];
|
||||
/* 00E4 */ EffectPoint unknown_00E4[2];
|
||||
/* 00E4 */ EffectPoint padding_00E4[2];
|
||||
/* 00FC */ std::vector<CParticle*> floors;
|
||||
/* 0108 */ std::vector<CParticle*> particles;
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
static_assert(offsetof(CMagicFloorEffect, lastPoints) == 0xCC);
|
||||
static_assert(offsetof(CMagicFloorEffect, unknown_00E4) == 0xE4);
|
||||
static_assert(offsetof(CMagicFloorEffect, padding_00E4) == 0xE4);
|
||||
static_assert(offsetof(CMagicFloorEffect, floors) == 0xFC);
|
||||
static_assert(offsetof(CMagicFloorEffect, particles) == 0x108);
|
||||
static_assert(sizeof(CMagicFloorEffect) == 0x114);
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ public:
|
|||
void SendMsg(CGameObject* sender, int message, int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m) override;
|
||||
|
||||
/* 0138 */ float startFrame;
|
||||
/* 013C */ int unknown_013C;
|
||||
/* 013C */ int padding_013C;
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
|
|
|
|||
|
|
@ -1853,27 +1853,27 @@ bool CDropItemEffect::IsAlive() {
|
|||
// FUNCTION: fn_07310
|
||||
void CDropItemEffect::OpenEmitters() {
|
||||
switch (this->id) {
|
||||
case EF_UNK_1190:
|
||||
case EF_DROPITEM_PURPLE:
|
||||
AsParticle(this->emitters[0])->Open("new_dropitem\\dropitem_purple\\dropitem_purple\\dropitem_purple.str");
|
||||
AsParticle(this->emitters[1])->Open("new_dropitem\\dropitem_purple\\dropitem_purple_bottom\\dropitem_purple_bottom.str");
|
||||
this->soundName = "drop_purple.wav";
|
||||
break;
|
||||
case EF_UNK_1189:
|
||||
case EF_DROPITEM_YELLOW:
|
||||
AsParticle(this->emitters[0])->Open("new_dropitem\\dropitem_yellow\\dropitem_yellow\\dropitem_yellow.str");
|
||||
AsParticle(this->emitters[1])->Open("new_dropitem\\dropitem_yellow\\dropitem_yellow_bottom\\dropitem_yellow_bottom.str");
|
||||
this->soundName = "drop_yellow.wav";
|
||||
break;
|
||||
case EF_UNK_1869:
|
||||
case EF_DROPITEM_BLUE:
|
||||
AsParticle(this->emitters[0])->Open("new_dropitem\\dropitem_blue\\dropitem_blue\\dropitem_blue.str");
|
||||
AsParticle(this->emitters[1])->Open("new_dropitem\\dropitem_blue\\dropitem_blue_bottom\\dropitem_blue_bottom.str");
|
||||
this->soundName = "drop_blue.wav";
|
||||
break;
|
||||
case EF_UNK_1870:
|
||||
case EF_DROPITEM_GREEN:
|
||||
AsParticle(this->emitters[0])->Open("new_dropitem\\dropitem_green\\dropitem_green\\dropitem_green.str");
|
||||
AsParticle(this->emitters[1])->Open("new_dropitem\\dropitem_green\\dropitem_green_bottom\\dropitem_green_bottom.str");
|
||||
this->soundName = "drop_green.wav";
|
||||
break;
|
||||
case EF_UNK_1871:
|
||||
case EF_DROPITEM_RED:
|
||||
AsParticle(this->emitters[0])->Open("new_dropitem\\dropitem_red\\dropitem_red\\dropitem_red.str");
|
||||
AsParticle(this->emitters[1])->Open("new_dropitem\\dropitem_red\\dropitem_red_bottom\\dropitem_red_bottom.str");
|
||||
this->soundName = "drop_red.wav";
|
||||
|
|
@ -1918,7 +1918,7 @@ CJupitelThunderHit::CJupitelThunderHit() : CEffect(-1) {
|
|||
void CJupitelThunderHit::SpawnHit() {
|
||||
switch (this->id) {
|
||||
case EF_YUFITELHIT:
|
||||
case EF_UNK_1200:
|
||||
case EF_THUNDER_PLAZMA_BLAST:
|
||||
this->textures.push_back("effect\\thunder_plazma_blast_a.bmp");
|
||||
this->textures.push_back("effect\\thunder_plazma_blast_b.bmp");
|
||||
this->textures.push_back("effect\\thunder_ball_d.bmp");
|
||||
|
|
@ -2625,10 +2625,10 @@ void CRandomOptEffect::Init() {
|
|||
case EF_UNK_1188:
|
||||
particle->SetColor(0, 100, 150);
|
||||
break;
|
||||
case EF_UNK_1189:
|
||||
case EF_DROPITEM_YELLOW:
|
||||
particle->SetColor(255, 255, 128);
|
||||
break;
|
||||
case EF_UNK_1190:
|
||||
case EF_DROPITEM_PURPLE:
|
||||
particle->SetColor(128, 0, 255);
|
||||
break;
|
||||
case EF_UNK_1191:
|
||||
|
|
@ -3626,7 +3626,7 @@ void CSevereRainStorm::SpawnParticles() {
|
|||
this->SpawnSevereRain();
|
||||
}
|
||||
break;
|
||||
case EF_UNK_2026:
|
||||
case EF_DIAMOND_STORM:
|
||||
if (this->elapsedFrames % 5 == 0) {
|
||||
vector3d position = {this->position[0], this->position[1], this->position[2]};
|
||||
position.x = (static_cast<float>(ClampedRandom(451)) - 225.0f) * 0.1f + position.x;
|
||||
|
|
@ -3638,7 +3638,7 @@ void CSevereRainStorm::SpawnParticles() {
|
|||
this->emitters.push_back(emitter);
|
||||
}
|
||||
break;
|
||||
case EF_UNK_2165:
|
||||
case EF_CROSS_RAIN:
|
||||
if (this->elapsedFrames % (9 - this->effectLevel / 3) == 0) {
|
||||
const long long ranges[10] = {3, 3, 3, 5, 5, 5, 7, 7, 7, 9};
|
||||
const long long spread = ranges[std::min(static_cast<unsigned int>(this->effectLevel), 10u) - 1] * 50;
|
||||
|
|
@ -3904,7 +3904,7 @@ void CSevereRainStorm::Open() {
|
|||
bool CSevereRainStorm::IsAlive() {
|
||||
switch (this->id) {
|
||||
case EF_UNK_1752:
|
||||
case EF_UNK_2165:
|
||||
case EF_CROSS_RAIN:
|
||||
case EF_UNK_2462:
|
||||
return this->ActorExists();
|
||||
case EF_UNK_1276:
|
||||
|
|
@ -3912,7 +3912,7 @@ bool CSevereRainStorm::IsAlive() {
|
|||
return false;
|
||||
}
|
||||
break;
|
||||
case EF_UNK_2026:
|
||||
case EF_DIAMOND_STORM:
|
||||
if (EffectLifetime(2026) < this->elapsedFrames) {
|
||||
return false;
|
||||
}
|
||||
|
|
@ -4027,7 +4027,7 @@ void CCrimsonArrowEffect::Open() {
|
|||
|
||||
EZ2STREmitter* emitter = reinterpret_cast<EZ2STREmitter*>(arrow);
|
||||
switch (this->id) {
|
||||
case EF_UNK_1756:
|
||||
case EF_CRIMSONARROW:
|
||||
arrow->Load("crimsonarrow\\crimsonarrow\\crimsonarrow.str");
|
||||
emitter->offset.x = 0.0f;
|
||||
emitter->offset.y = -13.0f;
|
||||
|
|
@ -4035,7 +4035,7 @@ void CCrimsonArrowEffect::Open() {
|
|||
arrow->m_angle = static_cast<float>(angle);
|
||||
this->AddEvent(0, "effect\\AG_CRIMSON_ARROW1.wav", 0, 0);
|
||||
break;
|
||||
case EF_UNK_2074:
|
||||
case EF_RHYTHMSHOOTING_SHOT:
|
||||
arrow->Load("rhythmshooting\\rhythmshooting_shot\\rhythmshooting_shot.str");
|
||||
emitter->offset.x = 0.0f;
|
||||
emitter->offset.y = -8.0f;
|
||||
|
|
@ -4043,7 +4043,7 @@ void CCrimsonArrowEffect::Open() {
|
|||
arrow->m_angle = static_cast<float>(angle + 180.0);
|
||||
this->AddEvent(0, "effect\\TR_RHYTHMSHOOTING.wav", 0, 0);
|
||||
break;
|
||||
case EF_UNK_2114:
|
||||
case EF_FRENZY_SHOT:
|
||||
arrow->Load("frenzy_shot\\frenzy_shot\\frenzy_shot.str");
|
||||
emitter->offset.x = 0.0f;
|
||||
emitter->offset.y = -4.0f;
|
||||
|
|
@ -4051,11 +4051,11 @@ void CCrimsonArrowEffect::Open() {
|
|||
arrow->m_angle = static_cast<float>(angle);
|
||||
this->AddEvent(0, "effect\\ABC_FRENZY_SHOT.wav", 0, 0);
|
||||
break;
|
||||
case EF_UNK_2154:
|
||||
case EF_UNLUCKY_RUSH:
|
||||
arrow->Load("unlucky_rush\\unlucky_rush\\unlucky_rush.str");
|
||||
arrow->m_angle = static_cast<float>(angle);
|
||||
break;
|
||||
case EF_UNK_2195:
|
||||
case EF_JUDGEMENT_CROSS_SHOT:
|
||||
arrow->Load("judgement_cross\\judgement_cross_shot\\judgement_cross_shot.str");
|
||||
arrow->m_angle = static_cast<float>(angle + 180.0);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ public:
|
|||
|
||||
/* 00CC */ std::vector<EZ2STREmitter*> emitters;
|
||||
/* 00D8 */ unsigned char fadingIn;
|
||||
/* 00D9 */ unsigned char unknown_00D9[3];
|
||||
/* 00D9 */ unsigned char padding_00D9[3];
|
||||
/* 00DC */ unsigned int expireTime;
|
||||
};
|
||||
|
||||
|
|
@ -148,7 +148,7 @@ public:
|
|||
/* 00CC */ std::vector<EZ2STREmitter*> emitters;
|
||||
/* 00D8 */ std::vector<EZ2STREmitter*> secondStrikeEmitters;
|
||||
/* 00E4 */ unsigned char secondStrike;
|
||||
/* 00E5 */ unsigned char unknown_00E5[3];
|
||||
/* 00E5 */ unsigned char padding_00E5[3];
|
||||
};
|
||||
|
||||
class CEternalSlashAttackEffect : public CEffect {
|
||||
|
|
@ -218,13 +218,13 @@ public:
|
|||
/* 00CC */ std::list<EZ2STREmitter*> emitters;
|
||||
/* 00D4 */ std::string leftTexture;
|
||||
/* 00EC */ std::string rightTexture;
|
||||
/* 0104 */ int unknown_0104;
|
||||
/* 0104 */ int padding_0104;
|
||||
/* 0108 */ double stepDistance;
|
||||
/* 0110 */ unsigned char leftFoot;
|
||||
/* 0111 */ unsigned char unknown_0111[3];
|
||||
/* 0111 */ unsigned char padding_0111[3];
|
||||
/* 0114 */ vector3d lastPosition;
|
||||
/* 0120 */ float lastGroundHeight;
|
||||
/* 0124 */ int unknown_0124;
|
||||
/* 0124 */ int padding_0124;
|
||||
};
|
||||
|
||||
class CFootprintStrEffect : public CEffect {
|
||||
|
|
@ -278,7 +278,7 @@ public:
|
|||
void Close() override;
|
||||
bool IsAlive() override;
|
||||
|
||||
/* 00CC */ unsigned char unknown_00CC[4];
|
||||
/* 00CC */ unsigned char padding_00CC[4];
|
||||
/* 00D0 */ long long maxLevel;
|
||||
/* 00D8 */ long long level;
|
||||
/* 00E0 */ std::map<long long, AbyssWave> waves;
|
||||
|
|
@ -297,7 +297,7 @@ public:
|
|||
|
||||
/* 00CC */ std::vector<CParticle*> particles;
|
||||
/* 00D8 */ unsigned char loaded;
|
||||
/* 00D9 */ unsigned char unknown_00D9[3];
|
||||
/* 00D9 */ unsigned char padding_00D9[3];
|
||||
};
|
||||
|
||||
class CPetitioEffect : public CEffect {
|
||||
|
|
@ -337,7 +337,7 @@ public:
|
|||
}
|
||||
|
||||
/* 00CC */ bool active;
|
||||
/* 00CD */ unsigned char unknown_00CD[3];
|
||||
/* 00CD */ unsigned char padding_00CD[3];
|
||||
/* 00D0 */ EZ2STREmitter* emitter;
|
||||
};
|
||||
|
||||
|
|
@ -513,7 +513,7 @@ public:
|
|||
void InitEvents() override;
|
||||
void OpenEmitters();
|
||||
|
||||
/* 00CC */ int unknown_00CC;
|
||||
/* 00CC */ int padding_00CC;
|
||||
/* 00D0 */ int emitterCount;
|
||||
/* 00D4 */ std::vector<EZ2STREmitter*> emitters;
|
||||
/* 00E0 */ std::string soundPath;
|
||||
|
|
@ -534,7 +534,7 @@ public:
|
|||
|
||||
/* 00CC */ std::list<EZ2STREmitter*> emitters;
|
||||
/* 00D4 */ std::list<EZ2STREmitter*> finishedEmitters;
|
||||
/* 00DC */ int unknown_00DC;
|
||||
/* 00DC */ int padding_00DC;
|
||||
union {
|
||||
struct {
|
||||
/* 00E0 */ int countLow;
|
||||
|
|
@ -550,7 +550,7 @@ public:
|
|||
/* 0100 */ vector3d targetPosition;
|
||||
/* 010C */ vector3d originPosition;
|
||||
/* 0118 */ vector3d orbitCenter;
|
||||
/* 0124 */ int unknown_0124;
|
||||
/* 0124 */ int padding_0124;
|
||||
/* 0128 */ double orbitRadius;
|
||||
/* 0130 */ double startAngle;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ public:
|
|||
void FollowOwner();
|
||||
|
||||
/* 0158 */ bool m_visible;
|
||||
/* 0159 */ unsigned char unknown_0159[0x03];
|
||||
/* 0159 */ unsigned char padding_0159[0x03];
|
||||
/* 015C */ CGameObject* m_owner;
|
||||
/* 0160 */ vector3d m_drift;
|
||||
/* 016C */ vector3d origin;
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ struct EZeffectData {
|
|||
/* 0000 */ int maximumFrame;
|
||||
/* 0004 */ int fps;
|
||||
/* 0008 */ int clipCount;
|
||||
/* 000C */ int unknown_000C;
|
||||
/* 000C */ int padding_000C;
|
||||
/* 0010 */ EZeffectClip clips[60];
|
||||
};
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ public:
|
|||
/* 003C */ short red;
|
||||
/* 003E */ short green;
|
||||
/* 0040 */ short blue;
|
||||
/* 0042 */ unsigned char unknown_0042[2];
|
||||
/* 0042 */ unsigned char padding_0042[2];
|
||||
/* 0044 */ int alpha;
|
||||
/* 0048 */ unsigned char effectParameters[4];
|
||||
/* 004C */ int phaseParameter;
|
||||
|
|
@ -160,10 +160,10 @@ public:
|
|||
/* 3FE0 */ long long m_lift;
|
||||
/* 3FE8 */ bool m_flipX;
|
||||
/* 3FE9 */ bool m_flipY;
|
||||
/* 3FEA */ short unknown_3FEA = 0;
|
||||
/* 3FEA */ short padding_3FEA = 0;
|
||||
/* 3FEC */ float m_screenShiftX = 0;
|
||||
/* 3FF0 */ float m_screenShiftY = 0;
|
||||
/* 3FF4 */ int unknown_3FF4;
|
||||
/* 3FF4 */ int padding_3FF4;
|
||||
};
|
||||
|
||||
void InitParticleQuad(RenderVertex* vertices);
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ namespace {
|
|||
}
|
||||
|
||||
/* 11CA8 */ int duration;
|
||||
/* 11CAC */ int unknown_11CAC;
|
||||
/* 11CAC */ int padding_11CAC;
|
||||
/* 11CB0 */ int first;
|
||||
/* 11CB4 */ int second;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6464,7 +6464,7 @@ void CRagEffect::DigitalSpace(int effectId) {
|
|||
}
|
||||
|
||||
if (this->state.parent && this->state.currentPrimitive) {
|
||||
this->state.lastPrim->state.alpha = static_cast<float>(this->state.parent->render.unknown_0130[0] ? 70 : 255);
|
||||
this->state.lastPrim->state.alpha = static_cast<float>(this->state.parent->render.translucentOther[0] ? 70 : 255);
|
||||
}
|
||||
|
||||
if (this->state.stateCnt == this->state.duration - 1) {
|
||||
|
|
@ -17226,7 +17226,7 @@ void CPlayer::UpdateFootprints(int kind) {
|
|||
|
||||
if (kind == 1) {
|
||||
mode->LaunchDummyEffect(&this->footprintPosition, (this->footprintCounter != interval) + 326, 333, angle);
|
||||
} else if (kind == 2 && this->render.unknown_00F7 > static_cast<unsigned>(interval)) {
|
||||
} else if (kind == 2 && this->render.runStartTick > static_cast<unsigned>(interval)) {
|
||||
if (this->footprintCounter == interval) {
|
||||
mode->LaunchDummyEffect(&this->footprintPosition, 447, 333, angle);
|
||||
} else {
|
||||
|
|
@ -22862,7 +22862,7 @@ bool CRagEffect::OnProcess3() {
|
|||
case EF_POK_105:
|
||||
this->TexturedClassChange(105);
|
||||
break;
|
||||
case EF_UNKNOWN_RING_YELLOW:
|
||||
case EF_BEGINSPELL_RING_YELLOW:
|
||||
this->render.position = this->state.parent->render.position;
|
||||
if (this->state.stateCnt == 0) {
|
||||
PlayEffectWave(*this, "effect\\EF_BeginSpell.wav");
|
||||
|
|
@ -22870,10 +22870,10 @@ bool CRagEffect::OnProcess3() {
|
|||
this->TexturedQuadRingSized(25, "effect\\ring_yellow.tga", 0);
|
||||
}
|
||||
break;
|
||||
case EF_UNKNOWN_SPELL:
|
||||
case EF_BEGINSPELL_SWIRL:
|
||||
this->BeginSpellSwirl(45, "", 11);
|
||||
break;
|
||||
case EF_UNKNOWN_RING_WHITE:
|
||||
case EF_BEGINSPELL_RING_WHITE:
|
||||
if (this->state.stateCnt == 0) {
|
||||
g_soundMgr->PlayWave("effect\\EF_BeginSpell.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0);
|
||||
}
|
||||
|
|
@ -22936,7 +22936,7 @@ bool CRagEffect::OnProcess3() {
|
|||
}
|
||||
this->HealRingSparkle("effect\\ring_blue.tga", 2);
|
||||
break;
|
||||
case EF_UNK_2439:
|
||||
case EF_CRUEL_BITE_LINE:
|
||||
{
|
||||
const char* line = g_serviceOptions.Get(229) ? "effect\\DRUID\\DR_CRUEL_BITE\\min_cruel_bite_line\\line_red.tga" : "effect\\DRUID\\DR_CRUEL_BITE\\cruel_bite_line\\line_red.tga";
|
||||
const char* black = g_serviceOptions.Get(229) ? "effect\\DRUID\\DR_CRUEL_BITE\\min_cruel_bite_line\\line_black.tga" : "effect\\DRUID\\DR_CRUEL_BITE\\cruel_bite_line\\line_black.tga";
|
||||
|
|
@ -22948,7 +22948,7 @@ bool CRagEffect::OnProcess3() {
|
|||
}
|
||||
}
|
||||
break;
|
||||
case EF_UNK_2442:
|
||||
case EF_QUILL_SPEAR_LINE:
|
||||
{
|
||||
const char* line = g_serviceOptions.Get(229) ? "effect\\DRUID\\AT_QUILL_SPEAR\\min_quill_spear_line\\line_color.tga" : "effect\\DRUID\\AT_QUILL_SPEAR\\quill_spear_line\\line_color.tga";
|
||||
const char* black = g_serviceOptions.Get(229) ? "effect\\DRUID\\AT_QUILL_SPEAR\\min_quill_spear_line\\line_black.tga" : "effect\\DRUID\\AT_QUILL_SPEAR\\quill_spear_line\\line_black.tga";
|
||||
|
|
@ -25191,7 +25191,7 @@ bool CRagEffect::OnProcess() {
|
|||
case EF_RUN:
|
||||
if ((this->state.parent->render.flags & 0x8000) == 0) {
|
||||
this->state.parent->render.flags += 0x8000;
|
||||
this->state.parent->render.unknown_00F7 = static_cast<unsigned char>(this->state.stateCnt);
|
||||
this->state.parent->render.runStartTick = static_cast<unsigned char>(this->state.stateCnt);
|
||||
}
|
||||
break;
|
||||
case EF_STOPEFFECT:
|
||||
|
|
|
|||
|
|
@ -51,10 +51,10 @@ struct RagEffectState {
|
|||
};
|
||||
/* 11B50 */ std::int32_t colorChannels[4];
|
||||
/* 11B60 */ unsigned char forceRender;
|
||||
/* 11B61 */ unsigned char unknown_11C99[3];
|
||||
/* 11B61 */ unsigned char padding_11B61[3];
|
||||
/* 11B64 */ std::uint32_t tag;
|
||||
/* 11B68 */ unsigned char visibilityFlags;
|
||||
/* 11B69 */ unsigned char unknown_11CA1[7];
|
||||
/* 11B69 */ unsigned char padding_11B69[7];
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ public:
|
|||
void Close() override;
|
||||
bool IsAlive() override;
|
||||
|
||||
/* 00CC */ unsigned char unknown_00CC[0x38];
|
||||
/* 00CC */ unsigned char padding_00CC[0x38];
|
||||
/* 0104 */ int angleIndex;
|
||||
/* 0108 */ std::vector<CParticle*> particles;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->frameDelay = 4.0f;
|
||||
particle->scale = 1.5f;
|
||||
break;
|
||||
case EF_UNK_1130:
|
||||
case EF_BAKURETSU_HADOU:
|
||||
particle->SetSprite("이팩트\\bakuretsu_hadou\\bakuretsu_hadou.spr");
|
||||
particle->SetAction("이팩트\\bakuretsu_hadou\\bakuretsu_hadou.act");
|
||||
particle->renderOptions |= 0x200;
|
||||
|
|
@ -113,91 +113,91 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->loopMode = 0;
|
||||
particle->frameDelay = 8.0f;
|
||||
break;
|
||||
case EF_UNK_1147:
|
||||
case EF_POPCORN:
|
||||
particle->SetSprite("이팩트\\EF_POPCORN\\EF_POPCORN.spr");
|
||||
particle->SetAction("이팩트\\EF_POPCORN\\EF_POPCORN.act");
|
||||
particle->loopMode = 1;
|
||||
particle->depthOffset = 0.0003f;
|
||||
particle->frameDelay = 8.0f;
|
||||
break;
|
||||
case EF_UNK_1151:
|
||||
case EF_IMMUNE_PROPERTY_NOTHING:
|
||||
particle->SetSprite("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_NOTHING.spr");
|
||||
particle->SetAction("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_NOTHING.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.0003f;
|
||||
break;
|
||||
case EF_UNK_1152:
|
||||
case EF_IMMUNE_PROPERTY_WATER:
|
||||
particle->SetSprite("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_WATER.spr");
|
||||
particle->SetAction("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_WATER.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.0003f;
|
||||
break;
|
||||
case EF_UNK_1153:
|
||||
case EF_IMMUNE_PROPERTY_GROUND:
|
||||
particle->SetSprite("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_GROUND.spr");
|
||||
particle->SetAction("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_GROUND.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.0003f;
|
||||
break;
|
||||
case EF_UNK_1154:
|
||||
case EF_IMMUNE_PROPERTY_FIRE:
|
||||
particle->SetSprite("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_FIRE.spr");
|
||||
particle->SetAction("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_FIRE.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.0003f;
|
||||
break;
|
||||
case EF_UNK_1155:
|
||||
case EF_IMMUNE_PROPERTY_WIND:
|
||||
particle->SetSprite("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_WIND.spr");
|
||||
particle->SetAction("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_WIND.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.0003f;
|
||||
break;
|
||||
case EF_UNK_1156:
|
||||
case EF_IMMUNE_PROPERTY_POISON:
|
||||
particle->SetSprite("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_POISON.spr");
|
||||
particle->SetAction("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_POISON.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.0003f;
|
||||
break;
|
||||
case EF_UNK_1157:
|
||||
case EF_IMMUNE_PROPERTY_SAINT:
|
||||
particle->SetSprite("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_SAINT.spr");
|
||||
particle->SetAction("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_SAINT.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.0003f;
|
||||
break;
|
||||
case EF_UNK_1158:
|
||||
case EF_IMMUNE_PROPERTY_DARKNESS:
|
||||
particle->SetSprite("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_DARKNESS.spr");
|
||||
particle->SetAction("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_DARKNESS.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.0003f;
|
||||
break;
|
||||
case EF_UNK_1159:
|
||||
case EF_IMMUNE_PROPERTY_TELEKINESIS:
|
||||
particle->SetSprite("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_TELEKINESIS.spr");
|
||||
particle->SetAction("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_TELEKINESIS.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.0003f;
|
||||
break;
|
||||
case EF_UNK_1160:
|
||||
case EF_IMMUNE_PROPERTY_UNDEAD:
|
||||
particle->SetSprite("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_UNDEAD.spr");
|
||||
particle->SetAction("이팩트\\EF_IMMUNE_PROPERTY\\EF_IMMUNE_PROPERTY_UNDEAD.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.0003f;
|
||||
break;
|
||||
case EF_UNK_1192:
|
||||
case EF_RANDOM_OPT_YELLOW:
|
||||
particle->SetSprite("이팩트\\random_opt_spr\\yellow.spr");
|
||||
particle->SetAction("이팩트\\random_opt_spr\\yellow.act");
|
||||
particle->loopMode = 0;
|
||||
particle->frameDelay = 4.0f;
|
||||
break;
|
||||
case EF_UNK_1211:
|
||||
case EF_UNK_1212:
|
||||
case EF_UNK_1213:
|
||||
case EF_SUBJECT_AURA_1212:
|
||||
case EF_SUBJECT_AURA_1213:
|
||||
particle->SetSprite("이팩트\\subject_aura\\subject_aura.spr");
|
||||
particle->SetAction("이팩트\\subject_aura\\subject_aura.act");
|
||||
particle->frameDelay = 8.0f;
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.0003f;
|
||||
particle->flags = 0x101;
|
||||
if (this->id == EF_UNK_1212) {
|
||||
if (this->id == EF_SUBJECT_AURA_1212) {
|
||||
particle->animation = 0;
|
||||
} else if (this->id == EF_UNK_1213) {
|
||||
} else if (this->id == EF_SUBJECT_AURA_1213) {
|
||||
particle->animation = 1;
|
||||
} else if (this->id == EF_UNK_1211) {
|
||||
particle->animation = 2;
|
||||
|
|
@ -210,7 +210,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->loopMode = 1;
|
||||
particle->flags = 0x101;
|
||||
break;
|
||||
case EF_UNK_1232:
|
||||
case EF_BOOK_OF_CREATINGSTAR:
|
||||
particle->SetSprite("이팩트\\book_of_creatingstar\\book_of_creatingstar.spr");
|
||||
particle->SetAction("이팩트\\book_of_creatingstar\\book_of_creatingstar.act");
|
||||
particle->frameDelay = 4.0f;
|
||||
|
|
@ -231,7 +231,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->loopMode = 1;
|
||||
particle->flags = 0x101;
|
||||
break;
|
||||
case EF_UNK_1235:
|
||||
case EF_SOUL_SHADOW:
|
||||
particle->SetSprite("이팩트\\soul_shadow\\soul_shadow.spr");
|
||||
particle->SetAction("이팩트\\soul_shadow\\soul_shadow.act");
|
||||
particle->depthOffset = 0.0003f;
|
||||
|
|
@ -239,7 +239,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->loopMode = 1;
|
||||
particle->flags = 0x101;
|
||||
break;
|
||||
case EF_UNK_1236:
|
||||
case EF_SOUL_FAIRY:
|
||||
particle->SetSprite("이팩트\\soul_fairy\\soul_fairy.spr");
|
||||
particle->SetAction("이팩트\\soul_fairy\\soul_fairy.act");
|
||||
particle->depthOffset = 0.0003f;
|
||||
|
|
@ -247,7 +247,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->loopMode = 1;
|
||||
particle->flags = 0x101;
|
||||
break;
|
||||
case EF_UNK_1237:
|
||||
case EF_SOUL_FALCON:
|
||||
particle->SetSprite("이팩트\\soul_falcon\\soul_falcon.spr");
|
||||
particle->SetAction("이팩트\\soul_falcon\\soul_falcon.act");
|
||||
particle->depthOffset = 0.0003f;
|
||||
|
|
@ -263,7 +263,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->loopMode = 1;
|
||||
particle->flags = 0x101;
|
||||
break;
|
||||
case EF_UNK_1377:
|
||||
case EF_VALKYRIE_WING:
|
||||
particle->SetSprite("이팩트\\valkyrie_wing\\valkyrie_wing.spr");
|
||||
particle->SetAction("이팩트\\valkyrie_wing\\valkyrie_wing.act");
|
||||
particle->loopMode = 0;
|
||||
|
|
@ -271,7 +271,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->frameDelay = 6.0f;
|
||||
particle->flags = 0x101;
|
||||
break;
|
||||
case EF_UNK_1419:
|
||||
case EF_C_AMDARAIS_EFFECT:
|
||||
particle->SetSprite("이팩트\\c_amdarais_effect.spr");
|
||||
particle->SetAction("이팩트\\c_amdarais_effect.act");
|
||||
particle->depthOffset = 0.0001f;
|
||||
|
|
@ -279,7 +279,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->loopMode = 0;
|
||||
particle->flags = 1;
|
||||
break;
|
||||
case EF_UNK_1617:
|
||||
case EF_BLACKBUBBLE_SMALL:
|
||||
particle->SetSprite("이팩트\\black_bubble\\small\\blackbubble_small.spr");
|
||||
particle->SetAction("이팩트\\black_bubble\\small\\blackbubble_small.act");
|
||||
particle->depthOffset = 0.0001f;
|
||||
|
|
@ -287,7 +287,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->loopMode = 0;
|
||||
particle->flags = 1;
|
||||
break;
|
||||
case EF_UNK_1618:
|
||||
case EF_BLACKBUBBLE_MIDIUM:
|
||||
particle->SetSprite("이팩트\\black_bubble\\midium\\blackbubble_midium.spr");
|
||||
particle->SetAction("이팩트\\black_bubble\\midium\\blackbubble_midium.act");
|
||||
particle->depthOffset = 0.0001f;
|
||||
|
|
@ -295,7 +295,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->loopMode = 0;
|
||||
particle->flags = 1;
|
||||
break;
|
||||
case EF_UNK_1619:
|
||||
case EF_BLACKBUBBLE_LARGE:
|
||||
particle->SetSprite("이팩트\\black_bubble\\large\\blackbubble_large.spr");
|
||||
particle->SetAction("이팩트\\black_bubble\\large\\blackbubble_large.act");
|
||||
particle->depthOffset = 0.0001f;
|
||||
|
|
@ -303,7 +303,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->loopMode = 0;
|
||||
particle->flags = 1;
|
||||
break;
|
||||
case EF_UNK_2394:
|
||||
case EF_SERPENT_SHADOW:
|
||||
particle->SetSprite("이팩트\\Serpent_Shadow\\Serpent_Shadow.spr");
|
||||
particle->SetAction("이팩트\\Serpent_Shadow\\Serpent_Shadow.act");
|
||||
particle->loopMode = 0;
|
||||
|
|
@ -311,35 +311,35 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->frameDelay = 4.0f;
|
||||
particle->flags = 0xD;
|
||||
break;
|
||||
case EF_UNK_2420:
|
||||
case EF_VIOLEN_HIT:
|
||||
particle->SetSprite("몬스터\\violen_hit.spr");
|
||||
particle->SetAction("몬스터\\violen_hit.act");
|
||||
particle->loopMode = 1;
|
||||
particle->depthOffset = 0.001f;
|
||||
particle->frameDelay = 4.0f;
|
||||
break;
|
||||
case EF_UNK_2424:
|
||||
case EF_C_AURA_OF_GHOST_S:
|
||||
particle->SetSprite("이팩트\\C_Aura_Of_Ghost_S\\C_Aura_Of_Ghost_S.spr");
|
||||
particle->SetAction("이팩트\\C_Aura_Of_Ghost_S\\C_Aura_Of_Ghost_S.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.001f;
|
||||
particle->frameDelay = 4.0f;
|
||||
break;
|
||||
case EF_UNK_2430:
|
||||
case EF_C_GUIDE_OF_DEAD_TEXT:
|
||||
particle->SetSprite("이팩트\\C_Guide_Of_Dead_Text\\C_Guide_Of_Dead_Text.spr");
|
||||
particle->SetAction("이팩트\\C_Guide_Of_Dead_Text\\C_Guide_Of_Dead_Text.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.001f;
|
||||
particle->frameDelay = 12.0f;
|
||||
break;
|
||||
case EF_UNK_2431:
|
||||
case EF_C_MEDJED_TEXT:
|
||||
particle->SetSprite("이팩트\\C_Medjed_Text\\C_Medjed_Text.spr");
|
||||
particle->SetAction("이팩트\\C_Medjed_Text\\C_Medjed_Text.act");
|
||||
particle->loopMode = 0;
|
||||
particle->depthOffset = 0.001f;
|
||||
particle->frameDelay = 12.0f;
|
||||
break;
|
||||
case EF_UNK_2428:
|
||||
case EF_ATQUE_POENITENTIA:
|
||||
particle->SetSprite("이팩트\\Atque_Poenitentia\\Atque_Poenitentia.spr");
|
||||
particle->SetAction("이팩트\\Atque_Poenitentia\\Atque_Poenitentia.act");
|
||||
particle->loopMode = 0;
|
||||
|
|
@ -347,7 +347,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->frameDelay = 4.0f;
|
||||
particle->flags = 0xD;
|
||||
break;
|
||||
case EF_UNK_2429:
|
||||
case EF_PERM_FROST_OBLIVION:
|
||||
particle->SetSprite("이팩트\\Perm_Frost_Oblivion\\Perm_Frost_Oblivion.spr");
|
||||
particle->SetAction("이팩트\\Perm_Frost_Oblivion\\Perm_Frost_Oblivion.act");
|
||||
particle->depthOffset = 0.001f;
|
||||
|
|
@ -355,7 +355,7 @@ void CSpriteEffect::SetupParticle(CSpriteParticle* particle) {
|
|||
particle->loopMode = 0;
|
||||
particle->flags = 1;
|
||||
break;
|
||||
case EF_UNK_2458:
|
||||
case EF_S_BEELZEBUB_WING:
|
||||
particle->SetSprite("이팩트\\S_Beelzebub_Wing\\S_Beelzebub_Wing.spr");
|
||||
particle->SetAction("이팩트\\S_Beelzebub_Wing\\S_Beelzebub_Wing.act");
|
||||
particle->flags = 1;
|
||||
|
|
@ -405,7 +405,7 @@ bool CSpriteEffect::IsAlive() {
|
|||
switch (this->id) {
|
||||
case EF_GROUND_EXPLOSION:
|
||||
return !this->IsFinished();
|
||||
case EF_UNK_1192: {
|
||||
case EF_RANDOM_OPT_YELLOW: {
|
||||
if (this->actor == 0) {
|
||||
return false;
|
||||
}
|
||||
|
|
@ -425,33 +425,33 @@ bool CSpriteEffect::IsAlive() {
|
|||
|
||||
return true;
|
||||
}
|
||||
case EF_UNK_1130:
|
||||
case EF_UNK_1151:
|
||||
case EF_UNK_1152:
|
||||
case EF_UNK_1153:
|
||||
case EF_UNK_1154:
|
||||
case EF_UNK_1155:
|
||||
case EF_UNK_1156:
|
||||
case EF_UNK_1157:
|
||||
case EF_UNK_1158:
|
||||
case EF_UNK_1159:
|
||||
case EF_UNK_1160:
|
||||
case EF_BAKURETSU_HADOU:
|
||||
case EF_IMMUNE_PROPERTY_NOTHING:
|
||||
case EF_IMMUNE_PROPERTY_WATER:
|
||||
case EF_IMMUNE_PROPERTY_GROUND:
|
||||
case EF_IMMUNE_PROPERTY_FIRE:
|
||||
case EF_IMMUNE_PROPERTY_WIND:
|
||||
case EF_IMMUNE_PROPERTY_POISON:
|
||||
case EF_IMMUNE_PROPERTY_SAINT:
|
||||
case EF_IMMUNE_PROPERTY_DARKNESS:
|
||||
case EF_IMMUNE_PROPERTY_TELEKINESIS:
|
||||
case EF_IMMUNE_PROPERTY_UNDEAD:
|
||||
case EF_UNK_1211:
|
||||
case EF_UNK_1212:
|
||||
case EF_UNK_1213:
|
||||
case EF_UNK_1377:
|
||||
case EF_UNK_1419:
|
||||
case EF_UNK_1617:
|
||||
case EF_UNK_1618:
|
||||
case EF_UNK_1619:
|
||||
case EF_UNK_2394:
|
||||
case EF_UNK_2424:
|
||||
case EF_UNK_2428:
|
||||
case EF_UNK_2429:
|
||||
case EF_UNK_2430:
|
||||
case EF_UNK_2431:
|
||||
case EF_SUBJECT_AURA_1212:
|
||||
case EF_SUBJECT_AURA_1213:
|
||||
case EF_VALKYRIE_WING:
|
||||
case EF_C_AMDARAIS_EFFECT:
|
||||
case EF_BLACKBUBBLE_SMALL:
|
||||
case EF_BLACKBUBBLE_MIDIUM:
|
||||
case EF_BLACKBUBBLE_LARGE:
|
||||
case EF_SERPENT_SHADOW:
|
||||
case EF_C_AURA_OF_GHOST_S:
|
||||
case EF_ATQUE_POENITENTIA:
|
||||
case EF_PERM_FROST_OBLIVION:
|
||||
case EF_C_GUIDE_OF_DEAD_TEXT:
|
||||
case EF_C_MEDJED_TEXT:
|
||||
case EF_UNK_2443:
|
||||
case EF_UNK_2458:
|
||||
case EF_S_BEELZEBUB_WING:
|
||||
return this->ActorExists();
|
||||
}
|
||||
|
||||
|
|
@ -482,7 +482,7 @@ void CSpriteEffect::OnProcess() {
|
|||
++particle->elapsedFrames;
|
||||
|
||||
switch (this->id) {
|
||||
case EF_UNK_1130: {
|
||||
case EF_BAKURETSU_HADOU: {
|
||||
int height = 8;
|
||||
if (CGameActor* actor = static_cast<CGameActor*>(FindRenderObject(this->actor))) {
|
||||
height = static_cast<int>(actor->GetNameOffset() + 8.0f);
|
||||
|
|
@ -492,22 +492,22 @@ void CSpriteEffect::OnProcess() {
|
|||
SetOffsetPosition(particle->position, this->position, offset);
|
||||
break;
|
||||
}
|
||||
case EF_UNK_1147:
|
||||
case EF_UNK_1192: {
|
||||
case EF_POPCORN:
|
||||
case EF_RANDOM_OPT_YELLOW: {
|
||||
const vector3d offset = {0.0f, -10.0f, 0.0f};
|
||||
SetOffsetPosition(particle->position, this->position, offset);
|
||||
break;
|
||||
}
|
||||
case EF_UNK_1151:
|
||||
case EF_UNK_1152:
|
||||
case EF_UNK_1153:
|
||||
case EF_UNK_1154:
|
||||
case EF_UNK_1155:
|
||||
case EF_UNK_1156:
|
||||
case EF_UNK_1157:
|
||||
case EF_UNK_1158:
|
||||
case EF_UNK_1159:
|
||||
case EF_UNK_1160: {
|
||||
case EF_IMMUNE_PROPERTY_NOTHING:
|
||||
case EF_IMMUNE_PROPERTY_WATER:
|
||||
case EF_IMMUNE_PROPERTY_GROUND:
|
||||
case EF_IMMUNE_PROPERTY_FIRE:
|
||||
case EF_IMMUNE_PROPERTY_WIND:
|
||||
case EF_IMMUNE_PROPERTY_POISON:
|
||||
case EF_IMMUNE_PROPERTY_SAINT:
|
||||
case EF_IMMUNE_PROPERTY_DARKNESS:
|
||||
case EF_IMMUNE_PROPERTY_TELEKINESIS:
|
||||
case EF_IMMUNE_PROPERTY_UNDEAD: {
|
||||
int height = 25;
|
||||
if (CGameActor* actor = static_cast<CGameActor*>(FindRenderObject(this->actor))) {
|
||||
height = static_cast<int>(actor->GetNameOffset() + 25.0f);
|
||||
|
|
@ -518,8 +518,8 @@ void CSpriteEffect::OnProcess() {
|
|||
break;
|
||||
}
|
||||
case EF_UNK_1211:
|
||||
case EF_UNK_1212:
|
||||
case EF_UNK_1213: {
|
||||
case EF_SUBJECT_AURA_1212:
|
||||
case EF_SUBJECT_AURA_1213: {
|
||||
CGameActor* actor = static_cast<CGameActor*>(FindRenderObject(this->actor));
|
||||
if (!actor) {
|
||||
break;
|
||||
|
|
@ -530,7 +530,7 @@ void CSpriteEffect::OnProcess() {
|
|||
SetOffsetPosition(particle->position, this->position, offset);
|
||||
break;
|
||||
}
|
||||
case EF_UNK_1377: {
|
||||
case EF_VALKYRIE_WING: {
|
||||
CGameActor* actor = static_cast<CGameActor*>(FindRenderObject(this->actor));
|
||||
if (!actor) {
|
||||
break;
|
||||
|
|
@ -541,8 +541,8 @@ void CSpriteEffect::OnProcess() {
|
|||
SetOffsetPosition(particle->position, this->position, offset);
|
||||
break;
|
||||
}
|
||||
case EF_UNK_2394:
|
||||
case EF_UNK_2424: {
|
||||
case EF_SERPENT_SHADOW:
|
||||
case EF_C_AURA_OF_GHOST_S: {
|
||||
CGameActor* actor = static_cast<CGameActor*>(FindRenderObject(this->actor));
|
||||
if (!actor) {
|
||||
break;
|
||||
|
|
@ -553,7 +553,7 @@ void CSpriteEffect::OnProcess() {
|
|||
SetOffsetPosition(particle->position, this->position, offset);
|
||||
break;
|
||||
}
|
||||
case EF_UNK_2428: {
|
||||
case EF_ATQUE_POENITENTIA: {
|
||||
CGameActor* actor = static_cast<CGameActor*>(FindRenderObject(this->actor));
|
||||
if (!actor) {
|
||||
break;
|
||||
|
|
@ -565,7 +565,7 @@ void CSpriteEffect::OnProcess() {
|
|||
SetOffsetPosition(particle->position, this->position, offset);
|
||||
break;
|
||||
}
|
||||
case EF_UNK_2429: {
|
||||
case EF_PERM_FROST_OBLIVION: {
|
||||
CGameActor* actor = static_cast<CGameActor*>(FindRenderObject(this->actor));
|
||||
if (!actor) {
|
||||
break;
|
||||
|
|
@ -576,8 +576,8 @@ void CSpriteEffect::OnProcess() {
|
|||
SetOffsetPosition(particle->position, this->position, offset);
|
||||
break;
|
||||
}
|
||||
case EF_UNK_2430:
|
||||
case EF_UNK_2431: {
|
||||
case EF_C_GUIDE_OF_DEAD_TEXT:
|
||||
case EF_C_MEDJED_TEXT: {
|
||||
CGameActor* actor = static_cast<CGameActor*>(FindRenderObject(this->actor));
|
||||
if (!actor) {
|
||||
break;
|
||||
|
|
@ -596,7 +596,7 @@ void CSpriteEffect::OnProcess() {
|
|||
particle->position.y = this->position[1];
|
||||
particle->position.z = this->position[2];
|
||||
break;
|
||||
case EF_UNK_2458:
|
||||
case EF_S_BEELZEBUB_WING:
|
||||
particle->applyActorExtent = 1;
|
||||
particle->applyActorLift = 1;
|
||||
particle->screenOffsetY = -105.0f;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ public:
|
|||
|
||||
/* 02BC */ unsigned char applyActorExtent;
|
||||
/* 02BD */ unsigned char applyActorLift;
|
||||
/* 02BE */ unsigned char unknown_02BE[2];
|
||||
/* 02BE */ unsigned char padding_02BE[2];
|
||||
/* 02C0 */ float screenOffsetX;
|
||||
/* 02C4 */ float screenOffsetY;
|
||||
/* 02C8 */ vector3d velocity;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ public:
|
|||
void SetupParticle(CParticle* particle);
|
||||
void UpdateParticle(CParticle* particle);
|
||||
|
||||
/* 00CC */ unsigned char unknown_00CC[0x34];
|
||||
/* 00CC */ unsigned char padding_00CC[0x34];
|
||||
/* 0100 */ std::vector<CParticle*> particles;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ void CViolentQuakeEffect::Close() {
|
|||
// FUNCTION: fn_07533
|
||||
void CViolentQuakeEffect::Open() {
|
||||
switch (this->id) {
|
||||
case EF_UNK_1760: {
|
||||
case EF_VIOLENTQUAKE: {
|
||||
CEZ2STRParticle* emitter = static_cast<CEZ2STRParticle*>(CreateEZ2STRParticle(reinterpret_cast<const vector3d*>(this->position), 5));
|
||||
emitter->Load(FormatOwnedString("violentquake\\violentquake\\violentquake_%02d.str", std::max(0, rand() % 3) + 1));
|
||||
emitter->offsetX = 0.0f;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ struct CWhirlwindEffect : CRagEffect {
|
|||
}
|
||||
|
||||
/* 11CA8 */ int duration;
|
||||
/* 11CAC */ int unknown_11CAC;
|
||||
/* 11CAC */ int padding_11CAC;
|
||||
/* 11CB0 */ std::chrono::steady_clock::time_point endTime;
|
||||
|
||||
bool OnProcess() override;
|
||||
|
|
|
|||
|
|
@ -81,8 +81,8 @@ void CEmblemDataUploadAsyncWork::Bind(std::string url, std::uint32_t accountId,
|
|||
this->m_accountName = accountName;
|
||||
this->m_guildId = guildId;
|
||||
this->m_path = path;
|
||||
const std::uint8_t unknown[] = {0x62, 0x97, 0x24, 0xD7, 0x8C, 0xDA, 0x41, 0xC5};
|
||||
AsyncDiagnostic diagnostic(false, std::string(DecryptName<0xC52FB5FBB94FF917ULL>(unknown)), sourceFile, 54);
|
||||
const std::uint8_t diagnosticSource[] = {0x62, 0x97, 0x24, 0xD7, 0x8C, 0xDA, 0x41, 0xC5};
|
||||
AsyncDiagnostic diagnostic(false, std::string(DecryptName<0xC52FB5FBB94FF917ULL>(diagnosticSource)), sourceFile, 54);
|
||||
this->m_diagnostic.MoveFrom(diagnostic);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -523,7 +523,7 @@ int L_SetSuccessRate(lua_State* L) {
|
|||
|
||||
// OFFSET: 0x00689250
|
||||
// FUNCTION: fn_05583
|
||||
void EnchantMgrUnknown689250() {
|
||||
void EnchantMgrNullSub() {
|
||||
}
|
||||
|
||||
// OFFSET: 0x006821B0
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ struct EnchantInfo {
|
|||
/* 0010 */ uint32_t condition2;
|
||||
/* 0014 */ bool approveRandomOption;
|
||||
/* 0018 */ std::vector<int> slots;
|
||||
/* 0024 */ uint8_t unknown_0024[0x4];
|
||||
/* 0024 */ uint8_t padding_0024[0x4];
|
||||
/* 0028 */ bool resetEnabled;
|
||||
/* 0030 */ uint64_t resetRate;
|
||||
/* 0038 */ uint64_t resetCost;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
// OFFSET: 0x009105F0
|
||||
// FUNCTION: fn_12503
|
||||
CFlyingShipRouteInfo::CFlyingShipRouteInfo()
|
||||
: unknown_0010(0), unknown_0014(0), segmentIndex(0), segmentProgress(0), segmentLength(0), travelledDistance(0), routeReset(1), routeType(0), lineColor(0),
|
||||
: padding_0010(0), padding_0014(0), segmentIndex(0), segmentProgress(0), segmentLength(0), travelledDistance(0), routeReset(1), routeType(0), lineColor(0),
|
||||
routeState(0) {
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@ public:
|
|||
void Update(UIRoMapWnd* wnd, float elapsed);
|
||||
|
||||
/* 0004 */ std::vector<FlyingShipRouteEntry> entries;
|
||||
/* 0010 */ int unknown_0010;
|
||||
/* 0014 */ int unknown_0014;
|
||||
/* 0010 */ int padding_0010;
|
||||
/* 0014 */ int padding_0014;
|
||||
/* 0018 */ int segmentIndex;
|
||||
/* 001C */ float segmentProgress;
|
||||
/* 0020 */ float segmentLength;
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ struct GroundCell {
|
|||
/* 0048 */ GroundQuad* side2;
|
||||
/* 004C */ std::uint32_t frame;
|
||||
/* 0050 */ unsigned char color[3];
|
||||
/* 0053 */ unsigned char unknown_0053;
|
||||
/* 0053 */ unsigned char padding_0053;
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
|
|
|
|||
|
|
@ -61,9 +61,9 @@ void GuildInfo::RemoveAgitId(int value) {
|
|||
|
||||
// OFFSET: 0x00AE42C0
|
||||
// FUNCTION: fn_18034
|
||||
void GuildInfo::RemoveRelatedGuild(int unknown_0000, int unknown_0004) {
|
||||
void GuildInfo::RemoveRelatedGuild(int guildId, int relation) {
|
||||
for (auto it = this->relatedGuilds.begin(); it != this->relatedGuilds.end(); ++it) {
|
||||
if (it->guildId == unknown_0000 && it->relation == unknown_0004) {
|
||||
if (it->guildId == guildId && it->relation == relation) {
|
||||
this->relatedGuilds.erase(it);
|
||||
g_windowMgr.RefreshGuildWindows();
|
||||
return;
|
||||
|
|
@ -90,10 +90,10 @@ int GuildInfo::GetAgitId(int index) {
|
|||
|
||||
// OFFSET: 0x00AE4690
|
||||
// FUNCTION: fn_18037
|
||||
int GuildInfo::CountRelatedGuilds(int unknown_0004) {
|
||||
int GuildInfo::CountRelatedGuilds(int relation) {
|
||||
int count = 0;
|
||||
for (auto it = this->relatedGuilds.begin(); it != this->relatedGuilds.end(); ++it) {
|
||||
if (it->relation == unknown_0004) {
|
||||
if (it->relation == relation) {
|
||||
++count;
|
||||
}
|
||||
}
|
||||
|
|
@ -155,9 +155,9 @@ void GuildInfo::Init() {
|
|||
|
||||
// OFFSET: 0x00AE49F0
|
||||
// FUNCTION: fn_18040
|
||||
bool GuildInfo::HasRelatedGuild(int unknown_0000) {
|
||||
bool GuildInfo::HasRelatedGuild(int guildId) {
|
||||
for (auto it = this->relatedGuilds.begin(); it != this->relatedGuilds.end(); ++it) {
|
||||
if (it->guildId == unknown_0000 && it->relation == 0) {
|
||||
if (it->guildId == guildId && it->relation == 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -221,10 +221,10 @@ void GuildInfo::UpdateCharacterName(int characterId, const char* name) {
|
|||
this->masterName = name;
|
||||
}
|
||||
|
||||
std::string unknownName = LookupMessage(MSI_NAMELESS_USER);
|
||||
std::string namelessUserName = LookupMessage(MSI_NAMELESS_USER);
|
||||
for (auto it = this->m_members.begin(); it != this->m_members.end(); ++it) {
|
||||
if (it->characterId == characterId) {
|
||||
if (it->name.empty() || it->name == unknownName) {
|
||||
if (it->name.empty() || it->name == namelessUserName) {
|
||||
it->name = name;
|
||||
}
|
||||
break;
|
||||
|
|
@ -233,7 +233,7 @@ void GuildInfo::UpdateCharacterName(int characterId, const char* name) {
|
|||
|
||||
for (auto it = this->bannedMembers.begin(); it != this->bannedMembers.end(); ++it) {
|
||||
if (it->characterId == characterId) {
|
||||
if (it->name.empty() || it->name == unknownName) {
|
||||
if (it->name.empty() || it->name == namelessUserName) {
|
||||
it->name = name;
|
||||
}
|
||||
break;
|
||||
|
|
@ -247,12 +247,12 @@ void GuildInfo::UpdateCharacterName(int characterId, const char* name) {
|
|||
|
||||
// OFFSET: 0x00AE4F50
|
||||
// FUNCTION: fn_18045
|
||||
void GuildInfo::UpdateMemberStatus(int accountId, int online, int characterId, short unknown_002C, short unknown_0020, short unknown_0024) {
|
||||
void GuildInfo::UpdateMemberStatus(int accountId, int online, int characterId, short sex, short head, short headPalette) {
|
||||
for (auto it = this->m_members.begin(); it != this->m_members.end(); ++it) {
|
||||
if (characterId == it->characterId) {
|
||||
it->sex = unknown_002C;
|
||||
it->head = unknown_0020;
|
||||
it->headPalette = unknown_0024;
|
||||
it->sex = sex;
|
||||
it->head = head;
|
||||
it->headPalette = headPalette;
|
||||
it->online = online;
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,16 +100,16 @@ public:
|
|||
void ClearAgitIds();
|
||||
void ClearMembers();
|
||||
void RemoveAgitId(int value);
|
||||
void RemoveRelatedGuild(int unknown_0000, int unknown_0004);
|
||||
void RemoveRelatedGuild(int padding_0000, int padding_0004);
|
||||
int GetMemberAccountId(const char* name);
|
||||
int GetAgitId(int index);
|
||||
int CountRelatedGuilds(int unknown_0004);
|
||||
int CountRelatedGuilds(int padding_0004);
|
||||
int GetAgitCount();
|
||||
void Init();
|
||||
bool HasRelatedGuild(int unknown_0000);
|
||||
bool HasRelatedGuild(int padding_0000);
|
||||
void UpdateMemberExpRatios();
|
||||
int DeleteMember(const char* name);
|
||||
void UpdateMemberStatus(int accountId, int online, int characterId, short unknown_002C, short unknown_0020, short unknown_0024);
|
||||
void UpdateMemberStatus(int accountId, int online, int characterId, short padding_002C, short padding_0020, short padding_0024);
|
||||
void SetMemberOnline(int accountId, int online);
|
||||
void SetMasterCharacterId(int characterId);
|
||||
void UpdatePosition(Unknown00D4Entry entry);
|
||||
|
|
|
|||
|
|
@ -62,11 +62,11 @@ enum InterfaceHotkey : int {
|
|||
HK_COSEQUIPWND_ONOFF = 56,
|
||||
HK_PARTYBOARDWND_ONOFF = 57,
|
||||
HK_HUNTINGQUEST_INFO_ONOFF = 58,
|
||||
HK_UNKNOWN_62 = 62,
|
||||
HK_UNKNOWN_64 = 64,
|
||||
HK_UNKNOWN_65 = 65,
|
||||
HK_UNKNOWN_66 = 66,
|
||||
HK_UNKNOWN_67 = 67,
|
||||
HK_HIDDEN_62 = 62,
|
||||
HK_HIDDEN_64 = 64,
|
||||
HK_HIDDEN_65 = 65,
|
||||
HK_HIDDEN_66 = 66,
|
||||
HK_HIDDEN_67 = 67,
|
||||
};
|
||||
|
||||
enum MacroHotkey : int {
|
||||
|
|
|
|||
|
|
@ -27,19 +27,19 @@ namespace {
|
|||
if (index == HK_HUNTINGQUEST_INFO_ONOFF) {
|
||||
return true;
|
||||
}
|
||||
if (index == HK_UNKNOWN_62) {
|
||||
if (index == HK_HIDDEN_62) {
|
||||
return true;
|
||||
}
|
||||
if (index == HK_UNKNOWN_64) {
|
||||
if (index == HK_HIDDEN_64) {
|
||||
return true;
|
||||
}
|
||||
if (index == HK_UNKNOWN_66) {
|
||||
if (index == HK_HIDDEN_66) {
|
||||
return true;
|
||||
}
|
||||
if (index == HK_UNKNOWN_65) {
|
||||
if (index == HK_HIDDEN_65) {
|
||||
return true;
|
||||
}
|
||||
if (index == HK_UNKNOWN_67) {
|
||||
if (index == HK_HIDDEN_67) {
|
||||
return true;
|
||||
}
|
||||
if (index == HK_BUTTONS_RELOCATE) {
|
||||
|
|
|
|||
|
|
@ -17,19 +17,19 @@ struct RawItemData {
|
|||
/* 0018 */ std::uint32_t type;
|
||||
/* 001C */ std::uint32_t refiningLevel;
|
||||
/* 0020 */ unsigned char identified;
|
||||
/* 0021 */ unsigned char unknown_0021[27];
|
||||
/* 0021 */ unsigned char padding_0021[27];
|
||||
/* 003C */ std::string itemId;
|
||||
/* 0054 */ unsigned char skillNameAndLevel[28];
|
||||
/* 0070 */ std::uint32_t cards[4];
|
||||
/* 0080 */ unsigned char unknown_0080[8];
|
||||
/* 0080 */ unsigned char padding_0080[8];
|
||||
/* 0088 */ std::int32_t optionCount;
|
||||
/* 008C */ unsigned char options[25];
|
||||
/* 00A5 */ unsigned char unknown_00A5[7];
|
||||
/* 00A5 */ unsigned char padding_00A5[7];
|
||||
/* 00AC */ std::int16_t grade;
|
||||
/* 00AE */ unsigned char hasIndex;
|
||||
/* 00AF */ unsigned char unknown_00AF;
|
||||
/* 00AF */ unsigned char padding_00AF;
|
||||
/* 00B0 */ std::uint32_t location;
|
||||
/* 00B4 */ std::uint32_t unknown_00B4;
|
||||
/* 00B4 */ std::uint32_t padding_00B4;
|
||||
/* 00B8 */ std::uint32_t sprite;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -780,14 +780,14 @@ __declspec(noinline) void LoadItemNameTables() {
|
|||
}
|
||||
}
|
||||
|
||||
ITEM_DESC& unknown = FindItemDescription(0, g_itemDescriptions);
|
||||
unknown.identifiedName = "Unknown Item";
|
||||
unknown.identifiedResource = "\xbb\xe7\xb0\xfa";
|
||||
unknown.identifiedDescription.push_back("Unknown Item");
|
||||
unknown.unidentifiedName = "Unknown Item";
|
||||
unknown.unidentifiedResource = "\xbb\xe7\xb0\xfa";
|
||||
unknown.unidentifiedDescription.push_back("Unknown Item");
|
||||
FindItemDescription(-1, g_itemDescriptions) = unknown;
|
||||
ITEM_DESC& unknownItemDesc = FindItemDescription(0, g_itemDescriptions);
|
||||
unknownItemDesc.identifiedName = "Unknown Item";
|
||||
unknownItemDesc.identifiedResource = "\xbb\xe7\xb0\xfa";
|
||||
unknownItemDesc.identifiedDescription.push_back("Unknown Item");
|
||||
unknownItemDesc.unidentifiedName = "Unknown Item";
|
||||
unknownItemDesc.unidentifiedResource = "\xbb\xe7\xb0\xfa";
|
||||
unknownItemDesc.unidentifiedDescription.push_back("Unknown Item");
|
||||
FindItemDescription(-1, g_itemDescriptions) = unknownItemDesc;
|
||||
|
||||
ItemCardName& sorry = FindItemCardName(0, g_itemCardNames);
|
||||
sorry.name = "sorry";
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue