GrafX2 2.9.3227
The ultimate 256-color painting program
Todo List
Global Button_Constraint_menu (void)

enable WIDE pixels when switching to 160x200

enable TALL pixels when switching to 560x192

Global Button_Constraint_mode (void)

backup

load prefered/last used contrained mode from config ?

Global Button_Load_or_Save (T_Selector_settings *settings, byte load, T_IO_Context *context)
convert label to unicode before editing
Global Load_GPL (T_IO_Context *)

set grafx2 columns setting to match.

analyze color names to build shade table

Global Load_IFF (T_IO_Context *context)
DRNG IFF chunk is read, but complex color cycling are not implemented.
Global Main_handler (void)
create a SPECIAL_ACTIONS for Copy and Paste ?
Global Pixel_in_screen_c64multi_with_opt_preview (word x, word y, byte color, int preview)
support for any background color (fixed to 0 now)
Global Save_CA1 (T_IO_Context *context)
support medium and high resolution
Global Save_CM5 (T_IO_Context *)

Check picture has 5 layers

Check the constraints on the layers

Global Save_MSX (T_IO_Context *context)
save sprites
Global Save_NEO (T_IO_Context *context)
support medium and high resolution
Global Save_PC1 (T_IO_Context *context)
support medium and high resolution
Global Save_PI1 (T_IO_Context *context)
Support medium and high resolution
Global Save_PRG (T_IO_Context *)
handle more modes than multicolor
Global Save_SCR (T_IO_Context *)

Add possibility to set R9 value

Add OCP packing support

Global Save_TNY (T_IO_Context *context)
support medium and high resolution
Global Test_CM5 (T_IO_Context *, FILE *)
check CM5 contains only valid values [0x40-0x5f]
Global Test_SCR (T_IO_Context *, FILE *)
the palette data can be hidden in the 48 "empty" bytes every 2048 bytes of a standard resolution SCR file. So we should detect the hidden Z80 code and load them. Load address of file is C000. Z80 code :
C7D0: 3a d0 d7 cd 1c bd 21 d1 d7 46 48 cd 38 bc af 21 | :.....!..FH.8..!
C7E0: d1 d7 46 48 f5 e5 cd 32 bc e1 f1 23 3c fe 10 20 | ..FH...2...#<..
C7F0: f1 c3 18 bb 00 00 00 00 00 00 00 00 00 00 00 00 | ................
mode and palette :
D7D0: 00 1a 00 0c 03 0b 01 0d 17 10 02 0f 09 19 06 00 | ................
https://gitlab.com/GrafX2/grafX2/merge_requests/121#note_119964168