mirror of
https://github.com/k4zmu2a/SpaceCadetPinball.git
synced 2025-12-07 04:51:00 +01:00
Score, PinbalTable, PinballComponent v1
Placeholders for T piball component classes.
This commit is contained in:
parent
c55f6e5b98
commit
5e94b5b513
78 changed files with 1239 additions and 41 deletions
81
SpaceCadetPinball/TPinballComponent.cpp
Normal file
81
SpaceCadetPinball/TPinballComponent.cpp
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
#include "pch.h"
|
||||
#include "TPinballComponent.h"
|
||||
#include "loader.h"
|
||||
#include "objlist_class.h"
|
||||
#include "TZmapList.h"
|
||||
#include "TPinballTable.h"
|
||||
|
||||
TPinballComponent::TPinballComponent(TPinballTable* table, int groupIndex, bool loadVisuals)
|
||||
{
|
||||
visualStruct visual{}; // [esp+Ch] [ebp-6Ch]
|
||||
|
||||
// this->VfTable = (int)&TPinballComponent::`vftable';
|
||||
this->Unknown2 = 0;
|
||||
this->UnknownBaseFlag1 = 0;
|
||||
this->UnknownBaseFlag2 = 0;
|
||||
this->PinballTable = table;
|
||||
this->Unknown7 = 0;
|
||||
this->List1Bitmap8 = nullptr;
|
||||
this->List2Bitmap16 = nullptr;
|
||||
if (table)
|
||||
table->ListP1->Add(this);
|
||||
if (groupIndex >= 0)
|
||||
this->GroupName = loader::query_name(groupIndex);
|
||||
if (loadVisuals && groupIndex >= 0)
|
||||
{
|
||||
int visualCount = loader::query_visual_states(groupIndex);
|
||||
for (int index = 0; index < visualCount; ++index)
|
||||
{
|
||||
loader::query_visual(groupIndex, index, &visual);
|
||||
if (visual.Bitmap8)
|
||||
{
|
||||
if (!this->List1Bitmap8)
|
||||
this->List1Bitmap8 = new TZmapList(visualCount, 4);
|
||||
if (this->List1Bitmap8)
|
||||
this->List1Bitmap8->Add(visual.Bitmap8);
|
||||
}
|
||||
if (visual.Bitmap16)
|
||||
{
|
||||
if (!this->List2Bitmap16)
|
||||
this->List2Bitmap16 = new TZmapList(visualCount, 4);
|
||||
if (this->List2Bitmap16)
|
||||
this->List2Bitmap16->Add(visual.Bitmap16);
|
||||
}
|
||||
}
|
||||
if (this->List2Bitmap16)
|
||||
int listVal0 = (int)this->List2Bitmap16->Get(0);
|
||||
if (this->List1Bitmap8)
|
||||
{
|
||||
/*listVal0_2 = (int*)this->List1Bitmap8->Get(0);
|
||||
v24 = *(int*)((char*)listVal0_2 + 29) - table->UnknownP49;
|
||||
v15 = 1;
|
||||
v25 = *(int*)((char*)listVal0_2 + 33) - table->UnknownP50;
|
||||
v26 = listVal0_2[3];
|
||||
v27 = listVal0_2[4];
|
||||
if (List1Bitmap8->Count() > 1)
|
||||
{
|
||||
index = 12;
|
||||
do
|
||||
{
|
||||
v16 = *(int**)((char*)&this->List1Bitmap8->ListPtr->Size + index);
|
||||
v20 = *(int*)((char*)v16 + 29) - table->UnknownP49;
|
||||
v21 = *(int*)((char*)v16 + 33) - table->UnknownP50;
|
||||
v22 = v16[3];
|
||||
v23 = v16[4];
|
||||
enclosing_box(&v24, &v20, &v24);
|
||||
index += 4;
|
||||
++v15;
|
||||
} while (v15 < this->List1Bitmap8->ListPtr->Count);
|
||||
}
|
||||
v17 = this->List1Bitmap8->ListPtr->Array[0];
|
||||
this->Unknown7 = (int)render_create_sprite(
|
||||
visualCount > 0,
|
||||
this->List1Bitmap8->ListPtr->Array[0],
|
||||
listVal0,
|
||||
*(int*)(v17 + 29) - table->UnknownP49,
|
||||
*(int*)(v17 + 33) - table->UnknownP50,
|
||||
&v24);*/
|
||||
}
|
||||
}
|
||||
this->GroupIndex = groupIndex;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue