control v1.
This commit is contained in:
@@ -93,6 +93,7 @@
|
|||||||
<ConformanceMode>true</ConformanceMode>
|
<ConformanceMode>true</ConformanceMode>
|
||||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||||
|
<PreprocessToFile>false</PreprocessToFile>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
@@ -155,6 +156,7 @@
|
|||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ClInclude Include="control.h" />
|
||||||
<ClInclude Include="DatParser.h" />
|
<ClInclude Include="DatParser.h" />
|
||||||
<ClInclude Include="fullscrn.h" />
|
<ClInclude Include="fullscrn.h" />
|
||||||
<ClInclude Include="gdrv.h" />
|
<ClInclude Include="gdrv.h" />
|
||||||
@@ -217,6 +219,7 @@
|
|||||||
<ClInclude Include="zdrv.h" />
|
<ClInclude Include="zdrv.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ClCompile Include="control.cpp" />
|
||||||
<ClCompile Include="DatParser.cpp" />
|
<ClCompile Include="DatParser.cpp" />
|
||||||
<ClCompile Include="fullscrn.cpp" />
|
<ClCompile Include="fullscrn.cpp" />
|
||||||
<ClCompile Include="gdrv.cpp" />
|
<ClCompile Include="gdrv.cpp" />
|
||||||
|
|||||||
@@ -213,6 +213,9 @@
|
|||||||
<ClInclude Include="high_score.h">
|
<ClInclude Include="high_score.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="control.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="pch.cpp">
|
<ClCompile Include="pch.cpp">
|
||||||
@@ -392,6 +395,9 @@
|
|||||||
<ClCompile Include="high_score.cpp">
|
<ClCompile Include="high_score.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="control.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="NatvisFile.natvis" />
|
<Natvis Include="NatvisFile.natvis" />
|
||||||
|
|||||||
@@ -99,16 +99,11 @@ void TPinballComponent::port_draw()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void TPinballComponent::put_scoring(int score1, int score2)
|
void TPinballComponent::put_scoring(int scoreId, int value)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int TPinballComponent::get_scoring(int score1)
|
int TPinballComponent::get_scoring(int score1)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TPinballComponent::control_handler(int code, TPinballComponent* cmp)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "control.h"
|
||||||
#include "render.h"
|
#include "render.h"
|
||||||
#include "TZmapList.h"
|
#include "TZmapList.h"
|
||||||
|
|
||||||
@@ -11,9 +13,8 @@ public:
|
|||||||
virtual ~TPinballComponent();
|
virtual ~TPinballComponent();
|
||||||
virtual int Message(int code, float value);
|
virtual int Message(int code, float value);
|
||||||
virtual void port_draw();
|
virtual void port_draw();
|
||||||
virtual void put_scoring(int score1, int score2);
|
virtual void put_scoring(int scoreId, int value);
|
||||||
virtual int get_scoring(int score1);
|
virtual int get_scoring(int score1);
|
||||||
static void control_handler(int code, TPinballComponent* cmp);
|
|
||||||
|
|
||||||
int VfTable;
|
int VfTable;
|
||||||
__int8 UnknownBaseFlag1;
|
__int8 UnknownBaseFlag1;
|
||||||
@@ -21,7 +22,7 @@ public:
|
|||||||
int MessageField;
|
int MessageField;
|
||||||
char* GroupName;
|
char* GroupName;
|
||||||
int Unknown4;
|
int Unknown4;
|
||||||
int Unknown5;
|
component_control* Control;
|
||||||
int GroupIndex;
|
int GroupIndex;
|
||||||
render_sprite_type_struct* RenderSprite;
|
render_sprite_type_struct* RenderSprite;
|
||||||
TPinballTable* PinballTable;
|
TPinballTable* PinballTable;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#include "TPinballTable.h"
|
#include "TPinballTable.h"
|
||||||
|
|
||||||
|
|
||||||
|
#include "control.h"
|
||||||
#include "loader.h"
|
#include "loader.h"
|
||||||
#include "memory.h"
|
#include "memory.h"
|
||||||
#include "pinball.h"
|
#include "pinball.h"
|
||||||
@@ -89,7 +90,7 @@ TPinballTable::TPinballTable(): TPinballComponent(nullptr, -1, false)
|
|||||||
{
|
{
|
||||||
case 1000:
|
case 1000:
|
||||||
case 1010:
|
case 1010:
|
||||||
new TWall( this, groupIndex);
|
new TWall(this, groupIndex);
|
||||||
break;
|
break;
|
||||||
case 1001:
|
case 1001:
|
||||||
this->Plunger = new TPlunger(this, groupIndex);
|
this->Plunger = new TPlunger(this, groupIndex);
|
||||||
@@ -183,9 +184,9 @@ TPinballTable::TPinballTable(): TPinballComponent(nullptr, -1, false)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//build_occlude_list();
|
//build_occlude_list();
|
||||||
pinball::InfoTextBox = static_cast<TTextBox*>(find_component("info_text_box"));
|
pinball::InfoTextBox = dynamic_cast<TTextBox*>(find_component("info_text_box"));
|
||||||
pinball::MissTextBox = static_cast<TTextBox*>(find_component("mission_text_box"));
|
pinball::MissTextBox = dynamic_cast<TTextBox*>(find_component("mission_text_box"));
|
||||||
//control_make_links(this);
|
control::make_links(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -220,7 +221,7 @@ TPinballTable::~TPinballTable()
|
|||||||
//if (i)
|
//if (i)
|
||||||
//(*(void(__thiscall**)(TLightGroup*, int))(*(_DWORD*)i + 16))(i, 1);
|
//(*(void(__thiscall**)(TLightGroup*, int))(*(_DWORD*)i + 16))(i, 1);
|
||||||
//if (!ListP1->Count())
|
//if (!ListP1->Count())
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
delete ListP2;
|
delete ListP2;
|
||||||
delete ListP1;
|
delete ListP1;
|
||||||
@@ -270,4 +271,4 @@ void TPinballTable::port_draw()
|
|||||||
{
|
{
|
||||||
static_cast<TPinballComponent*>(ListP1->Get(index))->port_draw();
|
static_cast<TPinballComponent*>(ListP1->Get(index))->port_draw();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ void TTextBox::TimerExpired(int timerId, void* caller)
|
|||||||
delete message;
|
delete message;
|
||||||
tb->Message1 = nextMessage;
|
tb->Message1 = nextMessage;
|
||||||
tb->Draw();
|
tb->Draw();
|
||||||
control_handler(60, tb);
|
control::handler(60, tb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,96 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
class TPinballTable;
|
||||||
|
class TPinballComponent;
|
||||||
|
|
||||||
|
struct component_tag
|
||||||
|
{
|
||||||
|
LPCSTR Name;
|
||||||
|
TPinballComponent* Component;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct component_control
|
||||||
|
{
|
||||||
|
void (* ControlFunc)(int, TPinballComponent*);
|
||||||
|
int ScoreCount;
|
||||||
|
int* Scores;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct component_info
|
||||||
|
{
|
||||||
|
component_tag* Tag;
|
||||||
|
component_control Control;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class control
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static TPinballTable* TableG;
|
||||||
|
static component_info score_components[88];
|
||||||
|
static component_tag* simple_components[142];
|
||||||
|
|
||||||
|
static void make_links(TPinballTable* table);
|
||||||
|
static TPinballComponent* make_component_link(component_tag* tag);
|
||||||
|
static void handler(int code, TPinballComponent* cmp);
|
||||||
|
|
||||||
|
static void FlipperRebounderControl1(int code, TPinballComponent* caller);
|
||||||
|
static void FlipperRebounderControl2(int code, TPinballComponent* caller);
|
||||||
|
static void RebounderControl(int code, TPinballComponent* caller);
|
||||||
|
static void BumperControl(int code, TPinballComponent* caller);
|
||||||
|
static void LeftKickerControl(int code, TPinballComponent* caller);
|
||||||
|
static void RightKickerControl(int code, TPinballComponent* caller);
|
||||||
|
static void LeftKickerGateControl(int code, TPinballComponent* caller);
|
||||||
|
static void RightKickerGateControl(int code, TPinballComponent* caller);
|
||||||
|
static void DeploymentChuteToEscapeChuteOneWayControl(int code, TPinballComponent* caller);
|
||||||
|
static void DeploymentChuteToTableOneWayControl(int code, TPinballComponent* caller);
|
||||||
|
static void DrainBallBlockerControl(int code, TPinballComponent* caller);
|
||||||
|
static void LaunchRampControl(int code, TPinballComponent* caller);
|
||||||
|
static void LaunchRampHoleControl(int code, TPinballComponent* caller);
|
||||||
|
static void SpaceWarpRolloverControl(int code, TPinballComponent* caller);
|
||||||
|
static void ReentryLanesRolloverControl(int code, TPinballComponent* caller);
|
||||||
|
static void BumperGroupControl(int code, TPinballComponent* caller);
|
||||||
|
static void LaunchLanesRolloverControl(int code, TPinballComponent* caller);
|
||||||
|
static void OutLaneRolloverControl(int code, TPinballComponent* caller);
|
||||||
|
static void ExtraBallLightControl(int code, TPinballComponent* caller);
|
||||||
|
static void ReturnLaneRolloverControl(int code, TPinballComponent* caller);
|
||||||
|
static void BonusLaneRolloverControl(int code, TPinballComponent* caller);
|
||||||
|
static void FuelRollover1Control(int code, TPinballComponent* caller);
|
||||||
|
static void FuelRollover2Control(int code, TPinballComponent* caller);
|
||||||
|
static void FuelRollover3Control(int code, TPinballComponent* caller);
|
||||||
|
static void FuelRollover4Control(int code, TPinballComponent* caller);
|
||||||
|
static void FuelRollover5Control(int code, TPinballComponent* caller);
|
||||||
|
static void FuelRollover6Control(int code, TPinballComponent* caller);
|
||||||
|
static void HyperspaceLightGroupControl(int code, TPinballComponent* caller);
|
||||||
|
static void WormHoleControl(int code, TPinballComponent* caller);
|
||||||
|
static void LeftFlipperControl(int code, TPinballComponent* caller);
|
||||||
|
static void RightFlipperControl(int code, TPinballComponent* caller);
|
||||||
|
static void JackpotLightControl(int code, TPinballComponent* caller);
|
||||||
|
static void BonusLightControl(int code, TPinballComponent* caller);
|
||||||
|
static void BoosterTargetControl(int code, TPinballComponent* caller);
|
||||||
|
static void MedalLightGroupControl(int code, TPinballComponent* caller);
|
||||||
|
static void MultiplierLightGroupControl(int code, TPinballComponent* caller);
|
||||||
|
static void FuelSpotTargetControl(int code, TPinballComponent* caller);
|
||||||
|
static void MissionSpotTargetControl(int code, TPinballComponent* caller);
|
||||||
|
static void LeftHazardSpotTargetControl(int code, TPinballComponent* caller);
|
||||||
|
static void RightHazardSpotTargetControl(int code, TPinballComponent* caller);
|
||||||
|
static void WormHoleDestinationControl(int code, TPinballComponent* caller);
|
||||||
|
static void BlackHoleKickoutControl(int code, TPinballComponent* caller);
|
||||||
|
static void FlagControl(int code, TPinballComponent* caller);
|
||||||
|
static void GravityWellKickoutControl(int code, TPinballComponent* caller);
|
||||||
|
static void SkillShotGate1Control(int code, TPinballComponent* caller);
|
||||||
|
static void SkillShotGate2Control(int code, TPinballComponent* caller);
|
||||||
|
static void SkillShotGate3Control(int code, TPinballComponent* caller);
|
||||||
|
static void SkillShotGate4Control(int code, TPinballComponent* caller);
|
||||||
|
static void SkillShotGate5Control(int code, TPinballComponent* caller);
|
||||||
|
static void SkillShotGate6Control(int code, TPinballComponent* caller);
|
||||||
|
static void ShootAgainLightControl(int code, TPinballComponent* caller);
|
||||||
|
static void EscapeChuteSinkControl(int code, TPinballComponent* caller);
|
||||||
|
static void MissionControl(int code, TPinballComponent* caller);
|
||||||
|
static void HyperspaceKickOutControl(int code, TPinballComponent* caller);
|
||||||
|
static void PlungerControl(int code, TPinballComponent* caller);
|
||||||
|
static void MedalTargetControl(int code, TPinballComponent* caller);
|
||||||
|
static void MultiplierTargetControl(int code, TPinballComponent* caller);
|
||||||
|
static void BallDrainControl(int code, TPinballComponent* caller);
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user