mirror of
https://github.com/alexbatalov/fallout2-ce.git
synced 2024-09-04 13:59:04 +00:00
parent
17cca452bb
commit
44a72c6b2b
@ -37,8 +37,8 @@
|
||||
|
||||
#define RENDER_ALL_STATS 7
|
||||
|
||||
#define EDITOR_WIN_WIDTH 640
|
||||
#define EDITOR_WIN_HEIGHT 480
|
||||
#define EDITOR_WINDOW_WIDTH 640
|
||||
#define EDITOR_WINDOW_HEIGHT 480
|
||||
|
||||
#define NAME_BUTTON_X 9
|
||||
#define NAME_BUTTON_Y 0
|
||||
@ -75,6 +75,11 @@
|
||||
#define PERK_WINDOW_WIDTH 573
|
||||
#define PERK_WINDOW_HEIGHT 230
|
||||
|
||||
#define PERK_WINDOW_LIST_X 45
|
||||
#define PERK_WINDOW_LIST_Y 43
|
||||
#define PERK_WINDOW_LIST_WIDTH 192
|
||||
#define PERK_WINDOW_LIST_HEIGHT 129
|
||||
|
||||
#define ANIMATE 0x01
|
||||
#define RED_NUMBERS 0x02
|
||||
#define BIG_NUM_WIDTH 14
|
||||
@ -1139,7 +1144,14 @@ int characterEditorWindowInit()
|
||||
return -1;
|
||||
}
|
||||
|
||||
characterEditorWindowHandle = windowCreate(0, 0, 640, 480, 256, 18);
|
||||
int editorWindowX = (screenGetWidth() - EDITOR_WINDOW_WIDTH) / 2;
|
||||
int editorWindowY = (screenGetHeight() - EDITOR_WINDOW_HEIGHT) / 2;
|
||||
characterEditorWindowHandle = windowCreate(editorWindowX,
|
||||
editorWindowY,
|
||||
EDITOR_WINDOW_WIDTH,
|
||||
EDITOR_WINDOW_HEIGHT,
|
||||
256,
|
||||
WINDOW_FLAG_0x10 | WINDOW_FLAG_0x02);
|
||||
if (characterEditorWindowHandle == -1) {
|
||||
for (i = 0; i < EDITOR_GRAPHIC_COUNT; i++) {
|
||||
if (_copyflag[i]) {
|
||||
@ -1270,7 +1282,7 @@ int characterEditorWindowInit()
|
||||
|
||||
// PRINT
|
||||
str = getmsg(&editorMessageList, &editorMessageListItem, 103);
|
||||
fontDrawText(characterEditorWindowBuf + (EDITOR_WIN_WIDTH * PRINT_BTN_Y) + PRINT_BTN_X, str, EDITOR_WIN_WIDTH, EDITOR_WIN_WIDTH, _colorTable[18979]);
|
||||
fontDrawText(characterEditorWindowBuf + (EDITOR_WINDOW_WIDTH * PRINT_BTN_Y) + PRINT_BTN_X, str, EDITOR_WINDOW_WIDTH, EDITOR_WINDOW_WIDTH, _colorTable[18979]);
|
||||
|
||||
editorRenderPcStats();
|
||||
_folder_init();
|
||||
@ -1280,11 +1292,11 @@ int characterEditorWindowInit()
|
||||
|
||||
// CANCEL
|
||||
str = getmsg(&editorMessageList, &editorMessageListItem, 102);
|
||||
fontDrawText(characterEditorWindowBuf + (EDITOR_WIN_WIDTH * CANCEL_BTN_Y) + CANCEL_BTN_X, str, EDITOR_WIN_WIDTH, EDITOR_WIN_WIDTH, _colorTable[18979]);
|
||||
fontDrawText(characterEditorWindowBuf + (EDITOR_WINDOW_WIDTH * CANCEL_BTN_Y) + CANCEL_BTN_X, str, EDITOR_WINDOW_WIDTH, EDITOR_WINDOW_WIDTH, _colorTable[18979]);
|
||||
|
||||
// DONE
|
||||
str = getmsg(&editorMessageList, &editorMessageListItem, 100);
|
||||
fontDrawText(characterEditorWindowBuf + (EDITOR_WIN_WIDTH * DONE_BTN_Y) + DONE_BTN_X, str, EDITOR_WIN_WIDTH, EDITOR_WIN_WIDTH, _colorTable[18979]);
|
||||
fontDrawText(characterEditorWindowBuf + (EDITOR_WINDOW_WIDTH * DONE_BTN_Y) + DONE_BTN_X, str, EDITOR_WINDOW_WIDTH, EDITOR_WINDOW_WIDTH, _colorTable[18979]);
|
||||
|
||||
editorRenderPrimaryStat(RENDER_ALL_STATS, 0, 0);
|
||||
editorRenderSecondaryStats();
|
||||
@ -1454,24 +1466,24 @@ int characterEditorWindowInit()
|
||||
_GInfo[EDITOR_GRAPHIC_NAME_ON].width,
|
||||
_GInfo[EDITOR_GRAPHIC_NAME_ON].height,
|
||||
_GInfo[EDITOR_GRAPHIC_NAME_ON].width,
|
||||
characterEditorWindowBuf + (EDITOR_WIN_WIDTH * NAME_BUTTON_Y) + x,
|
||||
EDITOR_WIN_WIDTH);
|
||||
characterEditorWindowBuf + (EDITOR_WINDOW_WIDTH * NAME_BUTTON_Y) + x,
|
||||
EDITOR_WINDOW_WIDTH);
|
||||
|
||||
x += _GInfo[EDITOR_GRAPHIC_NAME_ON].width;
|
||||
blitBufferToBufferTrans(_grphcpy[EDITOR_GRAPHIC_AGE_OFF],
|
||||
_GInfo[EDITOR_GRAPHIC_AGE_ON].width,
|
||||
_GInfo[EDITOR_GRAPHIC_AGE_ON].height,
|
||||
_GInfo[EDITOR_GRAPHIC_AGE_ON].width,
|
||||
characterEditorWindowBuf + (EDITOR_WIN_WIDTH * NAME_BUTTON_Y) + x,
|
||||
EDITOR_WIN_WIDTH);
|
||||
characterEditorWindowBuf + (EDITOR_WINDOW_WIDTH * NAME_BUTTON_Y) + x,
|
||||
EDITOR_WINDOW_WIDTH);
|
||||
|
||||
x += _GInfo[EDITOR_GRAPHIC_AGE_ON].width;
|
||||
blitBufferToBufferTrans(_grphcpy[EDITOR_GRAPHIC_SEX_OFF],
|
||||
_GInfo[EDITOR_GRAPHIC_SEX_ON].width,
|
||||
_GInfo[EDITOR_GRAPHIC_SEX_ON].height,
|
||||
_GInfo[EDITOR_GRAPHIC_SEX_ON].width,
|
||||
characterEditorWindowBuf + (EDITOR_WIN_WIDTH * NAME_BUTTON_Y) + x,
|
||||
EDITOR_WIN_WIDTH);
|
||||
characterEditorWindowBuf + (EDITOR_WINDOW_WIDTH * NAME_BUTTON_Y) + x,
|
||||
EDITOR_WINDOW_WIDTH);
|
||||
|
||||
btn = buttonCreate(characterEditorWindowHandle,
|
||||
11,
|
||||
@ -2944,7 +2956,9 @@ int characterEditorEditName()
|
||||
int windowWidth = _GInfo[EDITOR_GRAPHIC_CHARWIN].width;
|
||||
int windowHeight = _GInfo[EDITOR_GRAPHIC_CHARWIN].height;
|
||||
|
||||
int win = windowCreate(17, 0, windowWidth, windowHeight, 256, WINDOW_FLAG_0x10 | WINDOW_FLAG_0x02);
|
||||
int nameWindowX = (screenGetWidth() - EDITOR_WINDOW_WIDTH) / 2 + 17;
|
||||
int nameWindowY = (screenGetHeight() - EDITOR_WINDOW_HEIGHT) / 2;
|
||||
int win = windowCreate(nameWindowX, nameWindowY, windowWidth, windowHeight, 256, WINDOW_FLAG_0x10 | WINDOW_FLAG_0x02);
|
||||
if (win == -1) {
|
||||
return -1;
|
||||
}
|
||||
@ -3074,7 +3088,9 @@ int characterEditorRunEditAgeDialog()
|
||||
windowWidth = _GInfo[EDITOR_GRAPHIC_CHARWIN].width;
|
||||
windowHeight = _GInfo[EDITOR_GRAPHIC_CHARWIN].height;
|
||||
|
||||
win = windowCreate(_GInfo[EDITOR_GRAPHIC_NAME_ON].width + 9, 0, windowWidth, windowHeight, 256, WINDOW_FLAG_0x10 | WINDOW_FLAG_0x02);
|
||||
int ageWindowX = (screenGetWidth() - EDITOR_WINDOW_WIDTH) / 2 + _GInfo[EDITOR_GRAPHIC_NAME_ON].width + 9;
|
||||
int ageWindowY = (screenGetHeight() - EDITOR_WINDOW_HEIGHT) / 2;
|
||||
win = windowCreate(ageWindowX, ageWindowY, windowWidth, windowHeight, 256, WINDOW_FLAG_0x10 | WINDOW_FLAG_0x02);
|
||||
if (win == -1) {
|
||||
return -1;
|
||||
}
|
||||
@ -3302,10 +3318,11 @@ void characterEditorEditGender()
|
||||
int windowWidth = _GInfo[EDITOR_GRAPHIC_CHARWIN].width;
|
||||
int windowHeight = _GInfo[EDITOR_GRAPHIC_CHARWIN].height;
|
||||
|
||||
int x = 9;
|
||||
x += _GInfo[EDITOR_GRAPHIC_NAME_ON].width;
|
||||
x += _GInfo[EDITOR_GRAPHIC_AGE_ON].width;
|
||||
int win = windowCreate(x, 0, windowWidth, windowHeight, 256, WINDOW_FLAG_0x10 | WINDOW_FLAG_0x02);
|
||||
int genderWindowX = (screenGetWidth() - EDITOR_WINDOW_WIDTH) / 2 + 9
|
||||
+ _GInfo[EDITOR_GRAPHIC_NAME_ON].width;
|
||||
+ _GInfo[EDITOR_GRAPHIC_AGE_ON].width;
|
||||
int genderWindowY = (screenGetHeight() - EDITOR_WINDOW_HEIGHT) / 2;
|
||||
int win = windowCreate(genderWindowX, genderWindowY, windowWidth, windowHeight, 256, WINDOW_FLAG_0x10 | WINDOW_FLAG_0x02);
|
||||
|
||||
if (win == -1) {
|
||||
return;
|
||||
@ -4583,7 +4600,7 @@ int _DrawCard(int graphicId, const char* name, const char* attributes, char* des
|
||||
// 0x43AE8
|
||||
void _FldrButton()
|
||||
{
|
||||
mouseGetPosition(&_mouse_xpos, &_mouse_ypos);
|
||||
mouseGetPositionInWindow(characterEditorWindowHandle, &_mouse_xpos, &_mouse_ypos);
|
||||
soundPlayFile("ib3p1xx1");
|
||||
|
||||
if (_mouse_xpos >= 208) {
|
||||
@ -4604,7 +4621,7 @@ void _FldrButton()
|
||||
// 0x43AF40
|
||||
void _InfoButton(int eventCode)
|
||||
{
|
||||
mouseGetPosition(&_mouse_xpos, &_mouse_ypos);
|
||||
mouseGetPositionInWindow(characterEditorWindowHandle, &_mouse_xpos, &_mouse_ypos);
|
||||
|
||||
switch (eventCode) {
|
||||
case 525:
|
||||
@ -5363,7 +5380,14 @@ int editorSelectPerk()
|
||||
return -1;
|
||||
}
|
||||
|
||||
gEditorPerkWindow = windowCreate(PERK_WINDOW_X, PERK_WINDOW_Y, PERK_WINDOW_WIDTH, PERK_WINDOW_HEIGHT, 256, WINDOW_FLAG_0x10 | WINDOW_FLAG_0x02);
|
||||
// Maintain original position in original resolution, otherwise center it.
|
||||
int perkWindowX = screenGetWidth() != 640
|
||||
? (screenGetWidth() - PERK_WINDOW_WIDTH) / 2
|
||||
: PERK_WINDOW_X;
|
||||
int perkWindowY = screenGetHeight() != 480
|
||||
? (screenGetHeight() - PERK_WINDOW_HEIGHT) / 2
|
||||
: PERK_WINDOW_Y;
|
||||
gEditorPerkWindow = windowCreate(perkWindowX, perkWindowY, PERK_WINDOW_WIDTH, PERK_WINDOW_HEIGHT, 256, WINDOW_FLAG_0x10 | WINDOW_FLAG_0x02);
|
||||
if (gEditorPerkWindow == -1) {
|
||||
artUnlock(backgroundFrmHandle);
|
||||
debugPrint("\n *** Error running perks dialog window ***\n");
|
||||
@ -5444,10 +5468,10 @@ int editorSelectPerk()
|
||||
}
|
||||
|
||||
buttonCreate(gEditorPerkWindow,
|
||||
45,
|
||||
43,
|
||||
192,
|
||||
129,
|
||||
PERK_WINDOW_LIST_X,
|
||||
PERK_WINDOW_LIST_Y,
|
||||
PERK_WINDOW_LIST_WIDTH,
|
||||
PERK_WINDOW_LIST_HEIGHT,
|
||||
-1,
|
||||
-1,
|
||||
-1,
|
||||
@ -5561,10 +5585,10 @@ int _InputPDLoop(int count, void (*refreshProc)())
|
||||
soundPlayFile("ib1p1xx1");
|
||||
rc = 1;
|
||||
} else if (keyCode == 501) {
|
||||
mouseGetPosition(&_mouse_xpos, &_mouse_ypos);
|
||||
_cline = (_mouse_ypos - 134) / v16;
|
||||
if ((_mouse_ypos - 134) / v16 >= 0) {
|
||||
if (count - 1 < (_mouse_ypos - 134) / v16)
|
||||
mouseGetPositionInWindow(gEditorPerkWindow , &_mouse_xpos, &_mouse_ypos);
|
||||
_cline = (_mouse_ypos - PERK_WINDOW_LIST_Y) / v16;
|
||||
if (_cline >= 0) {
|
||||
if (count - 1 < _cline)
|
||||
_cline = count - 1;
|
||||
} else {
|
||||
_cline = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user