Commit Graph

28 Commits

Author SHA1 Message Date
Miauw 8c626fe898 Ian emotes while eating again. Fixed #5147 2014-10-11 14:35:35 +02:00
Cheridan f96b017149 Merge pull request #5097 from phil235/Msg1Fix
Fixing a lot of messages
2014-10-07 12:09:01 -05:00
Remie Richards ea4e6f823c Merge pull request #5051 from paprka/rollingjsuit
Ports and improves jumpsuit rolling (casual adjusting) and noir detective set
2014-10-06 20:45:28 +01:00
Cheridan f5b5ead3ef Merge pull request #4516 from MrPerson/examinate_the_doctor
Change examine() from an atom verb to a mob verb
2014-10-05 23:37:34 -05:00
phil235 dd7a3b7fbc Merge branch 'master' of https://github.com/tgstation/-tg-station into Msg1Fix
Conflicts:
	code/modules/admin/admin_verbs.dm
2014-10-05 13:48:11 +02:00
Cheridan 08be1b34eb Revert "Changes a few green crosses to blue on sprites that I missed last time" 2014-10-04 19:22:10 -05:00
phil235 537280b4b9 Removing many instances of the no longer used second argument of message_admins() proc.
Replacing "for(var/mob/M in viewers()) M.show_message()" by "visible_message()" or audible_message()" in many places.
Changing a few span classes.
2014-10-05 01:29:30 +02:00
MrPerson 651c3e6db5 Merge to master - sole conflicting file was ninja.dm FUCK NINJAS 2014-10-04 01:45:39 -07:00
paprka 0b605e7bdf more NT ports 2014-10-01 18:36:57 -07:00
Jordie0608 40e0a52283 Repaths clown ore to bananium 2014-09-19 21:26:50 +10:00
phil235 d056cf1b69 Multiple machinery fixes 2014-09-12 20:39:02 +02:00
Cheridan 866dbb7959 Merge pull request #4634 from Carn/timSort
TimSort for byond
2014-09-07 19:52:02 -05:00
Alex 8fff1aa0c7 Merge pull request #4701 from phil235/goldschlagerfix
fixing the icon of goldschlager glass
2014-09-06 19:08:02 +01:00
phil235 d3a6a793ee fixing the icon_state of goldschlager glass 2014-09-05 11:51:45 +02:00
carnie 05b76b123e TimSort for byond:
RESULTS:
sorting 10 random lists of length 3 to 303 in increments of 3
(Meh, I forgot to refresh this one, there were only 338 trials rather than 1010, can't be bothered to recode the test)
                                    Profile results (total time)
Proc Name                                             Self CPU    Total CPU    Real Time        Calls
-------------------------------------------------    ---------    ---------    ---------    ---------
/proc/sortList                                           0.672       16.141       16.243       171226  <--TG's current mergesort(recursive, hence the higher number of calls)
/proc/sortTim                                            0.008        3.278        3.274          338  <--TimSort
/proc/sortMerge                                          0.011        2.839        2.855          338  <--new mergesort
/proc/sortInsert                                         0.010        2.124        2.103          338  <--binary insertion

Sorting 10 presorted lists with 3 inversions (3 elements shuffled up), Lists of length 3 to 303 (increments of 3)
                                    Profile results (total time)
Proc Name                                             Self CPU    Total CPU    Real Time        Calls
-------------------------------------------------    ---------    ---------    ---------    ---------
/proc/sortList                                           1.290       23.056       23.254       308050	<--rather cataclysmic
/proc/sortMerge                                          0.015        4.077        4.068         1010	<--
/proc/sortInsert                                         2.639        3.472        3.464         1010	<--
/proc/sortTim                                            0.014        1.567        1.576         1010	<--TimSort is faaar more effective in these cases,
Timsort can exploit runs effectively

sorting 10 presorted lists which have been reversed
                                    Profile results (total time)
Proc Name                                             Self CPU    Total CPU    Real Time        Calls
-------------------------------------------------    ---------    ---------    ---------    ---------
/proc/sortList                                           1.234       23.193       23.295       308050
/proc/sortMerge                                          0.023        4.681        4.686         1010
/proc/sortInsert                                         2.875        3.750        3.765         1010
/proc/sortTim                                            0.020        3.294        3.284         1010	//This can be lower by using a different comparison method
 *Corrected: /proc/sortTim                                0.017        0.665        0.663         1010	//Using a non-strictly ascending comparison

sorting 10 presorted lists
                                    Profile results (total time)
Proc Name                                             Self CPU    Total CPU    Real Time        Calls
-------------------------------------------------    ---------    ---------    ---------    ---------
/proc/sortList                                           1.199       21.391       21.517       308050
/proc/sortMerge                                          0.018        3.724        3.729         1010
/proc/sortInsert                                         2.497        3.302        3.309         1010
/proc/sortTim                                            0.024        0.586        0.584         1010

Summary, all the new procs are faster than the old ones. TimSort is ever so slightly slower than Insertion and Merging on random lists. But on lists with natural runs (partially sorted data) it is far faster than all others.

The old merge sort was removed and replaced with timSort. Other algorithms are provided as alternatives.

All algorithms use a central datum, so accept many of the same parameters. For instance, setting associative=1 will make them sort associative lists by their associated values, rather than keys.
They also accept a cmp argument. This allows sorting of lists of datums, text, numbers or whatever. The pre-existing helpers in lists.dm were rewritten as examples.
2014-09-01 11:29:49 +01:00
MrPerson a23dbe2357 Merge branch 'master' of https://github.com/tgstation/-tg-station into examinate_the_doctor
Conflicts:
	code/game/objects/items/devices/radio/radio.dm
	code/game/objects/items/toys.dm
	code/game/objects/items/weapons/tanks/tank_types.dm
	code/game/objects/items/weapons/tanks/tanks.dm
	code/modules/events/ninja.dm
	code/modules/power/cell.dm
	code/modules/power/port_gen.dm
	code/modules/reagents/reagent_dispenser.dm
2014-08-29 04:21:15 -07:00
Firecage 6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
Alex 10cfc1d4bc Merge pull request #4445 from Incoming5643/meetthemeat
Adds unique meat types for throwing mutant races in the gibber
2014-08-24 13:04:10 +01:00
Firecage 4198e61af1 This fixes the message issues 2014-08-22 01:15:13 +02:00
MrPerson 13b03a6d43 Hopefully final pass of object -> mob examine switch 2014-08-20 07:07:30 -07:00
Alex b99ce51798 Merge pull request #4448 from Firecage/absolutefood
absolute paths for the food&drinks modules folders files.
2014-08-17 13:45:23 +01:00
phil235 67051b0a2a jellyburger, slimeburger require 5 flour 2014-08-15 23:34:12 +02:00
Firecage 6db137fd2b absolute paths for kitchen and bar stuff 2014-08-15 23:06:05 +02:00
Incoming 139170e926 Adds unique meat types for throwing mutant races in the gibber
They can still be used in any recipe human meat/meat will do for
Eating fly/slime meat isn't a good idea
Recipes for mutant meats could come later

File this under "stuff I wanted to do a year ago but couldn't because mutantraces were so trash but now its not so why the fuck not"
2014-08-15 12:32:54 -04:00
paprka eea9ae50ad merging 2014-07-29 16:50:21 -07:00
Firecage 77d15a6c5b Moar restructuring 2014-07-23 06:10:21 +02:00
Firecage 05662a1f23 Also some dividing shit. Fuck centcom 2014-07-22 17:31:26 +02:00
Firecage 4f2dbf2868 Making food code less bloated and messy. 2014-07-22 16:47:06 +02:00