diff --git a/extras/conf/udb/Includes/SRB222_things.cfg b/extras/conf/udb/Includes/SRB222_things.cfg index 250934fadf29e03466c61f66452a63f46af269db..4453edace6896216d4fe24efaa357ed671561224 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 aaefa9fedc279730efdaf11c99553016e670eedf..bf413572f76c82330731cf6150d88e8287d86603 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 b25b3aa146cac590ffbe936c4759ab9fb6fee2f8..dfabc0e9f50874f66c883ec4f7c59823f6c8e752 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