update some notes
This commit is contained in:
+7
-6
@@ -82,14 +82,14 @@ struct ItemData {
|
||||
// QUICK ITEM FORMAT REFERENCE
|
||||
// data1/0 data1/4 data1/8 data2
|
||||
// Weapon: 00ZZZZGG SSNNAABB AABBAABB 00000000
|
||||
// Armor: 0101ZZ00 FFTTDDDD EEEE0000 00000000
|
||||
// Shield: 0102ZZ00 FFTTDDDD EEEE0000 00000000
|
||||
// Unit: 0103ZZ00 FF00RRRR 00000000 00000000
|
||||
// Armor: 0101ZZ00 FFTTDDDD EEEEXXXX 00000000
|
||||
// Shield: 0102ZZ00 FFTTDDDD EEEEXXXX 00000000
|
||||
// Unit: 0103ZZ00 FF00RRRR 0000XXXX 00000000
|
||||
// Mag: 02ZZLLWW HHHHIIII JJJJKKKK YYQQPPVV
|
||||
// Tool: 03ZZZZUU 00CC0000 00000000 00000000
|
||||
// Tool: 03ZZZZUU 00CC0000 0000XXXX 00000000
|
||||
// Meseta: 04000000 00000000 00000000 MMMMMMMM
|
||||
// A = attribute type (for S-ranks, custom name)
|
||||
// B = attribute amount (for S-ranks, custom name)
|
||||
// A = attribute type (for S-ranks, custom name; last pair is kill count for some weapons)
|
||||
// B = attribute amount (for S-ranks, custom name; last pair is kill count for some weapons)
|
||||
// C = stack size (for tools)
|
||||
// D = DEF bonus
|
||||
// E = EVP bonus
|
||||
@@ -110,6 +110,7 @@ struct ItemData {
|
||||
// U = tool flags (40=present; unused if item is stackable)
|
||||
// V = mag color
|
||||
// W = photon blasts
|
||||
// X = kill count (big-endian; high bit always set)
|
||||
// Y = mag synchro
|
||||
// Z = item ID
|
||||
// Note: PSO GC erroneously byteswaps data2 even when the item is a mag. This
|
||||
|
||||
@@ -679,7 +679,7 @@ void ItemNameIndex::print_table(FILE* stream) const {
|
||||
auto pmt = this->item_parameter_table;
|
||||
|
||||
phosg::fwrite_fmt(stream, "WEAPONS\n");
|
||||
phosg::fwrite_fmt(stream, " CODE => ---ID--- TYPE SKIN POINTS FLAG ATPLO ATPHI ATPRQ MSTRQ ATARQ -MST- GND PH SP ATA SB(S1:AMT1,S2:AMT2) PJ 1X 1Y 2X 2Y CL A1 A2 A3 A4 A5 TB BF V1 ST* USL ---DIVISOR--- NAME\n");
|
||||
phosg::fwrite_fmt(stream, " CODE => ---ID--- TYPE SKIN POINTS FLAG ATPLO ATPHI ATPRQ MSTRQ ATARQ -MST- GND PH SP ATA SB(S1:AMT1,S2:AMT2) PJ 1X 1Y 2X 2Y CL --A1-- A4 A5 TB BF V1 ST* USL ---DIVISOR--- NAME\n");
|
||||
for (size_t data1_1 = 0; data1_1 < pmt->num_weapon_classes; data1_1++) {
|
||||
uint8_t v1_replacement = pmt->get_weapon_v1_replacement(data1_1);
|
||||
float sale_divisor = pmt->get_sale_divisor(0x00, data1_1);
|
||||
@@ -699,7 +699,7 @@ void ItemNameIndex::print_table(FILE* stream) const {
|
||||
string name = this->describe_item(item);
|
||||
|
||||
auto& stat_boost = pmt->get_stat_boost(w.stat_boost_entry_index);
|
||||
phosg::fwrite_fmt(stream, " 00{:02X}{:02X} => {:08X} {:04X} {:04X} {:6} {:04X} {:5} {:5} {:5} {:5} {:5} {:5} {:3} {:02X} {:02X} {:3} {:02X}({:02X}:{:04X},{:02X}:{:04X}) {:02X} {:02X} {:02X} {:02X} {:02X} {:02X} {:02X} {:02X} {:02X} {:02X} {:02X} {:02X} {:02X} {:02X} {:2}* {} {} {}\n",
|
||||
phosg::fwrite_fmt(stream, " 00{:02X}{:02X} => {:08X} {:04X} {:04X} {:6} {:04X} {:5} {:5} {:5} {:5} {:5} {:5} {:3} {:02X} {:02X} {:3} {:02X}({:02X}:{:04X},{:02X}:{:04X}) {:02X} {:02X} {:02X} {:02X} {:02X} {:02X} {:02X}{:02X}{:02X} {:02X} {:02X} {:02X} {:02X} {:02X} {:2}* {} {} {}\n",
|
||||
data1_1,
|
||||
data1_2,
|
||||
w.base.id,
|
||||
@@ -728,9 +728,9 @@ void ItemNameIndex::print_table(FILE* stream) const {
|
||||
w.trail2_x,
|
||||
w.trail2_y,
|
||||
w.color,
|
||||
w.unknown_a1,
|
||||
w.unknown_a2,
|
||||
w.unknown_a3,
|
||||
w.unknown_a1[0],
|
||||
w.unknown_a1[1],
|
||||
w.unknown_a1[2],
|
||||
w.unknown_a4,
|
||||
w.unknown_a5,
|
||||
w.tech_boost,
|
||||
|
||||
@@ -238,8 +238,6 @@ ItemParameterTable::WeaponV4 ItemParameterTable::WeaponGCNTE::to_v4() const {
|
||||
ret.trail2_y = this->trail2_y;
|
||||
ret.color = this->color;
|
||||
ret.unknown_a1 = this->unknown_a1;
|
||||
ret.unknown_a2 = this->unknown_a2;
|
||||
ret.unknown_a3 = this->unknown_a3;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -268,8 +266,6 @@ ItemParameterTable::WeaponV4 ItemParameterTable::WeaponV3T<BE>::to_v4() const {
|
||||
ret.trail2_y = this->trail2_y;
|
||||
ret.color = this->color;
|
||||
ret.unknown_a1 = this->unknown_a1;
|
||||
ret.unknown_a2 = this->unknown_a2;
|
||||
ret.unknown_a3 = this->unknown_a3;
|
||||
ret.unknown_a4 = this->unknown_a4;
|
||||
ret.unknown_a5 = this->unknown_a5;
|
||||
ret.tech_boost = this->tech_boost;
|
||||
|
||||
@@ -120,9 +120,7 @@ public:
|
||||
/* 1E */ int8_t trail2_x = 0;
|
||||
/* 1F */ int8_t trail2_y = 0;
|
||||
/* 20 */ int8_t color = 0;
|
||||
/* 21 */ uint8_t unknown_a1 = 0;
|
||||
/* 22 */ uint8_t unknown_a2 = 0;
|
||||
/* 23 */ uint8_t unknown_a3 = 0;
|
||||
/* 21 */ parray<uint8_t, 3> unknown_a1 = 0;
|
||||
/* 24 */
|
||||
|
||||
WeaponV4 to_v4() const;
|
||||
@@ -149,9 +147,7 @@ public:
|
||||
/* 1E */ int8_t trail2_x = 0;
|
||||
/* 1F */ int8_t trail2_y = 0;
|
||||
/* 20 */ int8_t color = 0;
|
||||
/* 21 */ uint8_t unknown_a1 = 0;
|
||||
/* 22 */ uint8_t unknown_a2 = 0;
|
||||
/* 23 */ uint8_t unknown_a3 = 0;
|
||||
/* 21 */ parray<uint8_t, 3> unknown_a1 = 0;
|
||||
/* 24 */ uint8_t unknown_a4 = 0;
|
||||
/* 25 */ uint8_t unknown_a5 = 0;
|
||||
/* 26 */ uint8_t tech_boost = 0;
|
||||
@@ -191,9 +187,7 @@ public:
|
||||
/* 22 */ int8_t trail2_x = 0;
|
||||
/* 23 */ int8_t trail2_y = 0;
|
||||
/* 24 */ int8_t color = 0;
|
||||
/* 25 */ uint8_t unknown_a1 = 0;
|
||||
/* 26 */ uint8_t unknown_a2 = 0;
|
||||
/* 27 */ uint8_t unknown_a3 = 0;
|
||||
/* 25 */ parray<uint8_t, 3> unknown_a1 = 0;
|
||||
/* 28 */ uint8_t unknown_a4 = 0;
|
||||
/* 29 */ uint8_t unknown_a5 = 0;
|
||||
/* 2A */ uint8_t tech_boost = 0;
|
||||
@@ -691,7 +685,7 @@ public:
|
||||
// This specifies which entry in ItemMagMotion.dat is used. The file is
|
||||
// just a list of 0x64-byte structures. 0xFF = no TItemMagSub is created
|
||||
uint8_t motion_table_entry = 0xFF;
|
||||
parray<uint8_t, 5> unknown_a1;
|
||||
parray<uint8_t, 5> unknown_a1 = 0;
|
||||
} __packed_ws__(Side, 0x06);
|
||||
parray<Side, 2> sides; // [0] = right side, [1] = left side
|
||||
} __packed_ws__(MotionReference, 0x0C);
|
||||
|
||||
Reference in New Issue
Block a user