Skip to content

Commit

Permalink
Merge cleanup
Browse files Browse the repository at this point in the history
IDInspector: reorganized dropdown
renamed IDSystemPtr
added MessageControlPtr
  • Loading branch information
pas-de-2 committed Feb 2, 2023
1 parent 34310ec commit d80460a
Show file tree
Hide file tree
Showing 7 changed files with 91 additions and 112 deletions.
51 changes: 15 additions & 36 deletions dllmain/Game.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ LifeMeter__roomInit_Fn LifeMeter__roomInit = nullptr;
BulletInfo__roomInit_Fn BulletInfo__roomInit = nullptr;

// message.h externs
MessageControl* cMes = nullptr;
MessageControl__setFontSize_Fn MessageControl__setFontSize = nullptr;
MessageControl__setLayout_Fn MessageControl__setLayout = nullptr;

Expand Down Expand Up @@ -533,6 +532,12 @@ TITLE_WORK* TitleWorkPtr()
return TitleWork_ptr;
}

MessageControl* cMes_ptr = nullptr;
MessageControl* MessageControlPtr()
{
return cMes_ptr;
}

IDSystem* IdSys_ptr = nullptr;
IDSystem* IdSysPtr()
{
Expand All @@ -557,12 +562,6 @@ MercID* mercIdPtr()
return mercId_ptr;
}

MercID* mercId_ptr = nullptr;
MercID* mercIdPtr()
{
return mercId_ptr;
}

