Fix ACS specials not working in binary maps

Didn't copy over the text field.
This commit is contained in:
Sally Coolatta 2022-12-28 08:50:11 -05:00 committed by NepDisk
parent 35e71beabf
commit 63ca246a2a
2 changed files with 12 additions and 8 deletions

View file

@ -1428,6 +1428,10 @@ static void P_LoadSidedefs(UINT8 *data)
case 459: // Control text prompt (named tag)
case 461: // Spawns an object on the map based on texture offsets
case 463: // Colorizes an object
case 475: // ACS_Execute
case 476: // ACS_ExecuteAlways
case 477: // ACS_Suspend
case 478: // ACS_Terminate
{
char process[8*3+1];
memset(process,0,8*3+1);
@ -5918,10 +5922,10 @@ static void P_ConvertBinaryLinedefTypes(void)
lines[i].args[2] = TML_SECTOR;
lines[i].args[3] = !!(lines[i].flags & ML_MIDPEG);
break;
case 475: // ACS funcs
case 476:
case 477:
case 478:
case 475: // ACS_Execute
case 476: // ACS_ExecuteAlways
case 477: // ACS_Suspend
case 478: // ACS_Terminate
if (sides[lines[i].sidenum[0]].text)
{
lines[i].stringargs[0] = Z_Malloc(strlen(sides[lines[i].sidenum[0]].text) + 1, PU_LEVEL, NULL);

View file

@ -4152,7 +4152,7 @@ boolean P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, cha
}
break;
case 475:
case 475: // ACS_Execute
if (!stringargs[0])
{
CONS_Debug(DBG_GAMELOGIC, "Linedef type 475: No script name given\n");
@ -4161,7 +4161,7 @@ boolean P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, cha
ACS_Execute(stringargs[0], args, NUMLINEARGS, activator);
break;
case 476:
case 476: // ACS_ExecuteAlways
if (!stringargs[0])
{
CONS_Debug(DBG_GAMELOGIC, "Linedef type 476: No script name given\n");
@ -4170,7 +4170,7 @@ boolean P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, cha
ACS_ExecuteAlways(stringargs[0], args, NUMLINEARGS, activator);
break;
case 477:
case 477: // ACS_Suspend
if (!stringargs[0])
{
CONS_Debug(DBG_GAMELOGIC, "Linedef type 477: No script name given\n");
@ -4179,7 +4179,7 @@ boolean P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, cha
ACS_Suspend(stringargs[0]);
break;
case 478:
case 478: // ACS_Terminate
if (!stringargs[0])
{
CONS_Debug(DBG_GAMELOGIC, "Linedef type 478: No script name given\n");