Updated FalloutStructs.h and some other files

This commit is contained in:
NovaRain
2021-01-30 09:28:32 +08:00
parent 21b88c3cf0
commit 609c4af6b1
5 changed files with 63 additions and 23 deletions
@@ -1,5 +1,6 @@
#ifndef COMMAND_H
#define COMMAND_H
#define COMMAND_LITE_H
#define critter_is_armed(x) (((obj_item_subtype(critter_inven_obj(x,INVEN_TYPE_RIGHT_HAND))) == item_type_weapon) orElse \
((obj_item_subtype(critter_inven_obj(x,INVEN_TYPE_LEFT_HAND))) == item_type_weapon))
@@ -289,6 +289,7 @@
#define CALIBER_7_62MM (18)
// hidden perks
#ifndef DEFINE_LITE_H
#define PERK_add_nuka (53)
#define PERK_add_buffout (54)
#define PERK_add_mentats (55)
@@ -309,6 +310,7 @@
#define PERK_add_jet (70)
#define PERK_add_tragic (71)
#define PERK_armor_charisma (72)
#endif
#define WPN_ANIM_NONE (0x00) // (A)
#define WPN_ANIM_KNIFE (0x01) // (D)
@@ -4,6 +4,7 @@
#ifndef DEFINE_H
#define DEFINE_H
#define DEFINE_LITE_H
// This file holds all of the things that should be preprocessed.
+52 -22
View File
@@ -766,6 +766,36 @@ struct ScriptListInfoItem {
long numLocalVars;
};
struct WinRegion { // sizeof = 0x88 (0x8C in the engine code)
char name[32];
long field_20;
long field_24;
long field_28;
long field_2C;
long field_30;
long field_34;
long field_38;
long field_3C;
long field_40;
TProgram* procScript;
long proc_48;
long proc_4C;
long procEnter;
long procLeave;
long field_58;
long field_5C;
long field_60;
long field_64;
long flags_68;
long field_6C;
long field_70;
long field_74;
void* func_78;
void* func_7C;
long field_80;
long field_84;
};
//for holding window info
struct WINinfo {
long wID; // window position in the _window_index array
@@ -788,45 +818,45 @@ struct WINinfo {
};
struct sWindow {
char name[32];
long wID; // window position in the _window_index array
long width;
long height;
long region1;
long region2;
long region3;
long region4;
long *buttons;
long numButtons;
long setPositionX;
long setPositionY;
long clearColour;
long flags;
char name[32];
long wID; // window position in the _window_index array
long width;
long height;
WinRegion* regions;
long region2;
long countRegions;
long region4;
long* buttons;
long numButtons;
long setPositionX;
long setPositionY;
long clearColour;
long flags;
float randX;
float randY;
};
struct LSData {
char signature[24];
char signature[24];
short majorVer;
short minorVer;
char charR;
char playerName[32];
char comment[30];
char unused1;
char charR;
char playerName[32];
char comment[30];
char unused1;
short realMonth;
short realDay;
short realYear;
short unused2;
long realTime;
long realTime;
short gameMonth;
short gameDay;
short gameYear;
short unused3;
long gameTime;
long gameTime;
short mapElev;
short mapNumber;
char mapName[16];
char mapName[16];
};
struct Queue {
+7 -1
View File
@@ -38,6 +38,12 @@ enum WinNameType {
WINTYPE_Skilldex = 6,
WINTYPE_EscMenu = 7, // escape menu
WINTYPE_Automap = 8,
// Inventory types
WINTYPE_Inven = 50, // player inventory
WINTYPE_Loot = 51,
WINTYPE_Use = 53,
WINTYPE_Barter = 54
};
WINinfo* Interface_GetWindow(long winType) {
@@ -71,7 +77,7 @@ WINinfo* Interface_GetWindow(long winType) {
if (GetLoopFlags() & AUTOMAP) winID = Interface_ActiveInterfaceWID();
break;
default:
return (WINinfo*)(-1);
return (WINinfo*)(-1); // unsupported type
}
return (winID > 0) ? fo_GNW_find(winID) : nullptr;
}