Files
Bubberstation/code/game/objects/structures
Rohesie b0726e032b Icon smooth refactor (#52864)
bitflag list construct added: an associative list of bitflags for cheap and quick element comparison between two lists using the same system.

    canSmoothWith list turned into a bitflag list.

    smoothing_groups list added to substitute the type path list.

    smoothing procs turned into atom procs, refactored and optimized a bit.

    smooth directions redefined in order to fit in 8 bits for a future smoothing system

    some variable names changed, foreseeing a second smoothing system

    SMOOTH_OBJ flag added, for things that need to scan turfs for smoothing. The old locate() optimization has the risk of returning false negatives by finding a child and returning null while there might be one of the wanted type as well, as it doesn't match the type exactly.

    SMOOTH_TRUE and SMOOTH_MORE condensed into SMOOTH_CORNERS. The old behavior can be replicated using smoothing groups without loss.

    Does very minor code cleanup.

    Processing-wise didn't find a noticeable difference. The system loses on init a bit by setting the bitflag_lists, and by scanning whole turf contents for object smoothing (increasing accuracy), and gains by making less checks per target to smooth, through the same bitflag_lists.

    Memory-wise there should be a small improvement, given that on the old system we had 63512 canSmoothWith lists (a few typelists, most unique), and on this new system canSmoothWith + smoothing_groups are both bitflag_lists from the same pool, totaling 46 in number.

Could be tested a bit to see if I missed any icons not properly smoothing.
2020-08-13 14:03:49 +12:00
..
2020-08-13 14:03:49 +12:00
2020-08-11 14:44:01 +12:00
2020-08-04 15:01:09 -05:00
2020-08-10 16:31:59 -03:00
2020-08-13 14:03:49 +12:00
2020-07-16 20:13:04 +02:00
2020-08-04 15:01:09 -05:00
2020-07-04 05:20:22 -05:00
2020-08-13 14:03:49 +12:00
2020-08-13 14:03:49 +12:00
2020-07-10 15:25:11 -04:00
2020-08-13 14:03:49 +12:00
2020-07-29 09:31:38 -03:00
2020-08-13 14:03:49 +12:00
2020-07-16 20:13:04 +02:00
2020-07-16 20:13:04 +02:00
2020-08-13 14:03:49 +12:00