Skip to content

API Changelog

Chris Feger edited this page Jun 6, 2020 · 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

  • 76e1bed Added: enum Generation GEN_THREE
  • 1040c10 Added: base64_decode
  • 1040c10 Added: base64_encode
  • 1040c10 Added: fetch_web_content
  • 84364b2 Fixed: gui_keyboard now recognizes maxChars as string length including NULL terminator
  • e11ca22 Added: gui_splash
  • 1e56c3b 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
  • 7eb1081 Added: i18n_form
  • 25e55bd Added: sav_get_data
  • 25e55bd Added: sav_set_data
  • 25e55bd Added: sav_get_byte
  • 25e55bd Added: sav_set_byte
  • 25e55bd Added: sav_get_short
  • 25e55bd Added: sav_set_short
  • 25e55bd Added: sav_get_int
  • 25e55bd Added: sav_set_int
  • 25e55bd Added: json_new
  • 25e55bd Added: json_parse
  • 25e55bd Added: json_delete
  • 25e55bd Added: json_is_valid
  • 25e55bd Added: json_is_int
  • 25e55bd Added: json_is_bool
  • 25e55bd Added: json_is_string
  • 25e55bd Added: json_is_array
  • 25e55bd Added: json_is_object
  • 25e55bd Added: json_get_int
  • 25e55bd Added: json_get_bool
  • 25e55bd Added: json_get_string
  • 25e55bd Added: json_array_size
  • 25e55bd Added: json_array_element
  • 25e55bd Added: json_object_contains
  • 25e55bd Added: json_object_element
  • 02b5462 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