ike709
ike709
The upward path search operator didn't resolve paths correctly specifically when there was nothing on the lefthand side of the operator. This is because: ``` /obj/foo /obj/bar var/meep = .foo...
This sort of pattern shows up in TG: ``` Jump 0x43d 0x43d ``` Need to optimize these out in the bytecode optimizer.
Moves bitshift const folding from the old DMASTFolder to a peephole optimization. Not particularly useful until https://github.com/OpenDreamProject/OpenDream/issues/2059 is resolved.
Moves string concat const folding from DMASTFolder to the peephole optimizer. Not super useful until https://github.com/OpenDreamProject/OpenDream/issues/2059 is resolved
In short, the various `PushN` opts like `PushNFloats` need to be moved to their own optimization pass *after* the other peephole opts have had a chance to run. They currently...
https://github.com/OpenDreamProject/OpenDream/pull/2054 revealed that we had a few optimizations that were never applied, and once that was fixed one of them still didn't work optimally due to how the optimizer functions....
This is the root cause of https://github.com/OpenDreamProject/OpenDream/issues/2040 The compile order of types impacts the order of their static var initialization: Case 1: ``` var/global/datum/controller/global_vars/GLOB; /datum/browser var/static/datum/asset/simple/namespaced/common/common_asset = get_asset_datum(/datum/asset/simple/namespaced/common) /world/proc/Genesis() world.log
`/datum/browser` has this var: `var/static/datum/asset/simple/namespaced/common/common_asset = get_asset_datum(/datum/asset/simple/namespaced/common)` `get_asset_datum()` essentially checks a `GLOB` list or instantiates the arg type if it doesn't exist in the list yet. The problem is that...
On TGMC, the UI gets shrunk to a small fraction of the window:  This is due to the following proc: ``` /client/proc/set_fullscreen(fullscreen_mode) // Note: fullscreen_mode is false if(fullscreen_mode) winset(src,...