Skip to content

API Changelog

Chris Feger edited this page Jan 4, 2021 · 22 revisions

This page lists scripting API changes categorized by their associated PKSM release.

If you are trying to develop a script and need/want access to functions listed under Nightly, either build PKSM yourself or join our Discord and ping piepie62#3412 with an upload of your current version as proof that you are actually developing.

Nightly

These changes have been made to PKSM (as of the latest commits) but have not yet appeared in a public release

  • 63476f9 Fixed: allow species of 0 to be used with inject_pkx functions (for emptying a slot of its contents)
  • db0ce89 Renamed: utf8_to_utf16 to utf8_to_ucs2 and utf16_to_utf8 to ucs2_to_utf8 for accuracy. UTF-16 is not used by the Pokémon games, UCS-2 is.
  • 11d1896 Added: bz2_compress, bz2_decompress, and max_pp.

9.1.0

  • Added: sav_set_bit
  • Added: sav_get_bit

9.0.0

  • Added: enum Generation GEN_THREE
  • Added: base64_decode
  • Added: base64_encode
  • Added: fetch_web_content
  • Fixed: gui_keyboard now recognizes maxChars as string length including NULL terminator
  • Added: gui_splash
  • Changed: update default fetching for new "Default templates"
    • cfg_default_ot, cfg_default_tid, and cfg_default_sid all now have a enum Generation gen parameter
  • Added: i18n_form
  • Added: sav_get_data
  • Added: sav_set_data
  • Added: sav_get_byte
  • Added: sav_set_byte
  • Added: sav_get_short
  • Added: sav_set_short
  • Added: sav_get_int
  • Added: sav_set_int
  • Added: json_new
  • Added: json_parse
  • Added: json_delete
  • Added: json_is_valid
  • Added: json_is_int
  • Added: json_is_bool
  • Added: json_is_string
  • Added: json_is_array
  • Added: json_is_object
  • Added: json_get_int
  • Added: json_get_bool
  • Added: json_get_string
  • Added: json_array_size
  • Added: json_array_element
  • Added: json_object_contains
  • Added: json_object_element
  • Changed: The only parameter passed in via argv is now a pointer to the version number. Use the additions from 25e55bd to change and access data.

v8.0.0

  • Added: bank_get_pkx
  • Added: bank_get_size
  • Added: bank_select
  • Added: sav_check_value
  • Added: sav_get_string
  • Added: sav_inject_wcx
  • Added: sav_wcx_free_slot
  • Added: strcasecmp to <string.h>
  • Added: strncasecmp to <string.h>
  • Added: function pointers should now work
  • Changed: argv[0] is now a proper pointer to save data instead of a string containing the integer value of said pointer
  • Changed: cfg_default_day, cfg_default_month, and cfg_default_year now return current date instead of 0 if config is set to 0
  • Changed: gui_warn and gui_choice now take only 1 string argument instead of 2
  • Changed: pkx_encrypt and pkx_decrypt now have an isParty argument
  • Changed: some enum values removed from sav_get_max
  • Fixed: party_inject_pkx now updates the dex in LGPE
  • Removed: g4_strlen
  • Removed: string_to_gen_4

v7.0.0

  • Added: sav_get_value
  • Added: sav_get_max
  • Added: sav_set_string
  • Added: delete_directory
  • Added: pkx_box_size
  • Added: pkx_party_size
  • Added: pkx_generate
  • Added: pkx_is_valid
  • Added: pkx_set_value
  • Added: pkx_get_value
  • Added: string_to_gen_4
  • Added: g4_strlen
  • Added: enum PKX_FIELD
  • Added: enum SAV_FIELD
  • Added: enum SAV_MAX_FIELD
  • Added: enum Pouch
  • Fixed: gui_keyboard now properly accounts for size difference between UTF-8 and UFT-16
  • Fixed: sav_inject_pkx and party_inject_pkx now update dex
  • Changed: sav_inject_pkx now requires a new int doTradeEdits argument
  • Changed: gui_numpad now uses an unsigned int for out
  • Changed: cfg_default_tid and cfg_default_sid now return an int rather than an unsigned int

v6.2.0

  • Added: party_inject_pkx
  • Added: pkx_encrypt
  • Added: pkx_decrypt
  • Added: utf16_to_utf8
  • Added: utf8_to_utf16
  • Changed: gui_boxes now requires a new int doCrypt argument
  • Removed: sav_inject_ekx

v6.1.1

  • Added: i18n_species
  • Fixed: gui_numpad now returns the correct number when entering the max number of requested digits

v6.1.0

  • Added: gui_boxes
  • Added: sav_get_pkx
  • Added: bank_inject_pkx
  • Added: party_get_pkx
  • Added: net_ip
  • Added: net_tcp_receiver
  • Added: net_tcp_sender
  • Added: net_udp_receiver

v6.0.0

  • Added: C language interpreter (picoC)
  • Added: gui_choice
  • Added: gui_warn
  • Added: gui_menu_6x5
  • Added: gui_menu_20x2
  • Added: gui_keyboard
  • Added: gui_numpad
  • Added: sav_sbo
  • Added: sav_gbo
  • Added: sav_box_decrypt
  • Added: sav_box_encrypt
  • Added: sav_inject_pkx
  • Added: sav_inject_ekx
  • Added: current_directory
  • Added: read_directory
  • Added: cfg_default_ot
  • Added: cfg_default_tid
  • Added: cfg_default_sid
  • Added: cfg_default_day
  • Added: cfg_default_month
  • Added: cfg_default_year
  • Added: struct pkx
  • Added: enum Generation
  • Added: struct directory