mirror of
https://github.com/pret/pmd-sky.git
synced 2026-08-25 20:15:41 -05:00
Decomped ExclusiveItemEffectFlagTest
This commit is contained in:
@@ -2,118 +2,35 @@
|
||||
.public AreItemsEquivalent
|
||||
.public BAG_ITEMS_PTR_MIRROR
|
||||
.public BulkItemToItem
|
||||
.public CALCIUM_STAT_BOOST
|
||||
.public CopyBitsFrom
|
||||
.public CopyBitsTo
|
||||
.public DUNGEON_MOVE_TABLES
|
||||
.public Debug_Print0
|
||||
.public EXCLUSIVE_ITEM_ATTACK_BOOSTS
|
||||
.public EXCLUSIVE_ITEM_DEFENSE_BOOSTS
|
||||
.public EXCLUSIVE_ITEM_EFFECT_DATA
|
||||
.public EXCLUSIVE_ITEM_SPECIAL_ATTACK_BOOSTS
|
||||
.public EXCLUSIVE_ITEM_SPECIAL_DEFENSE_BOOSTS
|
||||
.public EXCLUSIVE_ITEM_STAT_BOOST_DATA_INDEXES
|
||||
.public FemaleToMaleForm
|
||||
.public GINSENG_CHANCE_3
|
||||
.public GUMMI_STAT_BOOST
|
||||
.public GetBagCapacity
|
||||
.public GetBagCapacitySpecialEpisode
|
||||
.public GetBaseFormCastformDeoxysCherrim
|
||||
.public GetDungeonResultString
|
||||
.public GetExclusiveItem
|
||||
.public GetExclusiveItemParameter
|
||||
.public GetExclusiveItemType
|
||||
.public GetExecuteSpecialEpisodeType
|
||||
.public GetFamilyIndex
|
||||
.public GetItemCategory
|
||||
.public GetItemCategoryVeneer
|
||||
.public GetItemIdFromList
|
||||
.public GetMaxPp
|
||||
.public GetMoveBasePowerGround
|
||||
.public GetMoveMaxGinsengBoostGround
|
||||
.public GetPartyMembers
|
||||
.public GetPerformanceFlagWithChecks
|
||||
.public GetRank
|
||||
.public GetRankStorageSize
|
||||
.public GetScenarioBalance
|
||||
.public GetTeamMember
|
||||
.public GetType
|
||||
.public HasMonsterBeenAttackedInDungeons
|
||||
.public IQ_GUMMI_GAIN_TABLE
|
||||
.public IRON_STAT_BOOST
|
||||
.public InitBulkItem
|
||||
.public Is2TurnsMove
|
||||
.public IsGummi
|
||||
.public IsItemInTimeDarkness
|
||||
.public IsItemValidVeneer
|
||||
.public IsMonsterValid
|
||||
.public IsStorableItem
|
||||
.public IsThrownItem
|
||||
.public IsTicketItem
|
||||
.public IsTreasureBox
|
||||
.public ItemZInit
|
||||
.public KECLEON_SHOP_ITEM_TABLE_LISTS_1
|
||||
.public KECLEON_SHOP_ITEM_TABLE_LISTS_2
|
||||
.public LIFE_SEED_HP_BOOST
|
||||
.public LoadFileFromRom
|
||||
.public LoadScriptVariableValue
|
||||
.public MemAlloc
|
||||
.public MemFree
|
||||
.public MemZero
|
||||
.public OpenWaza
|
||||
.public PROTEIN_STAT_BOOST
|
||||
.public RECYCLE_SHOP_ITEM_LIST
|
||||
.public Rand16Bit
|
||||
.public RandInt
|
||||
.public RandIntSafe
|
||||
.public RandRange
|
||||
.public RemoveEmptyItems
|
||||
.public SITRUS_BERRY_FULL_HP_BOOST
|
||||
.public SaveScriptVariableValue
|
||||
.public SelectWaza
|
||||
.public SetItemAcquired
|
||||
.public SetNbRecycled
|
||||
.public SortItemList
|
||||
.public StringFromId
|
||||
.public TYPE_SPECIFIC_EXCLUSIVE_ITEMS
|
||||
.public UnloadFile
|
||||
.public WONDER_GUMMI_IQ_GAIN
|
||||
.public WONDER_GUMMI_STAT_BOOST
|
||||
.public ZINC_STAT_BOOST
|
||||
.public ZInit8
|
||||
.public _0209889C
|
||||
.public _020988A4
|
||||
.public _020988A8
|
||||
.public _020988D0
|
||||
.public _020988D4
|
||||
.public _020988D8
|
||||
.public _02098CB4
|
||||
.public _02098CCC
|
||||
.public _02098D24
|
||||
.public _02098D48
|
||||
.public _02098D68
|
||||
.public _02098DE4
|
||||
.public _02098DF4
|
||||
.public _02098E04
|
||||
.public _02098E0C
|
||||
.public _02098E14
|
||||
.public _02098E58
|
||||
.public _02098E9C
|
||||
.public _020A1878
|
||||
.public _020AF6D0
|
||||
.public _020AF6D4
|
||||
.public _020AF700
|
||||
.public _022A4BD8
|
||||
.public _s32_div_f
|
||||
.public sub_0200D1F0
|
||||
.public sub_0200D8AC
|
||||
.public sub_0200EB90
|
||||
.public sub_02050974
|
||||
.public sub_02050990
|
||||
.public sub_020509BC
|
||||
.public sub_02054FB8
|
||||
.public sub_02054FEC
|
||||
.public sub_02055020
|
||||
.public sub_02055054
|
||||
.public sub_020582E0
|
||||
.public vsprintf
|
||||
|
||||
111
asm/include/main_02010FC4.inc
Normal file
111
asm/include/main_02010FC4.inc
Normal file
@@ -0,0 +1,111 @@
|
||||
#pragma once
|
||||
.public ApplyExclusiveItemStatBoosts
|
||||
.public BAG_ITEMS_PTR_MIRROR
|
||||
.public CALCIUM_STAT_BOOST
|
||||
.public ConvertStorageItemAtIdxToBulkItem
|
||||
.public CopyBitsFrom
|
||||
.public CopyBitsTo
|
||||
.public CountNbItemsOfTypeInBag
|
||||
.public CountNbItemsOfTypeInStorage
|
||||
.public CountNbOfItemsInStorage
|
||||
.public DUNGEON_MOVE_TABLES
|
||||
.public Debug_Print0
|
||||
.public EXCLUSIVE_ITEM_EFFECT_DATA
|
||||
.public ExclusiveItemEffectFlagTest
|
||||
.public FemaleToMaleForm
|
||||
.public GINSENG_CHANCE_3
|
||||
.public GUMMI_STAT_BOOST
|
||||
.public GetBaseFormCastformDeoxysCherrim
|
||||
.public GetCurrentBagCapacity
|
||||
.public GetDungeonResultString
|
||||
.public GetEquivBulkItemIdxInStorage
|
||||
.public GetExclusiveItem
|
||||
.public GetExclusiveItemOffset
|
||||
.public GetExclusiveItemParameter
|
||||
.public GetExclusiveItemType
|
||||
.public GetFamilyIndex
|
||||
.public GetFirstUnequippedItemOfType
|
||||
.public GetItemAtIdx
|
||||
.public GetItemCategory
|
||||
.public GetItemCategoryVeneer
|
||||
.public GetMaxPp
|
||||
.public GetMoveBasePowerGround
|
||||
.public GetMoveMaxGinsengBoostGround
|
||||
.public GetNbItemsInBag
|
||||
.public GetPartyMembers
|
||||
.public GetRank
|
||||
.public GetScenarioBalance
|
||||
.public GetTeamMember
|
||||
.public GetType
|
||||
.public HasMonsterBeenAttackedInDungeons
|
||||
.public IQ_GUMMI_GAIN_TABLE
|
||||
.public IRON_STAT_BOOST
|
||||
.public InitBulkItem
|
||||
.public Is2TurnsMove
|
||||
.public IsGummi
|
||||
.public IsMonsterValid
|
||||
.public IsTicketItem
|
||||
.public LIFE_SEED_HP_BOOST
|
||||
.public LoadFileFromRom
|
||||
.public LoadScriptVariableValue
|
||||
.public MemAlloc
|
||||
.public MemFree
|
||||
.public MemZero
|
||||
.public OpenWaza
|
||||
.public PROTEIN_STAT_BOOST
|
||||
.public RECYCLE_SHOP_ITEM_LIST
|
||||
.public Rand16Bit
|
||||
.public RandInt
|
||||
.public RandIntSafe
|
||||
.public RandRange
|
||||
.public RemoveEmptyItemsInBag
|
||||
.public RemoveItem
|
||||
.public RemoveItemAtIdxInStorage
|
||||
.public SITRUS_BERRY_FULL_HP_BOOST
|
||||
.public SaveScriptVariableValue
|
||||
.public SelectWaza
|
||||
.public SetExclusiveItemEffect
|
||||
.public SetNbRecycled
|
||||
.public StringFromId
|
||||
.public TYPE_SPECIFIC_EXCLUSIVE_ITEMS
|
||||
.public UnloadFile
|
||||
.public WONDER_GUMMI_IQ_GAIN
|
||||
.public WONDER_GUMMI_STAT_BOOST
|
||||
.public ZINC_STAT_BOOST
|
||||
.public ZInit8
|
||||
.public _0209889C
|
||||
.public _020988A4
|
||||
.public _020988A8
|
||||
.public _020988D0
|
||||
.public _020988D4
|
||||
.public _020988D8
|
||||
.public _02098CB4
|
||||
.public _02098CCC
|
||||
.public _02098D24
|
||||
.public _02098D48
|
||||
.public _02098D68
|
||||
.public _02098DE4
|
||||
.public _02098DF4
|
||||
.public _02098E04
|
||||
.public _02098E0C
|
||||
.public _02098E14
|
||||
.public _02098E58
|
||||
.public _02098E9C
|
||||
.public _020A1878
|
||||
.public _020AF6D0
|
||||
.public _020AF6D4
|
||||
.public _020AF700
|
||||
.public _022A4BD8
|
||||
.public _s32_div_f
|
||||
.public sub_0200D1F0
|
||||
.public sub_0200EB90
|
||||
.public sub_02010044
|
||||
.public sub_0201007C
|
||||
.public sub_02050974
|
||||
.public sub_02050990
|
||||
.public sub_020509BC
|
||||
.public sub_02054FB8
|
||||
.public sub_02054FEC
|
||||
.public sub_02055020
|
||||
.public sub_02055054
|
||||
.public vsprintf
|
||||
3160
asm/main_0200ED1C.s
3160
asm/main_0200ED1C.s
File diff suppressed because it is too large
Load Diff
3152
asm/main_02010FC4.s
Normal file
3152
asm/main_02010FC4.s
Normal file
File diff suppressed because it is too large
Load Diff
9
include/exclusive_item.h
Normal file
9
include/exclusive_item.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#ifndef PMDSKY_EXCLUSIVE_ITEM_H
|
||||
#define PMDSKY_EXCLUSIVE_ITEM_H
|
||||
|
||||
#include "util.h"
|
||||
|
||||
// Tests the exclusive item bitvector for a specific exclusive item effect.
|
||||
bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, u32 effect_id);
|
||||
|
||||
#endif //PMDSKY_EXCLUSIVE_ITEM_H
|
||||
2
main.lsf
2
main.lsf
@@ -33,6 +33,8 @@ Static main
|
||||
Object asm/main_0200EB30.o
|
||||
Object src/main_0200ECFC.o
|
||||
Object asm/main_0200ED1C.o
|
||||
Object src/exclusive_item.o
|
||||
Object asm/main_02010FC4.o
|
||||
Object src/moves_1.o
|
||||
Object asm/main_020137E8.o
|
||||
Object src/moves_2.o
|
||||
|
||||
9
src/exclusive_item.c
Normal file
9
src/exclusive_item.c
Normal file
@@ -0,0 +1,9 @@
|
||||
#include "exclusive_item.h"
|
||||
|
||||
bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, u32 effect_id)
|
||||
{
|
||||
u32 effect_bit = effect_id >> 5;
|
||||
if (effect_flags[effect_bit] & 1 << effect_id - (effect_bit << 5))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "overlay_29_022FAC98.h"
|
||||
#include "dungeon_util_static.h"
|
||||
|
||||
extern bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, enum exclusive_item_effect_id effect_id);
|
||||
#include "exclusive_item.h"
|
||||
|
||||
bool8 ExclusiveItemEffectIsActive__022FAC98(struct entity *entity, enum exclusive_item_effect_id effect_id)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "overlay_29_022FFF28.h"
|
||||
#include "dungeon_util_static.h"
|
||||
|
||||
extern bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, enum exclusive_item_effect_id effect_id);
|
||||
#include "exclusive_item.h"
|
||||
|
||||
bool8 ExclusiveItemEffectIsActive__022FFF28(struct entity *entity, enum exclusive_item_effect_id effect_id)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "overlay_29_0230A994.h"
|
||||
#include "dungeon_util_static.h"
|
||||
|
||||
extern bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, enum exclusive_item_effect_id effect_id);
|
||||
#include "exclusive_item.h"
|
||||
|
||||
bool8 IsMonster__0230A994(struct entity *entity)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "overlay_29_0230F8AC.h"
|
||||
#include "dungeon_util_static.h"
|
||||
|
||||
extern bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, enum exclusive_item_effect_id effect_id);
|
||||
#include "exclusive_item.h"
|
||||
|
||||
bool8 ExclusiveItemEffectIsActive__0230F8AC(struct entity *entity, enum exclusive_item_effect_id effect_id)
|
||||
{
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
#include "dungeon_items.h"
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "dungeon_util_static.h"
|
||||
|
||||
extern bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, enum exclusive_item_effect_id effect_id);
|
||||
#include "exclusive_item.h"
|
||||
|
||||
bool8 EntityIsValid__02311010(struct entity *entity)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "overlay_29_023147EC.h"
|
||||
#include "dungeon_util_static.h"
|
||||
|
||||
extern bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, enum exclusive_item_effect_id effect_id);
|
||||
#include "exclusive_item.h"
|
||||
|
||||
bool8 ExclusiveItemEffectIsActive__023147EC(struct entity *entity, enum exclusive_item_effect_id effect_id)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "overlay_29_023197A8.h"
|
||||
#include "dungeon_util_static.h"
|
||||
|
||||
extern bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, enum exclusive_item_effect_id effect_id);
|
||||
#include "exclusive_item.h"
|
||||
|
||||
bool8 ExclusiveItemEffectIsActive__023197A8(struct entity *entity, enum exclusive_item_effect_id effect_id)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "overlay_29_0231A87C.h"
|
||||
#include "dungeon_util_static.h"
|
||||
|
||||
extern bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, enum exclusive_item_effect_id effect_id);
|
||||
#include "exclusive_item.h"
|
||||
|
||||
bool8 ExclusiveItemEffectIsActive__0231A87C(struct entity *entity, enum exclusive_item_effect_id effect_id)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "overlay_29_02323918.h"
|
||||
#include "dungeon_util_static.h"
|
||||
|
||||
extern bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, enum exclusive_item_effect_id effect_id);
|
||||
#include "exclusive_item.h"
|
||||
|
||||
bool8 ExclusiveItemEffectIsActive__02323918(struct entity *entity, enum exclusive_item_effect_id effect_id)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "overlay_29_023329E8.h"
|
||||
#include "dungeon_util_static.h"
|
||||
|
||||
extern bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, enum exclusive_item_effect_id effect_id);
|
||||
#include "exclusive_item.h"
|
||||
|
||||
bool8 ExclusiveItemEffectIsActive__023329E8(struct entity *entity, enum exclusive_item_effect_id effect_id)
|
||||
{
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
#include "dungeon_items.h"
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "dungeon_util_static.h"
|
||||
|
||||
extern bool8 ExclusiveItemEffectFlagTest(u32 *effect_flags, enum exclusive_item_effect_id effect_id);
|
||||
#include "exclusive_item.h"
|
||||
|
||||
bool8 ItemIsActive__02347B50(struct entity *entity, enum item_id item_id)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user