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 #ifndef COMMAND_H
#define 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 \ #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)) ((obj_item_subtype(critter_inven_obj(x,INVEN_TYPE_LEFT_HAND))) == item_type_weapon))
@@ -289,6 +289,7 @@
#define CALIBER_7_62MM (18) #define CALIBER_7_62MM (18)
// hidden perks // hidden perks
#ifndef DEFINE_LITE_H
#define PERK_add_nuka (53) #define PERK_add_nuka (53)
#define PERK_add_buffout (54) #define PERK_add_buffout (54)
#define PERK_add_mentats (55) #define PERK_add_mentats (55)
@@ -309,6 +310,7 @@
#define PERK_add_jet (70) #define PERK_add_jet (70)
#define PERK_add_tragic (71) #define PERK_add_tragic (71)
#define PERK_armor_charisma (72) #define PERK_armor_charisma (72)
#endif
#define WPN_ANIM_NONE (0x00) // (A) #define WPN_ANIM_NONE (0x00) // (A)
#define WPN_ANIM_KNIFE (0x01) // (D) #define WPN_ANIM_KNIFE (0x01) // (D)
@@ -4,6 +4,7 @@
#ifndef DEFINE_H #ifndef DEFINE_H
#define DEFINE_H #define DEFINE_H
#define DEFINE_LITE_H
// This file holds all of the things that should be preprocessed. // This file holds all of the things that should be preprocessed.
+52 -22
View File
@@ -766,6 +766,36 @@ struct ScriptListInfoItem {
long numLocalVars; 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 //for holding window info
struct WINinfo { struct WINinfo {
long wID; // window position in the _window_index array long wID; // window position in the _window_index array
@@ -788,45 +818,45 @@ struct WINinfo {
}; };
struct sWindow { struct sWindow {
char name[32]; char name[32];
long wID; // window position in the _window_index array long wID; // window position in the _window_index array
long width; long width;
long height; long height;
long region1; WinRegion* regions;
long region2; long region2;
long region3; long countRegions;
long region4; long region4;
long *buttons; long* buttons;
long numButtons; long numButtons;
long setPositionX; long setPositionX;
long setPositionY; long setPositionY;
long clearColour; long clearColour;
long flags; long flags;
float randX; float randX;
float randY; float randY;
}; };
struct LSData { struct LSData {
char signature[24]; char signature[24];
short majorVer; short majorVer;
short minorVer; short minorVer;
char charR; char charR;
char playerName[32]; char playerName[32];
char comment[30]; char comment[30];
char unused1; char unused1;
short realMonth; short realMonth;
short realDay; short realDay;
short realYear; short realYear;
short unused2; short unused2;
long realTime; long realTime;
short gameMonth; short gameMonth;
short gameDay; short gameDay;
short gameYear; short gameYear;
short unused3; short unused3;
long gameTime; long gameTime;
short mapElev; short mapElev;
short mapNumber; short mapNumber;
char mapName[16]; char mapName[16];
}; };
struct Queue { struct Queue {
+7 -1
View File
@@ -38,6 +38,12 @@ enum WinNameType {
WINTYPE_Skilldex = 6, WINTYPE_Skilldex = 6,
WINTYPE_EscMenu = 7, // escape menu WINTYPE_EscMenu = 7, // escape menu
WINTYPE_Automap = 8, WINTYPE_Automap = 8,
// Inventory types
WINTYPE_Inven = 50, // player inventory
WINTYPE_Loot = 51,
WINTYPE_Use = 53,
WINTYPE_Barter = 54
}; };
WINinfo* Interface_GetWindow(long winType) { WINinfo* Interface_GetWindow(long winType) {
@@ -71,7 +77,7 @@ WINinfo* Interface_GetWindow(long winType) {
if (GetLoopFlags() & AUTOMAP) winID = Interface_ActiveInterfaceWID(); if (GetLoopFlags() & AUTOMAP) winID = Interface_ActiveInterfaceWID();
break; break;
default: default:
return (WINinfo*)(-1); return (WINinfo*)(-1); // unsupported type
} }
return (winID > 0) ? fo_GNW_find(winID) : nullptr; return (winID > 0) ? fo_GNW_find(winID) : nullptr;
} }