mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-24 13:01:47 +00:00
- Fixed: ACS function pointer instructions were not updated when library tag size changed.
- Fixed: undefined sequence compiler warning.
This commit is contained in:
parent
a90b49dc72
commit
7723613293
1 changed files with 5 additions and 3 deletions
|
@ -5556,7 +5556,8 @@ int DLevelScript::RunScript ()
|
||||||
case PCD_PUSHFUNCTION:
|
case PCD_PUSHFUNCTION:
|
||||||
{
|
{
|
||||||
int funcnum = NEXTBYTE;
|
int funcnum = NEXTBYTE;
|
||||||
PushToStack(funcnum | activeBehavior->GetLibraryID());
|
// Not technically a string, but since we use the same tagging mechanism
|
||||||
|
PushToStack(TAGSTR(funcnum));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PCD_CALL:
|
case PCD_CALL:
|
||||||
|
@ -5572,7 +5573,7 @@ int DLevelScript::RunScript ()
|
||||||
if(pcd == PCD_CALLSTACK)
|
if(pcd == PCD_CALLSTACK)
|
||||||
{
|
{
|
||||||
funcnum = STACK(1);
|
funcnum = STACK(1);
|
||||||
module = FBehavior::StaticGetModule(funcnum>>16);
|
module = FBehavior::StaticGetModule(funcnum>>LIBRARYID_SHIFT);
|
||||||
--sp;
|
--sp;
|
||||||
|
|
||||||
funcnum &= 0xFFFF; // Clear out tag
|
funcnum &= 0xFFFF; // Clear out tag
|
||||||
|
@ -8449,7 +8450,8 @@ scriptwait:
|
||||||
case PCD_SAVESTRING:
|
case PCD_SAVESTRING:
|
||||||
// Saves the string
|
// Saves the string
|
||||||
{
|
{
|
||||||
PushToStack(GlobalACSStrings.AddString(work, Stack, sp));
|
const int str = GlobalACSStrings.AddString(work, Stack, sp);
|
||||||
|
PushToStack(str);
|
||||||
STRINGBUILDER_FINISH(work);
|
STRINGBUILDER_FINISH(work);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue