User Tools

Site Tools


earthbound:text_scripting

This is an old revision of the document!


Text Scripts

Raw Official Name Description
[00] Prints a newline
[01] Ensures text starts on a newline
[02] ! Marks the end of a script
[03] @KEY Wait for user input, with visible prompt and text-speed-based wait if prompt flag is set
[04 XX XX] @SETF Set event flag XXXX
[05 XX XX] @CLRF Clear event flag XXXX
[06 XX XX YY YY YY YY] @CHKFGOTO Go to script YYYYYYYY if event flag XXXX is set
[07 XX XX] @CHKF Put event flag XXXX state in main register
[08 XX XX XX XX] @GOSUB Display text script at XXXXXXXX
[09 XX (YY YY YY YY)*XX] @ONGOTO Jump to the nth YYYYYYYY script, depending on the value of the main register. If main register > XX, continue parsing
[0A XX XX XX XX] @GOTO Jump to the script at YYYYYYYY
[0B XX] @EQ Set main register to 1 if current value in main register == XX, 0 otherwise
[0C XX] @NOT Set main register to 1 if current value in main register != XX, 0 otherwise
[0D XX] @SET_REG If XX == 0, copy main register to sub register. Otherwise, copy loop register to sub register.
[0E XX] @SET_LOOPREG If XX == 0, copy sub register to loop register. Otherwise, copy XX to loop register.
[0F] @INC Increment loop register by 1
[10 XX] @WI Pause XX frames
[11] @DSP_STS Creates a cancellable menu, with the selection result placed in the main register
[12] Clears the current line of text, moving the cursor to the start of the line
[13] @KEYNP Like [03], but without visible prompt
[14] @FKEY Wait for user input with visible prompt, no speed-based wait
[15 XX] Display compressed text XX from bank 0
[16 XX] Display compressed text XX from bank 1
[17 XX] Display compressed text XX from bank 2
[18 00] @CLOSE Close the focused window
[18 01 XX] @OPEN Opens window XX
[18 02] @SAVE_WIN Backs up the text attributes for the current window. Will be automatically restored when the script ends.
[18 03 XX] @SELECT_WIN Set the focused window to XX
[18 04] @CLOSEALL Close all windows
[18 05 XX YY] @LOC Sets cursor location. If left alignment is enabled, XX is X coordinate in pixels. Otherwise, XX is X coordinate in tiles. YY is Y coordinate in tiles.
[18 06] @CLS Clears the focused window of all text
[18 07 XX XX XX XX YY] @CMP Compares a register (main register if YY is 0, sub register if 1, loop register otherwise) with the value XXXXXXXX. Main register set to 0 if register < value, 1 if register == value, 2 otherwise
[18 08 XX] Creates an uncancellable menu in window XX
[18 09 XX] @WIN_SEL_ITEMQ Creates a cancellable menu in window XX
[18 0A] @WINR_MONEY Opens the window displaying money on hand
[18 0D XX YY] Prints the contents of the status menu for character XX if YY is 1. Does nothing if YY is any other value.
[19 02 .. 01 XX XX XX XX] Prepares a menu option. Label text is everything between the 02 and 01, causing XXXXXXXX to be displayed when chosen
[19 02 .. 02] <> As above, but with no script on chosen option
[19 04] Delete all previously-loaded menu options
[19 05 XX YY ZZ] @SET_SPECIAL Inflict status effect [YY (if 0, use sub register), ZZ] on character XX (if 0, use main register). if character 8 is selected, inflicts party status ZZ.
[19 10 XX] @GET_ORDER_PLAYER
[19 11 XX] @GET_PLAYER_NAME
[19 14] @GET_TRACY
[19 16 XX YY] @GET_SPECIAL
[19 18 XX] @GET_NEXTLEVEL
[19 19 XX YY] @GET_PLAYER_GOODS
[19 1A XX] @GET_TRACY_GOODS
[19 1B XX] @WIN_CHK_ITEM
[19 1C XX YY] @SET_TRANS_GOODS
[19 1D XX YY] @GET_TRANS_GOODS
[19 1E] @GET_CNUM
[19 1F] @GET_CITEM
[19 20] @GET_MEMBERS
[19 21 XX] @GET_GOODS_EAT
[19 22 XX YY ZZ ZZ] @GET_PLAYER_DIR
[19 23 XX XX YY ZZ ZZ] @GET_CHAR_DIR
[19 24 XX XX YY ZZ ZZ] @GET_GOM_CHAR_DIR
[19 25 XX] @GET_SPICE
[19 26 XX] @SET_COMEBACK_POS
[19 27 XX]
[19 28 XX] @GET_STS_CHAR
[1A 01] @SEL_PQ
[1A 05 XX YY] @DSP_PLAYER_GOODS
[1A 06 XX] @SEL_SHOP_TAKE
[1A 07] @SEL_TRACY_OUT
[1A 0A] @SEL_TEL_GOSUB
[1B 00] @SAVE_REG
[1B 01] @LOAD_REG
[1B 02 XX XX XX XX] @FALSE_GOTO
[1B 03 XX XX XX XX] @TRUE_GOTO
[1B 04] @XCHG
[1B 05] @SAVE_GLOBAL_REG
[1B 06] @LOAD_GLOBAL_REG
[1C 00 XX]
[1C 01 XX] @DSP_STS
[1C 02 XX] @DSP_NAME
[1C 03 XX] @DSP_CHAR
[1C 04] @DSP_PL
[1C 05 XX] @DSP_GOODS
[1C 06 XX]
[1C 07 XX] @DSP_ITEM
[1C 08 XX] @KMOJI
[1C 09 XX]
[1C 0A XX XX XX XX] @DSP_NUM
[1C 0B XX XX XX XX]
[1C 0C XX] @DSP_ITEML
[1C 0D XX] @DSP_ACTOR
[1C 0E XX] @DSP_OBJECT
[1C 0F XX] @DSP_CNUM
[1C 11 XX]
[1C 12 XX] @DSP_PSI
[1C 13 XX YY] @BTLFX
[1C 14 XX] @GET_ACTOR
[1C 15 XX] @GET_OBJECT
[1D 00 XX YY] @GOODSIN
[1D 01 XX YY] @GOODSOUT
[1D 02 XX] @GOODS_TYPE_P
[1D 03 XX] @Q_GOODSFULL
[1D 04 XX YY] @Q_EQUIP
[1D 05 XX YY] @Q_HAVE
[1D 06 XX XX XX XX] @DEPOSIT_MONEY_BANK
[1D 07 XX XX XX XX] @DRAW_MONEY_BANK
[1D 08 XX XX] @MONEYIN
[1D 09 XX XX] @MONEYOUT
[1D 0A XX] @GOODS_TAKE_MONEY
[1D 0B XX] @GOODS_SELL_MONEY
[1D 0C XX XX] @Q_TRACY
[1D 0D XX YY ZZ] @Q_SPECIAL
[1D 0E XX YY] @GOODSIN_PLAYER
[1D 0F XX YY] @GOODSOUT_PLAYER
[1D 10 XX YY]
[1D 11 XX YY] @Q_EQUIP_PLAYER_GOODS
[1D 12 XX YY] @TRACY_IN_GOODS
[1D 13 XX YY] @TRACY_OUT_GOODS
[1D 14 XX XX XX XX] @Q_MONEY
[1D 15 XX XX] @MUL_ACTIVE_PLAYER
[1D 17 XX XX XX XX] @Q_BANK_MONEY
[1D 18 XX] @TRACY_IN
[1D 19 XX] @Q_MEMBER
[1D 20] @Q_SELF
[1D 21 XX] @RAND
[1D 22] @Q_DUNGEON
[1D 23 XX] @Q_EQUIP_ATTR
[1D 24 XX] @Q_FIGHT_MONEY
[1E 00 XX YY] @HP_UP
[1E 01 XX YY] @HP_DOWN
[1E 02 XX YY]
[1E 03 XX YY]
[1E 04 XX YY] @PP_UP
[1E 05 XX YY] @PP_DOWN
[1E 06 XX YY]
[1E 07 XX YY]
[1E 08 XX YY] @SET_LEVEL
[1E 09 XX YY YY YY YY] @EXP_UP_POINT
[1E 0A XX YY] @IQ_UP_POINT
[1E 0B XX YY] @GUTS_UP_POINT
[1E 0C XX YY] @SPEED_UP_POINT
[1E 0D XX YY] @VITAL_UP_POINT
[1E 0E XX YY] @LUCK_UP_POINT
[1F 00 XX YY] @BGMSTART
[1F 01 XX] @BGMSTOP
[1F 02 XX] @SE
[1F 03] @MUSISTART
[1F 04 XX] @MESSAGE_SOUND
[1F 05]
[1F 06]
[1F 07 XX] @BGM_EFFECT
[1F 11 XX] @ADD_PARTY
[1F 12 XX] @DEL_PARTY
[1F 13 XX YY] @SET_PLAYER_DIR
[1F 14 XX] @SET_PARTY_DIR
[1F 15 XX XX YY YY ZZ] @MOVE_GOM_CHAR
[1F 16 XX XX YY] @SET_CHAR_DIR
[1F 17 XX XX YY YY ZZ] @MOVE_CHAR
[1F 1A XX XX YY] @SHOW_MANPU_CHAR
[1F 1B XX XX] @HIDE_MANPU_CHAR
[1F 1C XX YY] @SHOW_MANPU_PLAYER
[1F 1D XX] @HIDE_MANPU_PLAYER
[1F 1E XX XX YY] @HIDE_CHAR
[1F 1F XX XX YY] @HIDE_GOM_CHAR
[1F 20 XX YY] @TELEPORT
[1F 21 XX] @WARP
[1F 23 XX XX] @BATTLE
[1F 30] @FONTSTD
[1F 31] @FONTBAKA
[1F 41 XX] @FUNC
[1F 50] @DISKEY
[1F 51]
[1F 52 XX] @INPUT
[1F 60 XX]
[1F 61] @WAITSYS
[1F 62 XX] @SET_BTL_MSG
[1F 63 XX XX XX XX]
[1F 64] @SAVE_STORY
[1F 65] @LOAD_STORY
[1F 66 XX YY ZZ ZZ ZZ ZZ] @SET_HIT_RECT
[1F 67 XX] @RES_HIT_RECT
[1F 68]
[1F 69] @WARP_MOUSE_POS
[1F 71 XX YY] @ADD_PSI
[1F 83 XX YY] @EQUIP_PLAYER_GOODS
[1F A0] @SETF_MSG
[1F A1] @RESF_MSG
[1F A2] @CHKF_MSG
[1F B0] @SAVE_GAME
[1F C0 XX (YY YY YY YY) * XX] @ONGOSUB
[1F D0 XX] @REPAIR
[1F D1] @SEARCH_TRUFFLE
[1F D2 XX] @TAKE_PHOTO
[1F D3 XX] @DELIVERY
[1F E1 XX YY ZZ] @SET_PALLETSET
[1F E4 XX XX YY] @SET_GOM_CHAR_DIR
[1F E5 XX] @COLD_PLAYER
[1F E6 XX XX] @COLD_CHAR
[1F E7 XX XX] @COLD_GOM_CHAR
[1F E8 XX] @SET_CAMERA_GOM_CHAR
[1F E9 XX XX] @FRESH_CHAR
[1F EA XX XX] @FRESH_GOM_CHAR
[1F EB XX YY] @HIDE_PLAYER
[1F EC XX YY] @SHOW_PLAYER
[1F ED] @SET_CAMERA_PARTY
[1F EE XX XX] @SET_CAMERA_CHAR
[1F EF XX XX] @SET_CAMERA_GOM_CHAR
[1F F0] @RIDE_CYCLE
[1F F1 XX XX YY YY] @REMOVE_CHAR
[1F F2 XX XX YY YY] @REMOVE_GOM_CHAR
[1F F3 XX XX YY] @SHOW_MANPU_GOM_CHAR
[1F F4 XX XX] @HIDE_MANPU_GOM_CHAR
earthbound/text_scripting.1715277646.txt.gz · Last modified: 2024/05/09 18:00 by herringway