FADE_WORK(*FadeWork_ptr)[4];
FADE_WORK* FadeWorkPtr(FADE_NO no)
{
Expand Down Expand Up @@ -1010,48 +1009,28 @@ bool re4t::init::Game()
pattern = hook::pattern("E8 ? ? ? ? 83 C4 08 E8 ? ? ? ? 8B 0D ? ? ? ? F7 81 ? ? ? ? ? ? ? ? 74");
ReadCall(injector::GetBranchDestination(pattern.count(1).get(0).get<uint32_t>(0)).as_int(), bio4::KeyStop);

// pointer to IDSystem::set
// IDSystem ptrs
pattern = hook::pattern("B9 ? ? ? ? E8 ? ? ? ? 8B ? ? ? ? ? 8B C8 D9");
IdSys_ptr = *pattern.count(1).get(0).get<IDSystem*>(1);
pattern = hook::pattern("8D 48 FF 80 F9 01 77 ? C7 ? ? ? ? ? EB");
IdSub_ptr = *pattern.count(1).get(0).get<IDSystem*>(10);
pattern = hook::pattern("83 C4 18 6A 60 B9");
mercId_ptr = *pattern.count(1).get(0).get<MercID*>(6);
pattern = hook::pattern("E8 ? ? ? ? 6A 29 68 FE 00 00 00 B9");
ReadCall(injector::GetBranchDestination(pattern.count(1).get(0).get<uint8_t>(0)).as_int(), IDSystem__set);

// pointer to IDSystem::unitPtr
pattern = hook::pattern("E8 ? ? ? ? 8B ? ? ? ? ? 8B C8 D9 81 94 00 00 00 8B");
ReadCall(injector::GetBranchDestination(pattern.count(1).get(0).get<uint8_t>(0)).as_int(), IDSystem__unitPtr);

// pointer to IDSystem::unitPtr2
pattern = hook::pattern("E8 ? ? ? ? D9 ? ? ? ? ? D9 98 98 00 00 00 EB");
ReadCall(injector::GetBranchDestination(pattern.count(1).get(0).get<uint8_t>(0)).as_int(), IDSystem__unitPtr2);

// pointer to IDSystem::kill
pattern = hook::pattern("E8 ? ? ? ? 68 99 00 00 00 68 FF 00 00 00 B9 ? ? ? ? E8 ? ? ? ? 8B 46 20 8B");
ReadCall(injector::GetBranchDestination(pattern.count(1).get(0).get<uint8_t>(0)).as_int(), IDSystem__kill);

// pointer to IDSystem::setTime
pattern = hook::pattern("E8 ? ? ? ? FE 46 01 5F 5E 8B E5 ");
ReadCall(injector::GetBranchDestination(pattern.count(1).get(0).get<uint8_t>(0)).as_int(), IDSystem__setTime);

// pointer to IdSys
pattern = hook::pattern("B9 ? ? ? ? E8 ? ? ? ? 8B ? ? ? ? ? 8B C8 D9");
IdSys_ptr = *pattern.count(1).get(0).get<IDSystem*>(1);

// pointer to IdSub
pattern = hook::pattern("8D 48 FF 80 F9 01 77 ? C7 ? ? ? ? ? EB");
IdSub_ptr = *pattern.count(1).get(0).get<IDSystem*>(10);

// pointer to mercId
pattern = hook::pattern("83 C4 18 6A 60 B9");
mercId_ptr = *pattern.count(1).get(0).get<MercID*>(6);

// pointer to mercId
pattern = hook::pattern("83 C4 18 6A 60 B9");
mercId_ptr= *pattern.count(1).get(0).get<MercID*>(6);

// pointer to cMes
// MessageControl ptrs
pattern = hook::pattern("51 52 6A 04 B9 ? ? ? ? 8B F0 E8");
cMes = *pattern.count(1).get(0).get<MessageControl*>(5);
// pointer to MessageControl::setFontSize
cMes_ptr = *pattern.count(1).get(0).get<MessageControl*>(5);
ReadCall(injector::GetBranchDestination(pattern.count(1).get(0).get<uint8_t>(11)).as_int(), MessageControl__setFontSize);
// pointer to MessageControl::setLayout
pattern = hook::pattern("E8 ? ? ? ? 8B ? ? ? ? ? 53 53 52 C7");
ReadCall(injector::GetBranchDestination(pattern.count(1).get(0).get<uint8_t>(0)).as_int(), MessageControl__setLayout);

Expand Down
4 changes: 0 additions & 4 deletions dllmain/Game.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,6 @@ cPlayer* AshleyPtr();
uint8_t* GameSavePtr();
cEmMgr* EmMgrPtr();
TITLE_WORK* TitleWorkPtr();
IDSystem* IdSysPtr();
IDSystem* IdSubPtr();
IDSystem* IdNumPtr();
MercID* mercIdPtr();
FADE_WORK* FadeWorkPtr(FADE_NO no);
extern double* fGPUUsagePtr;
extern double* fCPUUsagePtr;
Expand Down
50 changes: 25 additions & 25 deletions dllmain/HUDTweaks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ void ApplyHUDEdits(ID_CLASS idClass, const HUDEditData* data, int size)
{
for (int i = 0; i < size; ++i)
{
ID_UNIT* tex = IDSystemPtr()->unitPtr2(data[i].unitNo, idClass);
ID_UNIT* tex = IdSysPtr()->unitPtr2(data[i].unitNo, idClass);
if (data[i].posX != DEF) tex->pos0_94.x = data[i].posX;
if (data[i].posY != DEF) tex->pos0_94.y = data[i].posY;
if (data[i].sizeW != DEF) tex->size0_W_DC = data[i].sizeW;
Expand All @@ -27,8 +27,8 @@ void ApplyHUDEdits(ID_CLASS idClass, const HUDEditData* data, int size)

void ShrinkIDClass(ID_CLASS idClass, float scale)
{
ID_UNIT* tex = IDSystemPtr()->m_IdUnit_50;
for (int i = 0; i < IDSystemPtr()->m_maxId_0; ++i)
ID_UNIT* tex = IdSysPtr()->m_IdUnit_50;
for (int i = 0; i < IdSysPtr()->m_maxId_0; ++i)
{
if (tex->classNo_2 == idClass && tex->texId_78 != 0xFF)
{
Expand Down Expand Up @@ -120,30 +120,30 @@ extern float fGameDisplayAspectRatio;
void SideAlignHUD()
{
float fHudPosOffset = ((360.0f * fGameDisplayAspectRatio) - 640.0f) / 2.0f;
IDSystemPtr()->unitPtr(0u, IDC_LIFE_METER)->pos0_94.x += fHudPosOffset;
IdSysPtr()->unitPtr(0u, IDC_LIFE_METER)->pos0_94.x += fHudPosOffset;
}

float fDefaultHUDPosX;
float fDefaultHUDPosY;

void OffsetHUD()
{
IDSystemPtr()->unitPtr(0u, IDC_LIFE_METER)->pos0_94.x = fDefaultHUDPosX + re4t::cfg->fHUDOffsetX;
IDSystemPtr()->unitPtr(0u, IDC_LIFE_METER)->pos0_94.y = fDefaultHUDPosY + re4t::cfg->fHUDOffsetY;
IdSysPtr()->unitPtr(0u, IDC_LIFE_METER)->pos0_94.x = fDefaultHUDPosX + re4t::cfg->fHUDOffsetX;
IdSysPtr()->unitPtr(0u, IDC_LIFE_METER)->pos0_94.y = fDefaultHUDPosY + re4t::cfg->fHUDOffsetY;
}

void re4t::HUDTweaks::UpdateHUDOffsets()
{
if (IDSystemPtr()->setCk(IDC_LIFE_METER))
if (IdSysPtr()->setCk(IDC_LIFE_METER))
OffsetHUD();
}

void re4t::HUDTweaks::ResetLifeMeter()
{
if (IDSystemPtr()->setCk(IDC_LIFE_METER))
if (IdSysPtr()->setCk(IDC_LIFE_METER))
{
IDSystemPtr()->kill(0xFF, IDC_LIFE_METER);
IDSystemPtr()->kill(0xFF, IDC_LASER_GAUGE);
IdSysPtr()->kill(0xFF, IDC_LIFE_METER);
IdSysPtr()->kill(0xFF, IDC_LASER_GAUGE);
Cckpt->m_LifeMeter_0.roomInit();
Cckpt->m_BlltInfo_6C.roomInit();
}
Expand All @@ -170,15 +170,15 @@ void re4t::init::HUDTweaks()
SideAlignHUD();

// Save the default HUD position
fDefaultHUDPosX = IDSystemPtr()->unitPtr(0u, IDC_LIFE_METER)->pos0_94.x;
fDefaultHUDPosY = IDSystemPtr()->unitPtr(0u, IDC_LIFE_METER)->pos0_94.y;
fDefaultHUDPosX = IdSysPtr()->unitPtr(0u, IDC_LIFE_METER)->pos0_94.x;
fDefaultHUDPosY = IdSysPtr()->unitPtr(0u, IDC_LIFE_METER)->pos0_94.y;

// Reposition the HUD
if (re4t::cfg->bRepositionHUD)
OffsetHUD();

// Code we overwrote
regs.ecx = (uint32_t)IDSystemPtr();
regs.ecx = (uint32_t)IdSysPtr();
}
}; injector::MakeInline<BulletInfo__roomInit_hook>(pattern.count(1).get(0).get<uint32_t>(2), pattern.count(1).get(0).get<uint32_t>(7));

Expand All @@ -191,7 +191,7 @@ void re4t::init::HUDTweaks()
ShrinkBulletInfo();

// Code we overwrote
regs.ecx = (uint32_t)IDSystemPtr();
regs.ecx = (uint32_t)IdSysPtr();
}
}; injector::MakeInline<BulletInfo__move_hook>(pattern.count(1).get(0).get<uint32_t>(5), pattern.count(1).get(0).get<uint32_t>(10));
}
Expand All @@ -209,10 +209,10 @@ void re4t::init::HUDTweaks()
ShrinkIDClass(IDC_ACT_BUTTON, 0.9f);

// grab prompt anchor
IDSystemPtr()->unitPtr(6u, IDC_ACT_BUTTON)->pos0_94.y = -90.5f;
IdSysPtr()->unitPtr(6u, IDC_ACT_BUTTON)->pos0_94.y = -90.5f;
// interact prompt anchor
IDSystemPtr()->unitPtr(0x20u, IDC_ACT_BUTTON)->pos0_94.x = -55.8f;
IDSystemPtr()->unitPtr(0x20u, IDC_ACT_BUTTON)->pos0_94.y = -148.1f;
IdSysPtr()->unitPtr(0x20u, IDC_ACT_BUTTON)->pos0_94.x = -55.8f;
IdSysPtr()->unitPtr(0x20u, IDC_ACT_BUTTON)->pos0_94.y = -148.1f;
}

// Code we overwrote
Expand All @@ -226,10 +226,10 @@ void re4t::init::HUDTweaks()
void operator()(injector::reg_pack& regs)
{
if (re4t::cfg->bSmallerActionPrompts)
cMes->setFontSize(1, 21, 29); // default font size: 23 x 32
MessageControlPtr()->setFontSize(1, 21, 29); // default font size: 23 x 32

// Code we overwrote
regs.ecx = (uint32_t)cMes;
regs.ecx = (uint32_t)MessageControlPtr();
}
}; injector::MakeInline<cActionButton__disp_hook>(pattern.count(1).get(0).get<uint32_t>(4), pattern.count(1).get(0).get<uint32_t>(9));
}
Expand All @@ -243,8 +243,8 @@ void re4t::init::HUDTweaks()
{
if (re4t::cfg->bHideZoomControlHints)
{
IDSystemPtr()->unitPtr(0x20u, IDC_SCOPE)->be_flag_0 &= ~ID_BE_FLAG_VISIBLE;
IDSystemPtr()->unitPtr(0x21u, IDC_SCOPE)->be_flag_0 &= ~ID_BE_FLAG_VISIBLE;
IdSysPtr()->unitPtr(0x20u, IDC_SCOPE)->be_flag_0 &= ~ID_BE_FLAG_VISIBLE;
IdSysPtr()->unitPtr(0x21u, IDC_SCOPE)->be_flag_0 &= ~ID_BE_FLAG_VISIBLE;

IdScope* thisptr = (IdScope*)regs.ecx;
thisptr->m_zoom_disp_C = 0; // hides the text
Expand All @@ -266,14 +266,14 @@ void re4t::init::HUDTweaks()
bool isEvent = FlagIsSet(GlobalPtr()->flags_STATUS_0_501C, uint32_t(Flags_STATUS::STA_EVENT));
if (re4t::cfg->bHideZoomControlHints || isEvent)
{
IDSystemPtr()->unitPtr(0x30u, IDC_BINOCULAR)->be_flag_0 &= ~ID_BE_FLAG_VISIBLE;
IDSystemPtr()->unitPtr(0x1Bu, IDC_BINOCULAR)->be_flag_0 &= ~ID_BE_FLAG_VISIBLE;
IdSysPtr()->unitPtr(0x30u, IDC_BINOCULAR)->be_flag_0 &= ~ID_BE_FLAG_VISIBLE;
IdSysPtr()->unitPtr(0x1Bu, IDC_BINOCULAR)->be_flag_0 &= ~ID_BE_FLAG_VISIBLE;
regs.ef &= ~(1 << regs.zero_flag);
}
else
{
IDSystemPtr()->unitPtr(0x30u, IDC_BINOCULAR)->be_flag_0 |= ID_BE_FLAG_VISIBLE;
IDSystemPtr()->unitPtr(0x1Bu, IDC_BINOCULAR)->be_flag_0 |= ID_BE_FLAG_VISIBLE;
IdSysPtr()->unitPtr(0x30u, IDC_BINOCULAR)->be_flag_0 |= ID_BE_FLAG_VISIBLE;
IdSysPtr()->unitPtr(0x1Bu, IDC_BINOCULAR)->be_flag_0 |= ID_BE_FLAG_VISIBLE;
regs.ef |= (1 << regs.zero_flag);
}
}
Expand Down
26 changes: 15 additions & 11 deletions dllmain/SDK/ID.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,21 @@ class IDSystem
};
assert_size(IDSystem, 0x58);

