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
parent 032e93d686
commit 7a0faf71ab
2 changed files with 12 additions and 8 deletions

View file

@ -1145,6 +1145,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);
@ -5422,10 +5426,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

@ -3987,7 +3987,7 @@ void P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, char *
}
break;
case 475:
case 475: // ACS_Execute
if (!stringargs[0])
{
CONS_Debug(DBG_GAMELOGIC, "Linedef type 475: No script name given\n");
@ -3996,7 +3996,7 @@ void P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, char *
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");
@ -4005,7 +4005,7 @@ void P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, char *
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");
@ -4014,7 +4014,7 @@ void P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, char *
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");