Browse Source

[hellfire] CreatePlrItems bin exact (#1473)

pull/876/head
qndel 7 years ago committed by Anders Jenbo
parent
commit
936bda539a
  1. 59
      Source/items.cpp

59
Source/items.cpp

@ -871,8 +871,9 @@ void CreatePlrItems(int p)
int i;
ItemStruct *pi = plr[p].InvBody;
for (i = 0; i < NUM_INVLOC; i++) {
pi[i]._itype = ITYPE_NONE;
for (i = NUM_INVLOC; i != 0; i--) {
pi->_itype = ITYPE_NONE;
pi++;
}
// converting this to a for loop creates a `rep stosd` instruction,
@ -880,15 +881,17 @@ void CreatePlrItems(int p)
memset(&plr[p].InvGrid, 0, sizeof(plr[p].InvGrid));
pi = plr[p].InvList;
for (i = 0; i < NUM_INV_GRID_ELEM; i++) {
pi[i]._itype = ITYPE_NONE;
for (i = NUM_INV_GRID_ELEM; i != 0; i--) {
pi->_itype = ITYPE_NONE;
pi++;
}
plr[p]._pNumInv = 0;
pi = plr[p].SpdList;
for (i = 0; i < MAXBELTITEMS; i++) {
pi[i]._itype = ITYPE_NONE;
for (i = MAXBELTITEMS; i != 0; i--) {
pi->_itype = ITYPE_NONE;
pi++;
}
switch (plr[p]._pClass) {
@ -930,11 +933,55 @@ void CreatePlrItems(int p)
SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_LEFT], IDI_SORCEROR);
GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_LEFT]);
#ifdef HELLFIRE
SetPlrHandItem(&plr[p].SpdList[0], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[0]);
SetPlrHandItem(&plr[p].SpdList[1], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[1]);
#else
SetPlrHandItem(&plr[p].SpdList[0], IDI_MANA);
GetPlrHandSeed(&plr[p].SpdList[0]);
SetPlrHandItem(&plr[p].SpdList[1], IDI_MANA);
GetPlrHandSeed(&plr[p].SpdList[1]);
#endif
break;
#endif
#ifdef HELLFIRE
case PC_MONK:
SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_LEFT], 36);
GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_LEFT]);
SetPlrHandItem(&plr[p].SpdList[0], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[0]);
SetPlrHandItem(&plr[p].SpdList[1], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[1]);
break;
case PC_BARD:
SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_LEFT], 37);
GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_LEFT]);
SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_RIGHT], 38);
GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_RIGHT]);
SetPlrHandItem(&plr[p].SpdList[0], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[0]);
SetPlrHandItem(&plr[p].SpdList[1], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[1]);
break;
case PC_BARBARIAN:
SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_LEFT], 139);
GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_LEFT]);
SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_RIGHT], 2);
GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_RIGHT]);
SetPlrHandItem(&plr[p].SpdList[0], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[0]);
SetPlrHandItem(&plr[p].SpdList[1], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[1]);
break;
#endif
}

Loading…
Cancel
Save