summaryrefslogtreecommitdiff
path: root/src/script.c
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-09-22 01:12:41 -0700
committerYamaArashi <shadow962@live.com>2016-09-22 01:12:41 -0700
commit775e8544b3acffa3e95932cef723d0a72f26e22d (patch)
tree439642edad3e9dcb753d69e4c62997c1a090735b /src/script.c
parent7d57a4fc2384faa07e82112cf530aef2beb8869d (diff)
clean up RAM script code
Diffstat (limited to 'src/script.c')
-rw-r--r--src/script.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/src/script.c b/src/script.c
index eb6750899..e4be0442e 100644
--- a/src/script.c
+++ b/src/script.c
@@ -2,15 +2,17 @@
#include "script.h"
#include "fieldmap.h"
+#define RAM_SCRIPT_MAGIC 51
+
extern u16 VarGet(u16);
extern u8 *gUnknown_0202E8AC;
extern u32 gUnknown_0202E8B0;
-extern u8 sScriptContext1Status; // 0x30005B0
-extern struct ScriptContext sScriptContext1; // 0x30005B8
-extern struct ScriptContext sScriptContext2; // 0x3000630
-extern bool8 sScriptContext2Enabled; // 0x30006A4
+extern u8 sScriptContext1Status;
+extern struct ScriptContext sScriptContext1;
+extern struct ScriptContext sScriptContext2;
+extern bool8 sScriptContext2Enabled;
extern ScrCmdFunc gScriptCmdTable[];
extern ScrCmdFunc gScriptCmdTableEnd[];
@@ -331,39 +333,39 @@ void ClearRamScript(void)
CpuFill32(0, &gSaveBlock1.ramScript, sizeof(struct RamScript));
}
-bool8 InitRamScript(u8 *a1, u16 a2, u8 a3, u8 a4, u8 a5)
+bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId)
{
struct RamScriptData *scriptData = &gSaveBlock1.ramScript.data;
ClearRamScript();
- if (a2 > 995)
+ if (scriptSize > sizeof(scriptData->script))
return FALSE;
- scriptData->magic = 51;
- scriptData->mapGroup = a3;
- scriptData->mapNum = a4;
- scriptData->objectId = a5;
- memcpy(scriptData->script, a1, a2);
+ scriptData->magic = RAM_SCRIPT_MAGIC;
+ scriptData->mapGroup = mapGroup;
+ scriptData->mapNum = mapNum;
+ scriptData->objectId = objectId;
+ memcpy(scriptData->script, script, scriptSize);
gSaveBlock1.ramScript.checksum = CalculateRamScriptChecksum();
return TRUE;
}
-u8 *GetRamScript(u8 a1, u8 *a2)
+u8 *GetRamScript(u8 objectId, u8 *script)
{
struct RamScriptData *scriptData = &gSaveBlock1.ramScript.data;
gUnknown_0202E8AC = 0;
- if (scriptData->magic == 51
+ if (scriptData->magic == RAM_SCRIPT_MAGIC
&& scriptData->mapGroup == gSaveBlock1.location.mapGroup
&& scriptData->mapNum == gSaveBlock1.location.mapNum
- && scriptData->objectId == a1)
+ && scriptData->objectId == objectId)
{
if (CalculateRamScriptChecksum() == gSaveBlock1.ramScript.checksum)
{
- gUnknown_0202E8AC = a2;
+ gUnknown_0202E8AC = script;
return scriptData->script;
}
ClearRamScript();
}
- return a2;
+ return script;
}