MCPcopy Create free account
hub / github.com/diasurgical/devilution / SetPlrAnims

Function SetPlrAnims

Source/player.cpp:425–502  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

423}
424
425void SetPlrAnims(int pnum)
426{
427 int pc, gn;
428
429 if ((DWORD)pnum >= MAX_PLRS) {
430 app_fatal("SetPlrAnims: illegal player %d", pnum);
431 }
432
433 plr[pnum]._pNWidth = 96;
434 plr[pnum]._pWWidth = 96;
435 plr[pnum]._pAWidth = 128;
436 plr[pnum]._pHWidth = 96;
437 plr[pnum]._pSWidth = 96;
438 plr[pnum]._pDWidth = 128;
439 plr[pnum]._pBWidth = 96;
440
441 pc = plr[pnum]._pClass;
442
443 if (leveltype == DTYPE_TOWN) {
444 plr[pnum]._pNFrames = PlrGFXAnimLens[pc][7];
445 plr[pnum]._pWFrames = PlrGFXAnimLens[pc][8];
446 plr[pnum]._pDFrames = PlrGFXAnimLens[pc][4];
447 plr[pnum]._pSFrames = PlrGFXAnimLens[pc][5];
448 } else {
449 plr[pnum]._pNFrames = PlrGFXAnimLens[pc][0];
450 plr[pnum]._pWFrames = PlrGFXAnimLens[pc][2];
451 plr[pnum]._pAFrames = PlrGFXAnimLens[pc][1];
452 plr[pnum]._pHFrames = PlrGFXAnimLens[pc][6];
453 plr[pnum]._pSFrames = PlrGFXAnimLens[pc][5];
454 plr[pnum]._pDFrames = PlrGFXAnimLens[pc][4];
455 plr[pnum]._pBFrames = PlrGFXAnimLens[pc][3];
456 plr[pnum]._pAFNum = PlrGFXAnimLens[pc][9];
457 }
458 plr[pnum]._pSFNum = PlrGFXAnimLens[pc][10];
459
460 gn = plr[pnum]._pgfxnum & 0xF;
461 if (pc == PC_WARRIOR) {
462 if (gn == ANIM_ID_BOW) {
463 if (leveltype != DTYPE_TOWN) {
464 plr[pnum]._pNFrames = 8;
465 }
466 plr[pnum]._pAWidth = 96;
467 plr[pnum]._pAFNum = 11;
468 } else if (gn == ANIM_ID_AXE) {
469 plr[pnum]._pAFrames = 20;
470 plr[pnum]._pAFNum = 10;
471 } else if (gn == ANIM_ID_STAFF) {
472 plr[pnum]._pAFrames = 16;
473 plr[pnum]._pAFNum = 11;
474 }
475#ifndef SPAWN
476 } else if (pc == PC_ROGUE) {
477 if (gn == ANIM_ID_AXE) {
478 plr[pnum]._pAFrames = 22;
479 plr[pnum]._pAFNum = 13;
480 } else if (gn == ANIM_ID_BOW) {
481 plr[pnum]._pAFrames = 12;
482 plr[pnum]._pAFNum = 7;

Callers 4

InitPlayerFunction · 0.85
StartPlayerKillFunction · 0.85
SyncInitPlrFunction · 0.85
CalcPlrItemValsFunction · 0.85

Calls 1

app_fatalFunction · 0.85

Tested by

no test coverage detected