parent
c27cdb8244
commit
02189eb55f
4 changed files with 22 additions and 2 deletions
|
|
@ -220,6 +220,7 @@ typedef struct
|
|||
UINT8 extrainfo;
|
||||
taglist_t tags;
|
||||
fixed_t scale;
|
||||
fixed_t spritexscale, spriteyscale;
|
||||
INT32 args[NUMMAPTHINGARGS];
|
||||
char *stringargs[NUMMAPTHINGSTRINGARGS];
|
||||
UINT8 layer; // FOF layer to spawn on, see P_GetMobjSpawnHeight
|
||||
|
|
|
|||
|
|
@ -929,6 +929,10 @@ static int mapthing_get(lua_State *L)
|
|||
number = mt->options;
|
||||
else if(fastcmp(field,"scale"))
|
||||
number = mt->scale;
|
||||
else if(fastcmp(field,"spritexscale"))
|
||||
number = mt->spritexscale;
|
||||
else if(fastcmp(field,"spriteyscale"))
|
||||
number = mt->spriteyscale;
|
||||
else if(fastcmp(field,"z"))
|
||||
number = mt->z;
|
||||
else if(fastcmp(field,"extrainfo"))
|
||||
|
|
|
|||
|
|
@ -12472,6 +12472,9 @@ static mobj_t *P_SpawnMobjFromMapThing(mapthing_t *mthing, fixed_t x, fixed_t y,
|
|||
|
||||
P_SetScale(mobj, FixedMul(mobj->scale, mthing->scale));
|
||||
mobj->destscale = FixedMul(mobj->destscale, mthing->scale);
|
||||
|
||||
mobj->spritexscale = mthing->spritexscale;
|
||||
mobj->spriteyscale = mthing->spriteyscale;
|
||||
|
||||
if (!P_SetupSpawnedMapThing(mthing, mobj, &doangle))
|
||||
return mobj;
|
||||
|
|
|
|||
|
|
@ -1423,6 +1423,7 @@ static void P_LoadThings(UINT8 *data)
|
|||
mt->extrainfo = (UINT8)(mt->type >> 12);
|
||||
Tag_FSet(&mt->tags, 0);
|
||||
mt->scale = FRACUNIT;
|
||||
mt->spritexscale = mt->spriteyscale = FRACUNIT;
|
||||
memset(mt->args, 0, NUMMAPTHINGARGS*sizeof(*mt->args));
|
||||
memset(mt->stringargs, 0x00, NUMMAPTHINGSTRINGARGS*sizeof(*mt->stringargs));
|
||||
mt->pitch = mt->roll = 0;
|
||||
|
|
@ -1882,7 +1883,13 @@ static void ParseTextmapThingParameter(UINT32 i, const char *param, const char *
|
|||
mapthings[i].roll = atol(val);
|
||||
else if (fastcmp(param, "type"))
|
||||
mapthings[i].type = atol(val);
|
||||
else if (fastcmp(param, "scale") || fastcmp(param, "scalex") || fastcmp(param, "scaley"))
|
||||
else if (fastcmp(param, "scale"))
|
||||
mapthings[i].spritexscale = mapthings[i].spriteyscale = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "scalex"))
|
||||
mapthings[i].spritexscale = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "scaley"))
|
||||
mapthings[i].spriteyscale = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "mobjscale"))
|
||||
mapthings[i].scale = FLOAT_TO_FIXED(atof(val));
|
||||
// Flags
|
||||
else if (fastcmp(param, "flip") && fastcmp("true", val))
|
||||
|
|
@ -2065,8 +2072,12 @@ static void P_WriteTextmapThing(FILE *f, mapthing_t *wmapthings, size_t i, size_
|
|||
fprintf(f, "roll = %d;\n", wmapthings[i].roll);
|
||||
if (wmapthings[i].type != 0)
|
||||
fprintf(f, "type = %d;\n", wmapthings[i].type);
|
||||
if (wmapthings[i].spritexscale != FRACUNIT)
|
||||
fprintf(f, "scalex = %f;\n", FIXED_TO_FLOAT(wmapthings[i].spritexscale));
|
||||
if (wmapthings[i].spriteyscale != FRACUNIT)
|
||||
fprintf(f, "scaley = %f;\n", FIXED_TO_FLOAT(wmapthings[i].spriteyscale));
|
||||
if (wmapthings[i].scale != FRACUNIT)
|
||||
fprintf(f, "scale = %f;\n", FIXED_TO_FLOAT(wmapthings[i].scale));
|
||||
fprintf(f, "mobjscale = %f;\n", FIXED_TO_FLOAT(wmapthings[i].scale));
|
||||
if (wmapthings[i].options & MTF_OBJECTFLIP)
|
||||
fprintf(f, "flip = true;\n");
|
||||
//if (wmapthings[i].special != 0)
|
||||
|
|
@ -2863,6 +2874,7 @@ static void P_LoadTextmap(void)
|
|||
mt->extrainfo = 0;
|
||||
Tag_FSet(&mt->tags, 0);
|
||||
mt->scale = FRACUNIT;
|
||||
mt->spritexscale = mt->spriteyscale = FRACUNIT;
|
||||
memset(mt->args, 0, NUMMAPTHINGARGS*sizeof(*mt->args));
|
||||
memset(mt->stringargs, 0x00, NUMMAPTHINGSTRINGARGS*sizeof(*mt->stringargs));
|
||||
//mt->special = 0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue