Files
source/Laptop/IMP Gear Entrance.cpp
BeatAroundTheBuscherandGitHub ed00830202 Fixes Upper/Lower Casing for include paths (#487)
* Fixing upper/lower case for includes

types.h, zconf.h and zlib.h were renamed so that global includes like Types.h
are not used.
2025-08-16 22:01:12 -03:00

147 lines
4.4 KiB
C++

/**
* @file
* @author Flugente (bears-pit.com)
*/
#include "CharProfile.h"
#include "IMP Gear Entrance.h"
#include "IMP MainPage.h"
#include "IMPVideoObjects.h"
#include "Utilities.h"
#include "DEBUG.H"
#include "WordWrap.h"
#include "Encrypted File.h"
#include "Cursors.h"
#include "laptop.h"
#include "IMP Text System.h"
#include "Text.h"
// the buttons
UINT32 giIMPGearEntranceButtonImage[2];
UINT32 giIMPGearEntranceButton[2];
// function definitions
void DestroyIMPGearEntranceButtons( void );
void CreateIMPGearEntranceButtons( void );
// callbacks
void BtnIMPGearBeginCallbackOld( GUI_BUTTON *btn, INT32 reason );
void BtnIMPGearBeginCallbackNew( GUI_BUTTON *btn, INT32 reason );
BOOLEAN fNewIMPGearMethodUsed = FALSE;
BOOLEAN IsIMPGearUsed()
{
return fNewIMPGearMethodUsed;
}
void EnterIMPGearEntrance( void )
{
CreateIMPGearEntranceButtons( );
}
void RenderIMPGearEntrance( void )
{
// the background
RenderProfileBackGround( );
ColorFillVideoSurfaceArea( FRAME_BUFFER, LAPTOP_SCREEN_UL_X + 50, LAPTOP_SCREEN_WEB_UL_Y + 50, LAPTOP_SCREEN_LR_X - 50, LAPTOP_SCREEN_WEB_UL_Y + 200, Get16BPPColor( FROMRGB( 100, 100, 100 ) ) );
UINT16 usY = DisplayWrappedString( LAPTOP_SCREEN_UL_X + 60, LAPTOP_SCREEN_WEB_UL_Y + 60, LAPTOP_SCREEN_LR_X - LAPTOP_SCREEN_UL_X - 120, 2, FONT14ARIAL, FONT_WHITE,
szIMPGearWebSiteText[0], FONT_MCOLOR_BLACK, FALSE, 0 );
usY += DisplayWrappedString( LAPTOP_SCREEN_UL_X + 60, LAPTOP_SCREEN_WEB_UL_Y + 60 + usY, LAPTOP_SCREEN_LR_X - LAPTOP_SCREEN_UL_X - 120, 2, FONT14ARIAL, FONT_WHITE,
szIMPGearWebSiteText[1], FONT_MCOLOR_BLACK, FALSE, 0 );
usY += DisplayWrappedString( LAPTOP_SCREEN_UL_X + 60, LAPTOP_SCREEN_WEB_UL_Y + 60 + usY, LAPTOP_SCREEN_LR_X - LAPTOP_SCREEN_UL_X - 120, 2, FONT14ARIAL, FONT_WHITE,
szIMPGearWebSiteText[2], FONT_MCOLOR_BLACK, FALSE, 0 );
}
void ExitIMPGearEntrance( void )
{
// destroy the finish buttons
DestroyIMPGearEntranceButtons( );
}
void HandleIMPGearEntrance( void )
{
InvalidateRegion( LAPTOP_SCREEN_UL_X, LAPTOP_SCREEN_WEB_UL_Y, LAPTOP_SCREEN_LR_X, LAPTOP_SCREEN_WEB_LR_Y );
}
void CreateIMPGearEntranceButtons( void )
{
// the begin button
giIMPGearEntranceButtonImage[0] = LoadButtonImage( "LAPTOP\\button_2.sti", -1, 0, -1, 1, -1 );
giIMPGearEntranceButton[0] = CreateIconAndTextButton( giIMPGearEntranceButtonImage[0], szIMPGearWebSiteText[3], FONT12ARIAL,
FONT_WHITE, DEFAULT_SHADOW,
FONT_WHITE, DEFAULT_SHADOW,
TEXT_CJUSTIFIED,
LAPTOP_SCREEN_UL_X + (136), LAPTOP_SCREEN_WEB_UL_Y + (220), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPGearBeginCallbackOld );
giIMPGearEntranceButton[1] = CreateIconAndTextButton( giIMPGearEntranceButtonImage[0], szIMPGearWebSiteText[4], FONT12ARIAL,
FONT_WHITE, DEFAULT_SHADOW,
FONT_WHITE, DEFAULT_SHADOW,
TEXT_CJUSTIFIED,
LAPTOP_SCREEN_UL_X + (136), LAPTOP_SCREEN_WEB_UL_Y + (280), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPGearBeginCallbackNew );
SetButtonCursor( giIMPGearEntranceButton[0], CURSOR_WWW );
}
void DestroyIMPGearEntranceButtons( void )
{
RemoveButton( giIMPGearEntranceButton[0] );
RemoveButton( giIMPGearEntranceButton[1] );
UnloadButtonImage( giIMPGearEntranceButtonImage[0] );
}
void BtnIMPGearBeginCallbackOld( GUI_BUTTON *btn, INT32 reason )
{
if ( !(btn->uiFlags & BUTTON_ENABLED) )
return;
if ( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN )
{
btn->uiFlags |= (BUTTON_CLICKED_ON);
}
else if ( reason & MSYS_CALLBACK_REASON_LBUTTON_UP )
{
if ( btn->uiFlags & BUTTON_CLICKED_ON )
{
btn->uiFlags &= ~(BUTTON_CLICKED_ON);
iCurrentImpPage = IMP_FINISH;
iCurrentProfileMode = IMP__FINISH;
fButtonPendingFlag = TRUE;
fNewIMPGearMethodUsed = FALSE;
}
}
}
void BtnIMPGearBeginCallbackNew( GUI_BUTTON *btn, INT32 reason )
{
if ( !(btn->uiFlags & BUTTON_ENABLED) )
return;
if ( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN )
{
btn->uiFlags |= (BUTTON_CLICKED_ON);
}
else if ( reason & MSYS_CALLBACK_REASON_LBUTTON_UP )
{
if ( btn->uiFlags & BUTTON_CLICKED_ON )
{
btn->uiFlags &= ~(BUTTON_CLICKED_ON);
iCurrentImpPage = IMP_GEAR;
fButtonPendingFlag = TRUE;
fNewIMPGearMethodUsed = TRUE;
}
}
}