struct MercID
{
uint32_t _eff_0;
uint32_t _uwf_4[3];
uint32_t* _addr_10;
IDSystem _idSys;
};
assert_size(MercID, 0x6C);

// Game.cpp
IDSystem* IdSysPtr();
IDSystem* IdSubPtr();
IDSystem* IdNumPtr();
MercID* mercIdPtr();

enum ID_CLASS
{
IDC_SSCRN_MAIN_MENU = 0x0,
Expand Down Expand Up @@ -211,17 +226,6 @@ struct IdScope : IDApplication
};
assert_size(IdScope, 0x10);

struct MercID
{
uint32_t _eff_0;
uint32_t _uwf_4[3];
uint32_t* _addr_10;
IDSystem _idSys;
};
assert_size(MercID, 0x6C);

extern MercID* MercID_ptr;

struct ID_FILE_HEADER
{
char Version_0[4];
Expand Down
2 changes: 1 addition & 1 deletion dllmain/SDK/message.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,4 +139,4 @@ class MessageControl
};
assert_size(MessageControl, 0x1340);

extern MessageControl* cMes;
MessageControl* MessageControlPtr(); // Game.cpp
8 changes: 4 additions & 4 deletions dllmain/TitleMenu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -223,8 +223,8 @@ void re4t::init::TitleMenu()
IdSysPtr()->setTime(tex, 0); // fade in
}

