# Planned features

- Simple integer expressions + - * / | & ~ ()

- Make user-defined types more powerful. Some ideas: bitmask fields (for app_flags), choice fields (for app_version), specify boolean fields as "name" (true) or "!name" (false), conditional constructs, fixed-size strings and arrays.

- Importing files. Right now, you must specify the resource data in the rdef script, which is messy for (large) binary files. The "import" feature lets you copy the contents of such files (pictures, icons, etc.) straight into your resources.

- Attributes, so you can also use rdef scripts to add attributes to your files instead of (or in addition to) resources.

- In "auto names" mode, the decompiler currently does not use the enum symbol table. So if two resources have the same name and that name is a valid C/C++ identifier, the decompiler will add two conflicting symbols to the enum statement. This can also happen when multiple input files have conflicting resource IDs.

- Support for the built-in types point, rect, and rgb_color is hardcoded into the decompiler. The other types, app_flags etc, are not supported at all. It would be better to use the type symbol table for this as well. Then the decompiler can also support user-defined types (although these type definitions must be provided to the decompiler somehow.)

- Right now, archives are treated as messages. Maybe we should give them their own type, B_ARCHIVED_OBJECT (type code 'ARCV').