`maths.dm`:
Removed `var/const`s `E`, `Pi`, `Sqrt2`.
`setup.dm`:
Re-added `PI` here, and added `Sqrt2`, `E` as macros.
The reason for this is that macros have a performance improvement over `var/const`s.
`lists.dm`
Changed the formatting of the `BITTEST(...)` etc. macros so that they can be found by
searching for `#define BITTEST`
`rig.dm`:
Fixed unknown variable error resulting from the usage if `STOPSPRESSUREDMAGE`
which was renamed to `STOPPRESSUREDAMAGE` in one of my earlier commits.
Others:
Replaced constant variable `Pi` usage, with macro `PI`.
`code/setup.dm`:
Fixed large amounts of indenting.
Fixed large numbers of comments and their clarity.
Added parentheses to macros using expressions.
Added FIXME for unused duplicated macros, without certainty of their requirement.
Removed some duplicate macros present. (`BRUTE`, `BURN`, etc.)
Removed macro `PI`, and replaced instances of its use with `var/const/Pi` from `maths.dm`
`code/global.dm`:
Fixed large amounts of indenting, added newlines to long single-lined list definitions.
Slightly clarified comments.
`maths.dm`:
Rewrite `Gcd(x)` to remove recursive behaviour.
Remove `RaiseToPower(x)` and its usage from `event_manager.dm`.
Rename `Lerp()` to `Interpolate()`.
Add `Square(x)`, which squares a number.
Rearrange most of the functions in the file. (trigonometric functions together, etc.)
`type2type.dm`:
Rewrite `num2hex()` and optimise `hex2num()` for superior clarity and a 100% speed improvement.
Correct indenting, spaces, make switches more concise.
`time.dm`:
Remove old, slanderous commented-out function `/proc/time_stamp()`
`lists.dm`:
Add the macros, `BITTEST(bitfield,index)`, `BITSET(...)`, `BITRESET(...)`
and `BITFLIP(...)` for bit-manipulation and use them where 20+ files
do it manually, for arguments of reader clarity and standardness.
- This fixes missing powernet sensor entries in engineer PDAs.
- This is done by reimplementing old system, that instead connected to consoles. Bleh.
- New system connects directly to sensors, but offers only very limited amount of information (ie. console is 5x better and nicer, this is intentional before someone begins yelling it's a bug!)
stack/use() now only deletes an empty stack after the current context
yields, removing the need for some awkward patterns when dealing with
stacks. Also adds procs for transferring and splitting stacks.