diff --git a/notes/ar-codes.txt b/notes/ar-codes.txt index bab6f24d..6c1c4f56 100644 --- a/notes/ar-codes.txt +++ b/notes/ar-codes.txt @@ -70,14 +70,50 @@ Disable serial number validation (untested) 8C2670B6 01E0 Disable item equip restrictions ("God of equip") +3OE0 => 0410521C 38000005 3OE1 => 0410521C 38000005 +3OE2 => 041050E4 38000005 +3OJ2 => 04104F78 38000005 +3OJ3 => 04105154 38000005 +3OJ4 => 04105240 38000005 +3OJ5 => 041050D4 38000005 +3OJT => 0415BF50 38000005 +3OP0 => 041052D4 38000005 59NL => 005C9F31 E9A7000000 All rareable enemies are rare +3OE0 => 040AC944 60000000 // Hildeblue + 040C1B70 60000000 // Rappies + 040C3FC8 60000000 // Nar Lily + 040EB050 48000010 // Pouilly Slime 3OE1 => 040AC944 60000000 // Hildeblue 040C1B70 60000000 // Rappies 040C3FC8 60000000 // Nar Lily 040EB050 48000010 // Pouilly Slime +3OE2 => 040ACAFC 60000000 // Hildeblue + 040C1D08 60000000 // Rappies + 040C4160 60000000 // Nar Lily + 040EB1E8 48000010 // Pouilly Slime +3OJ2 => 040AC6B8 60000000 // Hildeblue + 040C18CC 60000000 // Rappies + 040C3D24 60000000 // Nar Lily + 040EADAC 48000010 // Pouilly Slime +3OJ3 => 040AC9C4 60000000 // Hildeblue + 040C1BD0 60000000 // Rappies + 040C4028 60000000 // Nar Lily + 040EB0B0 48000010 // Pouilly Slime +3OJ4 => 040ACB3C 60000000 // Hildeblue + 040C1E04 60000000 // Rappies + 040C41A0 60000000 // Nar Lily + 040EB374 48000010 // Pouilly Slime +3OJ5 => 040ACAEC 60000000 // Hildeblue + 040C1CF8 60000000 // Rappies + 040C4150 60000000 // Nar Lily + 040EB1D8 48000010 // Pouilly Slime +3OP0 => 040ACAC4 60000000 // Hildeblue + 040C1CD0 60000000 // Rappies + 040C4128 60000000 // Nar Lily + 040EB1B0 48000010 // Pouilly Slime Unlock all songs in BGM test Note: sadly, there are no secret/unused ones @@ -199,6 +235,16 @@ Unlock all COM decks 3SP0 => 042CB414 38600001 3SE0 => 042CA908 38600001 +Enable marker color menu in all lobbies +3OJ2 => 04138200 3800000E +3OJ3 => 04138508 3800000E +3OJ4 => 041390AC 3800000E +3OJ5 => 041385B0 3800000E +3OE0 => 041384BC 3800000E +3OE1 => 041384BC 3800000E +3OE2 => 041385C0 3800000E +3OP0 => 04138840 3800000E + Enable all lobby counter options in non-CARD lobbies 3SE0 => 04096A8C 480000C0 04096B4C 38800007 @@ -219,7 +265,10 @@ Change HUD color mask 0438CA90 6000BBAA Disable lobby event music (but keep the visuals) +3OJT => 040B2394 38000000 3SE0 => 040B705C 38000000 +3SJ0 => 040B7078 38000000 +3SP0 => 040B74A0 38000000 Enable Pinz's Shop Super Card Capsule Machine as a fourth option 3SE0 => 043101C0 38800004 @@ -722,7 +771,14 @@ Show extended item info when targeting a dropped item 04005190 4E800020 All weapons can do 3-hit combos +3OE0 => 041D3248 38000001 3OE1 => 041D3248 38000001 +3OE2 => 041D3448 38000001 +3OJ2 => 041D2DEC 38000001 +3OJ3 => 041D3318 38000001 +3OJ4 => 041D3144 38000001 +3OJ5 => 041D33E4 38000001 +3OP0 => 041D3904 38000001 Disable save file signature validation (for moving Xbox saves across consoles) 4OJB => 002F01CB 9090 diff --git a/src/CommonItemSet.cc b/src/CommonItemSet.cc index 0d8a8bdc..7480b9e8 100644 --- a/src/CommonItemSet.cc +++ b/src/CommonItemSet.cc @@ -48,11 +48,7 @@ void from_json_into(const phosg::JSON& json, parray phosg::JSON to_json(const CommonItemSet::Table::Range& v) { - if (v.min == v.max) { - return phosg::JSON(v.min); - } else { - return phosg::JSON::list({v.min, v.max}); - } + return (v.min == v.max) ? phosg::JSON(v.min) : phosg::JSON::list({v.min, v.max}); } template @@ -820,8 +816,7 @@ JSONCommonItemSet::JSONCommonItemSet(const phosg::JSON& json) { } RELFileSet::RELFileSet(std::shared_ptr data) - : data(data), - r(*this->data) {} + : data(data), r(*this->data) {} ArmorRandomSet::ArmorRandomSet(std::shared_ptr data) : RELFileSet(data) { @@ -849,18 +844,13 @@ ArmorRandomSet::get_unit_table(size_t index) const { ToolRandomSet::ToolRandomSet(std::shared_ptr data) : RELFileSet(data) { uint32_t specs_offset = r.pget_u32b(data->size() - 0x10); - this->common_recovery_table_spec = &r.pget(r.pget_u32b( - specs_offset)); - this->rare_recovery_table_spec = &r.pget( - r.pget_u32b(specs_offset + sizeof(uint32_t)), - 2 * sizeof(TableSpec)); + this->common_recovery_table_spec = &r.pget(r.pget_u32b(specs_offset)); + this->rare_recovery_table_spec = &r.pget(r.pget_u32b(specs_offset + sizeof(uint32_t)), 2 * sizeof(TableSpec)); this->tech_disk_table_spec = this->rare_recovery_table_spec + 1; - this->tech_disk_level_table_spec = &r.pget(r.pget_u32b( - specs_offset + 2 * sizeof(uint32_t))); + this->tech_disk_level_table_spec = &r.pget(r.pget_u32b(specs_offset + 2 * sizeof(uint32_t))); } -pair ToolRandomSet::get_common_recovery_table( - size_t index) const { +pair ToolRandomSet::get_common_recovery_table(size_t index) const { return this->get_table(*this->common_recovery_table_spec, index); } @@ -887,25 +877,21 @@ WeaponRandomSet::WeaponRandomSet(std::shared_ptr data) std::pair WeaponRandomSet::get_weapon_type_table(size_t index) const { - const auto& spec = this->r.pget( - this->offsets->weapon_type_table + index * sizeof(TableSpec)); - const auto* data = &this->r.pget( - spec.offset, spec.entries_per_table * sizeof(WeightTableEntry8)); + const auto& spec = this->r.pget(this->offsets->weapon_type_table + index * sizeof(TableSpec)); + const auto* data = &this->r.pget(spec.offset, spec.entries_per_table * sizeof(WeightTableEntry8)); return make_pair(data, spec.entries_per_table); } const parray* WeaponRandomSet::get_bonus_type_table(size_t which, size_t index) const { uint32_t base_offset = which ? this->offsets->bonus_type_table2 : this->offsets->bonus_type_table1; - return &this->r.pget>( - base_offset + sizeof(parray) * index); + return &this->r.pget>(base_offset + sizeof(parray) * index); } const WeaponRandomSet::RangeTableEntry* WeaponRandomSet::get_bonus_range(size_t which, size_t index) const { uint32_t base_offset = which ? this->offsets->bonus_range_table2 : this->offsets->bonus_range_table1; - return &this->r.pget( - base_offset + sizeof(RangeTableEntry) * index); + return &this->r.pget(base_offset + sizeof(RangeTableEntry) * index); } const parray* @@ -916,19 +902,16 @@ WeaponRandomSet::get_special_mode_table(size_t index) const { const WeaponRandomSet::RangeTableEntry* WeaponRandomSet::get_standard_grind_range(size_t index) const { - return &this->r.pget( - this->offsets->standard_grind_range_table + sizeof(RangeTableEntry) * index); + return &this->r.pget(this->offsets->standard_grind_range_table + sizeof(RangeTableEntry) * index); } const WeaponRandomSet::RangeTableEntry* WeaponRandomSet::get_favored_grind_range(size_t index) const { - return &this->r.pget( - this->offsets->favored_grind_range_table + sizeof(RangeTableEntry) * index); + return &this->r.pget(this->offsets->favored_grind_range_table + sizeof(RangeTableEntry) * index); } TekkerAdjustmentSet::TekkerAdjustmentSet(std::shared_ptr data) - : data(data), - r(*data) { + : data(data), r(*data) { this->offsets = &this->r.pget(this->r.pget_u32b(this->r.size() - 0x10)); }