diff --git a/notes/handler-tables.txt b/notes/handler-tables.txt index 775df5c7..add72da5 100644 --- a/notes/handler-tables.txt +++ b/notes/handler-tables.txt @@ -488,6 +488,19 @@ SUBCMD GCEp3NTE GCEp3USA 6xB5x45 802D6714 802EDBE8 6xB5x47 80234FBC 8022A314 +Quest opcode dispatch +3OE0 => 801F2CE0 +3OE1 => 801F2CE0 +3OE2 => 801F2E64 +3OJ2 => 801F287C +3OJ3 => 801F2E00 +3OJ4 => 801F3568 +3OJ5 => 801F2E10 +3OP0 => 801F33DC +3SE0 => 80109F78 +3SJ0 => 8010A138 +3SP0 => 8010A404 + Quest opcode handlers (format: GET_ARGS EXEC_FUN) DC-NTE--------------- DC112000------------- DCv1USA-------------- DCv2USA-------------- PC-NTE------ -------- PC------------------- GC1&2NTE------------- GC-GJAM-------------- GC1&2v11------------- GC1&2v12------------- GCEp3NTE------------- GCEp3USA------------- XBOXBETA------------- XBOX-US0------------- BB------------------- 00 8C13C19C-() 8C13C830 8C13F83C-() 8C13FF80 8C151764-() 8C151EA8 8C16C6F0-() 8C16CE34 004E12C0-() 004E1A50 00590DD0-() 00595030 80242F44-() 80242304 801ED060-??? 801ECB70 801F2A10-() 801F2520 801F2B94-() 801F26A4 8010D308-() 8010CE18 80109CA8-() 801097B8 00218DF0-??? 002C9010 002190C0-??? 002F76A0 006B101C-() 0061CDB0 nop diff --git a/src/QuestScript.cc b/src/QuestScript.cc index 3618b331..6f77447c 100644 --- a/src/QuestScript.cc +++ b/src/QuestScript.cc @@ -2548,9 +2548,8 @@ static const QuestScriptOpcodeDefinition opcode_defs[] = { {0xF94C, "player_effect_nc", "particle3f_id", {{REG_SET_FIXED, 4}}, F_V3_V4}, // Returns 1 in regA if a file named PSO3_CHARACTER is present on either - // memory card. This opcode is only available on PSO Plus on GC. - // TODO: This is verified to exist on US v1.2 and not on US v1.1. What - // about the JP versions? And EU? + // memory card. This opcode is only available on PSO Plus on GC; that is, + // it only exists on JP v1.4 and v1.5, and US v1.2. {0xF94D, "has_ep3_save_file", nullptr, {REG}, F_GC_V3 | F_ARGS}, // Gives the player one copy of a card. regA is the card ID.