Skip to content

Commit 6b5043e

Browse files
committed
Allow customisation of rotationSpeed, delay and startDelay
1 parent 7603ba9 commit 6b5043e

File tree

3 files changed

+26
-3
lines changed

3 files changed

+26
-3
lines changed

TheForceEngine/TFE_DarkForces/Actor/enemies.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -224,19 +224,21 @@ namespace TFE_DarkForces
224224

225225
// Thinker Module
226226
ThinkerModule* thinkerMod = actor_createThinkerModule(dispatch);
227-
thinkerMod->target.speedRotation = 0x7fff;
227+
thinkerMod->target.speedRotation = cust->rotationSpeed;
228228
thinkerMod->target.speed = FIXED(cust->speed);
229229
thinkerMod->anim.flags &= 0xfffffffe;
230-
thinkerMod->startDelay = TICKS(2);
230+
thinkerMod->delay = cust->delay;
231+
thinkerMod->startDelay = TICKS(cust->startDelay);
231232
actor_addModule(dispatch, (ActorModule*)thinkerMod);
232233

233234
// Flying Thinker Module (if flying enemy)
234235
if (cust->isFlying)
235236
{
236237
ThinkerModule* flyingMod = actor_createFlyingModule((Logic*)dispatch);
237-
flyingMod->target.speedRotation = 0x7fff;
238+
flyingMod->target.speedRotation = cust->rotationSpeed;
238239
flyingMod->target.speed = FIXED(cust->speed);
239240
flyingMod->target.speedVert = FIXED(cust->verticalSpeed);
241+
flyingMod->delay = cust->delay;
240242
actor_addModule(dispatch, (ActorModule*)flyingMod);
241243
}
242244

TheForceEngine/TFE_Settings/dfLogics.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,24 @@ namespace TFE_Settings
278278
return true;
279279
}
280280

281+
if (cJSON_IsNumber(data) && strcasecmp(data->string, "rotationSpeed") == 0)
282+
{
283+
customLogic.rotationSpeed = data->valueint * 45;
284+
return true;
285+
}
286+
287+
if (cJSON_IsNumber(data) && strcasecmp(data->string, "delay") == 0)
288+
{
289+
customLogic.delay = data->valueint;
290+
return true;
291+
}
292+
293+
if (cJSON_IsNumber(data) && strcasecmp(data->string, "startDelay") == 0)
294+
{
295+
customLogic.startDelay = data->valueint;
296+
return true;
297+
}
298+
281299
return false;
282300
}
283301
}

TheForceEngine/TFE_Settings/dfLogics.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ struct CustomActorLogic
3939

4040
u32 speed = 4;
4141
u32 verticalSpeed = 10;
42+
u32 rotationSpeed = 0x7fff;
43+
u32 delay = 72;
44+
u32 startDelay = 2;
4245
};
4346

4447
struct ExternalLogics

0 commit comments

Comments
 (0)