mirror of
https://github.com/halpz/re3.git
synced 2024-12-26 18:15:27 +00:00
fixed bad bug
This commit is contained in:
parent
4c582b19eb
commit
0a58e3e430
|
@ -2118,7 +2118,7 @@ int32 CRunningScript::CollectNextParameterWithoutIncreasingPC(uint32 ip)
|
|||
case ARGUMENT_INT32:
|
||||
return CTheScripts::Read4BytesFromScript(pIp);
|
||||
case ARGUMENT_GLOBALVAR:
|
||||
return *((int32*)&CTheScripts::ScriptSpace[CTheScripts::Read2BytesFromScript(pIp)]);
|
||||
return *((int32*)&CTheScripts::ScriptSpace[(uint16)CTheScripts::Read2BytesFromScript(pIp)]);
|
||||
case ARGUMENT_LOCALVAR:
|
||||
return m_anLocalVariables[CTheScripts::Read2BytesFromScript(pIp)];
|
||||
case ARGUMENT_INT8:
|
||||
|
@ -2138,7 +2138,7 @@ void CRunningScript::StoreParameters(uint32* pIp, int16 number)
|
|||
for (int16 i = 0; i < number; i++){
|
||||
switch (CTheScripts::Read1ByteFromScript(pIp)) {
|
||||
case ARGUMENT_GLOBALVAR:
|
||||
*(int32*)&CTheScripts::ScriptSpace[CTheScripts::Read2BytesFromScript(pIp)] = ScriptParams[i];
|
||||
*(int32*)&CTheScripts::ScriptSpace[(uint16)CTheScripts::Read2BytesFromScript(pIp)] = ScriptParams[i];
|
||||
break;
|
||||
case ARGUMENT_LOCALVAR:
|
||||
m_anLocalVariables[CTheScripts::Read2BytesFromScript(pIp)] = ScriptParams[i];
|
||||
|
@ -2155,7 +2155,7 @@ int32 *CRunningScript::GetPointerToScriptVariable(uint32* pIp, int16 type)
|
|||
{
|
||||
case ARGUMENT_GLOBALVAR:
|
||||
script_assert(type == VAR_GLOBAL);
|
||||
return (int32*)&CTheScripts::ScriptSpace[CTheScripts::Read2BytesFromScript(pIp)];
|
||||
return (int32*)&CTheScripts::ScriptSpace[(uint16)CTheScripts::Read2BytesFromScript(pIp)];
|
||||
case ARGUMENT_LOCALVAR:
|
||||
script_assert(type == VAR_LOCAL);
|
||||
return &m_anLocalVariables[CTheScripts::Read2BytesFromScript(pIp)];
|
||||
|
@ -2472,7 +2472,7 @@ int8 CRunningScript::ProcessOneCommand()
|
|||
{
|
||||
int8 retval = -1;
|
||||
++CTheScripts::CommandsExecuted;
|
||||
int32 command = CTheScripts::Read2BytesFromScript(&m_nIp);
|
||||
int32 command = (uint16)CTheScripts::Read2BytesFromScript(&m_nIp);
|
||||
m_bNotFlag = (command & 0x8000);
|
||||
command &= 0x7FFF;
|
||||
#ifdef USE_ADVANCED_SCRIPT_DEBUG_OUTPUT
|
||||
|
@ -3095,7 +3095,7 @@ int8 CRunningScript::ProcessCommands0To99(int32 command)
|
|||
pNew->m_anLocalVariables[i] = CTheScripts::Read4BytesFromScript(&m_nIp);
|
||||
break;
|
||||
case ARGUMENT_GLOBALVAR:
|
||||
pNew->m_anLocalVariables[i] = *(int32*)&CTheScripts::ScriptSpace[CTheScripts::Read2BytesFromScript(&m_nIp)];
|
||||
pNew->m_anLocalVariables[i] = *(int32*)&CTheScripts::ScriptSpace[(uint16)CTheScripts::Read2BytesFromScript(&m_nIp)];
|
||||
break;
|
||||
case ARGUMENT_LOCALVAR:
|
||||
pNew->m_anLocalVariables[i] = m_anLocalVariables[CTheScripts::Read2BytesFromScript(&m_nIp)];
|
||||
|
@ -4886,7 +4886,7 @@ int8 CRunningScript::ProcessCommands300To399(int32 command)
|
|||
{
|
||||
script_assert(CTheScripts::ScriptSpace[m_nIp] == ARGUMENT_GLOBALVAR);
|
||||
m_nIp++;
|
||||
uint32 offset = CTheScripts::Read2BytesFromScript(&m_nIp);
|
||||
uint16 offset = CTheScripts::Read2BytesFromScript(&m_nIp);
|
||||
CollectParameters(&m_nIp, 1);
|
||||
CUserDisplay::OnscnTimer.AddClock(offset, nil, ScriptParams[0] != 0);
|
||||
return 0;
|
||||
|
@ -4895,14 +4895,14 @@ int8 CRunningScript::ProcessCommands300To399(int32 command)
|
|||
{
|
||||
script_assert(CTheScripts::ScriptSpace[m_nIp] == ARGUMENT_GLOBALVAR);
|
||||
m_nIp++;
|
||||
CUserDisplay::OnscnTimer.ClearClock(CTheScripts::Read2BytesFromScript(&m_nIp));
|
||||
CUserDisplay::OnscnTimer.ClearClock((uint16)CTheScripts::Read2BytesFromScript(&m_nIp));
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_DISPLAY_ONSCREEN_COUNTER:
|
||||
{
|
||||
script_assert(CTheScripts::ScriptSpace[m_nIp] == ARGUMENT_GLOBALVAR);
|
||||
m_nIp++;
|
||||
int32 counter = CTheScripts::Read2BytesFromScript(&m_nIp);
|
||||
int16 counter = CTheScripts::Read2BytesFromScript(&m_nIp);
|
||||
CollectParameters(&m_nIp, 1);
|
||||
CUserDisplay::OnscnTimer.AddCounter(counter, ScriptParams[0], nil, 0);
|
||||
return 0;
|
||||
|
@ -4911,7 +4911,7 @@ int8 CRunningScript::ProcessCommands300To399(int32 command)
|
|||
{
|
||||
script_assert(CTheScripts::ScriptSpace[m_nIp] == ARGUMENT_GLOBALVAR);
|
||||
m_nIp++;
|
||||
CUserDisplay::OnscnTimer.ClearCounter(CTheScripts::Read2BytesFromScript(&m_nIp));
|
||||
CUserDisplay::OnscnTimer.ClearCounter((uint16)CTheScripts::Read2BytesFromScript(&m_nIp));
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_SET_ZONE_CAR_INFO:
|
||||
|
@ -5286,7 +5286,7 @@ int8 CRunningScript::ProcessCommands300To399(int32 command)
|
|||
//case COMMAND_MOVE_CAMERA_ALONG_SPLINE:
|
||||
//case COMMAND_GET_CAMERA_POSITION_ALONG_SPLINE:
|
||||
case COMMAND_DECLARE_MISSION_FLAG:
|
||||
CTheScripts::OnAMissionFlag = CTheScripts::Read2BytesFromScript(&++m_nIp);
|
||||
CTheScripts::OnAMissionFlag = (uint16)CTheScripts::Read2BytesFromScript(&++m_nIp);
|
||||
return 0;
|
||||
case COMMAND_DECLARE_MISSION_FLAG_FOR_CONTACT:
|
||||
return 0;
|
||||
|
@ -10065,7 +10065,7 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
|
|||
case COMMAND_DISPLAY_ONSCREEN_TIMER_WITH_STRING:
|
||||
{
|
||||
script_assert(CTheScripts::ScriptSpace[m_nIp++] == ARGUMENT_GLOBALVAR);
|
||||
int16 var = CTheScripts::Read2BytesFromScript(&m_nIp);
|
||||
uint16 var = CTheScripts::Read2BytesFromScript(&m_nIp);
|
||||
CollectParameters(&m_nIp, 1);
|
||||
wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ???
|
||||
strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
|
||||
|
@ -10076,7 +10076,7 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
|
|||
case COMMAND_DISPLAY_ONSCREEN_COUNTER_WITH_STRING:
|
||||
{
|
||||
script_assert(CTheScripts::ScriptSpace[m_nIp++] == ARGUMENT_GLOBALVAR);
|
||||
int16 var = CTheScripts::Read2BytesFromScript(&m_nIp);
|
||||
uint16 var = CTheScripts::Read2BytesFromScript(&m_nIp);
|
||||
CollectParameters(&m_nIp, 1);
|
||||
wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ???
|
||||
strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
|
||||
|
@ -12709,7 +12709,7 @@ int8 CRunningScript::ProcessCommands1200To1299(int32 command)
|
|||
{
|
||||
char onscreen_str[12];
|
||||
script_assert(CTheScripts::ScriptSpace[m_nIp++] == ARGUMENT_GLOBALVAR);
|
||||
int16 var = CTheScripts::Read2BytesFromScript(&m_nIp);
|
||||
uint16 var = CTheScripts::Read2BytesFromScript(&m_nIp);
|
||||
CollectParameters(&m_nIp, 2);
|
||||
wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ???
|
||||
strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
|
||||
|
|
Loading…
Reference in a new issue