From 007151b05a7c0e0e6f70f6f008aa1b6536992f78 Mon Sep 17 00:00:00 2001 From: yenatch Date: Sun, 15 Jun 2014 16:26:10 -0700 Subject: gfx: Let .wxh filename arguments exceed 9. Nothing needs this yet, but chances are it'll happen. --- pokemontools/gfx.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pokemontools/gfx.py b/pokemontools/gfx.py index 2098d59..bfd6745 100644 --- a/pokemontools/gfx.py +++ b/pokemontools/gfx.py @@ -1103,10 +1103,6 @@ def read_filename_arguments(filename): arg = int_args.get(arg, False) if arg: parsed_arguments[arg] = int(param) - elif len(argument) == 3: - w, x, h = argument[:3] - if w.isdigit() and h.isdigit() and x == 'x': - parsed_arguments['pic_dimensions'] = (int(w), int(h)) elif argument == 'interleave': parsed_arguments['interleave'] = True elif argument == 'norepeat': @@ -1114,6 +1110,11 @@ def read_filename_arguments(filename): elif argument == 'arrange': parsed_arguments['norepeat'] = True parsed_arguments['tilemap'] = True + elif 'x' in argument: + w, h = argument.split('x') + if w.isdigit() and h.isdigit(): + parsed_arguments['pic_dimensions'] = (int(w), int(h)) + return parsed_arguments -- cgit v1.2.3 From 9c7bce4ce7e25b6038277bb1dc31c716b18bb1c8 Mon Sep 17 00:00:00 2001 From: yenatch Date: Tue, 22 Jul 2014 21:22:20 -0700 Subject: The checkflag command family uses engine flags. --- pokemontools/crystal.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pokemontools/crystal.py b/pokemontools/crystal.py index 697960c..eee57e6 100644 --- a/pokemontools/crystal.py +++ b/pokemontools/crystal.py @@ -1454,14 +1454,15 @@ class DataByteWordMacro(Command): event_flags = wram.read_constants(os.path.join(conf.path, 'constants/event_flags.asm')) +engine_flags = wram.read_constants(os.path.join(conf.path, 'constants/engine_flags.asm')) class EventFlagParam(MultiByteParam): - def to_asm(self): - if self.parsed_number in event_flags.keys(): - return event_flags[self.parsed_number] - return MultiByteParam.to_asm(self) + return event_flags.get(self.parsed_number) or MultiByteParam.to_asm(self) +class EngineFlagParam(MultiByteParam): + def to_asm(self): + return engine_flags.get(self.parsed_number) or MultiByteParam.to_asm(self) class MovementCommand(Command): @@ -2276,9 +2277,9 @@ pksv_crystal_more = { 0x31: ["checkevent", ["event_flag", EventFlagParam]], 0x32: ["clearevent", ["event_flag", EventFlagParam]], 0x33: ["setevent", ["event_flag", EventFlagParam]], - 0x34: ["checkflag", ["event_flag", EventFlagParam]], - 0x35: ["clearflag", ["event_flag", EventFlagParam]], - 0x36: ["setflag", ["event_flag", EventFlagParam]], + 0x34: ["checkflag", ["engine_flag", EngineFlagParam]], + 0x35: ["clearflag", ["engine_flag", EngineFlagParam]], + 0x36: ["setflag", ["engine_flag", EngineFlagParam]], 0x37: ["wildon"], 0x38: ["wildoff"], 0x39: ["xycompare", ["pointer", MultiByteParam]], -- cgit v1.2.3 From fb0029a78c30c015d630e065d1207d9b41d2a95b Mon Sep 17 00:00:00 2001 From: yenatch Date: Tue, 22 Jul 2014 21:24:08 -0700 Subject: Event command loadwilddata takes a third argument. --- pokemontools/crystal.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pokemontools/crystal.py b/pokemontools/crystal.py index eee57e6..834663a 100644 --- a/pokemontools/crystal.py +++ b/pokemontools/crystal.py @@ -2389,7 +2389,7 @@ pksv_crystal_more = { 0x9D: ["checkphonecall"], 0x9E: ["verbosegiveitem", ["item", ItemLabelByte], ["quantity", DecimalParam]], 0x9F: ["verbosegiveitem2", ["item", ItemLabelByte], ["var", SingleByteParam]], - 0xA0: ["loadwilddata", ["map_group", MapGroupParam], ["map_id", MapIdParam]], + 0xA0: ["loadwilddata", ["flag", SingleByteParam], ["map_group", MapGroupParam], ["map_id", MapIdParam]], 0xA1: ["halloffame"], 0xA2: ["credits"], 0xA3: ["warpfacing", ["facing", SingleByteParam], ["map_group", MapGroupParam], ["map_id", MapIdParam], ["x", SingleByteParam], ["y", SingleByteParam]], -- cgit v1.2.3