module Feh::HSDArcWriter::XORKeys

Constants

BATTLE_XORKEY

XOR cipher used for files under `assets/Common/Battle/Asset/`.

BGM_XORKEY

XOR cipher used for files under `assets/Common/SRPG/StageBgm/`.

EFFECT_ARC_XORKEY

XOR cipher used for files under `assets/Common/Effect/arc/`.

FB_XORKEY

XOR cipher used for files under `assets/Common/Portrait/`.

GC_XORKEY

XOR cipher used for files under `assets/Common/Occupation/World/`.

HOME_XORKEY

XOR cipher used for files under `assets/Common/Home/`.

ID_XORKEY

XOR cipher used for almost all asset files.

LOADING_XORKEY

XOR cipher used for `assets/Common/Loading/Data.bin`.

LOGIN_XORKEY

XOR cipher used for files under `assets/Common/LoginBonus/`.

MSG_XORKEY

XOR cipher used for message files.

SOUND_ARC_XORKEY

XOR cipher used for files under `assets/Common/Sound/arc/`.

SUMMON_XORKEY

XOR cipher used for files under `assets/Common/Summon/`.

TUT_XORKEY

XOR cipher used for files under `assets/Common/Tutorial/`.

VG_XORKEY

XOR cipher used for files under `assets/Common/Tournament/`.

Public Class Methods

make_cipher(key) click to toggle source

Produces a XOR cipher from an internal key. @param key [Array<Integer>] byte values of the internal key @return [Array<Integer>] content of the XOR cipher

# File lib/feh/hsdarc_writer/xor_keys.rb, line 9
def self.make_cipher(key)
  k = (key[0] + key[1]) & 0xFF
  cipher = []
  key.each do |x|
    k ^= x
    cipher << k
  end
  key.each do |x|
    k ^= x
    cipher << k
  end
  cipher
end