This is PacMovement.h in view mode; [Download] [Up]
// used to move the player about during demo mode.
// stolen from the ghosts.
static intm demofind[3] = { { 0, 1, 2 }, { 3, 3, 4 }, { 5, 6, 7 } };
static intm demoDir[3] = { { 1, 4, 1 }, { 2, 1, 1 }, { 1, 8, 1 } };
static intm demoxvec[16] = {
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // no way to go
{ 2, 2, 2, 2, 2, 2, 2, 2 }, // right only
{ -2, -2, -2, -2, -2, -2, -2, -2 }, // left only
{ 2, -2, -2, 2, -2, 2, 2, -2 }, // left or right
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // down only
{ 2, 2, 0, 0, 0, 0, 2, 0 }, // down or right
{ 0, -2, -2, 0, 0, 0, -2, -2 }, // down or left
{ 2, 2, -2, 0, 0, 2, 2, -2 }, // down, left, or right
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // up only
{ 2, 2, 0, 0, 0, 2, 2, 0 }, // up or right
{ 0, -2, -2, 0, 0, 0, -2, -2 }, // up or left
{ 2, -2, -2, 0, 0, 0, -2, -2 }, // up, left, or right
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // up or down
{ 0, 2, 0, 0, 0, 2, 2, 0 }, // up, down, or right
{ 0, -2, -2, 0, 0, 0, -2, -2 }, // up, down, or left
{ 2, -2, 0, 0, 0, 0, 2, -2 } }; // any which way
static intm demoyvec[16] = {
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // no way to go
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // right only
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // left only
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // left or right
{ -2, -2, -2, -2, -2, -2, -2, -2 }, // down only
{ 0, 0, -2, -2, -2, -2, 0, -2 }, // down or right
{ -2, 0, 0, -2, -2, -2, 0, 0 }, // down or left
{ 0, 0, 0, -2, -2, 0, 0, 0 }, // down, left, or right
{ 2, 2, 2, 2, 2, 2, 2, 2 }, // up only
{ 0, 0, 2, 2, 2, 0, 0, 2 }, // up or right
{ 2, 0, 0, 2, 2, 2, 0, 0 }, // up or left
{ 0, 0, 0, 2, 2, 2, 0, 0 }, // up, left, or right
{ 2, 2, 2, 2, -2, -2, -2, -2 }, // up or down
{ 2, 0, 2, 2, -2, 0, 0, -2 }, // up, down, or right
{ 2, 0, 0, -2, 2, -2, 0, 0 }, // up, down, or left
{ 0, 0, 2, 2, -2, -2, 0, 0 } }; // any which way
static intm chasexvec[16] = {
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // no way to go
{ 2, 2, 2, 2, 2, 2, 2, 2 }, // right only
{ -2, -2, -2, -2, -2, -2, -2, -2 }, // left only
{ -2, 2, 2, -2, 2, -2, -2, 2 }, // left or right
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // down only
{ 0, 0, 0, 0, 2, 2, 2, 2 }, // down or right
{ 0, 0, 0, -2, 0, -2, -2, -2 }, // down or left
{ -2, 0, 0, -2, 2, -2, -2, 2 }, // down, left, or right
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // up only
{ 2, 2, 2, 0, 2, 0, 0, 0 }, // up or right
{ -2, -2, -2, -2, 0, -2, 0, 0 }, // up or left
{ -2, -2, 2, -2, 2, 0, 0, 2 }, // up, left, or right
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // up or down
{ 0, 0, 2, 0, 2, 0, 0, 2 }, // up, down, or right
{ -2, 0, 0, -2, 0, 0, 0, 0 }, // up, down, or left
{ -2, 0, 0, -2, 2, 0, 0, 2 } }; // any which way
static intm chaseyvec[16] = {
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // no way to go
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // right only
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // left only
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // left or right
{ -2, -2, -2, -2, -2, -2, -2, -2 }, // down only
{ -2, -2, -2, -2, 0, 0, 0, 0 }, // down or right
{ -2, -2, -2, 0, -2, 0, 0, 0 }, // down or left
{ 0, -2, -2, 0, 0, 0, 0, 0 }, // down, left, or right
{ 2, 2, 2, 2, 2, 2, 2, 2 }, // up only
{ 0, 0, 0, 2, 0, 2, 2, 2 }, // up or right
{ 0, 0, 0, 0, 2, 0, 2, 2 }, // up or left
{ 0, 0, 0, 0, 0, 2, 2, 0 }, // up, left, or right
{ -2, -2, -2, 2, -2, 2, 2, 2 }, // up or down
{ -2, -2, 0, -2, 0, 2, 2, 0 }, // up, down, or right
{ 0, -2, -2, 0, 2, 2, 2, 2 }, // up, down, or left
{ 0, -2, 2, 0, 0, -2, 2, 0 } }; // any which way
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.