123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- <COND (<GASSIGNED? $TLOSE>
- <SETG PG <* 1024 <DIRMAP ,TVASS ,PEEK-PAGE>>>)
- (T
- <SETG HIPOFFSET 23>
- <SETG PEEK-START 7>
- <SETG BABBLE-START 679>
- <SETG ANEXT 1>
- <SETG SCORE 3>
- <SETG QNEXT 0>
- <SETG TELEC-START 343>
- <MANIFEST HIPOFFSET PEEK-START BABBLE-START ANEXT SCORE QNEXT
- TELEC-START>)>
- <DEFINE CONVERT-LOSS ("AUX" HIDX
- (NUTS
- <REVERSE
- <DATA-AREAD ,TVASS ,LUSERS <ARESET ,LOSSSPACE>>>))
- #DECL ((HIDX) FIX (NUTS) <LIST [REST FIX FIX STRING TIME]>)
- <DATA-PRINTW ,TVASS
- ,HIPOFFSET
- <SET HIDX </ <LENGTH .NUTS> 4>>>
- <REPEAT ((NNUTS .NUTS) (HIDX 0) PLAYER (TUV ,TUV)
- (LOC <+ ,PG ,PEEK-START>) (LOC1 <+ ,PG ,BABBLE-START>) LUBLK)
- #DECL ((NNUTS) <LIST [REST FIX FIX STRING TIME]>
- (HIDX LOC LOC1 LUBLK) FIX
- (TUV) <UVECTOR [REST <PRIMTYPE WORD>]> (PLAYER) TIME)
- <SET PLAYER <4 .NNUTS>>
- <SET LUBLK <2 .NNUTS>>
- <PUT .NNUTS 1 .HIDX>
- <GET-LOC .LOC .TUV>
- <PUT .TUV 2 <CHTYPE .PLAYER FIX>>
- <PUT .TUV 3 <CHTYPE <DATA-READW ,TVASS <+ .LUBLK ,LASTIN>> FIX>>
- <PUT-LOC .LOC .TUV>
- <GET-LOC .LOC1 .TUV>
- <PUT .TUV 2 <GETLASTQ .LUBLK>>
- <GET-TOTAL .LUBLK <REST .TUV 2>>
- <PUT-LOC .LOC1 .TUV>
- <COND (<EMPTY? <SET NNUTS <REST .NNUTS 4>>>
- <DATA-APRINT ,TVASS
- ,LUSERS
- ,LOSSSPACE
- <SETG LOSSTABLE <REVERSE .NUTS>>>
- <RETURN>)
- (T
- <SET LOC <+ .LOC 4>>
- <SET HIDX <+ .HIDX 1>>
- <SET LOC1 <+ .LOC1 4>>)>>
- <NEW-TODO>>
- <DEFINE GET-TOTAL (LUBLK UV
- "AUX" (SCORED
- <DATA-AREAD ,TVASS
- <+ .LUBLK ,SCORE>
- <ARESET ,ASPACE>>)
- (TOTAL 0.000)
- (POSS 0.000))
- #DECL ((LUBLK) FIX (UV) <UVECTOR [REST <PRIMTYPE WORD>]>
- (SCORED) <UVECTOR [REST <UVECTOR [2 FLOAT]>]>
- (TOTAL POSS) FLOAT)
- <MAPF <>
- <FUNCTION (X)
- <SET TOTAL <+ <1 .X> .TOTAL>>
- <SET POSS <+ <2 .X> .POSS>>>
- .SCORED>
- <PUT .UV 1 <CHTYPE .TOTAL FIX>>
- <PUT .UV 2 <CHTYPE .POSS FIX>>>
- <DEFINE FLUSH-PLAYER (PLAYER "AUX" (LOSSTABLE <DATA-AREAD ,TVASS 3 <ARESET ,QSPACE>>)
- (RPLAYER <CHTYPE <STRTOX .PLAYER> TIME>)
- (LUBLK <3 <MEMQ .RPLAYER .LOSSTABLE>>)
- (TINDEX <4 <MEMQ .RPLAYER .LOSSTABLE>>)
- (FOO <ALIST <ARESET ,ASPACE> 1>) (TVA ,TVASS) (ASP ,ASPACE))
- #DECL ((PLAYER) STRING (LOSSTABLE) LIST (LUBLK TINDEX) FIX (RPLAYER) TIME)
- <DATA-APRINT .TVA <+ .LUBLK ,QNEXT> .ASP .FOO>
- <DATA-DELETE .TVA <+ .LUBLK ,QNEXT>>
- <DATA-APRINT .TVA <+ .LUBLK ,ANEXT> .ASP .FOO>
- <DATA-DELETE .TVA <+ .LUBLK ,ANEXT>>
- <DATA-APRINT .TVA <+ .LUBLK ,ALAST> .ASP .FOO>
- <DATA-DELETE .TVA <+ .LUBLK ,ALAST>>
- <DATA-DELETE ,TVASS <+ .LUBLK ,SCORE>>
- <DATA-APRINT .TVA <+ .LUBLK ,LASTIN> .ASP .FOO>
- <DATA-DELETE .TVA <+ .LUBLK ,LASTIN>>
- <DATA-APRINT .TVA <+ .LUBLK ,LASTGRD> .ASP .FOO>
- <DATA-DELETE .TVA <+ .LUBLK ,LASTGRD>>
- <DATA-DELETE ,TVASS <+ .LUBLK ,QASKED>>
- <DATA-APRINT .TVA <+ .LUBLK ,MNEXT> .ASP .FOO>
- <DATA-DELETE .TVA <+ .LUBLK ,MNEXT>>
- <DATA-APRINT .TVA <+ .LUBLK ,MLAST> .ASP .FOO>
- <DATA-DELETE .TVA <+ .LUBLK ,MLAST>>
- <DATA-APRINT .TVA <+ .LUBLK ,ANNEXT> .ASP .FOO>
- <DATA-DELETE .TVA <+ .LUBLK ,ANNEXT>>
- <DATA-APRINT .TVA <+ .LUBLK ,TAILOR> .ASP .FOO>
- <DATA-DELETE .TVA <+ .LUBLK ,TAILOR>>
- <DATA-APRINT .TVA <+ .LUBLK 11> .ASP .FOO>
- <DATA-DELETE .TVA <+ .LUBLK 11>>
- <COND (<==? <1 .LOSSTABLE> .RPLAYER>
- <SET LOSSTABLE <REST .LOSSTABLE 4>>)
- (<REPEAT ((L .LOSSTABLE) (M <REST .L>))
- <COND (<==? <1 .M> .RPLAYER>
- <PUTREST .L <REST .M 4>>
- <RETURN>)>
- <SET L .M>
- <SET M <REST .M>>>)>
- <SET LOSSTABLE <ACOPY <ARESET ,LOSSSPACE> .LOSSTABLE>>
- <DATA-APRINT ,TVASS 3 ,LOSSSPACE .LOSSTABLE>
- <DATA-PRINTW ,TVASS ,HIPOFFSET <- <CHTYPE <DATA-READW ,TVASS ,HIPOFFSET> FIX> 1>>
- <GET-LOC <+ ,PG ,PEEK-START <* 4 .TINDEX>> ,TUV>
- <PUT ,TUV 2 0>
- <PUT ,TUV 3 0>
- <PUT ,TUV 4 0>
- <PUT-LOC <+ ,PG ,PEEK-START <* 4 .TINDEX>> ,TUV>
- <SETG LOSSTABLE <DATA-AREAD ,TVASS 3 <ARESET ,LOSSSPACE>>>>
- <DEFINE CHAIN-LENGTH (WD "AUX" (CNT 0))
- #DECL ((WD) <PRIMTYPE WORD> (CNT) FIX)
- <REPEAT ((WD <CHTYPE .WD FIX>))
- <COND (<0? <SET WD <CHTYPE <DATA-READW ,TVASS .WD> FIX>>>
- <RETURN .CNT>)
- (<SET CNT <+ .CNT 1>>)>>>
- <DEFINE NEW-TODO ("AUX" (LOSSTABLE ,LOSSTABLE))
- #DECL ((LOSSTABLE) <LIST [REST TIME STRING FIX FIX]>)
- <REPEAT ((UV <UVECTOR 0 0 0>) (CT 0) (BEG <+ ,PG ,TELEC-START 1>))
- #DECL ((UV) <UVECTOR <PRIMTYPE WORD>> (CT BEG) FIX)
- <PUT .UV 3 <CHAIN-LENGTH <+ <3 .LOSSTABLE> ,ANEXT>>>
- <PUT-LOC <+ .BEG <* 4 <4 .LOSSTABLE>>> .UV>
- <COND (<EMPTY? <SET LOSSTABLE <REST .LOSSTABLE 4>>>
- <RETURN>)>>>
- <DEFINE REVERSE (FOO "AUX" (TTE <REST .FOO>) (RETL ()))
- #DECL ((FOO TTE RETL VALUE) LIST)
- <COND (<EMPTY? .TTE> .FOO)
- (T
- <REPEAT ()
- <SET RETL <PUTREST .FOO .RETL>>
- <COND (<EMPTY? <SET TTE <REST <SET FOO .TTE>>>>
- <RETURN <PUTREST .FOO .RETL>>)>>)>>
|