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