diff --git a/config/GM8E01_00/symbols.txt b/config/GM8E01_00/symbols.txt index 18082ea0..3a0ffb88 100644 --- a/config/GM8E01_00/symbols.txt +++ b/config/GM8E01_00/symbols.txt @@ -2362,24 +2362,24 @@ __ct__3CAiF9TUniqueIdbRCQ24rstl66basic_string,Q24rstl1 GetTriggerFunc__10CAiFuncMapCFPCc = .text:0x800A311C; // type:function size:0xDC scope:global GetStateFunc__10CAiFuncMapCFPCc = .text:0x800A31F8; // type:function size:0x134 scope:global __ct__10CAiFuncMapFv = .text:0x800A332C; // type:function size:0x244 scope:global -sort,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl208pointer_iterator,Q24rstl94vector,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl188pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemor = .text:0x800A3774; // type:function size:0x204 scope:global -lower_bound,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,PCc,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,PCc,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_all = .text:0x800A3A40; // type:function size:0xC8 scope:global +sort,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl208pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl208pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A3570; // type:function size:0x204 scope:global +sort,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl188pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl188pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A3774; // type:function size:0x204 scope:global +lower_bound,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,PCc,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>RCPCcQ24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A3978; // type:function size:0xC8 scope:global +lower_bound,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,PCc,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>RCPCcQ24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A3A40; // type:function size:0xC8 scope:global reserve__Q24rstl94vector,Q24rstl17rmemory_allocator>Fi = .text:0x800A3B08; // type:function size:0x108 scope:global reserve__Q24rstl84vector,Q24rstl17rmemory_allocator>Fi = .text:0x800A3C10; // type:function size:0x108 scope:global advance,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,i>__4rstlFRQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>i = .text:0x800A3D18; // type:function size:0x2C scope:global advance,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,i>__4rstlFRQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>i = .text:0x800A3D44; // type:function size:0x2C scope:global __advance,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,i>__4rstlFRQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>iQ24rstl26random_access_iterator_tag = .text:0x800A3D70; // type:function size:0x14 scope:global __advance,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,i>__4rstlFRQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>iQ24rstl26random_access_iterator_tag = .text:0x800A3D84; // type:function size:0x14 scope:global -distance,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl214const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl194const_pointer_iterator,Q = .text:0x800A3DDC; // type:function size:0x44 scope:global -__distance,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl214const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl194const_pointer_iterator = .text:0x800A3E38; // type:function size:0x18 scope:global +distance,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator> = .text:0x800A3D98; // type:function size:0x44 scope:global +distance,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator> = .text:0x800A3DDC; // type:function size:0x44 scope:global +__distance,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl26random_access_iterator_tag = .text:0x800A3E20; // type:function size:0x18 scope:global +__distance,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl26random_access_iterator_tag = .text:0x800A3E38; // type:function size:0x18 scope:global __sort3,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFRQ24rstl40pairRQ24rstl40pairRQ24rstl40pairQ24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A3E50; // type:function size:0x168 scope:global __sort3,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFRQ24rstl50pairRQ24rstl50pairRQ24rstl50pairQ24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A3FB8; // type:function size:0x168 scope:global -__insertion_sort,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl188pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24 = .text:0x800A4120; // type:function size:0xD4 scope:global -__insertion_sort,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl208pointer_iterator,Q24rstl94vector,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl188pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl188pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A4120; // type:function size:0xD4 scope:global +__insertion_sort,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl208pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl208pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A41F4; // type:function size:0xD4 scope:global __sinit_CAi_cpp = .text:0x800A42C8; // type:function size:0x1074 scope:local CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp> = .text:0x800A533C; // type:function size:0x2C scope:global __ct__25TPatternedCast<8CWarWasp>FP7CEntity = .text:0x800A5368; // type:function size:0x8 scope:global @@ -18147,7 +18147,7 @@ __vt__14CScriptCounter = .data:0x803DAEF0; // type:object size:0x20 scope:global lbl_803DAF38 = .data:0x803DAF38; // type:object size:0x10 lbl_803DAF48 = .data:0x803DAF48; // type:object size:0x10 lbl_803DAF58 = .data:0x803DAF58; // type:object size:0xD74 data:4byte -lbl_803DBCCC = .data:0x803DBCCC; // type:object size:0x294 +__vt__3CAi = .data:0x803DBCCC; // type:object size:0x294 __vt__19TCastToPtr<6CActor> = .data:0x803DBF60; // type:object size:0xEC scope:weak __vt__18TCastToPtr<5CBomb> = .data:0x803DC04C; // type:object size:0xEC scope:weak __vt__30TCastToPtr<16CCinematicCamera> = .data:0x803DC138; // type:object size:0xEC scope:weak @@ -21639,7 +21639,7 @@ lbl_805A8E68 = .sbss:0x805A8E68; // type:object size:0x4 data:4byte lbl_805A8E6C = .sbss:0x805A8E6C; // type:object size:0x1 data:byte lbl_805A8E70 = .sbss:0x805A8E70; // type:object size:0x4 data:4byte lbl_805A8E74 = .sbss:0x805A8E74; // type:object size:0x1 data:byte -lbl_805A8E78 = .sbss:0x805A8E78; // type:object size:0x4 data:4byte +mFuncMap__3CAi = .sbss:0x805A8E78; // type:object size:0x4 data:4byte lbl_805A8E7C = .sbss:0x805A8E7C; // type:object size:0x1 data:byte lbl_805A8E80 = .sbss:0x805A8E80; // type:object size:0x1 data:byte lbl_805A8E84 = .sbss:0x805A8E84; // type:object size:0x1 data:byte diff --git a/config/GM8E01_01/symbols.txt b/config/GM8E01_01/symbols.txt index 411ce4cf..ececa85b 100644 --- a/config/GM8E01_01/symbols.txt +++ b/config/GM8E01_01/symbols.txt @@ -2362,24 +2362,24 @@ __ct__3CAiF9TUniqueIdbRCQ24rstl66basic_string,Q24rstl1 GetTriggerFunc__10CAiFuncMapCFPCc = .text:0x800A3198; // type:function size:0xDC scope:global GetStateFunc__10CAiFuncMapCFPCc = .text:0x800A3274; // type:function size:0x134 scope:global __ct__10CAiFuncMapFv = .text:0x800A33A8; // type:function size:0x244 scope:global -sort,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl208pointer_iterator,Q24rstl94vector,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl188pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemor = .text:0x800A37F0; // type:function size:0x204 scope:global -lower_bound,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,PCc,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,PCc,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_all = .text:0x800A3ABC; // type:function size:0xC8 scope:global +sort,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl208pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl208pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A35EC; // type:function size:0x204 scope:global +sort,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl188pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl188pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A37F0; // type:function size:0x204 scope:global +lower_bound,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,PCc,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>RCPCcQ24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A39F4; // type:function size:0xC8 scope:global +lower_bound,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,PCc,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>RCPCcQ24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A3ABC; // type:function size:0xC8 scope:global reserve__Q24rstl94vector,Q24rstl17rmemory_allocator>Fi = .text:0x800A3B84; // type:function size:0x108 scope:global reserve__Q24rstl84vector,Q24rstl17rmemory_allocator>Fi = .text:0x800A3C8C; // type:function size:0x108 scope:global advance,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,i>__4rstlFRQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>i = .text:0x800A3D94; // type:function size:0x2C scope:global advance,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,i>__4rstlFRQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>i = .text:0x800A3DC0; // type:function size:0x2C scope:global __advance,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,i>__4rstlFRQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>iQ24rstl26random_access_iterator_tag = .text:0x800A3DEC; // type:function size:0x14 scope:global __advance,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,i>__4rstlFRQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>iQ24rstl26random_access_iterator_tag = .text:0x800A3E00; // type:function size:0x14 scope:global -distance,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl214const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl194const_pointer_iterator,Q = .text:0x800A3E58; // type:function size:0x44 scope:global -__distance,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl214const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl194const_pointer_iterator = .text:0x800A3EB4; // type:function size:0x18 scope:global +distance,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator> = .text:0x800A3E14; // type:function size:0x44 scope:global +distance,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator> = .text:0x800A3E58; // type:function size:0x44 scope:global +__distance,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl214const_pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl26random_access_iterator_tag = .text:0x800A3E9C; // type:function size:0x18 scope:global +__distance,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>>__4rstlFQ24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl194const_pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl26random_access_iterator_tag = .text:0x800A3EB4; // type:function size:0x18 scope:global __sort3,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFRQ24rstl40pairRQ24rstl40pairRQ24rstl40pairQ24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A3ECC; // type:function size:0x168 scope:global __sort3,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFRQ24rstl50pairRQ24rstl50pairRQ24rstl50pairQ24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A4034; // type:function size:0x168 scope:global -__insertion_sort,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl188pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24 = .text:0x800A419C; // type:function size:0xD4 scope:global -__insertion_sort,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl208pointer_iterator,Q24rstl94vector,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl188pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl188pointer_iterator,Q24rstl84vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl101pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A419C; // type:function size:0xD4 scope:global +__insertion_sort,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less>>__4rstlFQ24rstl208pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl208pointer_iterator,Q24rstl94vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl111pair_sorter_finder,Q217@unnamed@CAi_cpp@9cstr_less> = .text:0x800A4270; // type:function size:0xD4 scope:global __sinit_CAi_cpp = .text:0x800A4344; // type:function size:0x1074 scope:global CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp> = .text:0x800A53B8; // type:function size:0x2C scope:global __ct__25TPatternedCast<8CWarWasp>FP7CEntity = .text:0x800A53E4; // type:function size:0x8 scope:global diff --git a/include/Collision/CMaterialFilter.hpp b/include/Collision/CMaterialFilter.hpp index f819c301..78636114 100644 --- a/include/Collision/CMaterialFilter.hpp +++ b/include/Collision/CMaterialFilter.hpp @@ -20,6 +20,8 @@ public: CMaterialFilter(const CMaterialList& include, const CMaterialList& exclude, EFilterType type) : include(include), exclude(exclude), type(type) {} + const CMaterialList& GetIncludeList() const { return include; } + const CMaterialList& GetExcludeList() const { return exclude; } static CMaterialFilter MakeInclude(const CMaterialList& include) { return CMaterialFilter(include, CMaterialList(), kFT_Include); } diff --git a/include/Collision/CMaterialList.hpp b/include/Collision/CMaterialList.hpp index 7acf7268..aa28254a 100644 --- a/include/Collision/CMaterialList.hpp +++ b/include/Collision/CMaterialList.hpp @@ -106,9 +106,8 @@ public: void Add(const CMaterialList& material) { value |= material.value; } void Remove(EMaterialTypes material) { value &= ~(u64(1) << material); } void Remove(const CMaterialList& material) { value &= ~material.value; } - const CMaterialList& Union(const CMaterialList& other) { - value |= other.value; - return *this; + const CMaterialList Union(const CMaterialList& other) const { + return CMaterialList(value | other.value); } bool HasMaterial(EMaterialTypes material) const { return (value & (u64(1) << material)) ? true : false; diff --git a/include/Kyoto/Streams/CInputStream.hpp b/include/Kyoto/Streams/CInputStream.hpp index a0467063..4028e770 100644 --- a/include/Kyoto/Streams/CInputStream.hpp +++ b/include/Kyoto/Streams/CInputStream.hpp @@ -12,7 +12,7 @@ template < typename T > T cinput_stream_helper(const TType< T >& type, CInputStream& in); template < typename T > -inline TType< T > TGetType() { +inline TType< T > TGetType(const T&) { return TType< T >(); } @@ -35,7 +35,7 @@ public: template < typename T > inline T Get(const TType< T >& type = TType< T >()) { - return cinput_stream_helper(type, *this); + return cinput_stream_helper(TType< T >(), *this); } bool ReadPackedBool() { return ReadBits(1) != 0; } @@ -119,10 +119,10 @@ inline rstl::pair< L, R > cinput_stream_helper(const TType< rstl::pair< L, R > > template < typename T, typename Alloc > inline rstl::vector< T, Alloc >::vector(CInputStream& in, const Alloc& allocator) : x4_count(0), x8_capacity(0), xc_items(nullptr) { - int count = in.Get< int >(); + int count = in.Get(TGetType(0)); reserve(count); for (int i = 0; i < count; i++) { - push_back(in.Get(TGetType< T >())); + push_back(in.Get(TType< T >())); } } diff --git a/include/MetroidPrime/CActor.hpp b/include/MetroidPrime/CActor.hpp index e8fe2d4c..8a16a92c 100644 --- a/include/MetroidPrime/CActor.hpp +++ b/include/MetroidPrime/CActor.hpp @@ -10,7 +10,6 @@ #include "MetroidPrime/CEntity.hpp" #include "MetroidPrime/CModelData.hpp" - #include "Kyoto/Audio/CSfxHandle.hpp" #include "Kyoto/Graphics/CColor.hpp" #include "Kyoto/Graphics/CModelFlags.hpp" @@ -81,8 +80,7 @@ public: virtual CVector3f GetHomingPosition(const CStateManager&, float) const; virtual CVector3f GetScanObjectIndicatorPosition(const CStateManager&) const; virtual EWeaponCollisionResponseTypes GetCollisionResponseType(const CVector3f&, const CVector3f&, - const CWeaponMode&, - int) const; + const CWeaponMode&, int) const; virtual void FluidFXThink(EFluidState, CScriptWater&, CStateManager&); virtual void OnScanStateChange(EScanState, CStateManager&); virtual CAABox GetSortingBounds(const CStateManager&) const; diff --git a/include/MetroidPrime/CPhysicsActor.hpp b/include/MetroidPrime/CPhysicsActor.hpp index 6f633a6d..590612a2 100644 --- a/include/MetroidPrime/CPhysicsActor.hpp +++ b/include/MetroidPrime/CPhysicsActor.hpp @@ -112,7 +112,7 @@ public: CVector3f GetPrimitiveOffset() const; const bool IsStandardCollider() const { return xf9_standardCollider; } // name and type? - void SetStandardCollider(const bool v) { xf9_standardCollider = v; } // name and type? + void SetStandardCollider(const bool v) { xf9_standardCollider = v; } // name and type? const CVector3f& GetConstantForceWR() const { return xfc_constantForce; } void SetConstantForceWR(const CVector3f& force) { xfc_constantForce = force; } const CAxisAngle& GetAngularMomentumWR() const { return x108_angularMomentum; } diff --git a/include/MetroidPrime/Enemies/CAi.hpp b/include/MetroidPrime/Enemies/CAi.hpp index 044df876..f3e50e82 100644 --- a/include/MetroidPrime/Enemies/CAi.hpp +++ b/include/MetroidPrime/Enemies/CAi.hpp @@ -14,20 +14,22 @@ class CStateMachine; class CAi : public CPhysicsActor { public: - // static void CreateFuncLookup(CAiFuncMap* funcMap); + static void CreateFuncLookup(CAiFuncMap* funcMap); static CAiStateFunc GetStateFunc(const char* func); static CAiTriggerFunc GetTriggerFunc(const char* func); // const CStateMachine* GetStateMachine() const; + CAi(TUniqueId, bool, const rstl::string&, const CEntityInfo&, const CTransform4f&, + const CModelData&, const CAABox&, float, const CHealthInfo&, const CDamageVulnerability&, + const CMaterialList&, unsigned int, const CActorParameters&, float, float); ~CAi(); - void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&) override; + void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId other, CStateManager& mgr) override; CHealthInfo* HealthInfo(CStateManager&) override; - const CDamageVulnerability* GetDamageVulnerability() const override { return nullptr; } + const CDamageVulnerability* GetDamageVulnerability() const override; + EWeaponCollisionResponseTypes GetCollisionResponseType(const CVector3f&, const CVector3f&, - const CWeaponMode&, - int) const override; + const CWeaponMode&, int) const override; void FluidFXThink(EFluidState, CScriptWater&, CStateManager&) override; - ; virtual void Death(CStateManager& mgr, const CVector3f& direction, EScriptObjectState state) = 0; virtual void KnockBack(const CVector3f&, CStateManager&, const CDamageInfo& info, @@ -168,7 +170,9 @@ public: private: CHealthInfo x258_healthInfo; CDamageVulnerability x260_damageVulnerability; - TLockedToken< CStateMachine > x2c8_stateMachine; + TCachedToken< CStateMachine > x2c8_stateMachine; + + static CAiFuncMap* mFuncMap; }; #endif // _CAI diff --git a/include/MetroidPrime/Enemies/CAiFuncMap.hpp b/include/MetroidPrime/Enemies/CAiFuncMap.hpp index ce2ff64a..d9ed2f01 100644 --- a/include/MetroidPrime/Enemies/CAiFuncMap.hpp +++ b/include/MetroidPrime/Enemies/CAiFuncMap.hpp @@ -2,6 +2,8 @@ #define _CAIFUNCMAP #include "types.h" +#include +#include enum EStateMsg { kStateMsg_Activate = 0, @@ -19,8 +21,12 @@ public: CAiFuncMap(); ~CAiFuncMap(); + CAiStateFunc GetStateFunc(const char* state) const; + CAiTriggerFunc GetTriggerFunc(const char* state) const; + private: - uchar pad[0x20]; + rstl::vector< rstl::pair< const char*, CAiStateFunc > > x0_states; + rstl::vector< rstl::pair< const char*, CAiTriggerFunc > > x10_triggers; }; #endif // _CAIFUNCMAP diff --git a/include/rstl/algorithm.hpp b/include/rstl/algorithm.hpp index 91104199..aef20e51 100644 --- a/include/rstl/algorithm.hpp +++ b/include/rstl/algorithm.hpp @@ -38,7 +38,8 @@ void sort(It first, It last, Cmp cmp); // TODO template < typename It, class Cmp > void __insertion_sort(It first, It last, Cmp cmp) { - for (It next = first + 1; next < last; ++next) { + It next = first; + for (++next; next < last; ++next) { typename iterator_traits< It >::value_type value = *next; It t1 = next - 1; @@ -71,7 +72,7 @@ template < typename It, class Cmp > void sort(It first, It last, Cmp cmp) { int count = last - first; // use distance? if (count > 1) { - if (count <= 20) { + if (count > 20) { __insertion_sort(first, last, cmp); } else { It pivot = first + count / 2; @@ -147,18 +148,21 @@ public: bool operator()(const pair< K, V >& a, const pair< K, V >& b) const; }; -template -inline pair_sorter_finder< typename T::value_type, less< typename select1st< typename T::value_type >::value_type > > default_pair_sorter_finder() -{ - less< typename select1st< typename T::value_type >::value_type > l; - pair_sorter_finder< typename T::value_type, less< typename select1st< typename T::value_type >::value_type > > a(l); - return a; +template < typename T > +inline pair_sorter_finder< typename T::value_type, + less< typename select1st< typename T::value_type >::value_type > > +default_pair_sorter_finder() { + less< typename select1st< typename T::value_type >::value_type > l; + pair_sorter_finder< typename T::value_type, + less< typename select1st< typename T::value_type >::value_type > > + a(l); + return a; } template < typename K, typename V, typename Cmp > inline bool pair_sorter_finder< pair< K, V >, Cmp >::operator()(const K& a, const pair< K, V >& b) const { - return cmp(a, b.first); + return !!cmp(a, b.first); } template < typename K, typename V, typename Cmp > @@ -184,6 +188,14 @@ typename T::const_iterator inline find_by_key( return binary_find(container.begin(), container.end(), key, default_pair_sorter_finder< T >()); } +template < typename T, class Cmp > +typename T::const_iterator inline find_by_key( + const T& container, const typename select1st< typename T::value_type >::value_type& key, + Cmp cmp) { + return binary_find(container.begin(), container.end(), key, + pair_sorter_finder< typename T::value_type, Cmp >(cmp)); +} + template < typename T > typename T::iterator find_by_key_nc(T& container, const typename select1st< typename T::value_type >::value_type& key); @@ -194,6 +206,11 @@ typename T::iterator inline find_by_key_nc( return binary_find(container.begin(), container.end(), key, default_pair_sorter_finder< T >()); } +template < typename T, class Cmp > +inline void sort_by_key(T& container, Cmp cmp) { + sort(container.begin(), container.end(), pair_sorter_finder< typename T::value_type, Cmp >(cmp)); +} + } // namespace rstl #endif // _RSTL_ALGORITHM diff --git a/include/rstl/iterator.hpp b/include/rstl/iterator.hpp index 6b53dec4..cd29d79e 100644 --- a/include/rstl/iterator.hpp +++ b/include/rstl/iterator.hpp @@ -21,7 +21,7 @@ typename It::difference_type __distance(It first, It last, forward_iterator_tag) } template < typename It > -inline typename It::difference_type distance(It first, It last) { +typename It::difference_type distance(It first, It last) { return __distance(first, last, typename It::iterator_category()); } @@ -33,7 +33,7 @@ void __advance(It& it, S count, forward_iterator_tag) { } template < typename It, typename S > -inline void advance(It& it, S count) { +void advance(It& it, S count) { return __advance(it, count, typename It::iterator_category()); } diff --git a/include/rstl/pointer_iterator.hpp b/include/rstl/pointer_iterator.hpp index 58864930..2f333600 100644 --- a/include/rstl/pointer_iterator.hpp +++ b/include/rstl/pointer_iterator.hpp @@ -84,9 +84,7 @@ public: ++this->current; return *this; } - pointer_iterator operator++(int) { - return *this += 1; - } + pointer_iterator operator++(int) { return *this += 1; } pointer_iterator& operator--() { --this->current; return *this; @@ -100,12 +98,8 @@ public: this->current -= v; return *this; } - pointer_iterator operator+(int v) const { - return pointer_iterator(this->current + v); - } - pointer_iterator operator-(int v) const { - return pointer_iterator(this->current - v); - } + pointer_iterator operator+(int v) const { return pointer_iterator(this->current + v); } + pointer_iterator operator-(int v) const { return pointer_iterator(this->current - v); } // HACK: non-const operator- is required to match vector::insert difference_type operator-(const pointer_iterator& other) { return this->current - other.current; } }; @@ -116,7 +110,7 @@ struct const_counting_iterator { int count; const_counting_iterator(const T* ptr, int count) : ptr(ptr), count(count) {} - + const_counting_iterator& operator++() { ++this->count; return *this; @@ -124,12 +118,12 @@ struct const_counting_iterator { }; template < typename It > -inline typename It::difference_type __distance(It first, It last, random_access_iterator_tag) { +typename It::difference_type __distance(It first, It last, random_access_iterator_tag) { return last - first; } template < typename It, typename S > -inline void __advance(It& it, S count, random_access_iterator_tag) { +void __advance(It& it, S count, random_access_iterator_tag) { it += count; } @@ -137,13 +131,13 @@ template < typename T > struct iterator_traits {}; template < typename T > -struct iterator_traits { +struct iterator_traits< T* > { typedef T value_type; }; template < typename T, typename Vec, typename Alloc > -struct iterator_traits< pointer_iterator > { - typedef typename pointer_iterator::value_type value_type; +struct iterator_traits< pointer_iterator< T, Vec, Alloc > > { + typedef typename pointer_iterator< T, Vec, Alloc >::value_type value_type; }; } // namespace rstl diff --git a/include/rstl/single_ptr.hpp b/include/rstl/single_ptr.hpp index 403f5b81..dd33b646 100644 --- a/include/rstl/single_ptr.hpp +++ b/include/rstl/single_ptr.hpp @@ -13,9 +13,7 @@ public: single_ptr() : x0_ptr(nullptr) {} single_ptr(T* ptr) : x0_ptr(ptr) {} single_ptr(const single_ptr& other) : x0_ptr(other.x0_ptr) { other.x0_ptr = nullptr; } - ~single_ptr() { - delete x0_ptr; - } + ~single_ptr() { delete x0_ptr; } single_ptr& operator=(single_ptr& other) { if (&other == this) { return *this; diff --git a/src/Kyoto/Animation/IMetaAnim.cpp b/src/Kyoto/Animation/IMetaAnim.cpp index e1dd3ba3..f769549e 100644 --- a/src/Kyoto/Animation/IMetaAnim.cpp +++ b/src/Kyoto/Animation/IMetaAnim.cpp @@ -1,25 +1,18 @@ #include "Kyoto/Animation/IMetaAnim.hpp" -bool CPreAdvanceIndicator::IsTime() const { - return mIsTime; -} +bool CPreAdvanceIndicator::IsTime() const { return mIsTime; } -const CCharAnimTime& CPreAdvanceIndicator::GetTime() const { - return mTime; -} +const CCharAnimTime& CPreAdvanceIndicator::GetTime() const { return mTime; } -bool CPreAdvanceIndicator::IsString() const { - return !IsTime(); -} +bool CPreAdvanceIndicator::IsString() const { return !IsTime(); } -const rstl::string& CPreAdvanceIndicator::GetString() const { - return mString; -} +const rstl::string& CPreAdvanceIndicator::GetString() const { return mString; } CMetaAnimTreeBuildOrders CMetaAnimTreeBuildOrders::NoSpecialOrders() { return CMetaAnimTreeBuildOrders(); } -CMetaAnimTreeBuildOrders CMetaAnimTreeBuildOrders::PreAdvanceForAll(const CPreAdvanceIndicator& ind) { +CMetaAnimTreeBuildOrders +CMetaAnimTreeBuildOrders::PreAdvanceForAll(const CPreAdvanceIndicator& ind) { CMetaAnimTreeBuildOrders ret; ret.mSingleAdvance = ind; return ret; diff --git a/src/Kyoto/CDependencyGroup.cpp b/src/Kyoto/CDependencyGroup.cpp index 1c192f3d..032a34cc 100644 --- a/src/Kyoto/CDependencyGroup.cpp +++ b/src/Kyoto/CDependencyGroup.cpp @@ -29,7 +29,6 @@ int CDependencyGroup::GetCountForResType(FourCC type) const { return ret; } - CFactoryFnReturn FDependencyGroupFactory(const SObjectTag& tag, CInputStream& in, const CVParamTransfer& xfer) { return rs_new CDependencyGroup(in); diff --git a/src/Kyoto/Particles/CGenDescription.cpp b/src/Kyoto/Particles/CGenDescription.cpp index 0206db8c..27342dd8 100644 --- a/src/Kyoto/Particles/CGenDescription.cpp +++ b/src/Kyoto/Particles/CGenDescription.cpp @@ -1,32 +1,31 @@ #include "Kyoto/Particles/CGenDescription.hpp" #include "Kyoto/Particles/CSpawnSystemKeyframeData.hpp" -#include "rstl/single_ptr.hpp" static IElement** element_from_desc(CGenDescription* gen, int idx) { return reinterpret_cast< IElement** >(reinterpret_cast< uchar* >(gen) + idx); } static const size_t skGenOffsets[] = { - offsetof(CGenDescription, x0_PSLT), offsetof(CGenDescription, x4_PSWT), - offsetof(CGenDescription, x8_PSTS), offsetof(CGenDescription, xc_POFS), - offsetof(CGenDescription, x10_SEED), offsetof(CGenDescription, x14_LENG), - offsetof(CGenDescription, x18_WIDT), offsetof(CGenDescription, x1c_MAXP), - offsetof(CGenDescription, x20_GRTE), offsetof(CGenDescription, x24_COLR), - offsetof(CGenDescription, x28_LTME), offsetof(CGenDescription, x2c_EMTR), - offsetof(CGenDescription, x34_MBSP), offsetof(CGenDescription, x38_SIZE), - offsetof(CGenDescription, x3c_ROTA), offsetof(CGenDescription, x40_TEXR), - offsetof(CGenDescription, x44_TIND), offsetof(CGenDescription, x58_PMOP), - offsetof(CGenDescription, x5c_PMRT), offsetof(CGenDescription, x60_PMSC), - offsetof(CGenDescription, x64_PMCL), offsetof(CGenDescription, x68_VEL1), - offsetof(CGenDescription, x6c_VEL2), offsetof(CGenDescription, x70_VEL3), - offsetof(CGenDescription, x74_VEL4), offsetof(CGenDescription, x88_NCSY), - offsetof(CGenDescription, x8c_CSSD), offsetof(CGenDescription, xa0_NDSY), - offsetof(CGenDescription, xb4_PISY), offsetof(CGenDescription, xb8_SISY), - offsetof(CGenDescription, xd0_SSSD), offsetof(CGenDescription, xd4_SSPO), - offsetof(CGenDescription, xe4_SESD), offsetof(CGenDescription, xe8_SEPO), - offsetof(CGenDescription, xec_LTYP), offsetof(CGenDescription, xf0_LCLR), - offsetof(CGenDescription, xf4_LINT), offsetof(CGenDescription, xf8_LOFF), - offsetof(CGenDescription, xfc_LDIR), offsetof(CGenDescription, x100_LFOT), + offsetof(CGenDescription, x0_PSLT), offsetof(CGenDescription, x4_PSWT), + offsetof(CGenDescription, x8_PSTS), offsetof(CGenDescription, xc_POFS), + offsetof(CGenDescription, x10_SEED), offsetof(CGenDescription, x14_LENG), + offsetof(CGenDescription, x18_WIDT), offsetof(CGenDescription, x1c_MAXP), + offsetof(CGenDescription, x20_GRTE), offsetof(CGenDescription, x24_COLR), + offsetof(CGenDescription, x28_LTME), offsetof(CGenDescription, x2c_EMTR), + offsetof(CGenDescription, x34_MBSP), offsetof(CGenDescription, x38_SIZE), + offsetof(CGenDescription, x3c_ROTA), offsetof(CGenDescription, x40_TEXR), + offsetof(CGenDescription, x44_TIND), offsetof(CGenDescription, x58_PMOP), + offsetof(CGenDescription, x5c_PMRT), offsetof(CGenDescription, x60_PMSC), + offsetof(CGenDescription, x64_PMCL), offsetof(CGenDescription, x68_VEL1), + offsetof(CGenDescription, x6c_VEL2), offsetof(CGenDescription, x70_VEL3), + offsetof(CGenDescription, x74_VEL4), offsetof(CGenDescription, x88_NCSY), + offsetof(CGenDescription, x8c_CSSD), offsetof(CGenDescription, xa0_NDSY), + offsetof(CGenDescription, xb4_PISY), offsetof(CGenDescription, xb8_SISY), + offsetof(CGenDescription, xd0_SSSD), offsetof(CGenDescription, xd4_SSPO), + offsetof(CGenDescription, xe4_SESD), offsetof(CGenDescription, xe8_SEPO), + offsetof(CGenDescription, xec_LTYP), offsetof(CGenDescription, xf0_LCLR), + offsetof(CGenDescription, xf4_LINT), offsetof(CGenDescription, xf8_LOFF), + offsetof(CGenDescription, xfc_LDIR), offsetof(CGenDescription, x100_LFOT), offsetof(CGenDescription, x104_LFOR), offsetof(CGenDescription, x108_LSLA), offsetof(CGenDescription, x10c_ADV1), offsetof(CGenDescription, x110_ADV2), offsetof(CGenDescription, x114_ADV3), offsetof(CGenDescription, x118_ADV4), @@ -103,8 +102,9 @@ CGenDescription::CGenDescription() , x120_ADV6(nullptr) , x124_ADV7(nullptr) , x128_ADV8(nullptr) {} + CGenDescription::~CGenDescription() { for (int i = 0; i < (int)(sizeof(skGenOffsets) / sizeof(size_t)); ++i) { delete *element_from_desc(this, skGenOffsets[i]); - } + } } diff --git a/src/Kyoto/Particles/CParticleData.cpp b/src/Kyoto/Particles/CParticleData.cpp index 7055150c..bdec6c72 100644 --- a/src/Kyoto/Particles/CParticleData.cpp +++ b/src/Kyoto/Particles/CParticleData.cpp @@ -3,8 +3,8 @@ #include "Kyoto/Streams/CInputStream.hpp" CParticleData::CParticleData(CInputStream& in) -: x0_duration(in.ReadLong()) -, x4_particle(in.ReadLong(), in.ReadLong()) -, xc_boneName(in.Get()) -, x1c_scale(in.ReadFloat()) -, x20_parentMode(EParentedMode(in.ReadLong())) {} +: x0_duration(in.Get(TGetType(0))) +, x4_particle(in.Get(TGetType(0)), in.Get(TGetType(0))) +, xc_boneName(in.Get(TGetType< rstl::string >(""))) +, x1c_scale(in.Get(TGetType(0.f))) +, x20_parentMode(EParentedMode(in.Get(TGetType< int >(0)))) {} diff --git a/src/MetroidPrime/CActorLights.cpp b/src/MetroidPrime/CActorLights.cpp index a750acb6..005734a3 100644 --- a/src/MetroidPrime/CActorLights.cpp +++ b/src/MetroidPrime/CActorLights.cpp @@ -33,5 +33,5 @@ bool CActorLights::BuildAreaLightList(const CStateManager& mgr, const CGameArea& rstl::vector< SLightValue > valList; valList.reserve(lightList.size()); - rstl::sort(&*valList.begin(), &*valList.end(), SLightValue::CPredicate()); + // rstl::sort(&*valList.begin(), &*valList.end(), SLightValue::CPredicate()); } diff --git a/src/MetroidPrime/CStateManager.cpp b/src/MetroidPrime/CStateManager.cpp index 73bd61f1..0a290580 100644 --- a/src/MetroidPrime/CStateManager.cpp +++ b/src/MetroidPrime/CStateManager.cpp @@ -60,7 +60,6 @@ bool area_sorter::operator()(const CGameArea* a, const CGameArea* b) const { } // namespace - class CLightPredicate { public: bool operator()(const CLight& a, const CLight& b) const { @@ -74,7 +73,6 @@ public: } }; - CStateManager::CStateManager(const rstl::ncrc_ptr< CScriptMailbox >& mailbox, const rstl::ncrc_ptr< CMapWorldInfo >& mwInfo, const rstl::ncrc_ptr< CPlayerState >& playerState, @@ -419,7 +417,8 @@ void CStateManager::DrawWorld() const { } } - rstl::sort(&areaArr[0], &areaArr[areaCount], area_sorter(CGraphics::GetViewPoint(), visAreaId)); + // rstl::sort(&areaArr[0], &areaArr[areaCount], area_sorter(CGraphics::GetViewPoint(), + // visAreaId)); } void CStateManager::BuildDynamicLightListForWorld() { diff --git a/src/MetroidPrime/Cameras/CCameraManager.cpp b/src/MetroidPrime/Cameras/CCameraManager.cpp index f9444f95..05e897df 100644 --- a/src/MetroidPrime/Cameras/CCameraManager.cpp +++ b/src/MetroidPrime/Cameras/CCameraManager.cpp @@ -419,9 +419,7 @@ CVector3f CCameraManager::GetGlobalCameraTranslation(const CStateManager& mgr) c bool CCameraManager::IsInCinematicCamera() const { return !x4_cineCameras.empty(); } -bool CCameraManager::IsInFPCamera() const { - return x0_curCameraId == x7c_fpCamera->GetUniqueId(); -} +bool CCameraManager::IsInFPCamera() const { return x0_curCameraId == x7c_fpCamera->GetUniqueId(); } bool CCameraManager::IsInterpolationCameraActive() const { return x88_interpCamera->GetActive(); } @@ -613,9 +611,9 @@ void CCameraManager::UpdateCameraHints(float dt, CStateManager& mgr) { } if (inactiveHintRemoved || activeHintAdded || invalidHintRemoved) { - rstl::less< int > less; - rstl::pair_sorter_finder< rstl::pair< int, TUniqueId >, rstl::less< int > > sorter(less); - rstl::sort(xac_cameraHints.begin(), xac_cameraHints.end(), sorter); + // rstl::less< int > less; + // rstl::pair_sorter_finder< rstl::pair< int, TUniqueId >, rstl::less< int > > sorter(less); + // rstl::sort(xac_cameraHints.begin(), xac_cameraHints.end(), sorter); CTransform4f ballCamXf = x80_ballCamera->GetTransform(); if ((inactiveHintRemoved || invalidHintRemoved) && xac_cameraHints.empty()) { NoCameraHintsLeft(mgr);