IdSysPtr()->unitPtr(0x5u, IDC_OPTION_BG)->be_flag_0 &= ~ID_BE_FLAG_VISIBLE;
IdSysPtr()->unitPtr(0x6u, IDC_OPTION_BG)->be_flag_0 &= ~ID_BE_FLAG_VISIBLE;
IdSysPtr()->unitPtr(5u, IDC_OPTION_BG)->be_flag_0 &= ~ID_BE_FLAG_VISIBLE;
IdSysPtr()->unitPtr(6u, IDC_OPTION_BG)->be_flag_0 &= ~ID_BE_FLAG_VISIBLE;
}

static void exitLevelMenu()
Expand All @@ -246,9 +246,9 @@ void re4t::init::TitleMenu()
IdSysPtr()->setTime(tex, 0);
}

IdSysPtr()->unitPtr(0x5u, IDC_OPTION_BG)->be_flag_0 |= ID_BE_FLAG_VISIBLE;
IdSysPtr()->unitPtr(5u, IDC_OPTION_BG)->be_flag_0 |= ID_BE_FLAG_VISIBLE;
IdSysPtr()->setTime(IdSysPtr()->unitPtr(0x5u, IDC_OPTION_BG), 0);
IdSysPtr()->unitPtr(0x6u, IDC_OPTION_BG)->be_flag_0 |= ID_BE_FLAG_VISIBLE;
IdSysPtr()->unitPtr(6u, IDC_OPTION_BG)->be_flag_0 |= ID_BE_FLAG_VISIBLE;
IdSysPtr()->setTime(IdSysPtr()->unitPtr(0x6u, IDC_OPTION_BG), 0);
}

