Merge pull request #25 from ScatterBox/main

Restore EF_RAYGREEN & RAYRED in Quakespasm
This commit is contained in:
Ian 2023-01-23 20:14:16 -05:00 committed by GitHub
commit 0beb59c3ff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 345 additions and 8 deletions

View file

@ -328,6 +328,24 @@ dlight_t *CL_AllocDlight (int key)
return dl;
}
dlighttype_t SetDlightColor (float f, dlighttype_t def, qboolean random)
{
dlighttype_t colors[NUM_DLIGHTTYPES-4] = {lt_red, lt_blue, lt_redblue, lt_green};
if ((int)f == 1)
return lt_red;
else if ((int)f == 2)
return lt_blue;
else if ((int)f == 3)
return lt_redblue;
else if ((int)f == 4)
return lt_green;
else if (((int)f == NUM_DLIGHTTYPES - 3) && random)
return colors[rand()%(NUM_DLIGHTTYPES-4)];
else
return def;
}
/*
===============
@ -712,8 +730,8 @@ void CL_RelinkEntities (void)
dl->color[2] = 1;
}
// naievil -- fixme
/*
// naievil -- fixme sB FIXED
if (ent->effects & EF_RAYGREEN)
{
R_RocketTrail (oldorg, ent->origin, 12);
@ -739,7 +757,7 @@ void CL_RelinkEntities (void)
dl->color[2] = 0;
dl->type = SetDlightColor (2, lt_rocket, true);
}
*/
if (ent->model->flags & EF_GIB)
R_RocketTrail (oldorg, ent->origin, 2);
@ -756,6 +774,7 @@ void CL_RelinkEntities (void)
VectorCopy (ent->origin, dl->origin);
dl->radius = 200;
dl->die = cl.time + 0.01;
dl->type = SetDlightColor (2, lt_rocket, true);
}
else if (ent->model->flags & EF_GRENADE)
R_RocketTrail (oldorg, ent->origin, 1);

View file

@ -49,6 +49,13 @@ typedef struct
int percent; // 0-256
} cshift_t;
typedef enum
{
lt_default, lt_muzzleflash, lt_explosion, lt_rocket,
lt_red, lt_blue, lt_redblue, lt_green, NUM_DLIGHTTYPES,
lt_explosion2, lt_explosion3, lt_rayred, lt_raygreen
} dlighttype_t;
#define CSHIFT_CONTENTS 0
#define CSHIFT_DAMAGE 1
#define CSHIFT_BONUS 2
@ -74,6 +81,7 @@ typedef struct
float minlight; // don't add when contributing less
int key;
vec3_t color; //johnfitz -- lit support via lordhavoc
int type; // color
} dlight_t;

View file

