Commit Graph

19 Commits

Author SHA1 Message Date
Matt Atlas
3ff07313e8 Removes kitty ears from the game. (#9158) 2020-06-20 16:49:37 +02:00
Alberyk
7d86fdf901 Cyberpunk 2462: augments for real this time (#8113)
This pr adds an augment option to the loadout, that by using copious amounts of shitcode, allows players to spend their snowflake points into becoming total powergamers cool augmented cyborgs.
Also, make a couple of changes to allow all limbs to host internal organs and interact with them in surgery.
2020-04-23 19:27:53 +03:00
Matt Atlas
37abd8f771 Brainmed Code Quality + Organ Scarring (#7645)
Organ scarring has been made into a better system.

New healthdoll.

Other misc code cleanup attempts.

Fixes #7647
2019-12-14 00:10:53 +02:00
Lohikar
9c33cc2e09 Minor refactors/fixes (#4589)
changes:

Underwear has been promoted to a human layer; this might fix some potential issues with human icon caching.
turf/Entered() code has been cleaned up and proximity checks have been timerized.
Fixed an issue where openspaces wouldn't render objects that entered an openspace after init.
Shortened organ keymap prefix as it didn't really need to be that long.
2018-04-15 22:13:24 +03:00
Lohikar
6f85f08718 Convert a bunch of legacy overlay calls to SSoverlays (#4015)
Bunch of overlay conversions I found in an old stash I had forgotten about.
2018-01-07 00:34:47 +02:00
Lohikar
bb5a34eaf8 Misc. Optimizations (#3993)
changes:

Overlays now creates less temporary lists.
Falling no longer queues unsimulated atoms that wouldn't fall anyways (incl. LOs).
Pixel-shifted AO is now cached too.
Changed some references to get_map_cell() to macro equivalents in random maps.
Added smoothing hinting to the icon smoother, allowing for major performance improvements in common cases.
Space initialization no longer involves appearance churn (and is much faster as a result).
2017-12-23 21:27:51 +02:00
Lohikar
81685214df Cache light fixture overlays (#3948)
changes:

Light fixture overlays are now cached.
BlendRGB is now cached (used by light fixture overlays)
Nightmode now only tints the bulb instead of both the bulb and the fixture itself.
2017-12-10 00:17:09 +02:00
Lohikar
fe8d586b31 Ambient Occlusion (#3419)
Adds an implementation of Europa's wall ambient occlusion, extended to operate on openturfs as well.
2017-09-15 09:49:53 -05:00
skull132
16d33365c2 Merge branch 'master' into development
# Conflicts:
#	code/modules/client/preference_setup/loadout/loadout_xeno.dm
#	code/modules/customitems/item_defines.dm
2017-09-09 21:38:02 +03:00
Lohikar
4338095bdf Fixes #1491 (#3309) 2017-08-20 14:00:34 +03:00
Lohikar
eace452b30 Human icon key & preferences tweaks (#3274)
changes:

Reworked how human body icon keys are generated; resulting keys should be much shorter now and involve less duplication of the same string.
Players are now shown a message when they try to add markings to a species that has none available.
Admin revive for human-types will now also re-apply their organ and marking prefs.
Admin revive now also resets shock_stage (fixes rejuv'd mobs being slow for a while)
2017-08-14 01:01:40 +03:00
Lohikar
b8bb48ef76 Convert clothing to initialize (#3263)
changes:

Converted all clothing types to Initialize.
Added some missing destroys to some custom items.
Char setup now forcibly initializes the mannequin's contents if SSatoms has not finished yet.
/obj/item/clothing/under no longer does in icon_states() in New().
2017-08-13 23:32:07 +03:00
Lohikar
5b97803904 update icons performance tweaks (#3259)
A collection of misc. micro-optimizations to the various human update-icons procs.

changes to human update icons:

Removed some unused human layers.
Merged the l_ear and r_ear layers into one layer.
Minor optimizations to update_ears (optimized for only one ear in use)
update_collar() no longer creates an icon each time it runs just to check icon_states.
update_collar() now uses a cached assoc list of icon_states for comparison instead of in IconStates().
Human body types are now cached on first access so the proc doesn't need to be called all the time.
Contained icons now involve less temporary strings.
Manual tail swish now uses client-time timers instead of server-time timers.
2017-08-09 20:27:50 +03:00
Lohikar
1ee2203b01 clean up some legacy code (#3211)
changes:

/obj/effect/list_container/mobl has been replaced with /datum/mobl.
/obj/effect/stop has been removed as it is unused.
/obj/effect/shut_controller has been removed as it is unused.
Uristrunes now cache in SSicon_cache.
2017-08-02 19:53:23 +03:00
Lohikar
64e33fab83 Human icon tweaks (#3131)
Mostly efficiency changes to human icons, little bit of code deduplication in head icons.
The human overlay list has been changed to accept /list so that multiple items can be added to a layer without having to resort to adding overlays to an intermediary object like an /image.

changes:

Human skin color (not tone) is now stored as a hex string instead of a 3-value list.
Human body hair color (resomi only) is now stored as a hex string instead of a 3-value list.
Body markings now play nice with the human icon cache (Fixes #3110)
Hair properly uses its cache now in all cases.
Merged head organs and human icon's implementations of hair icon gen into a proc on human.
Replaced the individual hair and beard caches with a shared composited hair cache used by both head icon and mob icons.
Lists in the human overlay list are now flattened out onto the human, allowing for multiple objects within a single human icon layer without using an intermediary image.
Removed some unused caching lists.
Damage overlays no longer utilize overlays on a blank image for drawing, instead using a list in the human overlay list.
Shoe overlays no longer utilize overlays on the shoe image, instead using a list in the human overlay list.
Surgery overlays no longer utilize overlays on a blank image, instead using a list in the human overlay list.
2017-07-23 01:03:00 +03:00
Lohikar
8fcad605ee More icon caching (#3078)
changes:

Human-type hair (facial & head), eyes, and lips are now cached in SSicon_cache.
Underwear, undershirts, and socks are now cached in SSicon_cache.
Removed forced icon regen for update_body - if this actually did anything, the cache key for these icons needs to be made more detailed.
Organs now fully use SSoverlays to apply overlays (previously they partially used it, which may have caused bugs).
A couple of hair styles (bald, shaved) are pretty common, so this should remove/reduce the overhead of constantly regenerating their icons. Also means that BST's icons only really need to be generated once.
2017-07-18 12:22:01 +03:00
Lohikar
687e56a8e0 Replace a bunch of overlay calls (#3005)
changes:

Converts a bunch of manual overlay manipulation to SSoverlay calls.
Moved more cache lists to SSicon_cache.
2017-07-13 21:12:53 +03:00
Lohikar
606a9c7541 Icon caching & human icon tweaks (#3000)
changes:

Body marking icons are now cached in SSicon_cache.
Renamed the body-hair cache (used only by Resomi) to make it more clear what it is.
Humans now use SSoverlay for applying overlays, though they force-compile instead of waiting for it to tick.
Fixed a bug where getFlatIcon() did not work properly with SSoverlay overlays.
2017-07-10 20:09:52 +03:00
Lohikar
1db5663128 Move various icon caches into a new subsystem for organization (#2538)
changes:

Blood overlays are now cached and do not involve world iteration.
Moved every global icon cache I could find into a new SS for organization & easier debugging. SS does not fire or init.
2017-05-31 08:37:39 +03:00