plugy/PlugY/plugYFiles.h

108 lines
3.0 KiB
C

/*=================================================================
File created by Yohann NICOLAS.
Data added to D2 base-stucture
=================================================================*/
#pragma once
extern void* unassignSkillsBtnImages;
extern void* unassignStatsBtnImages;
extern void* stashBtnsImages;
extern void* newStatsInterfaceImages;
extern void* statsBackgroundImages;
extern void* sharedGoldBtnsImages;
#define CREATE_TABLE_DESCRIPTION( N ) \
BINField TableDesc[N]; int i=0
// 0 - null data, used by the End (Term) fields only
#define ADD_TERM_FIELD() \
TableDesc[i].fieldName = "end"; \
TableDesc[i].type = 0x00; \
TableDesc[i].strLength = 0x00; \
TableDesc[i].offset = 0x00; \
TableDesc[i].lookup = 0x00000000; i++
// 1 - String (needs length field)
#define ADD_STRING_FIELD( O,N,L ) \
TableDesc[i].fieldName = N; \
TableDesc[i].type = 0x01; \
TableDesc[i].strLength = L; \
TableDesc[i].offset = O; \
TableDesc[i].lookup = 0x00000000; i++
// 2 - DWORD field
#define ADD_DWORD_FIELD( O,N ) \
TableDesc[i].fieldName = N; \
TableDesc[i].type = 0x02; \
TableDesc[i].strLength = 0x00; \
TableDesc[i].offset = O; \
TableDesc[i].lookup = 0x00000000; i++
// 3 - WORD field
#define ADD_WORD_FIELD( O,N ) \
TableDesc[i].fieldName = N; \
TableDesc[i].type = 0x03; \
TableDesc[i].strLength = 0x00; \
TableDesc[i].offset = O; \
TableDesc[i].lookup = 0x00000000; i++
// 4 - BYTE field
#define ADD_BYTE_FIELD( O,N ) \
TableDesc[i].fieldName = N; \
TableDesc[i].type = 0x04; \
TableDesc[i].strLength = 0x00; \
TableDesc[i].offset = O; \
TableDesc[i].lookup = 0x00000000; i++
// 6 - UBYTE field
#define ADD_UBYTE_FIELD( O,N ) \
TableDesc[i].fieldName = N; \
TableDesc[i].type = 0x06; \
TableDesc[i].strLength = 0x00; \
TableDesc[i].offset = O; \
TableDesc[i].lookup = 0x00000000; i++
// 9 - three and four letter codes
#define ADD_STRCODE_FIELD( O,N ) \
TableDesc[i].fieldName = N; \
TableDesc[i].type = 0x09; \
TableDesc[i].strLength = 0x00; \
TableDesc[i].offset = O; \
TableDesc[i].lookup = 0x00000000; i++
// A,B,D,10,11 - Lookup code
#define ADD_LOOKUP_FIELD( O,N,T,L ) \
TableDesc[i].fieldName = N; \
TableDesc[i].type = T; \
TableDesc[i].strLength = 0x00; \
TableDesc[i].offset = O; \
TableDesc[i].lookup = L; i++
#define ADD_LOOKUP_WORD( O,N,L ) \
TableDesc[i].fieldName = N; \
TableDesc[i].type = 0x14; \
TableDesc[i].strLength = 0x00; \
TableDesc[i].offset = O; \
TableDesc[i].lookup = (void*)(L); i++
//D,F:Lookup for BYTE (F : UBYTE ?)
//17: call function
//14,16:Lookup for WORD
//11:Lookup fo DWORD
//1A: flag
#define BUILD_BIN( T,V,N,F ) V = (T*)compileTxtFile(mempool, F, TableDesc, (DWORD*)&nbStatsInterface, sizeof(T));
//extern void* lookupItemStatCost;
void Install_PlugYFiles();
void Install_PlugYImagesFiles();
void Install_PlugYTxtFiles();
/*================================= END OF FILE =================================*/