@ -3364,11 +3364,321 @@ static builtin_t pr_builtin[] =
NULL, // #127
NULL, // #128
NULL, // #129
PF_tokenize, // #130
PF_ArgV, // #131
#ifdef VITA
PF_rumble // #132
#endif
NULL, // #130
NULL, // #131
#ifdef VITA
PF_rumble, // #132
#endif
NULL, // #133
NULL, // #134
NULL, // #135
NULL, // #136
NULL, // #137
NULL, // #138
NULL, // #139
NULL, // #140
NULL, // #141
NULL, // #142
NULL, // #143
NULL, // #144
NULL, // #145
NULL, // #146
NULL, // #147
NULL, // #148
NULL, // #149
NULL, // #150
NULL, // #151
NULL, // #152
NULL, // #153
NULL, // #154
NULL, // #155
NULL, // #156
NULL, // #157
NULL, // #158
NULL, // #159
NULL, // #160
NULL, // #161
NULL, // #162
NULL, // #163
NULL, // #164
NULL, // #165
NULL, // #166
NULL, // #167
NULL, // #168
NULL, // #169
NULL, // #170
NULL, // #171
NULL, // #172
NULL, // #173
NULL, // #174
NULL, // #175
NULL, // #176
NULL, // #177
NULL, // #178
NULL, // #179
NULL, // #180
NULL, // #181
NULL, // #182
NULL, // #183
NULL, // #184
NULL, // #185
NULL, // #186
NULL, // #187
NULL, // #188
NULL, // #189
NULL, // #190
NULL, // #191
NULL, // #192
NULL, // #193
NULL, // #194
NULL, // #195
NULL, // #196
NULL, // #197
NULL, // #198
NULL, // #199
NULL, // #200
NULL, // #201
NULL, // #202
NULL, // #203
NULL, // #204
NULL, // #205
NULL, // #206
NULL, // #207
NULL, // #208
NULL, // #209
NULL, // #210
NULL, // #212
NULL, // #212
NULL, // #213
NULL, // #214
NULL, // #215
NULL, // #216
NULL, // #217
NULL, // #218
NULL, // #219
NULL, // #220
NULL, // #221
NULL, // #222
NULL, // #223
NULL, // #224
NULL, // #225
NULL, // #226
NULL, // #227
NULL, // #228
NULL, // #229
NULL, // #230
NULL, // #231
NULL, // #232
NULL, // #233
NULL, // #234
NULL, // #235
NULL, // #236
NULL, // #237
NULL, // #238
NULL, // #239
NULL, // #240
NULL, // #241
NULL, // #242
NULL, // #243
NULL, // #244
NULL, // #245
NULL, // #246
NULL, // #247
NULL, // #248
NULL, // #249
NULL, // #250
NULL, // #251
NULL, // #252
NULL, // #253
NULL, // #254
NULL, // #255
NULL, // #256
NULL, // #257
NULL, // #258
NULL, // #259
NULL, // #260
NULL, // #261
NULL, // #262
NULL, // #263
NULL, // #264
NULL, // #265
NULL, // #266
NULL, // #267
NULL, // #268
NULL, // #269
NULL, // #270
NULL, // #271
NULL, // #272
NULL, // #273
NULL, // #274
NULL, // #275
NULL, // #276
NULL, // #277
NULL, // #278
NULL, // #279
NULL, // #280
NULL, // #281
NULL, // #282
NULL, // #283
NULL, // #284
NULL, // #285
NULL, // #286
NULL, // #287
NULL, // #288
NULL, // #289
NULL, // #290
NULL, // #291
NULL, // #292
NULL, // #293
NULL, // #294
NULL, // #295
NULL, // #296
NULL, // #297
NULL, // #298
NULL, // #299
NULL, // #300
NULL, // #301
NULL, // #302
NULL, // #303
NULL, // #304
NULL, // #305
NULL, // #306
NULL, // #307
NULL, // #308
NULL, // #309
NULL, // #310
NULL, // #312
NULL, // #312
NULL, // #313
NULL, // #314
NULL, // #315
NULL, // #316
NULL, // #317
NULL, // #318
NULL, // #319
NULL, // #320
NULL, // #321
NULL, // #322
NULL, // #323
NULL, // #324
NULL, // #325
NULL, // #326
NULL, // #327
NULL, // #328
NULL, // #329
NULL, // #330
NULL, // #331
NULL, // #332
NULL, // #333
NULL, // #334
NULL, // #335
NULL, // #336
NULL, // #337
NULL, // #338
NULL, // #339
NULL, // #340
NULL, // #341
NULL, // #342
NULL, // #343
NULL, // #344
NULL, // #345
NULL, // #346
NULL, // #347
NULL, // #348
NULL, // #349
NULL, // #350
NULL, // #351
NULL, // #352
NULL, // #353
NULL, // #354
NULL, // #355
NULL, // #356
NULL, // #357
NULL, // #358
NULL, // #359
NULL, // #360
NULL, // #361
NULL, // #362
NULL, // #363
NULL, // #364
NULL, // #365
NULL, // #366
NULL, // #367
NULL, // #368
NULL, // #369
NULL, // #370
NULL, // #371
NULL, // #372
NULL, // #373
NULL, // #374
NULL, // #375
NULL, // #376
NULL, // #377
NULL, // #378
NULL, // #379
NULL, // #380
NULL, // #381
NULL, // #382
NULL, // #383
NULL, // #384
NULL, // #385
NULL, // #386
NULL, // #387
NULL, // #388
NULL, // #389
NULL, // #390
NULL, // #391
NULL, // #392
NULL, // #393
NULL, // #394
NULL, // #395
NULL, // #396
NULL, // #397
NULL, // #398
NULL, // #399
NULL, // #400
NULL, // #401
NULL, // #402
NULL, // #403
NULL, // #404
NULL, // #405
NULL, // #406
NULL, // #407
NULL, // #408
NULL, // #409
NULL, // #410
NULL, // #412
NULL, // #412
NULL, // #413
NULL, // #414
NULL, // #415
NULL, // #416
NULL, // #417
NULL, // #418
NULL, // #419
NULL, // #420
NULL, // #421
NULL, // #422
NULL, // #423
NULL, // #424
NULL, // #425
NULL, // #426
NULL, // #427
NULL, // #428
NULL, // #429
NULL, // #430
NULL, // #431
NULL, // #432
NULL, // #433
NULL, // #434
NULL, // #435
NULL, // #436
NULL, // #437
NULL, // #438
NULL, // #439
NULL, // #440
PF_tokenize, // #441
PF_ArgV, // #442
};
builtin_t *pr_builtins = pr_builtin;