Expand Down
62 changes: 31 additions & 31 deletions dllmain/UI_DebugWindows.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -496,9 +496,9 @@ bool UI_IDInspector::Init()
GLOBAL_WK* pG = GlobalPtr();
if (pG)
{
// default to IDC_TITLE when opening ID inspector at the title menu
if (pG->curRoomId_4FAC == 0x120)
IDClassIdx = 6;
// default to IDC_LIFE_METER outside the title menu
if (pG->curRoomId_4FAC != 0x120)
IDClassIdx = 5;
}
return true;
}
Expand Down Expand Up @@ -582,10 +582,10 @@ bool UI_IDInspector::Render(bool WindowMode)
bool retVal = true; // set to false on window close

static const char* IDClassNames[] = {
"IDC_LIFE_METER", "IDC_BLLT_ICON", "IDC_LASER_GAUGE ", "IDC_ACT_BUTTON", "IDC_EVENT", "IDC_EVENT (MERCS)", "IDC_TITLE", "IDC_TITLE_MENU_0",
"IDC_TITLE_MENU_1", "IDC_OPTION", "IDC_OPTION_BG", "IDC_SCOPE", "IDC_BINOCULAR", "IDC_CINESCO", "IDC_COUNT_DOWN", "IDC_EXAMINE",
"IDC_DATA", "IDC_DEAD", "IDC_CONTINUE", "IDC_MSG_WINDOW", "IDC_WIP", "IDC_SUB_MISSION",
"IDC_GAUGE", "IDC_CAMERA_BATTERY",
"IDC_TITLE", "IDC_TITLE_MENU_0", "IDC_TITLE_MENU_1", "IDC_OPTION", "IDC_OPTION_BG",
"IDC_LIFE_METER", "IDC_BLLT_ICON", "IDC_LASER_GAUGE ", "IDC_ACT_BUTTON", "IDC_EVENT", "IDC_EVENT (MERCS)", "IDC_GAUGE", "IDC_SCOPE",
"IDC_BINOCULAR", "IDC_CINESCO", "IDC_COUNT_DOWN", "IDC_DEAD", "IDC_CONTINUE", "IDC_MSG_WINDOW", "IDC_WIP", "IDC_SUB_MISSION", "IDC_CAMERA_BATTERY",
"IDC_EXAMINE", "IDC_DATA",
/*"IDC_SSCRN_MAIN_MENU",*/ "IDC_SSCRN_BACK_GROUND", "IDC_SSCRN_PESETA", "IDC_SSCRN_CONFIRM", "IDC_SSCRN_ETC", "IDC_SSCRN_NEAR_0", "IDC_SSCRN_NEAR_1",
"IDC_SSCRN_NEAR_2", "IDC_SSCRN_NEAR_3", "IDC_SSCRN_0", "IDC_SSCRN_1", "IDC_SSCRN_2", "IDC_SSCRN_3", "IDC_SSCRN_FAR_0", "IDC_SSCRN_FAR_1",
"IDC_SSCRN_FAR_2", "IDC_SSCRN_FAR_3", "IDC_SSCRN_CKPT_0", "IDC_SSCRN_CKPT_1", "IDC_SSCRN_CKPT_2", "IDC_SSCRN_CKPT_3",
Expand All @@ -603,30 +603,30 @@ bool UI_IDInspector::Render(bool WindowMode)

switch (IDClassIdx)
{
case 0: idClass = IDC_LIFE_METER; break;
case 1: idClass = IDC_BLLT_ICON; break;
case 2: idClass = IDC_LASER_GAUGE; break;
case 3: idClass = IDC_ACT_BUTTON; break;
case 4: idClass = IDC_EVENT; break;
case 5: idClass = IDC_EVENT; curIDSystem = &mercIdPtr()->_idSys; break;
case 6: idClass = IDC_TITLE; break;
case 7: idClass = IDC_TITLE_MENU_0; break;
case 8: idClass = IDC_TITLE_MENU_1; break;
case 9: idClass = IDC_OPTION; break;
case 10: idClass = IDC_OPTION_BG; break;
case 11: idClass = IDC_SCOPE; break;
case 12: idClass = IDC_BINOCULAR; break;
case 13: idClass = IDC_CINESCO; break;
case 14: idClass = IDC_COUNT_DOWN; break;
case 15: idClass = IDC_EXAMINE; break;
case 16: idClass = IDC_DATA; curIDSystem = IdSubPtr(); break;
case 17: idClass = IDC_DEAD; break;
case 18: idClass = IDC_CONTINUE; break;
case 19: idClass = IDC_MSG_WINDOW; break;
case 20: idClass = IDC_WIP; break;
case 21: idClass = IDC_SUB_MISSION; break;
case 22: idClass = IDC_GAUGE; curIDSystem = &mercIdPtr()->_idSys; break;
case 23: idClass = IDC_CAMERA_BATTERY_MB; break;
case 0: idClass = IDC_TITLE; break;
case 1: idClass = IDC_TITLE_MENU_0; break;
case 2: idClass = IDC_TITLE_MENU_1; break;
case 3: idClass = IDC_OPTION; break;
case 4: idClass = IDC_OPTION_BG; break;
case 5: idClass = IDC_LIFE_METER; break;
case 6: idClass = IDC_BLLT_ICON; break;
case 7: idClass = IDC_LASER_GAUGE; break;
case 8: idClass = IDC_ACT_BUTTON; break;
case 9: idClass = IDC_EVENT; break;
case 10: idClass = IDC_EVENT; curIDSystem = &mercIdPtr()->_idSys; break;
case 11: idClass = IDC_GAUGE; curIDSystem = &mercIdPtr()->_idSys; break;
case 12: idClass = IDC_SCOPE; break;
case 13: idClass = IDC_BINOCULAR; break;
case 14: idClass = IDC_CINESCO; break;
case 15: idClass = IDC_COUNT_DOWN; break;
case 16: idClass = IDC_DEAD; break;
case 17: idClass = IDC_CONTINUE; break;
case 18: idClass = IDC_MSG_WINDOW; break;
case 19: idClass = IDC_WIP; break;
case 20: idClass = IDC_SUB_MISSION; break;
case 21: idClass = IDC_CAMERA_BATTERY_MB; break;
case 22: idClass = IDC_EXAMINE; curIDSystem = IdSubPtr(); break;
case 23: idClass = IDC_DATA; curIDSystem = IdSubPtr(); break;
case 24: idClass = IDC_SSCRN_BACK_GROUND; curIDSystem = IdSubPtr(); break;
case 25: idClass = IDC_SSCRN_PESETA; curIDSystem = IdSubPtr(); break;
case 26: idClass = IDC_SSCRN_CONFIRM; curIDSystem = IdSubPtr(); break;
Expand Down

0 comments on commit d80460a

Please sign in to comment.