mirror of https://github.com/PrimeDecomp/prime.git
parent
4b120a5418
commit
eec994634a
|
@ -350,7 +350,7 @@ lbl_802F7F64:
|
||||||
/* 802F8048 002F4FA8 7C 7F 1B 78 */ mr r31, r3
|
/* 802F8048 002F4FA8 7C 7F 1B 78 */ mr r31, r3
|
||||||
/* 802F804C 002F4FAC 88 0D A7 6C */ lbz r0, lbl_805A932C@sda21(r13)
|
/* 802F804C 002F4FAC 88 0D A7 6C */ lbz r0, lbl_805A932C@sda21(r13)
|
||||||
/* 802F8050 002F4FB0 98 01 00 08 */ stb r0, 8(r1)
|
/* 802F8050 002F4FB0 98 01 00 08 */ stb r0, 8(r1)
|
||||||
/* 802F8054 002F4FB4 4B D6 14 A5 */ bl sub_800594f8
|
/* 802F8054 002F4FB4 4B D6 14 A5 */ bl "cinput_stream_helper<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>__FRC82TType<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>R12CInputStream"
|
||||||
/* 802F8058 002F4FB8 80 01 00 24 */ lwz r0, 0x24(r1)
|
/* 802F8058 002F4FB8 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||||
/* 802F805C 002F4FBC 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
/* 802F805C 002F4FBC 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||||
/* 802F8060 002F4FC0 7C 08 03 A6 */ mtlr r0
|
/* 802F8060 002F4FC0 7C 08 03 A6 */ mtlr r0
|
||||||
|
|
|
@ -752,7 +752,7 @@ sub_802de18c:
|
||||||
/* 802DE1A4 002DB104 7C 7F 1B 78 */ mr r31, r3
|
/* 802DE1A4 002DB104 7C 7F 1B 78 */ mr r31, r3
|
||||||
/* 802DE1A8 002DB108 88 0D A6 C4 */ lbz r0, lbl_805A9284@sda21(r13)
|
/* 802DE1A8 002DB108 88 0D A6 C4 */ lbz r0, lbl_805A9284@sda21(r13)
|
||||||
/* 802DE1AC 002DB10C 98 01 00 08 */ stb r0, 8(r1)
|
/* 802DE1AC 002DB10C 98 01 00 08 */ stb r0, 8(r1)
|
||||||
/* 802DE1B0 002DB110 4B D7 B3 49 */ bl sub_800594f8
|
/* 802DE1B0 002DB110 4B D7 B3 49 */ bl "cinput_stream_helper<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>__FRC82TType<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>R12CInputStream"
|
||||||
/* 802DE1B4 002DB114 80 01 00 24 */ lwz r0, 0x24(r1)
|
/* 802DE1B4 002DB114 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||||
/* 802DE1B8 002DB118 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
/* 802DE1B8 002DB118 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||||
/* 802DE1BC 002DB11C 7C 08 03 A6 */ mtlr r0
|
/* 802DE1BC 002DB11C 7C 08 03 A6 */ mtlr r0
|
||||||
|
|
|
@ -66,7 +66,7 @@ __ct__13CParticleDataFR12CInputStream:
|
||||||
/* 803574BC 0035441C 7C 7F 1B 78 */ mr r31, r3
|
/* 803574BC 0035441C 7C 7F 1B 78 */ mr r31, r3
|
||||||
/* 803574C0 00354420 88 0D AA 94 */ lbz r0, lbl_805A9654@sda21(r13)
|
/* 803574C0 00354420 88 0D AA 94 */ lbz r0, lbl_805A9654@sda21(r13)
|
||||||
/* 803574C4 00354424 98 01 00 08 */ stb r0, 8(r1)
|
/* 803574C4 00354424 98 01 00 08 */ stb r0, 8(r1)
|
||||||
/* 803574C8 00354428 4B D0 20 31 */ bl sub_800594f8
|
/* 803574C8 00354428 4B D0 20 31 */ bl "cinput_stream_helper<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>__FRC82TType<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>R12CInputStream"
|
||||||
/* 803574CC 0035442C 80 01 00 24 */ lwz r0, 0x24(r1)
|
/* 803574CC 0035442C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||||
/* 803574D0 00354430 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
/* 803574D0 00354430 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||||
/* 803574D4 00354434 7C 08 03 A6 */ mtlr r0
|
/* 803574D4 00354434 7C 08 03 A6 */ mtlr r0
|
||||||
|
|
|
@ -4226,15 +4226,15 @@ sub_800594bc:
|
||||||
/* 800594D4 00056434 7C 7F 1B 78 */ mr r31, r3
|
/* 800594D4 00056434 7C 7F 1B 78 */ mr r31, r3
|
||||||
/* 800594D8 00056438 88 0D A2 24 */ lbz r0, lbl_805A8DE4@sda21(r13)
|
/* 800594D8 00056438 88 0D A2 24 */ lbz r0, lbl_805A8DE4@sda21(r13)
|
||||||
/* 800594DC 0005643C 98 01 00 08 */ stb r0, 8(r1)
|
/* 800594DC 0005643C 98 01 00 08 */ stb r0, 8(r1)
|
||||||
/* 800594E0 00056440 48 00 00 19 */ bl sub_800594f8
|
/* 800594E0 00056440 48 00 00 19 */ bl "cinput_stream_helper<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>__FRC82TType<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>R12CInputStream"
|
||||||
/* 800594E4 00056444 80 01 00 24 */ lwz r0, 0x24(r1)
|
/* 800594E4 00056444 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||||
/* 800594E8 00056448 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
/* 800594E8 00056448 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||||
/* 800594EC 0005644C 7C 08 03 A6 */ mtlr r0
|
/* 800594EC 0005644C 7C 08 03 A6 */ mtlr r0
|
||||||
/* 800594F0 00056450 38 21 00 20 */ addi r1, r1, 0x20
|
/* 800594F0 00056450 38 21 00 20 */ addi r1, r1, 0x20
|
||||||
/* 800594F4 00056454 4E 80 00 20 */ blr
|
/* 800594F4 00056454 4E 80 00 20 */ blr
|
||||||
|
|
||||||
.global sub_800594f8
|
.global "cinput_stream_helper<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>__FRC82TType<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>R12CInputStream"
|
||||||
sub_800594f8:
|
"cinput_stream_helper<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>__FRC82TType<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>R12CInputStream":
|
||||||
/* 800594F8 00056458 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 800594F8 00056458 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 800594FC 0005645C 7C 08 02 A6 */ mflr r0
|
/* 800594FC 0005645C 7C 08 02 A6 */ mflr r0
|
||||||
/* 80059500 00056460 7C A4 2B 78 */ mr r4, r5
|
/* 80059500 00056460 7C A4 2B 78 */ mr r4, r5
|
||||||
|
|
|
@ -665,7 +665,7 @@ LIBS = [
|
||||||
["Kyoto/Text/CStringTable", True],
|
["Kyoto/Text/CStringTable", True],
|
||||||
"Kyoto/Particles/CEmitterElement",
|
"Kyoto/Particles/CEmitterElement",
|
||||||
"Kyoto/Particles/CEffectComponent",
|
"Kyoto/Particles/CEffectComponent",
|
||||||
"Kyoto/Particles/CParticleData",
|
["Kyoto/Particles/CParticleData", False],
|
||||||
"Kyoto/Animation/CVertexMorphEffect",
|
"Kyoto/Animation/CVertexMorphEffect",
|
||||||
"Kyoto/Animation/CSkinnedModelWithAvgNormals",
|
"Kyoto/Animation/CSkinnedModelWithAvgNormals",
|
||||||
["Kyoto/CTimeProvider", True],
|
["Kyoto/CTimeProvider", True],
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
#include "Kyoto/Animation/CParticleData.hpp"
|
#include "Kyoto/Particles/CParticleData.hpp"
|
||||||
|
|
||||||
class CEffectComponent {
|
class CEffectComponent {
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
#include "Kyoto/Animation/CCharAnimTime.hpp"
|
#include "Kyoto/Animation/CCharAnimTime.hpp"
|
||||||
#include "Kyoto/Animation/CParticleData.hpp"
|
#include "Kyoto/Particles/CParticleData.hpp"
|
||||||
|
|
||||||
#include "rstl/string.hpp"
|
#include "rstl/string.hpp"
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
#include "rstl/string.hpp"
|
#include "rstl/string.hpp"
|
||||||
|
|
||||||
|
class CInputStream;
|
||||||
class CParticleData {
|
class CParticleData {
|
||||||
public:
|
public:
|
||||||
enum EParentedMode {
|
enum EParentedMode {
|
||||||
|
@ -16,8 +17,18 @@ public:
|
||||||
kPM_ContinuousSystem,
|
kPM_ContinuousSystem,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
CParticleData(int duration, const SObjectTag& tag, const rstl::string& boneName, float scale,
|
||||||
|
EParentedMode mode)
|
||||||
|
: x0_duration(duration)
|
||||||
|
, x4_particle(tag)
|
||||||
|
, xc_boneName(boneName)
|
||||||
|
, x1c_scale(scale)
|
||||||
|
, x20_parentMode(mode) {}
|
||||||
|
|
||||||
|
CParticleData(CInputStream& in);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint x0_duration;
|
int x0_duration;
|
||||||
SObjectTag x4_particle;
|
SObjectTag x4_particle;
|
||||||
rstl::string xc_boneName;
|
rstl::string xc_boneName;
|
||||||
float x1c_scale;
|
float x1c_scale;
|
|
@ -11,6 +11,11 @@ struct TType {};
|
||||||
template < typename T >
|
template < typename T >
|
||||||
T cinput_stream_helper(const TType< T >& type, CInputStream& in);
|
T cinput_stream_helper(const TType< T >& type, CInputStream& in);
|
||||||
|
|
||||||
|
template < typename T >
|
||||||
|
TType< T > TGetType() {
|
||||||
|
return TType< T >();
|
||||||
|
}
|
||||||
|
|
||||||
class CInputStream {
|
class CInputStream {
|
||||||
public:
|
public:
|
||||||
CInputStream(int len);
|
CInputStream(int len);
|
||||||
|
@ -56,8 +61,8 @@ private:
|
||||||
uint x20_bitOffset;
|
uint x20_bitOffset;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename T>
|
template < typename T >
|
||||||
inline T cinput_stream_helper(const TType<T>& type, CInputStream& in) {
|
inline T cinput_stream_helper(const TType< T >& type, CInputStream& in) {
|
||||||
return T(in);
|
return T(in);
|
||||||
}
|
}
|
||||||
template <>
|
template <>
|
||||||
|
@ -118,13 +123,10 @@ inline rstl::vector< T, Alloc >::vector(CInputStream& in, const Alloc& allocator
|
||||||
|
|
||||||
#include "rstl/reserved_vector.hpp"
|
#include "rstl/reserved_vector.hpp"
|
||||||
template < typename T, int N >
|
template < typename T, int N >
|
||||||
inline rstl::reserved_vector< T, N >::reserved_vector(CInputStream& in)
|
inline rstl::reserved_vector< T, N >::reserved_vector(CInputStream& in) : x0_count(in.ReadInt32()) {
|
||||||
: x0_count(in.ReadInt32()) {
|
|
||||||
for (int i = 0; i < x0_count; i++) {
|
for (int i = 0; i < x0_count; i++) {
|
||||||
construct(&data()[i], in.Get(TType< T >()));
|
construct(&data()[i], in.Get(TType< T >()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _CINPUTSTREAM
|
#endif // _CINPUTSTREAM
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef _CPARTICLEGENINFO
|
#ifndef _CPARTICLEGENINFO
|
||||||
#define _CPARTICLEGENINFO
|
#define _CPARTICLEGENINFO
|
||||||
|
|
||||||
#include "Kyoto/Animation/CParticleData.hpp"
|
#include "Kyoto/Particles/CParticleData.hpp"
|
||||||
|
|
||||||
#include "MetroidPrime/TGameTypes.hpp"
|
#include "MetroidPrime/TGameTypes.hpp"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
#include "Kyoto/Particles/CParticleData.hpp"
|
||||||
|
|
||||||
|
#include "Kyoto/Streams/CInputStream.hpp"
|
||||||
|
|
||||||
|
CParticleData::CParticleData(CInputStream& in)
|
||||||
|
: x0_duration(in.ReadLong())
|
||||||
|
, x4_particle(in.ReadLong(), in.ReadLong())
|
||||||
|
, xc_boneName(in.Get<rstl::string>())
|
||||||
|
, x1c_scale(in.ReadFloat())
|
||||||
|
, x20_parentMode(EParentedMode(in.ReadLong())) {}
|
Loading…
Reference in New Issue