diff --git a/extras/conf/udb/Includes/SRB222_things.cfg b/extras/conf/udb/Includes/SRB222_things.cfg index 250934fad..4453edace 100644 --- a/extras/conf/udb/Includes/SRB222_things.cfg +++ b/extras/conf/udb/Includes/SRB222_things.cfg @@ -4710,6 +4710,10 @@ udmf sprite = "BLONA0"; width = 32; height = 64; + stringarg0 + { + title = "Color"; + } } 550 { diff --git a/src/p_mobj.c b/src/p_mobj.c index aaefa9fed..bf413572f 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -12750,8 +12750,8 @@ static boolean P_SetupSpawnedMapThing(mapthing_t *mthing, mobj_t *mobj, boolean } break; case MT_BALLOON: - if (mthing->angle > 0) - mobj->color = ((mthing->angle - 1) % (numskincolors - 1)) + 1; + if (mthing->stringargs[0]) + mobj->color = get_number(mthing->stringargs[0]); break; case MT_FLAME: if (mthing->args[0]) diff --git a/src/p_setup.c b/src/p_setup.c index b25b3aa14..dfabc0e9f 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -4994,6 +4994,10 @@ static void P_ConvertBinaryMap(void) mapthings[i].args[0] = mapthings[i].angle; mapthings[i].args[1] = !!(mapthings[i].options & MTF_OBJECTSPECIAL); break; + case 543: //Balloon + if (mapthings[i].angle > 0) + P_WriteConstant(((mapthings[i].angle - 1) % (numskincolors - 1)) + 1, &mapthings[i].stringargs[0]); + break; case 555: //Diagonal yellow spring case 556: //Diagonal red spring case 557: //Diagonal blue spring