Work on d_a_title (#2215)

This commit is contained in:
hatal175
2024-10-18 00:21:08 +03:00
committed by GitHub
parent 2aa441e40b
commit 38445f4d51
6 changed files with 90 additions and 167 deletions
+19
View File
@@ -62,6 +62,7 @@ struct TParse_header_block {
template <typename T>
struct TParseValue_raw_ {
typedef T ParseType;
static T parse(const void* data) { return *(T*)data; }
};
@@ -83,6 +84,24 @@ struct TParseValue : public Parser<T> {
}
};
template<class Parser, int size>
struct TValueIterator {
TValueIterator(const void* begin) {
mBegin = begin;
}
typename Parser::ParseType operator*() {
return *(typename Parser::ParseType*)mBegin;
}
const void* mBegin;
};
template<typename T>
struct TValueIterator_raw : public TValueIterator<TParseValue_raw_<u8>, 1> {
TValueIterator_raw(const void* begin) : TValueIterator<TParseValue_raw_<u8>, 1>(begin) {}
};
} // namespace binary
} // namespace JGadget
+12 -11
View File
@@ -157,43 +157,44 @@ private:
};
template <int T>
struct TParseData {
struct TParseData : public data::TParse_TParagraph_data::TData {
TParseData(const void* pContent) {
data::TParse_TParagraph_data data(pContent);
set(data);
}
void set(const data::TParse_TParagraph_data& data) {
//data::TParse_TParagraph_data::TData* p = (data::TParse_TParagraph_data::TData*)this;
data.getData(m_data);
data.getData(this);
}
bool isEnd() const {
return m_data->_0 == 0;
return _0 == 0;
}
bool empty() const {
return m_data->_c == NULL;
return _c == NULL;
}
bool isValid() const {
return !empty() && m_data->_0 == 50;
return !empty() && _0 == 50;
}
data::TParse_TParagraph_data::TData* m_data;
};
template <int T>
template <int T, class Iterator=JGadget::binary::TValueIterator_raw<u8> >
struct TParseData_fixed : public TParseData<T> {
TParseData_fixed(const void* pContent) : TParseData(pContent) {}
TParseData_fixed(const void* pContent) : TParseData<T>(pContent) {}
const void* getNext() const {
return m_data->_c;
return fileCount;
}
bool isValid() const {
return TParseData::isValid() && getNext() != NULL;
}
Iterator begin() {
return Iterator(fileCount);
}
};
} // namespace stb
+1 -1
View File
@@ -77,7 +77,7 @@ class daTit_HIO_c {
public:
/* 80D66B0C */ daTit_HIO_c();
/* 80D67A08 */ virtual ~daTit_HIO_c();
/* 80D67A08 */ virtual ~daTit_HIO_c() {}
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mPSScaleX;
+2
View File
@@ -42,6 +42,7 @@ public:
class dDemo_prm_c {
public:
dDemo_prm_c() { mData = 0; }
u32 getData() { return mData; }
/* 0x0 */ u32 field_0x0;
/* 0x4 */ u32 mData;
@@ -85,6 +86,7 @@ public:
void setOldAnmId(u32 id) { mOldAnmId = id; }
void setAnmFrameMax(f32 max) { mAnmFrameMax = max; }
f32 getAnmFrame() { return mAnmFrame; }
dDemo_prm_c* getPrm() { return &mPrm; }
private:
/* 0x04 */ u16 mFlags;