123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- //FTTArray - [2020-04-13 11:57:47]
- #ifndef _FTTARRAY_H_
- #define _FTTARRAY_H_
- #include <stdio.h>
- #include <stdlib.h>
- /*
- 00189DB4 FTTArray<FTTPair<float,float>,16u>::Insert(FTTPair<float,float>&&)
- 0018A31A FTTArray<FTTPair<float,float>,16u>::Iterator::operator++()
- 0018A322 FTTArray<FTTPair<float,float>,16u>::Iterator::operator!=(FTTArray<FTTPair<float,float>,16u>::Iterator const&)
- 0018A32E FTTArray<FTTPair<float,float>,16u>::Iterator::operator*()
- 0018A332 FTTArray<FTTPair<float,float>,16u>::Iterator::operator->()
- 0018A338 FTTArray<FTTPair<float,float>,16u>::Iterator::operator+=(long const&)
- 0018A358 FTTArray<FTTPair<float,float>,16u>::Iterator::operator-=(long const&)
- 0018A378 FTTArray<FTTPair<float,float>,16u>::Iterator::operator[](long const&)
- 0018A384 FTTArray<FTTPair<float,float>,16u>::Iterator::operator+(long const&)
- 0018A3A0 FTTArray<FTTPair<float,float>,16u>::Iterator::operator-(long const&)
- 0018A3BC FTTArray<FTTPair<float,float>,16u>::Iterator::operator-(FTTArray<FTTPair<float,float>,16u>::Iterator const&)
- TShadowAABB 0x124 296
- 001C3788 FTTArray<TShadowAABB, 92u>::FTTArray(uint) 第二个参数是数量
- 001C37AE FTTArray<TShadowAABB, 256u>::FTTArray(uint)
- 001C6982 FTTArray<TShadowAABB *,256u>::Iterator::operator++()
- 001C698A FTTArray<TShadowAABB *,256u>::Iterator::operator!=(FTTArray<TShadowAABB *,256u>::Iterator const&)
- 001C6996 FTTArray<TShadowAABB *,256u>::Iterator::operator*()
- 001C699A FTTArray<TShadowAABB *,256u>::Iterator::operator->()
- 001C69A0 FTTArray<TShadowAABB *,256u>::Iterator::operator+=(long const&)
- 001C69C0 FTTArray<TShadowAABB *,256u>::Iterator::operator-=(long const&)
- 001C69E0 FTTArray<TShadowAABB *,256u>::Iterator::operator[](long const&)
- 001C69EC FTTArray<TShadowAABB *,256u>::Iterator::operator+(long const&)
- 001C6A08 FTTArray<TShadowAABB *,256u>::Iterator::operator-(long const&)
- 001C6A24 FTTArray<TShadowAABB *,256u>::Iterator::operator-(FTTArray<TShadowAABB *,256u>::Iterator const&)
- */
- struct TypeData {
- int len;
- void *data;
- };
- template <class T, uint N>
- class FTTArray {
- public:
- FTTArray(int a2) {
- m_count = a2;
- };
- //Iterator<T> *CreateIterator() {
- // return new Iterator<T>(&array_0[0]);
- //}
- T *Insert(T &&a2) {
- // int v2; //r2
- // float v3; //r12
- // T *result; //r0
- // float v5; //r2
- // v2 = m_count;
- // m_count = v2 + 1;
- // v3 = array_0[v2].field_0;
- // array_0[v2].field_0 = a2->field_0;
- // result = &array_0[v2];
- // a2->field_0 = v3;
- // v5 = result->field_4;
- // result->field_4 = a2->field_4;
- // a2->field_4 = v5;
- // return result;
- LOGE("Insertthis=%p,a2=%p",this,&a2);
- return ((T*)rand());
- }
- class Iterator {
- public:
- Iterator(T *p_data) : m_buf(p_data) {
- }
- //0018A31A
- virtual T *operator++() {
- m_buf++;
- return m_buf;
- }
-
- virtual bool operator!=(Iterator const &a1) {
- return m_buf != a1.m_buf;
- }
- //0018A32E
- virtual T *operator*() {
- return m_buf;
- }
- //0018A332
- virtual T *operator->() {
- return m_buf;
- }
- //0018A338
- virtual TypeData operator+=(int *a3) {
- m_buf += *a3;
- TypeData result;
- result.len = sizeof(T);
- result.data = (void *)m_buf;
- return result;
- }
-
-
- //0018A358
- virtual TypeData operator-=(int *a3) {
- m_buf += *a3;
- TypeData result;
- result.len = sizeof(T);
- result.data = (void *)m_buf;
- return result;
- }
-
- //0018A378
- virtual T *operator[](int *a2) {
- return m_buf + *a2;
- }
- //0018A384
- //FTTArray<FTTPair<float,float>,16u>::Iterator::operator+(long const&)
- virtual TypeData operator+(int *a3) {
- T *v3 = m_buf + *a3;
- TypeData result;
- result.len = sizeof(T);
- result.data = (void *)v3;
- return result;
- }
- //0018A3A0
- virtual TypeData operator-(int *a3) {
- T *v3 = m_buf - *a3;
- TypeData result;
- result.len = sizeof(T);
- result.data = (void *)v3;
- return result;
- }
-
- //0018A3BC
- virtual int operator-(Iterator const &a2) {
- return m_buf - a2.m_buf;
- }
- public:
- T *m_buf;
- };
- T array_0[N];
- int m_count;
- };
- /*
- bool __fastcall FTTArray<FTTPair<float,float>,16u>::Iterator::operator!=(int a1, int a2) {
- return *(_DWORD *)(a1 + 4) != *(_DWORD *)(a2 + 4);
- }
- int __fastcall FTTArray<FTTPair<float,float>,16u>::Iterator::operator*(int a1) {
- return *(_DWORD *)(a1 + 4);
- }
- 0018A384
- _DWORD *__fastcall FTTArray<FTTPair<float,float>,16u>::Iterator::operator+(_DWORD *result, int a2, _DWORD *a3) {
- int v3; //r1
- v3 = *(_DWORD *)(a2 + 4) + 8 * *a3;
- *result = &off_3231A0;
- result[1] = v3;
- return result;
- }
- int __fastcall FTTArray<FTTPair<float,float>,16u>::Iterator::operator++(int result) {
- *(_DWORD *)(result + 4) += 8;
- return result;
- }
- _QWORD *__fastcall FTTArray<FTTPair<float,float>,16u>::Iterator::operator+=(_QWORD *result, int a2, _DWORD *a3) {
- __int64 v3; //r1
- HIDWORD(v3) = *(_DWORD *)(a2 + 4) + 8 * *a3;
- *(_DWORD *)(a2 + 4) = HIDWORD(v3);
- LODWORD(v3) = &off_3231A0;
- *result = v3;
- return result;
- }
- int __fastcall FTTArray<FTTPair<float,float>,16u>::Iterator::operator-(int a1, int a2) {
- return (*(_DWORD *)(a1 + 4) - *(_DWORD *)(a2 + 4)) >> 3;
- }
- _DWORD *__fastcall FTTArray<FTTPair<float,float>,16u>::Iterator::operator-(_DWORD *result, int a2, _DWORD *a3) {
- int v3; //r1
- v3 = *(_DWORD *)(a2 + 4) - 8 * *a3;
- *result = &off_3231A0;
- result[1] = v3;
- return result;
- }
- _QWORD *__fastcall FTTArray<FTTPair<float,float>,16u>::Iterator::operator-=(_QWORD *result, int a2, _DWORD *a3) {
- __int64 v3; //r1
- HIDWORD(v3) = *(_DWORD *)(a2 + 4) - 8 * *a3;
- *(_DWORD *)(a2 + 4) = HIDWORD(v3);
- LODWORD(v3) = &off_3231A0;
- *result = v3;
- return result;
- }
- int __fastcall FTTArray<FTTPair<float,float>,16u>::Iterator::operator->(int a1) {
- return *(_DWORD *)(a1 + 4);
- }
- */
- #endif //_FTTARRAY_H_
|