It uses a meta-language and a CSharpCodeProvider on startup. I will
release a tutorial on the forums soon showing how to use it.
This commit also adds an extremely basic loading screen which shows
while Desktop is getting everything ready. Which can take a while
if you have any Python mods. Thanks, IronPython.
Refactored every part in the code that used that damn foreach loop.
All assemblies are now loaded on startup into an array, and the
results of GetType() on each are concatenated into another array.
The parts of the code that were loading the assemblies and scanning
them themselves now look to ReflectMan.Types, and all disk I/O is
limited to the first time ReflectMan is accessed. While I was there
I also replaced some other foreach loops with array comprehensions
and such to speed things up - there is a noticeable improvement.
It doesn't seem to have broken anything, but I'd appreciate if
someone could do more stress testing for me.
Recently, Codepoints have been changed to ULong64. While SuperDoggo (on
discord) was playing ShiftLotto, he tried to bet 100cp with only 80cp.
The check to make sure you don't overbet failed because ShiftLotto
subtracts codepoints*difficulty - currentCodepoints. If this value is
negitive, it should give you an error. But, due to the transition to
ulong,, this does not work and the check passes, removing (or adding if
you're lucky) codepoints, crashing the game. I fixed this by simply
changing thechecking statment from subtraction to a Less Than check (<).
WOW I TYPED ALOT OF STUFF