mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-07-28 07:07:35 -04:00
Attempt to decompile func0f0878c8pf
This commit is contained in:
+286
-124
@@ -61099,7 +61099,23 @@ void propObjGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin)
|
||||
}
|
||||
}
|
||||
|
||||
#if VERSION < VERSION_PAL_FINAL
|
||||
void ammotypeGetPickedUpText(char *dst)
|
||||
{
|
||||
strcat(dst, langGet(L_PROPOBJ_000)); // "Picked up"
|
||||
}
|
||||
#endif
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
struct nameinfo {
|
||||
s32 id;
|
||||
u16 singulartext;
|
||||
u16 pluraltext;
|
||||
u8 unk08[5];
|
||||
};
|
||||
|
||||
struct nameinfo *func0f087888pf(s32 id, struct nameinfo *table);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f087888pf
|
||||
/* f087888: 50a0000d */ beqzl $a1,.PF0f0878c0
|
||||
@@ -61124,135 +61140,132 @@ glabel func0f087888pf
|
||||
);
|
||||
#endif
|
||||
|
||||
#if VERSION < VERSION_PAL_FINAL
|
||||
void ammotypeGetPickedUpText(char *dst)
|
||||
{
|
||||
strcat(dst, langGet(L_PROPOBJ_000)); // "Picked up"
|
||||
}
|
||||
#endif
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
u32 var8006a944pf[] = {
|
||||
0x000003e7, 0x52095246, 0x01010600, 0x07000000,
|
||||
0x00000009, 0x52145215, 0x01010101, 0x01000000,
|
||||
0x00000003, 0x522a5241, 0x01010102, 0x01000000,
|
||||
0x00000005, 0x520a5247, 0x01010201, 0x02000000,
|
||||
0x00000006, 0x522b5242, 0x02010201, 0x01000000,
|
||||
0x00000007, 0x520d524a, 0x01010202, 0x02000000,
|
||||
0x00000008, 0x520f524c, 0x01010201, 0x01000000,
|
||||
0x0000000a, 0x520b5248, 0x01010202, 0x02000000,
|
||||
0x0000000b, 0x520e524b, 0x01010201, 0x02000000,
|
||||
0x0000000c, 0x5211524e, 0x01010202, 0x02000000,
|
||||
0x0000000d, 0x5212524f, 0x01010202, 0x02000000,
|
||||
0x0000000e, 0x52135250, 0x01010202, 0x02000000,
|
||||
0x0000000f, 0x522c5243, 0x01010600, 0x07000000,
|
||||
0x00000010, 0x5210524d, 0x01010201, 0x01000000,
|
||||
0x00000011, 0x52165251, 0x01010201, 0x02000000,
|
||||
0x00000012, 0x52175252, 0x02010202, 0x02000000,
|
||||
0x00000013, 0x52185253, 0x05050105, 0x05000000,
|
||||
0x00000016, 0x52185253, 0x05050105, 0x05000000,
|
||||
0x00000014, 0x522d5244, 0x81018181, 0x81000000,
|
||||
0x00000015, 0x522e5245, 0x01010201, 0x02000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
|
||||
#define DETERMINER_A 1
|
||||
#define DETERMINER_AN 2
|
||||
#define DETERMINER_THE 3
|
||||
#define DETERMINER_4 4
|
||||
#define DETERMINER_SOME5 5
|
||||
#define DETERMINER_SOME6 6
|
||||
#define DETERMINER_SOME7 7
|
||||
#define DETERMINER_8 8
|
||||
#define DETERMINER_YOUR 9
|
||||
|
||||
struct nameinfo var8006a944pf[] = {
|
||||
{ 999, L_PROPOBJ_009, L_PROPOBJ_070, { DETERMINER_A, DETERMINER_A, DETERMINER_SOME6, 0, DETERMINER_SOME7 } },
|
||||
{ AMMOTYPE_KNIFE, L_PROPOBJ_020, L_PROPOBJ_021, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ AMMOTYPE_CROSSBOW, L_PROPOBJ_042, L_PROPOBJ_065, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A } },
|
||||
{ AMMOTYPE_SHOTGUN, L_PROPOBJ_010, L_PROPOBJ_071, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
|
||||
{ AMMOTYPE_FARSIGHT, L_PROPOBJ_043, L_PROPOBJ_066, { DETERMINER_AN, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_A } },
|
||||
{ AMMOTYPE_GRENADE, L_PROPOBJ_013, L_PROPOBJ_074, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ AMMOTYPE_ROCKET, L_PROPOBJ_015, L_PROPOBJ_076, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_A } },
|
||||
{ AMMOTYPE_MAGNUM, L_PROPOBJ_011, L_PROPOBJ_072, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ AMMOTYPE_DEVASTATOR, L_PROPOBJ_014, L_PROPOBJ_075, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
|
||||
{ AMMOTYPE_REMOTE_MINE, L_PROPOBJ_017, L_PROPOBJ_078, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ AMMOTYPE_PROXY_MINE, L_PROPOBJ_018, L_PROPOBJ_079, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ AMMOTYPE_TIMED_MINE, L_PROPOBJ_019, L_PROPOBJ_080, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ AMMOTYPE_REAPER, L_PROPOBJ_044, L_PROPOBJ_067, { DETERMINER_A, DETERMINER_A, DETERMINER_SOME6, 0, DETERMINER_SOME7 } },
|
||||
{ AMMOTYPE_HOMINGROCKET, L_PROPOBJ_016, L_PROPOBJ_077, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_A } },
|
||||
{ AMMOTYPE_DART, L_PROPOBJ_022, L_PROPOBJ_081, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
|
||||
{ AMMOTYPE_NBOMB, L_PROPOBJ_023, L_PROPOBJ_082, { DETERMINER_AN, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ AMMOTYPE_SEDATIVE, L_PROPOBJ_024, L_PROPOBJ_083, { DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_A, DETERMINER_SOME5, DETERMINER_SOME5 } },
|
||||
{ AMMOTYPE_PSYCHOSIS, L_PROPOBJ_024, L_PROPOBJ_083, { DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_A, DETERMINER_SOME5, DETERMINER_SOME5 } },
|
||||
{ AMMOTYPE_CLOAK, L_PROPOBJ_045, L_PROPOBJ_068, { DETERMINER_A | 0x80, DETERMINER_A, DETERMINER_A | 0x80, DETERMINER_A | 0x80, DETERMINER_A | 0x80 } },
|
||||
{ AMMOTYPE_BOOST, L_PROPOBJ_046, L_PROPOBJ_069, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
|
||||
{ 0 },
|
||||
};
|
||||
|
||||
u32 var8006aa94pf[] = {
|
||||
0x00000002, 0x4c070000, 0x01010102, 0x02000000,
|
||||
0x00000003, 0x4c080000, 0x01010102, 0x02000000,
|
||||
0x00000004, 0x4c090000, 0x01010102, 0x02000000,
|
||||
0x00000005, 0x4c0a0000, 0x01010102, 0x02000000,
|
||||
0x00000006, 0x4c0b0000, 0x01010102, 0x02000000,
|
||||
0x00000007, 0x4c0e0000, 0x01010102, 0x02000000,
|
||||
0x00000008, 0x4c0c0000, 0x01010102, 0x02000000,
|
||||
0x00000009, 0x4c0d0000, 0x01010102, 0x02000000,
|
||||
0x0000000a, 0x4c0f0000, 0x01010101, 0x02000000,
|
||||
0x0000000b, 0x4c140000, 0x01010102, 0x02000000,
|
||||
0x0000000c, 0x4c170000, 0x01010102, 0x02000000,
|
||||
0x0000000d, 0x4c160000, 0x02010102, 0x02000000,
|
||||
0x0000000e, 0x4c180000, 0x01010101, 0x02000000,
|
||||
0x0000000f, 0x4c110000, 0x01010102, 0x02000000,
|
||||
0x00000010, 0x4c130000, 0x01010101, 0x02000000,
|
||||
0x00000011, 0x4c100000, 0x02010102, 0x03000000,
|
||||
0x00000012, 0x4c120000, 0x01010102, 0x02000000,
|
||||
0x00000013, 0x4c190000, 0x01010102, 0x02000000,
|
||||
0x00000014, 0x4c1a0000, 0x03010102, 0x01000000,
|
||||
0x00000015, 0x4c200000, 0x01010101, 0x01000000,
|
||||
0x00000016, 0x4c1f0000, 0x01010101, 0x02000000,
|
||||
0x00000017, 0x4c1c0000, 0x01010101, 0x01000000,
|
||||
0x00000018, 0x4c1b0000, 0x01010101, 0x01000000,
|
||||
0x00000019, 0x4c1d0000, 0x01010101, 0x01000000,
|
||||
0x0000001a, 0x4c230000, 0x01010101, 0x01000000,
|
||||
0x0000001b, 0x4c210000, 0x01010202, 0x02000000,
|
||||
0x0000001c, 0x4c220000, 0x01010101, 0x01000000,
|
||||
0x0000001d, 0x4c2f0000, 0x01010101, 0x01000000,
|
||||
0x0000001e, 0x4c240000, 0x01010202, 0x02000000,
|
||||
0x0000001f, 0x4c250000, 0x02010202, 0x02000000,
|
||||
0x00000020, 0x4c260000, 0x01010202, 0x02000000,
|
||||
0x00000021, 0x4c270000, 0x01010202, 0x02000000,
|
||||
0x00000022, 0x4c280000, 0x01010202, 0x02000000,
|
||||
0x00000023, 0x4c4a4cf2, 0x05050505, 0x05000000,
|
||||
0x00000024, 0x4c320000, 0x01010102, 0x02000000,
|
||||
0x00000025, 0x4c330000, 0x01010102, 0x02000000,
|
||||
0x00000026, 0x4c340000, 0x01010102, 0x02000000,
|
||||
0x00000027, 0x4c350000, 0x01010102, 0x02000000,
|
||||
0x00000028, 0x4c360000, 0x01010102, 0x02000000,
|
||||
0x00000029, 0x4c370000, 0x01010101, 0x02000000,
|
||||
0x0000002a, 0x4c380000, 0x02010102, 0x03000000,
|
||||
0x0000002b, 0x4c390000, 0x02010102, 0x02000000,
|
||||
0x0000002c, 0x4c310000, 0x01010102, 0x02000000,
|
||||
0x0000002d, 0x4c3b0000, 0x01010200, 0x00000000,
|
||||
0x0000002e, 0x4c3c0000, 0x09010909, 0x09000000,
|
||||
0x000003e6, 0x4c3d0000, 0x09010909, 0x09000000,
|
||||
0x000003e5, 0x4c3e0000, 0x09010909, 0x09000000,
|
||||
0x0000002f, 0x4c410000, 0x02010101, 0x04000000,
|
||||
0x00000030, 0x4c450000, 0x01010101, 0x04000000,
|
||||
0x00000031, 0x4c490000, 0x01010101, 0x01000000,
|
||||
0x00000032, 0x4c4c0000, 0x02010101, 0x01000000,
|
||||
0x00000035, 0x4c290000, 0x02010202, 0x02000000,
|
||||
0x00000036, 0x4c4b0000, 0x01010101, 0x01000000,
|
||||
0x00000037, 0x4c460000, 0x01010101, 0x01000000,
|
||||
0x00000038, 0x4cdb0000, 0x01010100, 0x00000000,
|
||||
0x00000039, 0x4c3f0000, 0x01010101, 0x01000000,
|
||||
0x0000003a, 0x4cdc0000, 0x01010100, 0x01000000,
|
||||
0x0000003b, 0x4c400000, 0x05050503, 0x00000000,
|
||||
0x0000003c, 0x4cdd0000, 0x01010100, 0x00000000,
|
||||
0x0000003d, 0x4cde0000, 0x01010100, 0x00000000,
|
||||
0x0000003e, 0x4cdf0000, 0x01010100, 0x00000000,
|
||||
0x0000003f, 0x4ce00000, 0x01010100, 0x00000000,
|
||||
0x00000040, 0x4c2b0000, 0x01010101, 0x01000000,
|
||||
0x00000041, 0x4c2b0000, 0x01010101, 0x01000000,
|
||||
0x00000042, 0x4ce10000, 0x01010100, 0x00000000,
|
||||
0x00000043, 0x4ce20000, 0x01010100, 0x00000000,
|
||||
0x00000044, 0x4ce30000, 0x01010100, 0x00000000,
|
||||
0x00000045, 0x4ce40000, 0x01010100, 0x00000000,
|
||||
0x00000046, 0x4ce40000, 0x01010100, 0x00000000,
|
||||
0x00000047, 0x4ce40000, 0x01010100, 0x00000000,
|
||||
0x00000048, 0x4ce40000, 0x01010100, 0x00000000,
|
||||
0x00000049, 0x4ce40000, 0x01010100, 0x00000000,
|
||||
0x0000004a, 0x4ce40000, 0x01010100, 0x00000000,
|
||||
0x0000004b, 0x4ce40000, 0x01010100, 0x00000000,
|
||||
0x0000004c, 0x4ce40000, 0x01010100, 0x00000000,
|
||||
0x0000004d, 0x4c430000, 0x01010202, 0x02000000,
|
||||
0x0000004e, 0x4ce50000, 0x01010201, 0x02000000,
|
||||
0x0000004f, 0x4cf00000, 0x01010500, 0x00000000,
|
||||
0x00000050, 0x4ce60000, 0x01010100, 0x00000000,
|
||||
0x0000005d, 0x4c480000, 0x01010202, 0x02000000,
|
||||
0x00000053, 0x4c2c0000, 0x01010201, 0x01000000,
|
||||
0x00000054, 0x4c2d0000, 0x01010201, 0x01000000,
|
||||
0x00000055, 0x4c2e0000, 0x01010201, 0x02000000,
|
||||
0x00000056, 0x4c300000, 0x01010102, 0x01000000,
|
||||
0x00000057, 0x4c470000, 0x03010201, 0x02000000,
|
||||
0x00000058, 0x4c2c0000, 0x01010201, 0x02000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
struct nameinfo var8006aa94pf[] = {
|
||||
{ WEAPON_FALCON2, L_GUN_007, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_FALCON2_SILENCER, L_GUN_008, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_FALCON2_SCOPE, L_GUN_009, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_MAGSEC4, L_GUN_010, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_MAULER, L_GUN_011, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_PHOENIX, L_GUN_014, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_DY357MAGNUM, L_GUN_012, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_DY357LX, L_GUN_013, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_CMP150, L_GUN_015, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN } },
|
||||
{ WEAPON_CYCLONE, L_GUN_020, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_CALLISTO, L_GUN_023, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_RCP120, L_GUN_022, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_LAPTOPGUN, L_GUN_024, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN } },
|
||||
{ WEAPON_DRAGON, L_GUN_017, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_K7AVENGER, L_GUN_019, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN } },
|
||||
{ WEAPON_AR34, L_GUN_016, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_THE } },
|
||||
{ WEAPON_SUPERDRAGON, L_GUN_018, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_SHOTGUN, L_GUN_025, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_REAPER, L_GUN_026, 0, { DETERMINER_THE, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A } },
|
||||
{ WEAPON_SNIPERRIFLE, L_GUN_032, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_FARSIGHT, L_GUN_031, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN } },
|
||||
{ WEAPON_DEVASTATOR, L_GUN_028, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_ROCKETLAUNCHER, L_GUN_027, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_SLAYER, L_GUN_029, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_COMBATKNIFE, L_GUN_035, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_CROSSBOW, L_GUN_033, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_TRANQUILIZER, L_GUN_034, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_LASER, L_GUN_047, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_GRENADE, L_GUN_036, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_NBOMB, L_GUN_037, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_TIMEDMINE, L_GUN_038, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_PROXIMITYMINE, L_GUN_039, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_REMOTEMINE, L_GUN_040, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_COMBATBOOST, L_GUN_074, L_GUN_242, { DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_SOME5 } },
|
||||
{ WEAPON_PP9I, L_GUN_050, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_CC13, L_GUN_051, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_KL01313, L_GUN_052, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_KF7SPECIAL, L_GUN_053, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_ZZT, L_GUN_054, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_DMC, L_GUN_055, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN } },
|
||||
{ WEAPON_AR53, L_GUN_056, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_THE } },
|
||||
{ WEAPON_RCP45, L_GUN_057, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_PSYCHOSISGUN, L_GUN_049, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_NIGHTVISION, L_GUN_059, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, 0, 0 } },
|
||||
{ WEAPON_EYESPY, L_GUN_060, 0, { DETERMINER_YOUR, DETERMINER_A, DETERMINER_YOUR, DETERMINER_YOUR, DETERMINER_YOUR } },
|
||||
{ 998, L_GUN_061, 0, { DETERMINER_YOUR, DETERMINER_A, DETERMINER_YOUR, DETERMINER_YOUR, DETERMINER_YOUR } },
|
||||
{ 997, L_GUN_062, 0, { DETERMINER_YOUR, DETERMINER_A, DETERMINER_YOUR, DETERMINER_YOUR, DETERMINER_YOUR } },
|
||||
{ WEAPON_XRAYSCANNER, L_GUN_065, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_4 } },
|
||||
{ WEAPON_IRSCANNER, L_GUN_069, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_4 } },
|
||||
{ WEAPON_CLOAKINGDEVICE, L_GUN_073, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_HORIZONSCANNER, L_GUN_076, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_ECMMINE, L_GUN_041, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_DATAUPLINK, L_GUN_075, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_RTRACKER, L_GUN_070, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_PRESIDENTSCANNER, L_GUN_219, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_DOORDECODER, L_GUN_063, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_AUTOSURGEON, L_GUN_220, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, DETERMINER_A } },
|
||||
{ WEAPON_EXPLOSIVES, L_GUN_064, 0, { DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_THE, 0 } },
|
||||
{ WEAPON_SKEDARBOMB, L_GUN_221, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_COMMSRIDER, L_GUN_222, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_TRACERBUG, L_GUN_223, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_TARGETAMPLIFIER, L_GUN_224, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_DISGUISE40, L_GUN_043, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_DISGUISE41, L_GUN_043, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_FLIGHTPLANS, L_GUN_225, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_RESEARCHTAPE, L_GUN_226, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_BACKUPDISK, L_GUN_227, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_KEYCARD45, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_KEYCARD46, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_KEYCARD47, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_KEYCARD48, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_KEYCARD49, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_KEYCARD4A, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_KEYCARD4B, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_KEYCARD4C, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_SUITCASE, L_GUN_067, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_BRIEFCASE, L_GUN_229, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
|
||||
{ WEAPON_SHIELDTECHITEM, L_GUN_240, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_SOME5, 0, 0 } },
|
||||
{ WEAPON_NECKLACE, L_GUN_230, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
|
||||
{ WEAPON_SUICIDEPILL, L_GUN_072, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
|
||||
{ WEAPON_ROCKET, L_GUN_044, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_HOMINGROCKET, L_GUN_045, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_A } },
|
||||
{ WEAPON_GRENADEROUND, L_GUN_046, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
|
||||
{ WEAPON_BOLT, L_GUN_048, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A } },
|
||||
{ WEAPON_BRIEFCASE2, L_GUN_071, 0, { DETERMINER_THE, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
|
||||
{ WEAPON_SKROCKET, L_GUN_044, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
|
||||
{ 0 },
|
||||
};
|
||||
|
||||
const char varf71ab2f8pf[] = "%s%s";
|
||||
const char varf71ab300pf[] = "%s";
|
||||
const char varf71ab304pf[] = "%s%s.\n";
|
||||
const char varf71ab30cpf[] = "%s.\n";
|
||||
|
||||
void func0f0878c8pf(char *dst, s32 ammotype, s32 qty, bool full, u32 arg4, u32 *arg5);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0878c8pf
|
||||
.late_rodata
|
||||
@@ -61554,6 +61567,155 @@ glabel var7f1abe2cpf
|
||||
/* f087c74: 03e00008 */ jr $ra
|
||||
/* f087c78: 00000000 */ nop
|
||||
);
|
||||
|
||||
const char varf71ab2f8pf[] = "%s%s";
|
||||
const char varf71ab300pf[] = "%s";
|
||||
const char varf71ab304pf[] = "%s%s.\n";
|
||||
const char varf71ab30cpf[] = "%s.\n";
|
||||
|
||||
// Mismatch: determiner needs to be copied into t8 for the first switch
|
||||
//void func0f0878c8pf(char *dst, s32 id, bool plural, bool full, bool dual, struct nameinfo *table)
|
||||
//{
|
||||
// struct nameinfo *info;
|
||||
// u8 *ptr;
|
||||
// s32 languageid = g_LanguageId;
|
||||
// u16 nametextid = 0;
|
||||
// u16 determinertextid = 0;
|
||||
// s32 index = 0;
|
||||
// u8 buffer[100];
|
||||
//
|
||||
// if (languageid > LANGUAGE_PAL_ES) {
|
||||
// languageid = LANGUAGE_PAL_EN;
|
||||
// }
|
||||
//
|
||||
// *dst = '\0';
|
||||
//
|
||||
// info = func0f087888pf(id, table);
|
||||
//
|
||||
// if (info != NULL) {
|
||||
// s32 determiner = info->unk08[languageid] & 0x7f;
|
||||
//
|
||||
// switch (info->unk08[languageid] & 0x7f) {
|
||||
// case DETERMINER_SOME5:
|
||||
// case DETERMINER_SOME6:
|
||||
// case DETERMINER_SOME7:
|
||||
// case DETERMINER_8:
|
||||
// plural = true;
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// if (info->unk08[languageid] & 0x80) {
|
||||
// switch (info->unk08[languageid] & 0x7f) {
|
||||
// case DETERMINER_A:
|
||||
// case DETERMINER_AN:
|
||||
// case DETERMINER_THE:
|
||||
// case DETERMINER_4:
|
||||
// plural = false;
|
||||
// break;
|
||||
// case DETERMINER_SOME5:
|
||||
// plural = true;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (plural) {
|
||||
// if (info->pluraltext) {
|
||||
// nametextid = info->pluraltext;
|
||||
//
|
||||
// switch (info->unk08[languageid] & 0x7f) {
|
||||
// case DETERMINER_A:
|
||||
// determiner = DETERMINER_SOME5;
|
||||
// break;
|
||||
// case DETERMINER_AN:
|
||||
// determiner = DETERMINER_SOME6;
|
||||
// break;
|
||||
// case DETERMINER_THE:
|
||||
// determiner = DETERMINER_SOME7;
|
||||
// break;
|
||||
// case DETERMINER_4:
|
||||
// determiner = DETERMINER_8;
|
||||
// break;
|
||||
// }
|
||||
// } else {
|
||||
// nametextid = info->singulartext;
|
||||
// }
|
||||
// } else {
|
||||
// nametextid = info->singulartext;
|
||||
// }
|
||||
//
|
||||
// if (nametextid != 0) {
|
||||
// switch (determiner) {
|
||||
// case DETERMINER_A:
|
||||
// determinertextid = full ? L_PROPOBJ_058 : L_PROPOBJ_057; // "A", "a"
|
||||
// break;
|
||||
// case DETERMINER_AN:
|
||||
// determinertextid = full ? L_PROPOBJ_060 : L_PROPOBJ_059; // "An", "an"
|
||||
// index = 1;
|
||||
// break;
|
||||
// case DETERMINER_THE:
|
||||
// determinertextid = full ? L_PROPOBJ_062 : L_PROPOBJ_061; // "The", "the"
|
||||
// index = 2;
|
||||
// break;
|
||||
// case DETERMINER_4:
|
||||
// determinertextid = full ? L_PROPOBJ_064 : L_PROPOBJ_063; // "", ""
|
||||
// index = 3;
|
||||
// break;
|
||||
// case DETERMINER_SOME5:
|
||||
// determinertextid = full ? L_PROPOBJ_050 : L_PROPOBJ_049; // "Some", "some"
|
||||
// index = 4;
|
||||
// break;
|
||||
// case DETERMINER_SOME6:
|
||||
// determinertextid = full ? L_PROPOBJ_052 : L_PROPOBJ_051; // "Some", "some"
|
||||
// index = 5;
|
||||
// break;
|
||||
// case DETERMINER_SOME7:
|
||||
// determinertextid = full ? L_PROPOBJ_054 : L_PROPOBJ_053; // "Some", "some"
|
||||
// index = 6;
|
||||
// break;
|
||||
// case DETERMINER_8:
|
||||
// determinertextid = full ? L_PROPOBJ_056 : L_PROPOBJ_055; // "", ""
|
||||
// index = 7;
|
||||
// break;
|
||||
// case DETERMINER_YOUR:
|
||||
// determinertextid = full ? L_PROPOBJ_048 : L_PROPOBJ_047; // "Your", "your"
|
||||
// index = 1;
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// if (!full && languageid == LANGUAGE_PAL_DE) {
|
||||
// determinertextid = 0;
|
||||
// }
|
||||
//
|
||||
// if (dual) {
|
||||
// determinertextid = 0;
|
||||
// }
|
||||
//
|
||||
// if (determinertextid) {
|
||||
// sprintf(buffer, "%s%s", langGet(determinertextid), langGet(nametextid));
|
||||
// } else {
|
||||
// sprintf(buffer, "%s", langGet(nametextid));
|
||||
// }
|
||||
//
|
||||
// ptr = buffer;
|
||||
//
|
||||
// while (*ptr != '\0') {
|
||||
// if (*ptr == '\n') {
|
||||
// *ptr = '\0';
|
||||
// } else {
|
||||
// ptr++;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (dual) {
|
||||
// sprintf(dst, "%s%s.\n", langGet(L_PROPOBJ_008), buffer); // "Double"
|
||||
// } else if (!full) {
|
||||
// sprintf(dst, langGet(L_PROPOBJ_000 + index), buffer); // "Picked up %s.\n"
|
||||
// } else {
|
||||
// sprintf(dst, "%s.\n", buffer);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
#endif
|
||||
|
||||
#if VERSION < VERSION_PAL_FINAL
|
||||
|
||||
Reference in New Issue
Block a user