2020-11-01 18:45:29 +03:00
|
|
|
#pragma once
|
2020-12-19 17:49:31 +03:00
|
|
|
|
2021-01-30 14:19:25 +03:00
|
|
|
struct zmap_header_type;
|
|
|
|
|
struct gdrv_bitmap8;
|
2020-12-25 16:46:06 +03:00
|
|
|
struct render_sprite_type_struct;
|
|
|
|
|
struct component_control;
|
2020-11-28 14:39:12 +03:00
|
|
|
class TPinballTable;
|
2020-12-25 16:46:06 +03:00
|
|
|
|
|
|
|
|
enum class message_code
|
|
|
|
|
{
|
2020-12-27 18:19:36 +03:00
|
|
|
Reset = 1024,
|
2021-01-20 17:28:48 +03:00
|
|
|
LightActiveCount = 37,
|
|
|
|
|
LightTotalCount = 38,
|
|
|
|
|
LightSetMessageField = 23,
|
2020-12-25 16:46:06 +03:00
|
|
|
};
|
2020-11-01 18:45:29 +03:00
|
|
|
|
|
|
|
|
class TPinballComponent
|
2020-11-04 16:22:52 +03:00
|
|
|
{
|
|
|
|
|
public:
|
2020-11-28 14:39:12 +03:00
|
|
|
TPinballComponent(TPinballTable* table, int groupIndex, bool loadVisuals);
|
2020-11-04 16:22:52 +03:00
|
|
|
virtual ~TPinballComponent();
|
2020-12-03 17:47:36 +03:00
|
|
|
virtual int Message(int code, float value);
|
2020-11-29 18:50:49 +03:00
|
|
|
virtual void port_draw();
|
2021-01-08 18:50:12 +03:00
|
|
|
virtual void put_scoring(int index, int score);
|
|
|
|
|
virtual int get_scoring(int index);
|
2020-11-01 18:45:29 +03:00
|
|
|
|
2021-02-16 19:03:45 +03:00
|
|
|
char UnusedBaseFlag;
|
|
|
|
|
char ActiveFlag;
|
2020-11-04 16:22:52 +03:00
|
|
|
int MessageField;
|
2020-11-01 18:45:29 +03:00
|
|
|
char* GroupName;
|
2020-12-19 17:49:31 +03:00
|
|
|
component_control* Control;
|
2020-11-01 18:45:29 +03:00
|
|
|
int GroupIndex;
|
2020-11-08 18:37:59 +03:00
|
|
|
render_sprite_type_struct* RenderSprite;
|
2020-11-01 18:45:29 +03:00
|
|
|
TPinballTable* PinballTable;
|
2021-10-01 18:55:44 +03:00
|
|
|
std::vector<gdrv_bitmap8*>* ListBitmap;
|
|
|
|
|
std::vector<zmap_header_type*>* ListZMap;
|
2020-11-01 18:45:29 +03:00
|
|
|
};
|