Review pipboyOpen
This commit is contained in:
parent
0ec5306de5
commit
6c74c461c2
|
@ -588,7 +588,7 @@ int gameHandleKey(int eventCode, bool isInCombatMode)
|
||||||
showDialogBox(title, NULL, 0, 192, 116, _colorTable[32328], NULL, _colorTable[32328], 0);
|
showDialogBox(title, NULL, 0, 192, 116, _colorTable[32328], NULL, _colorTable[32328], 0);
|
||||||
} else {
|
} else {
|
||||||
soundPlayFile("ib1p1xx1");
|
soundPlayFile("ib1p1xx1");
|
||||||
pipboyOpen(false);
|
pipboyOpen(PIPBOY_OPEN_INTENT_UNSPECIFIED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -656,7 +656,7 @@ int gameHandleKey(int eventCode, bool isInCombatMode)
|
||||||
showDialogBox(title, NULL, 0, 192, 116, _colorTable[32328], NULL, _colorTable[32328], 0);
|
showDialogBox(title, NULL, 0, 192, 116, _colorTable[32328], NULL, _colorTable[32328], 0);
|
||||||
} else {
|
} else {
|
||||||
soundPlayFile("ib1p1xx1");
|
soundPlayFile("ib1p1xx1");
|
||||||
pipboyOpen(true);
|
pipboyOpen(PIPBOY_OPEN_INTENT_REST);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -187,7 +187,7 @@ typedef struct PipboyBomb {
|
||||||
|
|
||||||
typedef void PipboyRenderProc(int a1);
|
typedef void PipboyRenderProc(int a1);
|
||||||
|
|
||||||
static int pipboyWindowInit(bool forceRest);
|
static int pipboyWindowInit(int intent);
|
||||||
static void pipboyWindowFree();
|
static void pipboyWindowFree();
|
||||||
static void _pip_init_();
|
static void _pip_init_();
|
||||||
static void pipboyDrawNumber(int value, int digits, int x, int y);
|
static void pipboyDrawNumber(int value, int digits, int x, int y);
|
||||||
|
@ -396,7 +396,7 @@ unsigned char _holo_flag;
|
||||||
unsigned char _stat_flag;
|
unsigned char _stat_flag;
|
||||||
|
|
||||||
// 0x497004
|
// 0x497004
|
||||||
int pipboyOpen(bool forceRest)
|
int pipboyOpen(int intent)
|
||||||
{
|
{
|
||||||
if (!_wmMapPipboyActive()) {
|
if (!_wmMapPipboyActive()) {
|
||||||
// You aren't wearing the pipboy!
|
// You aren't wearing the pipboy!
|
||||||
|
@ -405,7 +405,8 @@ int pipboyOpen(bool forceRest)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pipboyWindowInit(forceRest) == -1) {
|
intent = pipboyWindowInit(intent);
|
||||||
|
if (intent == -1) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -415,9 +416,9 @@ int pipboyOpen(bool forceRest)
|
||||||
while (true) {
|
while (true) {
|
||||||
int keyCode = _get_input();
|
int keyCode = _get_input();
|
||||||
|
|
||||||
if (forceRest) {
|
if (intent == PIPBOY_OPEN_INTENT_REST) {
|
||||||
keyCode = 504;
|
keyCode = 504;
|
||||||
forceRest = false;
|
intent = PIPBOY_OPEN_INTENT_UNSPECIFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
mouseGetPositionInWindow(gPipboyWindow, &gPipboyMouseX, &gPipboyMouseY);
|
mouseGetPositionInWindow(gPipboyWindow, &gPipboyMouseX, &gPipboyMouseY);
|
||||||
|
@ -470,7 +471,7 @@ int pipboyOpen(bool forceRest)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x497228
|
// 0x497228
|
||||||
static int pipboyWindowInit(bool forceRest)
|
static int pipboyWindowInit(int intent)
|
||||||
{
|
{
|
||||||
gPipboyWindowIsoWasEnabled = isoDisable();
|
gPipboyWindowIsoWasEnabled = isoDisable();
|
||||||
|
|
||||||
|
@ -591,7 +592,7 @@ static int pipboyWindowInit(bool forceRest)
|
||||||
y += 27;
|
y += 27;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (forceRest) {
|
if (intent == PIPBOY_OPEN_INTENT_REST) {
|
||||||
if (!_critter_can_obj_dude_rest()) {
|
if (!_critter_can_obj_dude_rest()) {
|
||||||
blitBufferToBufferTrans(
|
blitBufferToBufferTrans(
|
||||||
gPipboyFrmData[PIPBOY_FRM_LOGO],
|
gPipboyFrmData[PIPBOY_FRM_LOGO],
|
||||||
|
@ -634,6 +635,8 @@ static int pipboyWindowInit(bool forceRest)
|
||||||
|
|
||||||
const char* text = getmsg(&gPipboyMessageList, &gPipboyMessageListItem, 215);
|
const char* text = getmsg(&gPipboyMessageList, &gPipboyMessageListItem, 215);
|
||||||
showDialogBox(text, NULL, 0, 192, 135, _colorTable[32328], 0, _colorTable[32328], DIALOG_BOX_LARGE);
|
showDialogBox(text, NULL, 0, 192, 135, _colorTable[32328], 0, _colorTable[32328], DIALOG_BOX_LARGE);
|
||||||
|
|
||||||
|
intent = PIPBOY_OPEN_INTENT_UNSPECIFIED;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
blitBufferToBufferTrans(
|
blitBufferToBufferTrans(
|
||||||
|
@ -681,7 +684,7 @@ static int pipboyWindowInit(bool forceRest)
|
||||||
soundPlayFile("pipon");
|
soundPlayFile("pipon");
|
||||||
windowRefresh(gPipboyWindow);
|
windowRefresh(gPipboyWindow);
|
||||||
|
|
||||||
return 0;
|
return intent;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x497828
|
// 0x497828
|
||||||
|
|
|
@ -3,7 +3,12 @@
|
||||||
|
|
||||||
#include "db.h"
|
#include "db.h"
|
||||||
|
|
||||||
int pipboyOpen(bool forceRest);
|
typedef enum PipboyOpenIntent {
|
||||||
|
PIPBOY_OPEN_INTENT_UNSPECIFIED = 0,
|
||||||
|
PIPBOY_OPEN_INTENT_REST = 1,
|
||||||
|
} PipboyOpenIntent;
|
||||||
|
|
||||||
|
int pipboyOpen(int intent);
|
||||||
void pipboyInit();
|
void pipboyInit();
|
||||||
void pipboyReset();
|
void pipboyReset();
|
||||||
int pipboySave(File* stream);
|
int pipboySave(File* stream);
|
||||||
|
|
Loading…
Reference in New Issue