-
Notifications
You must be signed in to change notification settings - Fork 0
/
1.8.3-patch10
4843 lines (4561 loc) · 159 KB
/
1.8.3-patch10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
This is patch10 to PennMUSH 1.8.3. After applying this patch, you will
have version 1.8.3p10
To apply this patch, save it to a file in your top-level 1.8.3p9 MUSH directory,
and do the following:
patch -p1 < 1.8.3-patch10
./configure
make install
If you use GNU patch 2.2, you probably want the above to be 'patch -b -p0',
not just 'patch -p0'.
Unix (or cygwin) users need not worry about failed hunks in src/switchinc.c,
hdrs/switches.h, hdrs/cmds.h, or hdrs/funs.h. These files are automatically
rebuilt on compile. On the off chance they appear not to be, simply
rm them and re-run make.
Then @shutdown/reboot your MUSH.
- Shawn/Raevnos
In this patch:
Major changes:
* Switched project management (Bug tracking, revision control, etc.)
to Google Code. See http://code.google.com/p/pennmush
Minor changes:
* @search and lsearch() now only charge 100 pennies if an evaluating
search (EVAL, EPLAYER, EROOM, ETHING, EOBJECT, EEXIT or ELOCK) or
an exhaustive attribute search (COMMAND, LISTEN) is performed.
* The %u sub now works for built-in commands, as well as $-commands.
Useful for @hooks. [MG]
* The use command now understands english matching. Suggested by
Yuriko.
* Rooms can now use @open/open(). [MG]
* Mortals can now use '@attribute <attrib>' to see the default flags
of a standard attribute. [MG]
* @channel/priv now uses 'thing' instead of 'object' for channels
which allow things to join. 'object' is kept as an alias. [MG]
* The chatdb now saves channel buffers and mogrifier objects, so you
don't need to put @chan/buffer or @chan/mogrifier in @startup. [MG]
Flags:
* The HEAR_CONNECT flag is now used (instead of MONITOR) to allow
players to see 'GAME: Foo has [dis]connected.' messages. MONITOR
on players now enables ^-patterns, the same as on things/rooms.
Any players with the MONITOR flag will have it replaced with the
HEAR_CONNECT flag automatically. Requested by Malix@8BitMUSH. [MG]
Functions:
* lpids(), getpids(), and pidinfo() provide information about
wait/semaphore process ids and processes. Suggested by
Yuriko@M*U*S*H, code by Javelin.
* lalign() works like align(), but takes a single arg with a list of
columns, instead of one arg for each column. Suggested by Teal. [MG]
* New lockowner() function returns the owner of an @lock. Suggested
by Paige. [MG]
Fixes:
* @pcreate without a password would crash the game. Fixed. [GM]
* DARK-disconnected on channels was turned into DARK-connected, on
disconnect. Reported by Paige@M*U*S*H, among others.
* MOGRIFY`BLOCK wasn't being called, as help @channel6 said it was.
Oops. [GM]
* Help fixes, by Sketch and others. [GM]
* @clone could mess up the names of the original and the clone.
Reported by qa'toq. [SW]
* Crash bugs in rand() and randword(). [SW]
* Added --disable-zlib configure option to turn off using
zlib to work directly with compressed databases. Passing this to
configure makes the game act like pre p8 ones. [SW]
* member() now ignores ANSI in matches. Reported by Minion. [MG]
* Regexp $-commands are now ansi aware. As in: ansi is passed to %0-%9. [GM]
* hidden() now works on descriptors as advertised. Reported by Teal. [MG]
* @name could cause a crash. Fixed. Reported by Zedekiah@M*U*S*H [GM]
* @nscemit/silent didn't work. Reported by Paige. [MG]
* Win32 compile fixes and project file updates.
* The chatdb failed to load when objects of the wrong type were listed
as channel members. Reported by Teal. [MG]
* flags() on an attribute used as the root of a tree would include the
` twice.
* baseconv() would hang the MUSH if passed a negative <number>. Reported
by Mercutio. [MG]
BUGS | 2
CHANGES.183 | 67 +++-
FAQ | 5
Makefile.in | 4
Patchlevel | 2
README | 29 -
configure | 13
configure.in | 8
game/txt/hlp/pennchat.hlp | 8
game/txt/hlp/penncmd.hlp | 82 ++--
game/txt/hlp/penncode.hlp | 10
game/txt/hlp/pennflag.hlp | 34 +-
game/txt/hlp/pennfunc.hlp | 121 +++++--
game/txt/hlp/penntop.hlp | 24 -
game/txt/hlp/pennv183.hlp | 67 +++-
game/txt/hlp/pennvOLD.hlp | 2
hdrs/SFMT.h | 2
hdrs/extchat.h | 3
hdrs/mushdb.h | 1
hdrs/parse.h | 1
hdrs/version.h | 6
src/atr_tab.c | 1
src/attrib.c | 3
src/bsd.c | 50 ++-
src/cmds.c | 35 +-
src/command.c | 87 ++---
src/cque.c | 187 ++++++++++-
src/create.c | 6
src/db.c | 14
src/extchat.c | 43 +-
src/flags.c | 7
src/function.c | 5
src/fundb.c | 32 +
src/funlist.c | 17 -
src/funmath.c | 1
src/funmisc.c | 27 -
src/funstr.c | 85 +++--
src/game.c | 12
src/markup.c | 2
src/mysocket.c | 4
src/notify.c | 2
src/parse.c | 26 +
src/pcre.c | 4
src/predicat.c | 3
src/set.c | 57 +--
src/wild.c | 42 +-
src/wiz.c | 44 --
test/testansi.pl | 19 +
test/testrand.pl | 5
win32/README.txt | 15
win32/config.h | 2
win32/funs.h | 3
win32/msvc6/pennmush.dsp | 212 ++++++------
win32/vs2005/pennmush.vcproj | 284 ++++++++---------
win32/vs2008/pennmush.sln | 20 +
win32/vs2008/pennmush.vcproj | 713 +++++++++++++++++++++++++++++++++++++++++++
57 files changed, 2592 insertions(+), 625 deletions(-)
Prereq: 1.8.3p9
diff -ruNd --speed-large-files pennmush-1.8.3p9/Patchlevel pennmush-1.8.3p10/Patchlevel
--- pennmush-1.8.3p9/Patchlevel 2009-02-27 15:56:00.000000000 -0800
+++ pennmush-1.8.3p10/Patchlevel 2009-06-01 23:18:54.175032000 -0700
@@ -1,3 +1,3 @@
Do not edit this file. It is maintained by the official PennMUSH patches.
-This is PennMUSH 1.8.3p9
+This is PennMUSH 1.8.3p10
diff -ruNd --speed-large-files pennmush-1.8.3p9/BUGS pennmush-1.8.3p10/BUGS
--- pennmush-1.8.3p9/BUGS 2008-11-01 14:48:42.000000000 -0700
+++ pennmush-1.8.3p10/BUGS 2009-06-26 13:11:22.061177000 -0700
@@ -27,5 +27,5 @@
You can browse the bug and suggestion database at
-http://dev.pennmush.org to see more.
+http://code.google.com/p/pennmush/issues/list to see more.
diff -ruNd --speed-large-files pennmush-1.8.3p9/CHANGES.183 pennmush-1.8.3p10/CHANGES.183
--- pennmush-1.8.3p9/CHANGES.183 2009-02-28 18:57:45.000000000 -0800
+++ pennmush-1.8.3p10/CHANGES.183 2009-08-24 00:51:24.880841000 -0700
@@ -8,13 +8,78 @@
responsible for most unattributed changes.
[EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar)
[GM] is Greg Millam, a PennMUSH developer (aka Walker)
+[MG] is Mike Griffiths, a PennMUSH developer (aka Talvo)
+[TAP] is T. Alexander Popiel, a former PennMUSH developer (aka Talek)
[3] refers to code by (or inspired by) TinyMUSH 3.0
[MUX] refers to code by (or inspired by) TinyMUX 2.x
[Rhost] refers to code by (or inspired by) RhostMUSH
-[TAP] is T. Alexander Popiel, a former PennMUSH developer (aka Talek)
==========================================================================
+Version 1.8.3 patchlevel 10 Aug 24, 2009
+
+Major changes:
+ * Switched project management (Bug tracking, revision control, etc.)
+ to Google Code. See http://code.google.com/p/pennmush
+
+Minor changes:
+ * @search and lsearch() now only charge 100 pennies if an evaluating
+ search (EVAL, EPLAYER, EROOM, ETHING, EOBJECT, EEXIT or ELOCK) or
+ an exhaustive attribute search (COMMAND, LISTEN) is performed.
+ * The %u sub now works for built-in commands, as well as $-commands.
+ Useful for @hooks. [MG]
+ * The use command now understands english matching. Suggested by
+ Yuriko.
+ * Rooms can now use @open/open(). [MG]
+ * Mortals can now use '@attribute <attrib>' to see the default flags
+ of a standard attribute. [MG]
+ * @channel/priv now uses 'thing' instead of 'object' for channels
+ which allow things to join. 'object' is kept as an alias. [MG]
+ * The chatdb now saves channel buffers and mogrifier objects, so you
+ don't need to put @chan/buffer or @chan/mogrifier in @startup. [MG]
+
+Flags:
+ * The HEAR_CONNECT flag is now used (instead of MONITOR) to allow
+ players to see 'GAME: Foo has [dis]connected.' messages. MONITOR
+ on players now enables ^-patterns, the same as on things/rooms.
+ Any players with the MONITOR flag will have it replaced with the
+ HEAR_CONNECT flag automatically. Requested by Malix@8BitMUSH. [MG]
+
+Functions:
+ * lpids(), getpids(), and pidinfo() provide information about
+ wait/semaphore process ids and processes. Suggested by
+ Yuriko@M*U*S*H, code by Javelin.
+ * lalign() works like align(), but takes a single arg with a list of
+ columns, instead of one arg for each column. Suggested by Teal. [MG]
+ * New lockowner() function returns the owner of an @lock. Suggested
+ by Paige. [MG]
+
+Fixes:
+ * @pcreate without a password would crash the game. Fixed. [GM]
+ * DARK-disconnected on channels was turned into DARK-connected, on
+ disconnect. Reported by Paige@M*U*S*H, among others.
+ * MOGRIFY`BLOCK wasn't being called, as help @channel6 said it was.
+ Oops. [GM]
+ * Help fixes, by Sketch and others. [GM]
+ * @clone could mess up the names of the original and the clone.
+ Reported by qa'toq. [SW]
+ * Crash bugs in rand() and randword(). [SW]
+ * Added --disable-zlib configure option to turn off using
+ zlib to work directly with compressed databases. Passing this to
+ configure makes the game act like pre p8 ones. [SW]
+ * member() now ignores ANSI in matches. Reported by Minion. [MG]
+ * Regexp $-commands are now ansi aware. As in: ansi is passed to %0-%9. [GM]
+ * hidden() now works on descriptors as advertised. Reported by Teal. [MG]
+ * @name could cause a crash. Fixed. Reported by Zedekiah@M*U*S*H [GM]
+ * @nscemit/silent didn't work. Reported by Paige. [MG]
+ * Win32 compile fixes and project file updates.
+ * The chatdb failed to load when objects of the wrong type were listed
+ as channel members. Reported by Teal. [MG]
+ * flags() on an attribute used as the root of a tree would include the
+ ` twice.
+ * baseconv() would hang the MUSH if passed a negative <number>. Reported
+ by Mercutio. [MG]
+
Version 1.8.3 patchlevel 9 Feb 28, 2009
Fixes:
diff -ruNd --speed-large-files pennmush-1.8.3p9/FAQ pennmush-1.8.3p10/FAQ
--- pennmush-1.8.3p9/FAQ 2006-11-16 04:36:30.000000000 -0800
+++ pennmush-1.8.3p10/FAQ 2009-06-26 13:11:22.061177000 -0700
@@ -43,7 +43,7 @@
1. How do I ask for help with a problem?
Email to pennmush-developers@pennmush.org
-or visit http://www.pennmush.org/jitterbug/pennmush
+or visit http://code.google.com/p/pennmush
When asking for help, please be as specific as you can about the
problem. Include at least the following:
@@ -58,8 +58,7 @@
2. How do I report a bug?
-Email to pennmush-bugs@pennmush.org
-or visit http://www.pennmush.org/jitterbug/pennmush
+Visit http://code.google.com/p/pennmush/issues/list
Include specific information as described in #3 above. If you know
what's causing the bug, or how to fix it, or if you have a patch for
diff -ruNd --speed-large-files pennmush-1.8.3p9/Makefile.in pennmush-1.8.3p10/Makefile.in
--- pennmush-1.8.3p9/Makefile.in 2009-02-22 22:50:00.000000000 -0800
+++ pennmush-1.8.3p10/Makefile.in 2009-08-24 00:51:24.880841000 -0700
@@ -3,7 +3,7 @@
# - System configuration - #
VERSION=1.8.3
-PATCHLEVEL=8
+PATCHLEVEL=10
#
# This section of the file should be automatically configured by
@@ -65,7 +65,7 @@
src/switchinc.c: src/SWITCHES Patchlevel
@PERL@ utils/mkcmds.pl switches
-hdrs/funs.h: src/fun*.c src/bsd.c src/conf.c src/extmail.c src/help.c src/markup.c src/wiz.c src/sql.c Patchlevel
+hdrs/funs.h: src/fun*.c src/bsd.c src/conf.c src/extmail.c src/help.c src/markup.c src/wiz.c src/sql.c Patchlevel src/cque.c
@PERL@ utils/mkcmds.pl functions
hdrs/patches.h: patches/*
diff -ruNd --speed-large-files pennmush-1.8.3p9/README pennmush-1.8.3p10/README
--- pennmush-1.8.3p9/README 2007-06-12 15:21:47.000000000 -0700
+++ pennmush-1.8.3p10/README 2009-06-26 13:11:22.061177000 -0700
@@ -27,16 +27,6 @@
numbers (like 1.7.2) and patchlevels (like p32), usually written
together (1.7.2p32).
-Starting with 1.7.2, version numbers that are even (like 1.7.2) are
-stable releases - patchlevels on the latest stable release will only be
-issued to fix serious bugs. Version numbers that are odd (like 1.7.3)
-are development releases - patchlevels on the latest development release
-may include new features as well as bugfixes, and development releases
-may not be as stable as stable releases. On the other hand, some new
-features may *increase* stability without fixing bugs per se, and it's
-quite likely that later patchlevels on the development version will be
-more stable than those on the "stable" version.
-
PennMUSH is a TinyMUD derivative, and one of the branches along the MUSH
line. "Vanilla" TinyMUSH, which added the "v" registers and functions to
the basic TinyMUD building commands, was written by Larry Foard. The code
@@ -132,13 +122,14 @@
informed of new patches, subscribe to pennmush-announce instead,
at http://www.pennmush.org/mailman/listinfo/pennmush-announce)
-2. The PennMUSH bug-tracking site is http://dev.pennmush.org/
- To file a new report, click on the 'New Ticket' link. If
- you want to get emails about updates to the bug report, put your
- email address in the appropriate field. For 'type', please select
- the most appropriate category: Bug, suggested feature, documetation
- issue, build/compliation problems, etc. Be sure to include what version
- of PennMUSH you found the problem on.
+2. The PennMUSH bug-tracking site is
+ http://code.google.com/p/pennmush/issues/list To file a new report,
+ click on the 'New issue' link. If you want to get emails about
+ updates to the bug report, put your email address in the
+ appropriate field. For 'type', please select the most appropriate
+ category: Bug, suggested feature, documetation issue,
+ build/compliation problems, etc. Be sure to include what version of
+ PennMUSH you found the problem on.
If the problem resulted in a crash and a core dump, a stack trace of
the core dump (see the section above) should also be included.
@@ -151,10 +142,6 @@
see what issues have been fixed for upcoming releases, and much more at
the site.
- The old way of emailing pennmush-bugs@pennmush.org still works, but using
- the web interface allows you to specifically give an issue type when
- reporting something.
-
============================================================================
III. Getting a .pennmush.org hostname and mailing lists
diff -ruNd --speed-large-files pennmush-1.8.3p9/configure pennmush-1.8.3p10/configure
--- pennmush-1.8.3p9/configure 2009-02-28 17:32:40.000000000 -0800
+++ pennmush-1.8.3p10/configure 2009-06-01 23:18:54.175032000 -0700
@@ -732,6 +732,7 @@
ac_user_opts='
enable_option_checking
with_perl
+enable_zlib
with_ssl
with_pcre
enable_sql
@@ -1382,6 +1383,7 @@
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --disable-zlib Don't use zlib for database compression.
--disable-sql Don't use SQL support
--disable-ipv6 Don't use IPv6 networking
--disable-nls Don't use message-translation
@@ -13045,6 +13047,16 @@
fi
+
+# Check whether --enable-zlib was given.
+if test "${enable_zlib+set}" = set; then
+ enableval=$enable_zlib; enable_zlib=$enableval
+else
+ enable_zlib=yes
+fi
+
+if test "$enable_zlib" = "yes"; then
+
{ $as_echo "$as_me:$LINENO: checking for gzungetc in -lz" >&5
$as_echo_n "checking for gzungetc in -lz... " >&6; }
if test "${ac_cv_lib_z_gzungetc+set}" = set; then
@@ -13119,6 +13131,7 @@
fi
+fi
# with_ssl=set
diff -ruNd --speed-large-files pennmush-1.8.3p9/configure.in pennmush-1.8.3p10/configure.in
--- pennmush-1.8.3p9/configure.in 2009-02-28 17:32:40.000000000 -0800
+++ pennmush-1.8.3p10/configure.in 2009-06-01 23:18:54.175032000 -0700
@@ -185,7 +185,13 @@
AC_CHECK_LIB(crypt, crypt)
LIB_SOCKET_NSL
AC_CHECK_LIB(fam, FAMOpen)
-AC_CHECK_LIB(z, gzungetc)
+
+
+AC_ARG_ENABLE(zlib, AS_HELP_STRING([--disable-zlib], [Don't use zlib for database compression.]),
+ enable_zlib=$enableval, enable_zlib=yes)
+if test "$enable_zlib" = "yes"; then
+ AC_CHECK_LIB(z, gzungetc)
+fi
# with_ssl=set
CHECK_SSL
diff -ruNd --speed-large-files pennmush-1.8.3p9/game/txt/hlp/index.hlp pennmush-1.8.3p10/game/txt/hlp/index.hlp
diff -ruNd --speed-large-files pennmush-1.8.3p9/game/txt/hlp/pennchat.hlp pennmush-1.8.3p10/game/txt/hlp/pennchat.hlp
--- pennmush-1.8.3p9/game/txt/hlp/pennchat.hlp 2009-02-22 22:50:00.000000000 -0800
+++ pennmush-1.8.3p10/game/txt/hlp/pennchat.hlp 2009-08-14 22:52:17.509335000 -0700
@@ -207,7 +207,7 @@
can create a new channel, though there will be a cost associated
with creation (see @config chat). Possible <priv> specifications:
* "player" - players may use the channel
- * "object" - objects may use the channel
+ * "thing" - things may use the channel
* "admin" - only royalty/wizards/chat_privs may use the channel
* "wizard" - only wizards may use the channel
* "quiet" - channel will not show connection messages
@@ -278,7 +278,7 @@
%0 - (Depends on the mogrifier.)
%1 - Channel name (unmogrified).
- %2 - Chat type (", :, ;, |)
+ %2 - Chat type (", :, ;, |, @)
%3 - Message.
%4 - Player chan title.
%5 - Player name.
@@ -337,11 +337,11 @@
Here's the legend for reading the @channel/list output:
Channel Name Num Users Num Msgs Access Locks Status Buf
-Sample 1 0 [DPOWQHo jsmvh*] [On QH] 4
+Sample 1 0 [DPTWQHo jsmvh*] [On QH] 4
||||||| |||||| | || |
Channel is DISABLED----------------------------/|||||| |||||| | || |
Channel allows PLAYERS--------------------------/||||| |||||| | || |
-Channel allows OBJECTS---------------------------/|||| |||||| | || |
+Channel allows THINGS----------------------------/|||| |||||| | || |
Channel is Wizard-only (W) or Admin-only (A)------/||| |||||| | || |
Channel is QUIET-----------------------------------/|| |||||| | || |
Channel is HIDE_OK----------------------------------/| |||||| | || |
diff -ruNd --speed-large-files pennmush-1.8.3p9/game/txt/hlp/penncmd.hlp pennmush-1.8.3p10/game/txt/hlp/penncmd.hlp
--- pennmush-1.8.3p9/game/txt/hlp/penncmd.hlp 2009-02-24 08:51:55.000000000 -0800
+++ pennmush-1.8.3p10/game/txt/hlp/penncmd.hlp 2009-08-14 20:19:58.417007000 -0700
@@ -769,7 +769,7 @@
Example: Show the room's zone after its name.
@nameformat here = %1 [if(isdbref(zone(%0)),<[name(zone(%0))]>)]
-See also: @exitformat, @conformat, @descformat
+See also: @exitformat, @conformat, @descformat, @nameaccent
& @cost
@cost <object> = <amount>
@@ -1509,12 +1509,11 @@
When used without any arguments, this command lists all global
user-defined functions. For wizards and others with the Functions
- power, it also lists the dbref number and attribute corresponding
- to the listed functions.
+ power, it also lists the dbref number and attribute corresponding to
+ the listed functions.
- When used with a function name, it displays some information
- about how that function is parsed, and how many arguments it
- takes.
+ When used with a function name, it displays some information about
+ how that function is parsed, and how many arguments it takes.
<switch> can be one of:
/disable, to disable a built in function.
@@ -1527,22 +1526,24 @@
(continued in help @function2)
& @function2
<object> can be anything that the player using the @function command
- controls (if safer_ufun is enabled) or can examine (if not).
- <function name> must be 30 characters or less.
+ controls (if safer_ufun is enabled) or can examine (if not).
+ <function name> must be 30 characters or less.
A function defined using @function works just like any of the normal
MUSH functions, from the user's perspective. The functions are
- executed by the object, with its powers.
+ executed by the object, with its powers.
Functions defined via @function should follow the format used by
UFUN() - %0 is the first argument passed, %1 is the second argument
- passed, and so forth. Optional third and fourth arguments to @function
- can be used to set a parser-enforced number of arguments for the function.
- An optional fifth argument will set restriction flags.
+ passed, and so forth. Optional third and fourth arguments to
+ @function can be used to set a parser-enforced number of arguments
+ for the function. If the maximum arguments is negative, any
+ additional comments are treated as part of the text of the last
+ argument. An optional fifth argument will set restriction flags.
- The /preserve switch, for MUX compability, does the same thing as the
- 'localize' restriction - treats the attribute that's evaluated as if it
- were called with ulocal() instead of u().
+ The /preserve switch, for MUX compability, does the same thing as
+ the 'localize' restriction - treats the attribute that's evaluated
+ as if it were called with ulocal() instead of u().
Example:
@@ -1559,7 +1560,7 @@
Global user-defined functions are not automatically loaded when the
game is restarted. In order to avoid objects which attempt to use
functions that have not been loaded, a @startup containing @function
- commands should be set on a wizard object with as low a dbref number
+ commands should be set on a wizard object with as low a dbref number
as possible; object #1 (generally God) is suggested for this use.
For example, if you have one object that stores all your global
@@ -1568,30 +1569,29 @@
@startup #1=@dol lattr(#100)=@function ##=#100,##
- And then store each function as an attribute of the same name on
+ And then store each function as an attribute of the same name on
object #100.
(continued in help @function4)
& @function4
Normally, built in functions cannot be overriden by @functions.
- However, if a built-in function is deleted with @function/delete,
- you can then make a @function with the same name. "Deleted" built-ins
- can still be called through the FN() function, and can have
- restrictions applied with @function/restrict/builtin.
- @function/restore will delete the @function and turn the built in
- version back on.
+ However, if a built-in function is deleted with @function/delete, you
+ can then make a @function with the same name. "Deleted" built-ins can
+ still be called through the FN() function, and can have restrictions
+ applied with @function/restrict/builtin. @function/restore will
+ delete the @function and turn the built in version back on.
- Using @function on an already-added @function will delete the old one and
- install a new function with none of the settings of the old one kept.
+ Using @function on an already-added @function will delete the old one
+ and install a new function with none of the settings of the old one
+ kept.
For example:
@function/delete ansi
&ansi_fun #1234=%1
- @function ansi=#1234, ansi_fun, 2, 2, noguest
+ @function ansi=#1234, ansi_fun, 2, -2, noguest
- will create a new version of ansi() that doesn't do any
- colorization, and that requires it to be called with exactly
- 2 arguments, like the built-in version. It will be restricted to
- non-guest players.
+ will create a new version of ansi() that doesn't do any colorization,
+ and that needs two arguments, like the built-in version. It will be
+ restricted to non-guest players.
See also: RESTRICT, FUNCTIONS, @startup, fn()
& @grep
@@ -2754,7 +2754,7 @@
can be used to disable the newline and is recommended for users with
these clients.
-See also: @prompt, prompt()
+See also: @prompt, prompt(), terminfo()
& @pemit
@pemit[/<switch>] <object> = <message>
@@ -3064,14 +3064,24 @@
If <class>=LISTEN, then @search will only return objects that respond to
<restriction> through a listen.
+ See "help @search4" for more.
+& @search4
+
For the class TYPE=PLAYER, and for PLAYER=<player-name>, anyone may
obtain information on any player. In all other cases, wizards may
obtain information about other players, and players who pass a ZMP's
- zone-lock may obtain information about the ZMP. This is computationally
- expensive, costing 100 pennies. It is generally faster than @find.
+ zone-lock may obtain information about the ZMP.
+
+ Only one of any class can be specified. EVAL, EPLAYER, etc. all override
+ each other.
+
+ @search is only mildly computationally expensive for most of the search
+ classes. computationally expensive searches are the evaluating searches
+ (EVAL, EPLAYER, ETHING/EOBJECT, EROOM, EEXIT) or the attribute pattern
+ searches (COMMAND, LISTEN)
- See "help @search4" for some examples.
-& @search4
+ See "help @search5" for some examples.
+& @search5
Examples:
@search flags=Wc <-- search for connected wizards.
@search type=room <-- list all rooms owned by me.
@@ -3079,7 +3089,7 @@
@search Joe eval=1,100,200 <-- list objects from #100-#200 owned by Joe.
@search eval=gt(money(##),10) <-- list all objects owned by me
worth more than 10 coins.
- @search all elock=FLAG^WIZARD|FLAG^ROYALTY <-- list all players with
+ @search all elock=FLAG^WIZARD|FLAG^ROYALTY <-- list all objects with
wizard or royalty flags.
@search wizard_bc command=+who <-- Forgot what object has your +who?
diff -ruNd --speed-large-files pennmush-1.8.3p9/game/txt/hlp/penncode.hlp pennmush-1.8.3p10/game/txt/hlp/penncode.hlp
--- pennmush-1.8.3p9/game/txt/hlp/penncode.hlp 2008-09-24 01:30:22.000000000 -0700
+++ pennmush-1.8.3p10/game/txt/hlp/penncode.hlp 2009-08-03 23:54:47.580318000 -0700
@@ -6,18 +6,16 @@
The main PennMUSH web page is at http://www.pennmush.org
-Report bugs and make suggestions at: http://dev.pennmush.org
+Report bugs and make suggestions at: http://code.google.com/p/pennmush
The PennMUSH community page is at http://community.pennmush.org
For information about downloading PennMUSH, see 'help download'.
For information about changes in versions of the code, see 'help changes'.
& download
-The latest version of this MUSH code is available at
-http://download.pennmush.org/Source. It will be called something like
-pennmush-1.7.6p0.tar.Z, depending on the version number. You will also
-find files of translations of server messages into various languages
-in Source/translations/<version>. See help i18n for more.
+The latest version of this MUSH code is available from
+http://code.google.com/p/pennmush/downloads/list. It will be called
+something like pennmush-1.8.3p9.tar.bz2, depending on the version number.
Also on that site is the MUSH manual, in /Manuals. It should be called
mushman.2.008.tar.Z or something similar; you should attempt to get at
diff -ruNd --speed-large-files pennmush-1.8.3p9/game/txt/hlp/pennflag.hlp pennmush-1.8.3p10/game/txt/hlp/pennflag.hlp
--- pennmush-1.8.3p9/game/txt/hlp/pennflag.hlp 2008-09-24 01:30:22.000000000 -0700
+++ pennmush-1.8.3p10/game/txt/hlp/pennflag.hlp 2009-07-16 12:43:04.791320000 -0700
@@ -330,6 +330,13 @@
If a room is set HAVEN, the 'kill' command cannot be used in that room.
See also: @haven, kill
+& HEAR_CONNECT
+ Flag: HEAR_CONNECT (players)
+
+ Players with this flag will received a message whenever a player
+ connects, disconnects, or is created. Mortals will not hear messages
+ for players connecting/disconnecting dark. Only royalty and wizards can
+ set this flag.
& HEAVY
Flag: HEAVY (all types)
@@ -429,23 +436,20 @@
See @link, TRUST, @parent, PARENTS
& MONITOR
- Flag: MONITOR (players)
-
- When set on a player, this flag notifies that player when anyone connects
- to or disconnects from the MUSH. It is valid only for players, and must be
- set by a wizard (although royalty may set themselves MONITOR).
-
- Flag: MONITOR (things, rooms)
+ Flag: MONITOR (players, things, rooms)
- When set on a thing or room, this flag activates the ^ listen
- patterns on the object. Objects which have ^ listen patterns but are
- not set MONITOR do not check those patterns.
+ The MONITOR flag activates the ^ listen patterns on an object.
+ Objects which have ^ listen patterns but are not set MONITOR
+ do not check those patterns.
When using the LISTEN Attribute Tree, you must set the Root
Attribute !NO_COMMAND. By default this Attribute/Attribute Root has
been set NO_COMMAND by the system. Attributes which are set HALT or
NO_COMMAND will not be evaluated for purposes of the ^ listen
- patterns
+ patterns.
+
+ This flag used to allow players to hear when someone connected to
+ the game, but that is now controlled by the HEAR_CONNECT flag.
& MYOPIC
Flag: MYOPIC (players)
@@ -771,11 +775,11 @@
See also: ZONE MASTERS
& LISTEN_PARENT
- Flag: LISTEN_PARENT (things, rooms)
+ Flag: LISTEN_PARENT (players, things, rooms)
- When set on a thing or room which also has the MONITOR flag set,
- this flag causes ^ listen patterns to be checked on the object's
- parents as well as on the object.
+ When set on an object which also has the MONITOR flag set, this flag
+ causes ^ listen patterns to be checked on the object's parents as
+ well as on the object.
See also: MONITOR, LISTENING
diff -ruNd --speed-large-files pennmush-1.8.3p9/game/txt/hlp/pennfunc.hlp pennmush-1.8.3p10/game/txt/hlp/pennfunc.hlp
--- pennmush-1.8.3p9/game/txt/hlp/pennfunc.hlp 2009-02-22 23:02:37.000000000 -0800
+++ pennmush-1.8.3p10/game/txt/hlp/pennfunc.hlp 2009-08-18 14:36:00.424976000 -0700
@@ -132,12 +132,13 @@
alias() andflags() andlflags() andlpowers() config()
controls() ctime() elock() findable() flags()
- fullalias() fullname() hasattr() hasattrp hasflag()
- haspower() hastype() iname() lflags() lock()
- lstats() money() mtime() mudname() name()
- nattr() nearby() objid() objmem() orflags()
- orlflags() orlpowers() playermem() poll() powers()
- quota() restarts() type() version() visible()
+ fullalias() fullname() getpids() hasattr() hasattrp
+ hasflag() haspower() hastype() iname() lflags()
+ lock() lpids() lstats() money() mtime()
+ mudname() name() nattr() nearby() objid()
+ objmem() orflags() orlflags() orlpowers() pidinfo()
+ playermem() poll() powers() quota() restarts()
+ type() version() visible()
& List functions
List functions take at least one list of elements and return
@@ -354,11 +355,14 @@
See also: before(), rest()
& ALIGN()
+& LALIGN()
align(<widths>,<col1>,...,<coln>[,<filler>[,<colsep>[,<rowsep>]]])
+ lalign(<widths>,<colList>[,<delim>[,<filler>[,<colsep>[,<rowsep>]]]])
Creates columns of text, each column designated by <col1..coln>.
Each column is individually wrapped inside its own column, allowing
- for easy creation of book pages, newsletters, or the like.
+ for easy creation of book pages, newsletters, or the like. In lalign(),
+ <colList> is a <delim>-separated list of the columns.
<widths> is a space-separated list of column widths. '10 10 10' for
the widths argument specifies that there are 3 columns, each 10
@@ -439,10 +443,10 @@
and(<boolean value 1>, <boolean value 2>[, ... , <boolean value N>])
cand(<boolean value 1>, <boolean value 2>[, ... , <boolean value N>])
- Takes boolean values, and returns 1 if all of them are equivalent to
- true(1). and() always evaluates all arguments (including side
- effects), while cand() stops evaluation after the first argument
- that evaluates to false.
+ Takes boolean values, and returns 1 if all of them are true. and()
+ always evaluates all arguments (including side effects), while
+ cand() stops evaluation after the first argument that evaluates to
+ false.
See also: BOOLEAN VALUES, or(), xor(), not()
& ANDFLAGS()
@@ -924,18 +928,17 @@
& CTIME()
& CSECS()
ctime(<object>[, <utc>])
- csecs(<objecct>)
+ csecs(<object>)
- If creation times are enabled, this function will return the date
- and time that the object was created. If the optional <utc> argument
- is true, the time is returned for the UTC time zone, if false or
- present, for the local time zone.
+ ctime() returns the date and time that <object> was created. The time
+ returned is in the server's local timezone, unless <utc> is true, in
+ which case the time is in the UTC timezone.
csecs() returns the time as the number of seconds since the epoch.
You must be able to examine an object to see its creation time.
-See also: mtime()
+See also: mtime(), time(), secs()
& CTU()
ctu(<angle>,<from>,<to>)
@@ -1562,6 +1565,14 @@
attribute. You may get the attributes of objects you control, the
attributes you own on other objects, and publicly accessible
attributes.
+& GETPIDS()
+ getpids(<object>[/<attribute>])
+
+ Returns a space-separated list of semaphore queue process ids waiting
+ on the given <object> and semaphore <attribute>. If <attribute> is
+ not given, pids for all semaphores on the object are returned.
+
+See also: @ps, @wait, lpids(), pidinfo(), SEMAPHORES
& GRAB()
& REGRAB()
& REGRABI()
@@ -2283,7 +2294,7 @@
MUSHes.
See also: @lock, locktypes, elock(), lockflags(), llockflags(), lset(),
- llocks()
+ llocks(), lockowner()
& LLOCKS()
& LOCKS()
llocks(<object>)
@@ -2298,7 +2309,7 @@
> th llocks(me)
Basic USER:ITSME Use
-See also: lock(), lset(), lockflags(), llockflags()
+See also: lock(), lset(), lockflags(), llockflags(), lockowner()
& LOCKFLAGS()
lockflags(<object>[/<locktype>])
lockflags()
@@ -2310,7 +2321,7 @@
Given no arguments, this function returns a string consisting of all
the flag letters the server knows.
-See also: llockflags(), lset(), lock(), llocks()
+See also: llockflags(), lset(), lock(), llocks(), lockowner()
& LLOCKFLAGS()
llockflags(<object>[/<locktype>])
llockflags()
@@ -2321,9 +2332,17 @@
Given no arguments, this function returns a space-separated list of
all flag names known to the server.
-See also: lockflags(), lset(), lock(), llocks()
+See also: lockflags(), lset(), lock(), llocks(), lockowner()
+& LOCKOWNER()
+ lockowner(<object>[/<locktype>])
+
+ This function returns the dbref of the player who owns the <locktype>
+ lock on <object>, or the Basic lock if no <locktype> is given. You
+ must be able to examine the lock to use this function.
+
+See also: lockflags(), llockflags(), lset(), lock(), llocks()
& LSET()
- lset(<object>/<lock type>,[!]<flag>)
+ lset(<object>/<locktype>,[!]<flag>)
This functions sets or clears flags on locks.
@@ -2706,18 +2725,17 @@
mtime(<object>[, <utc>])
msecs(<object>)
- If creation times are enabled, this function will return the date
- and time that one of the object's attributes was last added,
- deleted, or modified. Only things, rooms, and exits have
- modification times. If the optional <utc> argument is true, the time
- is returned for the UTC time zone, if false or present, for the
- local time zone.
-
+ mtime() returns the date and time that one of <object>'s attributes or
+ locks was last added, deleted, or modified. The time returned is in the
+ server's local timezone, unless <utc> is true, in which case the time is
+ in the UTC timezone.
+
msecs() returns the time as the number of seconds since the epoch.
+
+ Only things, rooms, and exits have modification times. You must be able to
+ examine an object to see its modification time.
- You must be able to examine an object to see it's modification time.
-
-See also: ctime()
+See also: ctime(), time(), secs()
& MUDNAME()
mudname()
@@ -3043,9 +3061,9 @@
cor(<boolean value 1>, <boolean value 2>[, ... , <boolean value N>])
Takes boolean values, and returns a 1 if at least one of the inputs
- is equivalent to true(1). or() always evaluates all arguments
- (including side effects), while cor() stops evaluation after the
- first argument that evaluates to true.
+ is true. or() always evaluates all arguments (including side
+ effects), while cor() stops evaluation after the first argument that
+ evaluates to true.
See also: BOOLEAN VALUES, and()
& ORFLAGS()
@@ -3128,6 +3146,24 @@
Returns the value of "pi" (3.14159265358979323846264338327, rounded
to the game's float_precision setting).
+& PIDINFO()
+ pidinfo(<pid>[,<list of fields>[,<output separator>]])
+
+ This function returns information about a process id if the player
+ has permission to see the process.
+ The <list of fields> is a space-separated list that may contain the
+ following elements:
+ queue the queue ("wait" or "semaphore") for the process
+ player the queueing player
+ time remaining time for timed queued entries (or -1)
+ object the semaphore object for semaphores (or #-1)
+ attribute the semaphore attribute for semaphores (or #-1)
+ command the queued command
+ If <list of fields> is not provided, all fields are returned.
+ If <output separator> is provided, the output is separated by
+ that delimiting character.
+
+See also: @ps, lpids(), getpids()
& PLAYERMEM()
playermem(<player>)
@@ -3164,6 +3200,15 @@
This function returns the current @poll.
See also: @poll, doing(), @doing
+& LPIDS()
+ lpids(<object>[,<queue type>])
+
+ Returns a space-separated list of queue process ids enqueued by <object>,
+ typically a player. If <queue type> is "w", only wait queue
+ entries are returned; if <queue type> is "s", only semaphore queue
+ entries are returned; if <queue type> is absent, both are returned.
+
+See also: @ps, getpids(), pidinfo()
& LPORTS()
& PORTS()
lports([<viewer>])
@@ -3242,7 +3287,8 @@
Return a random number.
The first form returns an integer between 0 and <num>-1, inclusive.
- The second returns an integer between <min> and <max>, inclusive.
+ The second returns an integer between <min> and <max>,
+ inclusive. Both numbers must be positive.
If called with an invalid argument, rand() returns an error message
beginning with #-1.
@@ -3523,7 +3569,7 @@
This function takes no arguments, and returns the number of elapsed
seconds since midnight, January 1, 1970 UTC. UTC is the base time
zone, formerly GMT. This is a good way of synchronizing things that
- mustcrun at a certain time.
+ must run at a certain time.
& SECURE()
secure(<string>)
@@ -4428,6 +4474,7 @@
pueblo present if the client is in Pueblo mode.
telnet present if the client understands the telnet protocol.
ssl present if the client is using an SSL/TLS connection.
+ prompt_newlines see 'help prompt_newlines'
Other fields may be added in the future, if, for example, MXP
support is ever added.
diff -ruNd --speed-large-files pennmush-1.8.3p9/game/txt/hlp/penntop.hlp pennmush-1.8.3p10/game/txt/hlp/penntop.hlp
--- pennmush-1.8.3p9/game/txt/hlp/penntop.hlp 2008-09-24 01:30:22.000000000 -0700
+++ pennmush-1.8.3p10/game/txt/hlp/penntop.hlp 2009-08-08 07:27:48.680156000 -0700
@@ -457,10 +457,12 @@
See also: MONEY, money(), score
& CREDITS
Maintainer: Raevnos [SW]
- Developers: Javelin, Ervin Hearn III [EEH], Greg Millam [GM]
+ Developers: Ervin Hearn III [EEH], Greg Millam [GM], Mike Griffiths [MG],
+ Intrevis
Past Porters: Nick Gammon [NJG] (win32), Dan Williams [DW] (MacOS),
Sylvia (OS/2)
- Former developers: Rhyanna [RLM], Trivian [TN], Halatir [LdW], Talek [TAP]
+ Former developers: Rhyanna [RLM], Trivian [TN], Halatir [LdW], Talek [TAP],
+ Javelin
The original TinyMUSH 1.0 code was written by Lawrence Foard, and
was based upon James Aspnes' TinyMUD server. Since then, the code
@@ -1665,15 +1667,15 @@
& SUBSTITUTIONS3
& %3
Other substitutions:
- %0-%9 = the contents of the REGISTERS 0-9, respectively
- %@ = the caller's dbref number. Initially same as %#, changes when
- something like a U-FUNCTION is called.
- %! = the dbref number of the object the command is on (the EXECUTOR)
- %L = the dbref of the ENACTOR's location
- %c = text of the last command, _before_ evaluation
- %u = text of the last $command, after evaluation, available to locks
- %? = The current function invocation and depth counts
- %+ = The number of arguments passed to the current ufun.
+ %0-%9 = the contents of the REGISTERS 0-9, respectively
+ %@ = the caller's dbref number. Initially same as %#, changes when
+ something like a U-FUNCTION is called.
+ %! = the dbref number of the object the command is on (the EXECUTOR)
+ %L = the dbref of the ENACTOR's location
+ %c = text of the last command, _before_ evaluation
+ %u = text of the last command, after evaluation, available to locks/hooks
+ %? = The current function invocation and depth counts
+ %+ = The number of arguments passed to the current ufun.
%qN = the equivalent of r(N), a register set by a setq() function.
(continued in help substitutions4)
diff -ruNd --speed-large-files pennmush-1.8.3p9/game/txt/hlp/pennv183.hlp pennmush-1.8.3p10/game/txt/hlp/pennv183.hlp
--- pennmush-1.8.3p9/game/txt/hlp/pennv183.hlp 2009-03-02 12:26:35.000000000 -0800
+++ pennmush-1.8.3p10/game/txt/hlp/pennv183.hlp 2009-08-24 00:51:24.880841000 -0700
@@ -1,4 +1,4 @@
-& 1.8.3p9
+& 1.8.3p10
& changes
This is a list of changes in this patchlevel which are probably of
interest to players. More information about new commands and functions
@@ -11,6 +11,71 @@
A list of the patchlevels associated with each release can
be read in 'help patchlevels'.
+Version 1.8.3 patchlevel 10 Aug 24, 2009
+
+Major changes:
+ * Switched project management (Bug tracking, revision control, etc.)