//
// Created by mac on 2022/1/6.
//

#ifndef MY_APPLICATION_TSHADOWAABB_H
#define MY_APPLICATION_TSHADOWAABB_H
#include <jni.h>
#include <string>
#include <cstdint>
#include "common.h"
#include "TAABB.h"

//struct TPointInt8 {
//    int8 field_0;
//    int8 field_1;
//
//    TPointInt8& operator=(const TPointInt8& other) {
//        this->field_0 = other.field_0;
//        this->field_1 = other.field_1;
//        return *this;
//    };
//};

//001C5B48
//#pragma pack(1)
class TShadowAABB
{
public:
    float   field_00;
    float   field_04;
    float   field_08;
    float   field_0C;
    float   field_10;
    float   field_14;
    float   field_18;
    float   field_1C;
    float   field_20;
    float   field_24;
    float   field_28;
    float   field_2C;
    uint32 field_30;
    uint32 field_34;
    uint32 field_38;
    uint32 field_3C;
    uint32 field_40;
    uint32 field_44;
    uint32 field_48;
    uint32 field_4C;
    uint32 field_50;
    uint32 field_54;
    uint32 field_58;
    uint32 field_5C;
    uint32 field_60;
    uint32 field_64;
    uint32 field_68;
    uint32 field_6C;
    uint32 field_70;
    uint32 field_74;
    uint32 field_78;
    uint32 field_7C;
    uint32 field_80;
    uint32 field_84;
    uint32 field_88;
    uint32 field_8C;
    uint32 field_90;
    uint32 field_94;
    uint32 field_98;
    uint32 field_9C;
    uint8  field_A0[32];
    uint32 field_C0;
    uint16 field_C4[32];
    uint32 field_104;
    uint8 field_108;
    uint8 field_109;
    uint8 field_10A;
    uint8 field_10B;
    uint8 field_10C;
    uint8 field_10D;
    uint8 field_10E;
    uint8 field_10F;
    uint32 field_110;
    uint32 field_114;
    uint32 field_118;
    uint32 field_11C;
    float field_120;
    TShadowAABB();
    static void MergeCasters(TShadowAABB& taabb0,TShadowAABB& taabb1,TShadowAABB& taabb2);
    static void Block(TShadowAABB& taabb0,TShadowAABB&taabb1,uint32 u2,uint32 u3);
    static int32_t Overlap(const TAABB &taabb0, const TAABB &taabb1);
};
//__attribute__ ((packed));
//#pragma pack()


#endif //MY_APPLICATION_TSHADOWAABB_H
