mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
by default allow MovementCommand to handle <$45s
This commit is contained in:
parent
a9a1e084a1
commit
d16a6debff
@ -1879,6 +1879,9 @@ class DataByteWordMacro(Command):
|
|||||||
def to_asm(self): pass
|
def to_asm(self): pass
|
||||||
|
|
||||||
class MovementCommand(Command):
|
class MovementCommand(Command):
|
||||||
|
# by default.. handle all the <$45s
|
||||||
|
id = [0, 4, 8, 0x0C, 0x10, 0x14, 0x18, 0x1C, 0x20, 0x24, 0x28, 0x2C, 0x30, 0x34, 0x3A, 0x3B, 0x3D]
|
||||||
|
|
||||||
# the vast majority of movement commands do not end the movement script
|
# the vast majority of movement commands do not end the movement script
|
||||||
end = False
|
end = False
|
||||||
|
|
||||||
@ -1908,16 +1911,14 @@ class MovementCommand(Command):
|
|||||||
def to_asm(self):
|
def to_asm(self):
|
||||||
if ord(rom[self.address]) < 0x45:
|
if ord(rom[self.address]) < 0x45:
|
||||||
byte = ord(rom[self.address])
|
byte = ord(rom[self.address])
|
||||||
|
|
||||||
base = [0, 4, 8, 0x0C, 0x10, 0x14, 0x18, 0x1C, 0x20, 0x24, 0x28, 0x2C, 0x30, 0x34, 0x3A, 0x3B, 0x3D]
|
|
||||||
|
|
||||||
if byte in base:
|
if byte in self.base:
|
||||||
modulator = "down"
|
modulator = "down"
|
||||||
elif byte in [x+1 for x in base]:
|
elif byte in [x+1 for x in self.base]:
|
||||||
modulator = "up"
|
modulator = "up"
|
||||||
elif byte in [x+2 for x in base]:
|
elif byte in [x+2 for x in self.base]:
|
||||||
modulator = "left"
|
modulator = "left"
|
||||||
elif byte in [x+3 for x in base]:
|
elif byte in [x+3 for x in self.base]:
|
||||||
modulator = "right"
|
modulator = "right"
|
||||||
else:
|
else:
|
||||||
raise Exception, "can't figure out direction- this should never happen"
|
raise Exception, "can't figure out direction- this should never happen"
|
||||||
@ -1928,8 +1929,7 @@ class MovementCommand(Command):
|
|||||||
|
|
||||||
movement_command_classes = inspect.getmembers(sys.modules[__name__], \
|
movement_command_classes = inspect.getmembers(sys.modules[__name__], \
|
||||||
lambda obj: inspect.isclass(obj) and \
|
lambda obj: inspect.isclass(obj) and \
|
||||||
issubclass(obj, MovementCommand) and \
|
issubclass(obj, MovementCommand))
|
||||||
obj != MovementCommand)
|
|
||||||
|
|
||||||
class ApplyMovementData:
|
class ApplyMovementData:
|
||||||
base_label = "MovementData_"
|
base_label = "MovementData_"
|
||||||
|
Loading…
Reference in New Issue
Block a user