1 #pragma once 2 #include "TCollisionComponent.h" 3 #include "TEdgeManager.h" 4 5 6 struct circle_type; 7 class TPinballTable; 8 class TEdgeManager; 9 struct gdrv_bitmap8; 10 11 class TTableLayer : 12 public TCollisionComponent 13 { 14 public: 15 TTableLayer(TPinballTable* table); 16 ~TTableLayer() override; 17 int FieldEffect(TBall* ball, vector_type* vecDst) override; 18 19 static void edges_insert_square(float y0, float x0, float y1, float x1, TEdgeSegment* edge, 20 field_effect_type* field); 21 static void edges_insert_circle(circle_type* circle, TEdgeSegment* edge, field_effect_type* field); 22 23 gdrv_bitmap8* VisBmp; 24 float Unknown1F; 25 float Unknown2F; 26 float Unknown3F; 27 float Unknown4F; 28 float GraityDirX; 29 float GraityDirY; 30 float GraityMult; 31 field_effect_type Field{}; 32 33 static TEdgeManager* edge_manager; 34 }; 35