mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 06:53:43 +00:00
Lots of stuff
This commit is contained in:
555
GpApp/Dynamics3.cpp
Normal file
555
GpApp/Dynamics3.cpp
Normal file
@@ -0,0 +1,555 @@
|
||||
|
||||
//============================================================================
|
||||
//----------------------------------------------------------------------------
|
||||
// Dynamics3.c
|
||||
//----------------------------------------------------------------------------
|
||||
//============================================================================
|
||||
|
||||
|
||||
#include "Externs.h"
|
||||
#include "RectUtils.h"
|
||||
|
||||
|
||||
#define kBalloonStart 310
|
||||
#define kCopterStart 8
|
||||
#define kDartVelocity 6
|
||||
|
||||
|
||||
dynaPtr dinahs;
|
||||
short numDynamics;
|
||||
|
||||
extern Rect breadSrc[];
|
||||
extern short numLights;
|
||||
extern Boolean evenFrame;
|
||||
|
||||
|
||||
//============================================================== Functions
|
||||
//-------------------------------------------------------------- HandleDynamics
|
||||
|
||||
// This is the master function that calls all the specific handlers above.
|
||||
|
||||
void HandleDynamics (void)
|
||||
{
|
||||
short i;
|
||||
|
||||
for (i = 0; i < numDynamics; i++)
|
||||
{
|
||||
switch (dinahs[i].type)
|
||||
{
|
||||
case kSparkle:
|
||||
HandleSparkleObject(i);
|
||||
break;
|
||||
|
||||
case kToaster:
|
||||
HandleToast(i);
|
||||
break;
|
||||
|
||||
case kMacPlus:
|
||||
HandleMacPlus(i);
|
||||
break;
|
||||
|
||||
case kTV:
|
||||
HandleTV(i);
|
||||
break;
|
||||
|
||||
case kCoffee:
|
||||
HandleCoffee(i);
|
||||
break;
|
||||
|
||||
case kOutlet:
|
||||
HandleOutlet(i);
|
||||
break;
|
||||
|
||||
case kVCR:
|
||||
HandleVCR(i);
|
||||
break;
|
||||
|
||||
case kStereo:
|
||||
HandleStereo(i);
|
||||
break;
|
||||
|
||||
case kMicrowave:
|
||||
HandleMicrowave(i);
|
||||
break;
|
||||
|
||||
case kBalloon:
|
||||
HandleBalloon(i);
|
||||
break;
|
||||
|
||||
case kCopterLf:
|
||||
case kCopterRt:
|
||||
HandleCopter(i);
|
||||
break;
|
||||
|
||||
case kDartLf:
|
||||
case kDartRt:
|
||||
HandleDart(i);
|
||||
break;
|
||||
|
||||
case kBall:
|
||||
HandleBall(i);
|
||||
break;
|
||||
|
||||
case kDrip:
|
||||
HandleDrip(i);
|
||||
break;
|
||||
|
||||
case kFish:
|
||||
HandleFish(i);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- HandleDynamics
|
||||
|
||||
// This is the master function that calls all the various rendering handlers<72>
|
||||
// above.
|
||||
|
||||
void RenderDynamics (void)
|
||||
{
|
||||
short i;
|
||||
|
||||
for (i = 0; i < numDynamics; i++)
|
||||
{
|
||||
switch (dinahs[i].type)
|
||||
{
|
||||
case kToaster:
|
||||
RenderToast(i);
|
||||
break;
|
||||
|
||||
case kBalloon:
|
||||
RenderBalloon(i);
|
||||
break;
|
||||
|
||||
case kCopterLf:
|
||||
case kCopterRt:
|
||||
RenderCopter(i);
|
||||
break;
|
||||
|
||||
case kDartLf:
|
||||
case kDartRt:
|
||||
RenderDart(i);
|
||||
break;
|
||||
|
||||
case kBall:
|
||||
RenderBall(i);
|
||||
break;
|
||||
|
||||
case kDrip:
|
||||
RenderDrip(i);
|
||||
break;
|
||||
|
||||
case kFish:
|
||||
RenderFish(i);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- ZeroDinahs
|
||||
|
||||
// This clears all dynamics - zeros them all out. Used to initialize them.
|
||||
|
||||
void ZeroDinahs (void)
|
||||
{
|
||||
short i;
|
||||
|
||||
for (i = 0; i < kMaxDynamicObs; i++)
|
||||
{
|
||||
dinahs[i].type = kObjectIsEmpty;
|
||||
QSetRect(&dinahs[i].dest, 0, 0, 0, 0);
|
||||
QSetRect(&dinahs[i].whole, 0, 0, 0, 0);
|
||||
dinahs[i].hVel = 0;
|
||||
dinahs[i].vVel = 0;
|
||||
dinahs[i].count = 0;
|
||||
dinahs[i].frame = 0;
|
||||
dinahs[i].timer = 0;
|
||||
dinahs[i].position = 0;
|
||||
dinahs[i].room = 0;
|
||||
dinahs[i].byte0 = 0;
|
||||
dinahs[i].active = false;
|
||||
}
|
||||
numDynamics = 0;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- AddDynamicObject
|
||||
|
||||
// When a room is being drawn, various dynamic objects are pointed here.
|
||||
// This function sets up the structures to handle them.
|
||||
|
||||
short AddDynamicObject (short what, Rect *where, objectType *who,
|
||||
short room, short index, Boolean isOn)
|
||||
{
|
||||
short position, velocity;
|
||||
Boolean lilFrame;
|
||||
|
||||
if (numDynamics >= kMaxDynamicObs)
|
||||
return (-1);
|
||||
|
||||
dinahs[numDynamics].type = what;
|
||||
switch (what)
|
||||
{
|
||||
case kSparkle:
|
||||
dinahs[numDynamics].dest = sparkleSrc[0];
|
||||
ZeroRectCorner(&dinahs[numDynamics].dest);
|
||||
QOffsetRect(&dinahs[numDynamics].dest, where->left, where->top);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = 0;
|
||||
dinahs[numDynamics].vVel = 0;
|
||||
dinahs[numDynamics].count = 0;
|
||||
dinahs[numDynamics].frame = 0;
|
||||
dinahs[numDynamics].timer = RandomInt(60) + 15;
|
||||
dinahs[numDynamics].position = 0;
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn;
|
||||
break;
|
||||
|
||||
case kToaster:
|
||||
dinahs[numDynamics].dest = breadSrc[0];
|
||||
CenterRectInRect(&dinahs[numDynamics].dest, where);
|
||||
VOffsetRect(&dinahs[numDynamics].dest,
|
||||
where->top - dinahs[numDynamics].dest.top);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = where->top + 2; // hVel used as clip
|
||||
position = who->data.g.height; // reverse engineer init. vel.
|
||||
velocity = 0;
|
||||
do
|
||||
{
|
||||
velocity++;
|
||||
position -= velocity;
|
||||
}
|
||||
while (position > 0);
|
||||
dinahs[numDynamics].vVel = -velocity;
|
||||
dinahs[numDynamics].count = velocity; // count = initial velocity
|
||||
dinahs[numDynamics].frame = (short)who->data.g.delay * 3;
|
||||
dinahs[numDynamics].timer = dinahs[numDynamics].frame;
|
||||
dinahs[numDynamics].position = 0; // launch/idle state
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn;
|
||||
break;
|
||||
|
||||
case kMacPlus:
|
||||
dinahs[numDynamics].dest = plusScreen1;
|
||||
ZeroRectCorner(&dinahs[numDynamics].dest);
|
||||
QOffsetRect(&dinahs[numDynamics].dest,
|
||||
where->left + playOriginH + 10,
|
||||
where->top + playOriginV + 7);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = 0;
|
||||
dinahs[numDynamics].vVel = 0;
|
||||
dinahs[numDynamics].count = 0;
|
||||
dinahs[numDynamics].frame = 0;
|
||||
dinahs[numDynamics].timer = 0;
|
||||
dinahs[numDynamics].position = 0;
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn;
|
||||
break;
|
||||
|
||||
case kTV:
|
||||
dinahs[numDynamics].dest = tvScreen1;
|
||||
ZeroRectCorner(&dinahs[numDynamics].dest);
|
||||
QOffsetRect(&dinahs[numDynamics].dest,
|
||||
where->left + playOriginH + 17,
|
||||
where->top + playOriginV + 10);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = 0;
|
||||
dinahs[numDynamics].vVel = 0;
|
||||
dinahs[numDynamics].count = 0;
|
||||
dinahs[numDynamics].frame = 0;
|
||||
dinahs[numDynamics].timer = 0;
|
||||
dinahs[numDynamics].position = 0;
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn;
|
||||
break;
|
||||
|
||||
case kCoffee:
|
||||
dinahs[numDynamics].dest = coffeeLight1;
|
||||
ZeroRectCorner(&dinahs[numDynamics].dest);
|
||||
QOffsetRect(&dinahs[numDynamics].dest,
|
||||
where->left + playOriginH + 32,
|
||||
where->top + playOriginV + 57);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = 0;
|
||||
dinahs[numDynamics].vVel = 0;
|
||||
dinahs[numDynamics].count = 0;
|
||||
dinahs[numDynamics].frame = 0;
|
||||
if (isOn)
|
||||
dinahs[numDynamics].timer = 200;
|
||||
else
|
||||
dinahs[numDynamics].timer = 0;
|
||||
dinahs[numDynamics].position = 0;
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn;
|
||||
break;
|
||||
|
||||
case kOutlet:
|
||||
dinahs[numDynamics].dest = outletSrc[0];
|
||||
ZeroRectCorner(&dinahs[numDynamics].dest);
|
||||
QOffsetRect(&dinahs[numDynamics].dest,
|
||||
where->left + playOriginH,
|
||||
where->top + playOriginV);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = numLights;
|
||||
dinahs[numDynamics].vVel = 0;
|
||||
dinahs[numDynamics].count = ((short)who->data.g.delay * 6) / kTicksPerFrame;
|
||||
dinahs[numDynamics].frame = 0;
|
||||
dinahs[numDynamics].timer = dinahs[numDynamics].count;
|
||||
dinahs[numDynamics].position = 0; // launch/idle state
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn;
|
||||
break;
|
||||
|
||||
case kVCR:
|
||||
dinahs[numDynamics].dest = vcrTime1;
|
||||
ZeroRectCorner(&dinahs[numDynamics].dest);
|
||||
QOffsetRect(&dinahs[numDynamics].dest,
|
||||
where->left + playOriginH + 64,
|
||||
where->top + playOriginV + 6);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = 0;
|
||||
dinahs[numDynamics].vVel = 0;
|
||||
dinahs[numDynamics].count = 0;
|
||||
dinahs[numDynamics].frame = 0;
|
||||
if (isOn)
|
||||
dinahs[numDynamics].timer = 115;
|
||||
else
|
||||
dinahs[numDynamics].timer = 0;
|
||||
dinahs[numDynamics].position = 0;
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn;
|
||||
break;
|
||||
|
||||
case kStereo:
|
||||
dinahs[numDynamics].dest = stereoLight1;
|
||||
ZeroRectCorner(&dinahs[numDynamics].dest);
|
||||
QOffsetRect(&dinahs[numDynamics].dest,
|
||||
where->left + playOriginH + 56,
|
||||
where->top + playOriginV + 20);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = 0;
|
||||
dinahs[numDynamics].vVel = 0;
|
||||
dinahs[numDynamics].count = 0;
|
||||
dinahs[numDynamics].frame = 0;
|
||||
dinahs[numDynamics].timer = 0;
|
||||
dinahs[numDynamics].position = 0;
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn;
|
||||
break;
|
||||
|
||||
case kMicrowave:
|
||||
dinahs[numDynamics].dest = microOn;
|
||||
ZeroRectCorner(&dinahs[numDynamics].dest);
|
||||
QOffsetRect(&dinahs[numDynamics].dest,
|
||||
where->left + playOriginH + 14,
|
||||
where->top + playOriginV + 13);
|
||||
dinahs[numDynamics].dest.right = dinahs[numDynamics].dest.left + 48;
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = 0;
|
||||
dinahs[numDynamics].vVel = 0;
|
||||
dinahs[numDynamics].count = 0;
|
||||
dinahs[numDynamics].frame = 0;
|
||||
dinahs[numDynamics].timer = 0;
|
||||
dinahs[numDynamics].position = 0;
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn;
|
||||
break;
|
||||
|
||||
case kBalloon:
|
||||
dinahs[numDynamics].dest = balloonSrc[0];
|
||||
ZeroRectCorner(&dinahs[numDynamics].dest);
|
||||
QOffsetRect(&dinahs[numDynamics].dest, where->left, 0);
|
||||
dinahs[numDynamics].dest.bottom = kBalloonStart;
|
||||
dinahs[numDynamics].dest.top = dinahs[numDynamics].dest.bottom -
|
||||
RectTall(&balloonSrc[0]);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = 0;
|
||||
dinahs[numDynamics].vVel = -2;
|
||||
dinahs[numDynamics].count = ((short)who->data.h.delay * 6) / kTicksPerFrame;
|
||||
dinahs[numDynamics].frame = 0;
|
||||
dinahs[numDynamics].timer = dinahs[numDynamics].count;
|
||||
dinahs[numDynamics].position = 0;
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn; // initially idle
|
||||
break;
|
||||
|
||||
case kCopterLf:
|
||||
case kCopterRt:
|
||||
dinahs[numDynamics].dest = copterSrc[0];
|
||||
ZeroRectCorner(&dinahs[numDynamics].dest);
|
||||
QOffsetRect(&dinahs[numDynamics].dest, where->left, 0);
|
||||
dinahs[numDynamics].dest.top = kCopterStart;
|
||||
dinahs[numDynamics].dest.bottom = dinahs[numDynamics].dest.top +
|
||||
RectTall(&copterSrc[0]);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
if (what == kCopterLf)
|
||||
dinahs[numDynamics].hVel = -1;
|
||||
else
|
||||
dinahs[numDynamics].hVel = 1;
|
||||
dinahs[numDynamics].vVel = 2;
|
||||
dinahs[numDynamics].count = ((short)who->data.h.delay * 6) / kTicksPerFrame;
|
||||
dinahs[numDynamics].frame = 0;
|
||||
dinahs[numDynamics].timer = dinahs[numDynamics].count;
|
||||
dinahs[numDynamics].position = dinahs[numDynamics].dest.left;
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn; // initially idle
|
||||
break;
|
||||
|
||||
case kDartLf:
|
||||
case kDartRt:
|
||||
dinahs[numDynamics].dest = dartSrc[0];
|
||||
ZeroRectCorner(&dinahs[numDynamics].dest);
|
||||
if (what == kDartLf)
|
||||
{
|
||||
QOffsetRect(&dinahs[numDynamics].dest,
|
||||
kRoomWide - RectWide(&dartSrc[0]), where->top);
|
||||
dinahs[numDynamics].hVel = -kDartVelocity;
|
||||
dinahs[numDynamics].frame = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
QOffsetRect(&dinahs[numDynamics].dest, 0, where->top);
|
||||
dinahs[numDynamics].hVel = kDartVelocity;
|
||||
dinahs[numDynamics].frame = 2;
|
||||
}
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].vVel = 2;
|
||||
dinahs[numDynamics].count = ((short)who->data.h.delay * 6) / kTicksPerFrame;
|
||||
dinahs[numDynamics].timer = dinahs[numDynamics].count;
|
||||
dinahs[numDynamics].position = dinahs[numDynamics].dest.top;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn; // initially idle
|
||||
break;
|
||||
|
||||
case kBall:
|
||||
dinahs[numDynamics].dest = ballSrc[0];
|
||||
ZeroRectCorner(&dinahs[numDynamics].dest);
|
||||
QOffsetRect(&dinahs[numDynamics].dest,
|
||||
where->left, where->top);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = 0;
|
||||
position = who->data.h.length; // reverse engineer init. vel.
|
||||
velocity = 0;
|
||||
evenFrame = true;
|
||||
lilFrame = true;
|
||||
do
|
||||
{
|
||||
if (lilFrame)
|
||||
velocity++;
|
||||
lilFrame = !lilFrame;
|
||||
position -= velocity;
|
||||
}
|
||||
while (position > 0);
|
||||
dinahs[numDynamics].vVel = -velocity;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].count = -velocity; // count = initial velocity
|
||||
dinahs[numDynamics].frame = 0;
|
||||
dinahs[numDynamics].timer = 0;
|
||||
dinahs[numDynamics].position = dinahs[numDynamics].dest.bottom;
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].active = isOn;
|
||||
break;
|
||||
|
||||
case kDrip:
|
||||
dinahs[numDynamics].dest = dripSrc[0];
|
||||
CenterRectInRect(&dinahs[numDynamics].dest, where);
|
||||
VOffsetRect(&dinahs[numDynamics].dest,
|
||||
where->top - dinahs[numDynamics].dest.top);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = dinahs[numDynamics].dest.top; // remember
|
||||
dinahs[numDynamics].vVel = 0;
|
||||
dinahs[numDynamics].count = ((short)who->data.h.delay * 6) / kTicksPerFrame;
|
||||
dinahs[numDynamics].frame = 3;
|
||||
dinahs[numDynamics].timer = dinahs[numDynamics].count;
|
||||
dinahs[numDynamics].position = dinahs[numDynamics].dest.top +
|
||||
who->data.h.length;
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn;
|
||||
break;
|
||||
|
||||
case kFish:
|
||||
dinahs[numDynamics].dest = fishSrc[0];
|
||||
QOffsetRect(&dinahs[numDynamics].dest,
|
||||
where->left + 10, where->top + 8);
|
||||
dinahs[numDynamics].whole = dinahs[numDynamics].dest;
|
||||
dinahs[numDynamics].hVel = ((short)who->data.h.delay * 6) / kTicksPerFrame;
|
||||
position = who->data.g.height; // reverse engineer init. vel.
|
||||
velocity = 0;
|
||||
evenFrame = true;
|
||||
lilFrame = true;
|
||||
do
|
||||
{
|
||||
if (lilFrame)
|
||||
velocity++;
|
||||
lilFrame = !lilFrame;
|
||||
position -= velocity;
|
||||
}
|
||||
while (position > 0);
|
||||
dinahs[numDynamics].vVel = -velocity;
|
||||
dinahs[numDynamics].count = -velocity; // count = initial velocity
|
||||
dinahs[numDynamics].frame = 0;
|
||||
dinahs[numDynamics].timer = dinahs[numDynamics].hVel;
|
||||
dinahs[numDynamics].position = dinahs[numDynamics].dest.bottom;
|
||||
dinahs[numDynamics].room = room;
|
||||
dinahs[numDynamics].byte0 = (Byte)index;
|
||||
dinahs[numDynamics].byte1 = 0;
|
||||
dinahs[numDynamics].moving = false;
|
||||
dinahs[numDynamics].active = isOn;
|
||||
break;
|
||||
|
||||
default:
|
||||
return (-1);
|
||||
break;
|
||||
}
|
||||
|
||||
numDynamics++;
|
||||
|
||||
return (numDynamics - 1);
|
||||
}
|
||||
|
Reference in New Issue
Block a user