Melee GCI Compiler is an application and scripting language that makes it easy for Super Smash Bros. Melee mod developers to inject custom code and data into Melee save files.
compiler.py should be refactored so that functions don't modify the state of non-local variables unless they are part of a class.
Possible solutions:
Put most of compiler.py in an encapsulating class so that the functions are modifying its own members, rather than something out of scope
Use a functional approach so that any mutable data belongs to the top-level function, and other functions return a "write table" instead of directly writing to the mutable data
compiler.py
should be refactored so that functions don't modify the state of non-local variables unless they are part of a class.Possible solutions:
compiler.py
in an encapsulating class so that the functions are modifying its own members, rather than something out of scope