summaryrefslogtreecommitdiff
path: root/pokemontools/vba/vba.py
diff options
context:
space:
mode:
Diffstat (limited to 'pokemontools/vba/vba.py')
-rw-r--r--pokemontools/vba/vba.py33
1 files changed, 17 insertions, 16 deletions
diff --git a/pokemontools/vba/vba.py b/pokemontools/vba/vba.py
index eafbaa1..a4c7e27 100644
--- a/pokemontools/vba/vba.py
+++ b/pokemontools/vba/vba.py
@@ -85,26 +85,27 @@ def call(bank, address, vba=vba, registers=registers):
else:
registers["pc"] = address
-def get_stack(vba=vba, registers=registers):
+class crystal:
"""
- Return a list of functions on the stack.
+ Just a simple namespace to store a bunch of functions for Pokémon Crystal.
"""
- addresses = []
- sp = registers.sp
- for x in range(0, 11):
- sp = sp - (2 * x)
- hi = vba.read_memory_at(sp + 1)
- lo = vba.read_memory_at(sp)
- address = ((hi << 8) | lo)
- addresses.append(address)
+ @staticmethod
+ def get_stack(vba=vba, registers=registers):
+ """
+ Return a list of functions on the stack.
+ """
+ addresses = []
+ sp = registers.sp
- return addresses
+ for x in range(0, 11):
+ sp = sp - (2 * x)
+ hi = vba.read_memory_at(sp + 1)
+ lo = vba.read_memory_at(sp)
+ address = ((hi << 8) | lo)
+ addresses.append(address)
-class crystal:
- """
- Just a simple namespace to store a bunch of functions for Pokémon Crystal.
- """
+ return addresses
@staticmethod
def text_wait(step_size=1, max_wait=200, sfx_limit=0, debug=False, callback=None):
@@ -150,7 +151,7 @@ class crystal:
break
else:
- stack = get_stack()
+ stack = crystal.get_stack()
# yes/no box or the name selection box
if address in range(0xa46, 0xaaf):