mirror of
https://github.com/alexbatalov/fallout2-ce.git
synced 2024-11-19 14:11:15 +00:00
Add proto_subdata_setup_fid_button
This commit is contained in:
parent
1c2fd05bcd
commit
b0b161ceb5
@ -438,6 +438,14 @@ void artRender(int fid, unsigned char* dest, int width, int height, int pitch)
|
|||||||
artUnlock(handle);
|
artUnlock(handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// mapper2.exe: 0x40A03C
|
||||||
|
int art_list_str(int fid, char* name)
|
||||||
|
{
|
||||||
|
// TODO: Incomplete.
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
// 0x419160
|
// 0x419160
|
||||||
Art* artLock(int fid, CacheEntry** handlePtr)
|
Art* artLock(int fid, CacheEntry** handlePtr)
|
||||||
{
|
{
|
||||||
|
@ -123,6 +123,7 @@ char* artGetObjectTypeName(int objectType);
|
|||||||
int artIsObjectTypeHidden(int objectType);
|
int artIsObjectTypeHidden(int objectType);
|
||||||
int artGetFidgetCount(int headFid);
|
int artGetFidgetCount(int headFid);
|
||||||
void artRender(int fid, unsigned char* dest, int width, int height, int pitch);
|
void artRender(int fid, unsigned char* dest, int width, int height, int pitch);
|
||||||
|
int art_list_str(int fid, char* name);
|
||||||
Art* artLock(int fid, CacheEntry** cache_entry);
|
Art* artLock(int fid, CacheEntry** cache_entry);
|
||||||
unsigned char* artLockFrameData(int fid, int frame, int direction, CacheEntry** out_cache_entry);
|
unsigned char* artLockFrameData(int fid, int frame, int direction, CacheEntry** out_cache_entry);
|
||||||
unsigned char* artLockFrameDataReturningSize(int fid, CacheEntry** out_cache_entry, int* widthPtr, int* heightPtr);
|
unsigned char* artLockFrameDataReturningSize(int fid, CacheEntry** out_cache_entry, int* widthPtr, int* heightPtr);
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "art.h"
|
||||||
#include "color.h"
|
#include "color.h"
|
||||||
#include "combat_ai.h"
|
#include "combat_ai.h"
|
||||||
#include "critter.h"
|
#include "critter.h"
|
||||||
@ -23,6 +24,7 @@ namespace fallout {
|
|||||||
|
|
||||||
static int proto_choose_container_flags(Proto* proto);
|
static int proto_choose_container_flags(Proto* proto);
|
||||||
static int proto_subdata_setup_int_button(const char* title, int key, int value, int min_value, int max_value, int* y, int a7);
|
static int proto_subdata_setup_int_button(const char* title, int key, int value, int min_value, int max_value, int* y, int a7);
|
||||||
|
static int proto_subdata_setup_fid_button(const char* title, int key, int fid, int* y, int a5);
|
||||||
static void proto_critter_flags_redraw(int win, int pid);
|
static void proto_critter_flags_redraw(int win, int pid);
|
||||||
static int proto_critter_flags_modify(int pid);
|
static int proto_critter_flags_modify(int pid);
|
||||||
static int mp_pick_kill_type();
|
static int mp_pick_kill_type();
|
||||||
@ -276,6 +278,62 @@ int proto_subdata_setup_int_button(const char* title, int key, int value, int mi
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 0x492B28
|
||||||
|
int proto_subdata_setup_fid_button(const char* title, int key, int fid, int* y, int a5)
|
||||||
|
{
|
||||||
|
char text[36];
|
||||||
|
char* pch;
|
||||||
|
int button_x;
|
||||||
|
int value_offset_x;
|
||||||
|
|
||||||
|
button_x = 10;
|
||||||
|
value_offset_x = 90;
|
||||||
|
|
||||||
|
if (a5 == 9) {
|
||||||
|
*y -= 189;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (a5 > 8) {
|
||||||
|
button_x = 165;
|
||||||
|
value_offset_x -= 16;
|
||||||
|
}
|
||||||
|
|
||||||
|
_win_register_text_button(subwin,
|
||||||
|
button_x,
|
||||||
|
*y,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
key,
|
||||||
|
title,
|
||||||
|
0);
|
||||||
|
|
||||||
|
if (art_list_str(fid, text) != -1) {
|
||||||
|
pch = strchr(text, '.');
|
||||||
|
if (pch != NULL) {
|
||||||
|
*pch = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
windowDrawText(subwin,
|
||||||
|
text,
|
||||||
|
80,
|
||||||
|
button_x + value_offset_x,
|
||||||
|
*y + 4,
|
||||||
|
_colorTable[32747] | 0x10000);
|
||||||
|
} else {
|
||||||
|
windowDrawText(subwin,
|
||||||
|
"None",
|
||||||
|
80,
|
||||||
|
button_x + value_offset_x,
|
||||||
|
*y + 4,
|
||||||
|
_colorTable[992] | 0x10000);
|
||||||
|
}
|
||||||
|
|
||||||
|
*y += 21;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
// 0x495438
|
// 0x495438
|
||||||
const char* proto_wall_light_str(int flags)
|
const char* proto_wall_light_str(int flags)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user