mirror of
https://github.com/zeldaret/tww.git
synced 2026-09-05 18:28:11 -04:00
fvb OK
This commit is contained in:
@@ -14,7 +14,7 @@ struct TEBit {
|
||||
const void* parseVariableUInt_16_32_following(const void* pu16, u32* pu32First, u32* pu32Second,
|
||||
TEBit* tebit);
|
||||
|
||||
inline u32 align_roundUp(u32 arg0, u32 uAlign) {
|
||||
inline u32 align_roundUp(unsigned int arg0, unsigned int uAlign) {
|
||||
return (arg0 + uAlign - 1) & ~(uAlign - 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define DEFINE_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -31,7 +32,13 @@ public:
|
||||
}
|
||||
JGadget_outMessage& operator<<(s8);
|
||||
JGadget_outMessage& operator<<(s32);
|
||||
JGadget_outMessage& operator<<(u32);
|
||||
JGadget_outMessage& operator<<(u32 value) {
|
||||
/* Nonmatching - debug only */
|
||||
char sz[64];
|
||||
snprintf(sz, 64, "%u", value);
|
||||
|
||||
return *this << sz;
|
||||
}
|
||||
JGadget_outMessage& operator<<(const void*);
|
||||
|
||||
private:
|
||||
|
||||
@@ -174,9 +174,9 @@ struct TVector {
|
||||
|
||||
size_t GetSize_extend_(size_t count) const
|
||||
{
|
||||
u32 oldSize = size();
|
||||
u32 neededNewSpace = oldSize + count;
|
||||
u32 extendedSize = mExtend(capacity(), oldSize, count);
|
||||
size_t oldSize = size();
|
||||
size_t neededNewSpace = oldSize + count;
|
||||
size_t extendedSize = mExtend(capacity(), oldSize, count);
|
||||
|
||||
return neededNewSpace > extendedSize ? neededNewSpace : extendedSize;
|
||||
}
|
||||
@@ -236,7 +236,7 @@ struct TVector_pointer_void : public TVector<void*, TAllocator<void*> > {
|
||||
void** insert(void**, void* const&);
|
||||
|
||||
void clear() { erase(begin(), end()); }
|
||||
void push_back(const void*& value) { insert(end(), (void* const&)value); }
|
||||
void push_back(void* const& value) { insert(end(), (void* const&)value); }
|
||||
|
||||
/* 0x00 */ /* TVector */
|
||||
};
|
||||
@@ -257,7 +257,9 @@ struct TVector_pointer : public TVector_pointer_void {
|
||||
const T* end() const { return (const T*)TVector_pointer_void::end(); }
|
||||
T* end() { return (T*)TVector_pointer_void::end(); }
|
||||
|
||||
void push_back(const T& value) { TVector_pointer_void::push_back((const void*&)value); }
|
||||
void push_back(const T& ref) {
|
||||
TVector_pointer_void::push_back((void* const&)ref);
|
||||
}
|
||||
|
||||
/* 0x00 */ /* TVector_pointer_void */
|
||||
};
|
||||
|
||||
@@ -68,13 +68,13 @@ public:
|
||||
: TFunctionValueAttributeSet_const(refer, range, interp) {}
|
||||
|
||||
TFunctionValueAttribute_refer* refer_get() const {
|
||||
return static_cast<const TFunctionValueAttributeSet_const*>(this)->refer_get();
|
||||
return TFunctionValueAttributeSet_const::refer_get();
|
||||
}
|
||||
TFunctionValueAttribute_range* range_get() const {
|
||||
return static_cast<const TFunctionValueAttributeSet_const*>(this)->range_get();
|
||||
return TFunctionValueAttributeSet_const::range_get();
|
||||
}
|
||||
TFunctionValueAttribute_interpolate* interpolate_get() const {
|
||||
return static_cast<const TFunctionValueAttributeSet_const*>(this)->interpolate_get();
|
||||
return TFunctionValueAttributeSet_const::interpolate_get();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -174,19 +174,22 @@ private:
|
||||
class TFunctionValue_composite : public TFunctionValue, public TFunctionValueAttribute_refer {
|
||||
public:
|
||||
struct TData {
|
||||
TData(void* data) : u32data((u32)data) {}
|
||||
TData(const void* data) : rawData(data) {}
|
||||
TData(u32 data) : u32data(data) {}
|
||||
TData(f32 data) : f32data(data) {}
|
||||
TData(void* data) : uintdata((u32)data) {}
|
||||
TData(unsigned int data) : uintdata(data) {}
|
||||
TData(f64 data) : f64data(data) {}
|
||||
|
||||
inline void operator=(const TData& rhs) { f32data = rhs.f32data; }
|
||||
u32 get_unsignedInteger() const { return u32data; }
|
||||
f64 get_value() const { return f32data; }
|
||||
inline void operator=(const TData& rhs) { f64data = rhs.f64data; }
|
||||
unsigned int get_unsignedInteger() const { return uintdata; }
|
||||
f64 get_value() const { return f64data; }
|
||||
|
||||
// TODO
|
||||
TData(JStudio::TFunctionValue::TEOutside) {}
|
||||
void get_outside() const {}
|
||||
|
||||
union {
|
||||
const void* rawData;
|
||||
u32 u32data;
|
||||
f64 f32data;
|
||||
unsigned int uintdata;
|
||||
f64 f64data;
|
||||
};
|
||||
};
|
||||
typedef f64 (*UnkFunc)(f64, const TFunctionValueAttribute_refer*,
|
||||
|
||||
@@ -15,8 +15,7 @@ public:
|
||||
|
||||
u32 get_size() const { return get()->size; }
|
||||
const void* getNext() const {
|
||||
u32 size = get_size();
|
||||
return (const void*)((u8*)getRaw() + size);
|
||||
return (const void*)((u8*)getRaw() + get_size());
|
||||
}
|
||||
u16 get_type() const { return get()->type; }
|
||||
u16 get_IDSize() const { return get()->id_size; }
|
||||
@@ -28,7 +27,7 @@ public:
|
||||
return ret;
|
||||
}
|
||||
const void* getContent() const {
|
||||
return (const void*)((const u8*)getBlockEnd_() + align_roundUp(get_IDSize(), 4));
|
||||
return (const void*)((intptr_t)getBlockEnd_() + align_roundUp(get_IDSize(), 4));
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ public:
|
||||
|
||||
void prepare(const data::TParse_TBlock& block, TControl* control);
|
||||
|
||||
TFunctionValue* const& referFunctionValue() { return pfv_; }
|
||||
TFunctionValue* const referFunctionValue() { return pfv_; }
|
||||
|
||||
private:
|
||||
/* 0x0C */ JGadget::TLinkListNode mNode;
|
||||
@@ -80,7 +80,6 @@ public:
|
||||
TObject_composite(JStudio::fvb::data::TParse_TBlock const&);
|
||||
virtual void prepare_data_(JStudio::fvb::data::TParse_TParagraph::TData const&,
|
||||
JStudio::fvb::TControl*);
|
||||
virtual ~TObject_composite() {}
|
||||
|
||||
private:
|
||||
TFunctionValue_composite fnValue;
|
||||
@@ -89,7 +88,6 @@ private:
|
||||
class TObject_constant : public TObject {
|
||||
public:
|
||||
TObject_constant(data::TParse_TBlock const&);
|
||||
virtual ~TObject_constant() {}
|
||||
|
||||
virtual void prepare_data_(data::TParse_TParagraph::TData const&, TControl*);
|
||||
|
||||
@@ -100,7 +98,6 @@ private:
|
||||
class TObject_transition : public TObject {
|
||||
public:
|
||||
TObject_transition(data::TParse_TBlock const&);
|
||||
virtual ~TObject_transition() {}
|
||||
|
||||
virtual void prepare_data_(data::TParse_TParagraph::TData const&, TControl*);
|
||||
|
||||
@@ -116,7 +113,6 @@ public:
|
||||
/* 0x8 */ f32 _8[0];
|
||||
};
|
||||
TObject_list(data::TParse_TBlock const&);
|
||||
virtual ~TObject_list() {}
|
||||
|
||||
virtual void prepare_data_(data::TParse_TParagraph::TData const&, TControl*);
|
||||
|
||||
@@ -131,7 +127,6 @@ public:
|
||||
f32 _4[0];
|
||||
};
|
||||
TObject_list_parameter(data::TParse_TBlock const&);
|
||||
virtual ~TObject_list_parameter() {}
|
||||
|
||||
virtual void prepare_data_(data::TParse_TParagraph::TData const&, TControl*);
|
||||
|
||||
@@ -146,7 +141,6 @@ public:
|
||||
f32 _4[0];
|
||||
};
|
||||
TObject_hermite(data::TParse_TBlock const&);
|
||||
virtual ~TObject_hermite() {}
|
||||
|
||||
virtual void prepare_data_(data::TParse_TParagraph::TData const&, TControl*);
|
||||
|
||||
|
||||
@@ -20,9 +20,13 @@ private:
|
||||
/* 0x04 */ u32 mID_size;
|
||||
};
|
||||
|
||||
struct TObject_ID : public TIDData {
|
||||
TObject_ID(const void* id, u32 id_size) : TIDData(id, id_size) {}
|
||||
TIDData const& getIDData() const { return *this; }
|
||||
struct TObject_ID {
|
||||
TObject_ID(const void* id, u32 id_size) : mData(id, id_size) {}
|
||||
~TObject_ID() {}
|
||||
TIDData const& getIDData() const { return mData; }
|
||||
const u8 *getID() const { return mData.getID(); }
|
||||
|
||||
TIDData mData;
|
||||
};
|
||||
|
||||
struct TPRObject_ID_equal : public TIDData {
|
||||
|
||||
Reference in New Issue
Block a user