home *** CD-ROM | disk | FTP | other *** search
Unknown | 1999-11-02 | 7.0 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was not able to be converted.
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| file
| data
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 00 00 00 00 00 00 00 | 6b 6f 2f 2f 3d 3d 3d 3d |........|ko//====|
|00000010| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000020| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000030| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000040| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000050| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0a 2f 2f 20 57 61 |========|=..// Wa|
|00000060| 6c 6c 2e 75 63 0d 0a 2f | 2f 20 24 41 75 74 68 6f |ll.uc../|/ $Autho|
|00000070| 72 3a 20 4d 66 6f 78 20 | 24 0d 0a 2f 2f 20 24 44 |r: Mfox |$..// $D|
|00000080| 61 74 65 3a 20 31 30 2f | 32 36 2f 39 39 20 36 3a |ate: 10/|26/99 6:|
|00000090| 33 36 70 20 24 0d 0a 2f | 2f 20 24 52 65 76 69 73 |36p $../|/ $Revis|
|000000a0| 69 6f 6e 3a 20 31 20 24 | 0d 0a 2f 2f 3d 3d 3d 3d |ion: 1 $|..//====|
|000000b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0a 63 6c 61 73 73 |========|=..class|
|00000100| 20 57 61 6c 6c 20 65 78 | 70 61 6e 64 73 20 54 72 | Wall ex|pands Tr|
|00000110| 61 70 3b 0d 0a 0d 0a 76 | 61 72 20 63 6c 61 73 73 |ap;....v|ar class|
|00000120| 3c 57 61 6c 6c 53 6c 61 | 62 3e 09 53 6c 61 62 43 |<WallSla|b>.SlabC|
|00000130| 6c 61 73 73 3b 0d 0a 76 | 61 72 20 28 57 61 6c 6c |lass;..v|ar (Wall|
|00000140| 29 20 69 6e 74 09 09 4d | 61 78 53 6c 61 62 73 3b |) int..M|axSlabs;|
|00000150| 09 09 2f 2f 20 6d 61 78 | 20 6e 75 6d 62 65 72 20 |..// max| number |
|00000160| 6f 66 20 73 6c 61 62 73 | 20 61 6c 6c 6f 77 65 64 |of slabs| allowed|
|00000170| 0d 0a 76 61 72 20 28 57 | 61 6c 6c 29 20 62 6f 6f |..var (W|all) boo|
|00000180| 6c 09 09 4e 6f 72 74 68 | 53 6f 75 74 68 3b 09 09 |l..North|South;..|
|00000190| 2f 2f 20 44 6f 65 73 20 | 74 68 65 20 77 61 6c 6c |// Does |the wall|
|000001a0| 20 72 75 6e 20 4e 6f 72 | 74 68 53 6f 75 74 68 0d | run Nor|thSouth.|
|000001b0| 0a 76 61 72 20 28 57 61 | 6c 6c 29 20 69 6e 74 09 |.var (Wa|ll) int.|
|000001c0| 09 46 6c 6f 6f 72 54 6f | 6c 65 72 61 6e 63 65 3b |.FloorTo|lerance;|
|000001d0| 20 2f 2f 20 48 6f 77 20 | 6d 75 63 68 20 63 61 6e | // How |much can|
|000001e0| 20 74 68 65 20 66 6c 6f | 6f 72 20 76 61 72 79 20 | the flo|or vary |
|000001f0| 69 6e 20 68 65 69 67 68 | 74 3f 0d 0a 76 61 72 20 |in heigh|t?..var |
|00000200| 76 65 63 74 6f 72 09 09 | 09 46 6c 6f 6f 72 3b 09 |vector..|.Floor;.|
|00000210| 09 09 2f 2f 20 63 6f 6f | 72 64 20 6f 66 20 66 6c |..// coo|rd of fl|
|00000220| 6f 6f 72 0d 0a 76 61 72 | 20 76 65 63 74 6f 72 09 |oor..var| vector.|
|00000230| 09 09 57 61 6c 6c 53 74 | 6f 70 3b 09 09 2f 2f 20 |..WallSt|op;..// |
|00000240| 63 6f 6f 72 64 20 6f 66 | 20 66 61 72 20 73 69 64 |coord of| far sid|
|00000250| 65 20 6f 66 20 77 61 6c | 6c 0d 0a 0d 0a 66 75 6e |e of wal|l....fun|
|00000260| 63 74 69 6f 6e 20 49 6e | 69 74 53 69 6e 67 6c 65 |ction In|itSingle|
|00000270| 50 6c 61 79 65 72 28 29 | 0d 0a 7b 0d 0a 09 6c 6f |Player()|..{...lo|
|00000280| 63 61 6c 20 72 6f 74 61 | 74 6f 72 09 53 74 61 72 |cal rota|tor.Star|
|00000290| 74 52 6f 74 61 74 69 6f | 6e 3b 0d 0a 09 6c 6f 63 |tRotatio|n;...loc|
|000002a0| 61 6c 20 76 65 63 74 6f | 72 09 53 74 61 72 74 4c |al vecto|r.StartL|
|000002b0| 6f 63 61 74 69 6f 6e 3b | 0d 0a 09 6c 6f 63 61 6c |ocation;|...local|
|000002c0| 20 76 65 63 74 6f 72 09 | 53 74 61 72 74 4e 6f 72 | vector.|StartNor|
|000002d0| 6d 61 6c 3b 0d 0a 20 20 | 20 20 6c 6f 63 61 6c 20 |mal;.. | local |
|000002e0| 76 65 63 74 6f 72 20 20 | 20 20 48 69 74 4c 6f 63 |vector | HitLoc|
|000002f0| 61 74 69 6f 6e 3b 0d 0a | 20 20 20 20 6c 6f 63 61 |ation;..| loca|
|00000300| 6c 20 76 65 63 74 6f 72 | 20 20 20 20 48 69 74 4e |l vector| HitN|
|00000310| 6f 72 6d 61 6c 3b 0d 0a | 20 20 20 20 6c 6f 63 61 |ormal;..| loca|
|00000320| 6c 20 76 65 63 74 6f 72 | 20 20 20 20 45 6e 64 54 |l vector| EndT|
|00000330| 72 61 63 65 3b 0d 0a 20 | 20 20 20 6c 6f 63 61 6c |race;.. | local|
|00000340| 20 41 63 74 6f 72 20 20 | 20 20 20 4f 74 68 65 72 | Actor | Other|
|00000350| 3b 0d 0a 0d 0a 09 69 66 | 28 20 4e 6f 72 74 68 53 |;.....if|( NorthS|
|00000360| 6f 75 74 68 20 29 20 0d | 0a 09 7b 0d 0a 09 09 53 |outh ) .|..{....S|
|00000370| 74 61 72 74 4e 6f 72 6d | 61 6c 20 3d 20 4e 6f 72 |tartNorm|al = Nor|
|00000380| 6d 61 6c 28 20 76 65 63 | 74 6f 72 28 20 52 6f 74 |mal( vec|tor( Rot|
|00000390| 61 74 69 6f 6e 20 29 20 | 29 3b 0d 0a 09 09 53 74 |ation ) |);....St|
|000003a0| 61 72 74 4e 6f 72 6d 61 | 6c 2e 5a 20 3d 20 30 3b |artNorma|l.Z = 0;|
|000003b0| 0d 0a 09 7d 20 0d 0a 09 | 65 6c 73 65 20 0d 0a 09 |...} ...|else ...|
|000003c0| 7b 0d 0a 09 09 53 74 61 | 72 74 52 6f 74 61 74 69 |{....Sta|rtRotati|
|000003d0| 6f 6e 20 3d 20 52 6f 74 | 61 74 69 6f 6e 3b 0d 0a |on = Rot|ation;..|
|000003e0| 09 09 53 74 61 72 74 52 | 6f 74 61 74 69 6f 6e 2e |..StartR|otation.|
|000003f0| 59 61 77 20 2b 3d 20 31 | 36 33 38 34 3b 0d 0a 09 |Yaw += 1|6384;...|
|00000400| 09 53 74 61 72 74 4e 6f | 72 6d 61 6c 20 3d 20 4e |.StartNo|rmal = N|
|00000410| 6f 72 6d 61 6c 28 20 76 | 65 63 74 6f 72 28 20 53 |ormal( v|ector( S|
|00000420| 74 61 72 74 52 6f 74 61 | 74 69 6f 6e 20 29 20 29 |tartRota|tion ) )|
|00000430| 3b 0d 0a 09 09 53 74 61 | 72 74 4e 6f 72 6d 61 6c |;....Sta|rtNormal|
|00000440| 2e 5a 20 3d 20 30 3b 0d | 0a 09 7d 0d 0a 09 2f 2f |.Z = 0;.|..}...//|
|00000450| 20 4d 61 6b 65 20 73 75 | 72 65 20 74 68 69 73 20 | Make su|re this |
|00000460| 69 73 20 72 65 61 6c 6c | 79 20 74 68 65 20 6c 65 |is reall|y the le|
|00000470| 76 65 6c 2c 20 6e 6f 74 | 20 61 6e 6f 74 68 65 72 |vel, not| another|
|00000480| 20 77 61 6c 6c 0d 0a 09 | 45 6e 64 54 72 61 63 65 | wall...|EndTrace|
|00000490| 20 3d 20 4c 6f 63 61 74 | 69 6f 6e 20 2b 20 54 72 | = Locat|ion + Tr|
|000004a0| 61 63 65 44 69 73 74 61 | 6e 63 65 20 2a 20 53 74 |aceDista|nce * St|
|000004b0| 61 72 74 4e 6f 72 6d 61 | 6c 3b 0d 0a 09 4f 74 68 |artNorma|l;...Oth|
|000004c0| 65 72 20 3d 20 54 72 61 | 63 65 28 20 48 69 74 4c |er = Tra|ce( HitL|
|000004d0| 6f 63 61 74 69 6f 6e 2c | 20 48 69 74 4e 6f 72 6d |ocation,| HitNorm|
|000004e0| 61 6c 2c 20 45 6e 64 54 | 72 61 63 65 2c 20 4c 6f |al, EndT|race, Lo|
|000004f0| 63 61 74 69 6f 6e 2c 20 | 74 72 75 65 20 29 3b 0d |cation, |true );.|
|00000500| 0a 0d 0a 09 53 65 74 4c | 6f 63 61 74 69 6f 6e 28 |....SetL|ocation(|
|00000510| 20 48 69 74 4c 6f 63 61 | 74 69 6f 6e 20 29 3b 0d | HitLoca|tion );.|
|00000520| 0a 09 44 65 70 6c 6f 79 | 52 65 73 6f 75 72 63 65 |..Deploy|Resource|
|00000530| 28 20 4c 6f 63 61 74 69 | 6f 6e 2c 20 48 69 74 4e |( Locati|on, HitN|
|00000540| 6f 72 6d 61 6c 20 29 3b | 0d 0a 7d 0d 0a 0d 0a 66 |ormal );|..}....f|
|00000550| 75 6e 63 74 69 6f 6e 20 | 48 69 64 65 28 29 0d 0a |unction |Hide()..|
|00000560| 7b 0d 0a 09 6c 6f 63 61 | 6c 20 57 61 6c 6c 53 6c |{...loca|l WallSl|
|00000570| 61 62 20 57 3b 0d 0a 0d | 0a 09 2f 2f 20 53 65 6c |ab W;...|..// Sel|
|00000580| 66 2e 62 48 69 64 64 65 | 6e 20 69 73 20 61 6c 77 |f.bHidde|n is alw|
|00000590| 61 79 73 20 74 72 75 65 | 0d 0a 09 66 6f 72 65 61 |ays true|...forea|
|000005a0| 63 68 20 41 6c 6c 41 63 | 74 6f 72 73 28 20 63 6c |ch AllAc|tors( cl|
|000005b0| 61 73 73 20 27 57 61 6c | 6c 53 6c 61 62 27 2c 20 |ass 'Wal|lSlab', |
|000005c0| 57 20 29 20 0d 0a 09 7b | 0d 0a 09 09 69 66 28 20 |W ) ...{|....if( |
|000005d0| 57 2e 4f 77 6e 65 72 20 | 3d 3d 20 53 65 6c 66 20 |W.Owner |== Self |
|000005e0| 29 0d 0a 09 09 7b 0d 0a | 09 09 09 57 2e 48 69 64 |)....{..|...W.Hid|
|000005f0| 65 28 29 3b 0d 0a 09 09 | 09 57 2e 53 65 74 43 6f |e();....|.W.SetCo|
|00000600| 6c 6c 69 73 69 6f 6e 28 | 20 66 61 6c 73 65 2c 20 |llision(| false, |
|00000610| 66 61 6c 73 65 2c 20 66 | 61 6c 73 65 20 29 3b 0d |false, f|alse );.|
|00000620| 0a 09 09 7d 0d 0a 09 7d | 0d 0a 7d 0d 0a 0d 0a 66 |...}...}|..}....f|
|00000630| 75 6e 63 74 69 6f 6e 20 | 53 68 6f 77 28 29 0d 0a |unction |Show()..|
|00000640| 7b 0d 0a 09 6c 6f 63 61 | 6c 20 57 61 6c 6c 53 6c |{...loca|l WallSl|
|00000650| 61 62 20 57 3b 0d 0a 0d | 0a 09 2f 2f 20 53 65 6c |ab W;...|..// Sel|
|00000660| 66 2e 62 48 69 64 64 65 | 6e 20 69 73 20 61 6c 77 |f.bHidde|n is alw|
|00000670| 61 79 73 20 74 72 75 65 | 0d 0a 09 66 6f 72 65 61 |ays true|...forea|
|00000680| 63 68 20 41 6c 6c 41 63 | 74 6f 72 73 28 20 63 6c |ch AllAc|tors( cl|
|00000690| 61 73 73 20 27 57 61 6c | 6c 53 6c 61 62 27 2c 20 |ass 'Wal|lSlab', |
|000006a0| 57 20 29 20 0d 0a 09 7b | 0d 0a 09 09 69 66 28 20 |W ) ...{|....if( |
|000006b0| 57 2e 4f 77 6e 65 72 20 | 3d 3d 20 53 65 6c 66 20 |W.Owner |== Self |
|000006c0| 29 0d 0a 09 09 7b 0d 0a | 09 09 09 57 2e 53 68 6f |)....{..|...W.Sho|
|000006d0| 77 28 29 3b 0d 0a 09 09 | 09 57 2e 53 65 74 43 6f |w();....|.W.SetCo|
|000006e0| 6c 6c 69 73 69 6f 6e 28 | 20 57 2e 64 65 66 61 75 |llision(| W.defau|
|000006f0| 6c 74 2e 62 43 6f 6c 6c | 69 64 65 41 63 74 6f 72 |lt.bColl|ideActor|
|00000700| 73 2c 20 57 2e 64 65 66 | 61 75 6c 74 2e 62 42 6c |s, W.def|ault.bBl|
|00000710| 6f 63 6b 41 63 74 6f 72 | 73 2c 20 57 2e 64 65 66 |ockActor|s, W.def|
|00000720| 61 75 6c 74 2e 62 42 6c | 6f 63 6b 50 6c 61 79 65 |ault.bBl|ockPlaye|
|00000730| 72 73 20 29 3b 0d 0a 09 | 09 7d 0d 0a 09 7d 0d 0a |rs );...|.}...}..|
|00000740| 7d 0d 0a 0d 0a 66 75 6e | 63 74 69 6f 6e 20 62 6f |}....fun|ction bo|
|00000750| 6f 6c 20 43 61 6c 63 4c | 6f 63 61 74 69 6f 6e 28 |ol CalcL|ocation(|
|00000760| 20 6f 75 74 20 76 65 63 | 74 6f 72 20 53 74 61 72 | out vec|tor Star|
|00000770| 74 4c 6f 63 61 74 69 6f | 6e 2c 20 6f 75 74 20 76 |tLocatio|n, out v|
|00000780| 65 63 74 6f 72 20 53 74 | 61 72 74 4e 6f 72 6d 61 |ector St|artNorma|
|00000790| 6c 20 29 0d 0a 7b 0d 0a | 20 20 20 20 6c 6f 63 61 |l )..{..| loca|
|000007a0| 6c 20 76 65 63 74 6f 72 | 20 20 20 20 48 69 74 4c |l vector| HitL|
|000007b0| 6f 63 61 74 69 6f 6e 3b | 0d 0a 20 20 20 20 6c 6f |ocation;|.. lo|
|000007c0| 63 61 6c 20 76 65 63 74 | 6f 72 20 20 20 20 48 69 |cal vect|or Hi|
|000007d0| 74 4e 6f 72 6d 61 6c 3b | 0d 0a 20 20 20 20 6c 6f |tNormal;|.. lo|
|000007e0| 63 61 6c 20 76 65 63 74 | 6f 72 20 20 20 20 45 6e |cal vect|or En|
|000007f0| 64 54 72 61 63 65 3b 0d | 0a 20 20 20 20 6c 6f 63 |dTrace;.|. loc|
|00000800| 61 6c 20 41 63 74 6f 72 | 20 20 20 20 20 4f 74 68 |al Actor| Oth|
|00000810| 65 72 3b 0d 0a 09 6c 6f | 63 61 6c 20 76 65 63 74 |er;...lo|cal vect|
|00000820| 6f 72 09 53 6c 61 62 4c | 6f 63 61 74 69 6f 6e 3b |or.SlabL|ocation;|
|00000830| 0d 0a 09 6c 6f 63 61 6c | 20 69 6e 74 09 09 57 69 |...local| int..Wi|
|00000840| 64 74 68 3b 0d 0a 09 6c | 6f 63 61 6c 20 69 6e 74 |dth;...l|ocal int|
|00000850| 09 09 53 6c 61 62 57 69 | 64 74 68 3b 0d 0a 20 20 |..SlabWi|dth;.. |
|00000860| 20 20 6c 6f 63 61 6c 20 | 69 6e 74 20 20 20 20 20 | local |int |
|00000870| 20 20 4e 75 6d 53 6c 61 | 62 73 3b 0d 0a 09 6c 6f | NumSla|bs;...lo|
|00000880| 63 61 6c 20 69 6e 74 09 | 09 69 3b 0d 0a 0d 0a 09 |cal int.|.i;.....|
|00000890| 2f 2f 20 6d 61 6b 65 20 | 73 75 72 65 20 74 68 65 |// make |sure the|
|000008a0| 20 6e 6f 72 6d 61 6c 20 | 76 65 63 74 6f 72 20 69 | normal |vector i|
|000008b0| 73 20 68 6f 72 69 7a 6f | 6e 74 61 6c 0d 0a 09 69 |s horizo|ntal...i|
|000008c0| 66 28 20 53 74 61 72 74 | 4e 6f 72 6d 61 6c 2e 5a |f( Start|Normal.Z|
|000008d0| 20 21 3d 20 30 2e 30 20 | 29 20 0d 0a 09 7b 0d 0a | != 0.0 |) ...{..|
|000008e0| 09 09 72 65 74 75 72 6e | 20 66 61 6c 73 65 3b 0d |..return| false;.|
|000008f0| 0a 09 7d 0d 0a 0d 0a 09 | 2f 2f 20 4d 61 6b 65 20 |..}.....|// Make |
|00000900| 73 75 72 65 20 74 68 69 | 73 20 69 73 20 72 65 61 |sure thi|s is rea|
|00000910| 6c 6c 79 20 74 68 65 20 | 6c 65 76 65 6c 2c 20 6e |lly the |level, n|
|00000920| 6f 74 20 61 6e 6f 74 68 | 65 72 20 77 61 6c 6c 0d |ot anoth|er wall.|
|00000930| 0a 09 45 6e 64 54 72 61 | 63 65 20 3d 20 53 74 61 |..EndTra|ce = Sta|
|00000940| 72 74 4c 6f 63 61 74 69 | 6f 6e 20 2b 20 54 72 61 |rtLocati|on + Tra|
|00000950| 63 65 44 69 73 74 61 6e | 63 65 20 2a 20 53 74 61 |ceDistan|ce * Sta|
|00000960| 72 74 4e 6f 72 6d 61 6c | 3b 0d 0a 09 4f 74 68 65 |rtNormal|;...Othe|
|00000970| 72 20 3d 20 54 72 61 63 | 65 28 20 48 69 74 4c 6f |r = Trac|e( HitLo|
|00000980| 63 61 74 69 6f 6e 2c 20 | 48 69 74 4e 6f 72 6d 61 |cation, |HitNorma|
|00000990| 6c 2c 20 45 6e 64 54 72 | 61 63 65 2c 20 53 74 61 |l, EndTr|ace, Sta|
|000009a0| 72 74 4c 6f 63 61 74 69 | 6f 6e 2c 20 74 72 75 65 |rtLocati|on, true|
|000009b0| 20 29 3b 0d 0a 0d 0a 09 | 69 66 28 20 4f 74 68 65 | );.....|if( Othe|
|000009c0| 72 20 21 3d 20 4c 65 76 | 65 6c 20 29 20 0d 0a 09 |r != Lev|el ) ...|
|000009d0| 7b 0d 0a 09 09 72 65 74 | 75 72 6e 20 66 61 6c 73 |{....ret|urn fals|
|000009e0| 65 3b 0d 0a 09 7d 0d 0a | 0d 0a 09 2f 2f 20 66 69 |e;...}..|...// fi|
|000009f0| 72 73 74 20 74 72 61 63 | 65 20 64 6f 77 6e 20 74 |rst trac|e down t|
|00000a00| 6f 20 66 6c 6f 6f 72 2e | 20 20 69 66 20 77 65 20 |o floor.| if we |
|00000a10| 68 69 74 20 61 6e 79 74 | 68 69 6e 67 20 6f 74 68 |hit anyt|hing oth|
|00000a20| 65 72 20 74 68 61 6e 20 | 66 6c 6f 6f 72 2c 20 77 |er than |floor, w|
|00000a30| 61 6c 6c 20 69 73 20 6e | 6f 74 20 61 6c 6c 6f 77 |all is n|ot allow|
|00000a40| 65 64 0d 0a 09 2f 2f 20 | 28 79 6f 75 20 64 6f 6e |ed...// |(you don|
|00000a50| 27 74 20 77 61 6e 74 20 | 74 6f 20 63 6f 76 65 72 |'t want |to cover|
|00000a60| 20 61 6e 6f 74 68 65 72 | 20 74 72 61 70 20 66 6f | another| trap fo|
|00000a70| 72 20 69 6e 73 74 61 6e | 63 65 29 0d 0a 09 45 6e |r instan|ce)...En|
|00000a80| 64 54 72 61 63 65 20 3d | 20 53 74 61 72 74 4c 6f |dTrace =| StartLo|
|00000a90| 63 61 74 69 6f 6e 20 2b | 20 54 72 61 63 65 44 69 |cation +| TraceDi|
|00000aa0| 73 74 61 6e 63 65 20 2a | 20 76 65 63 74 28 30 2c |stance *| vect(0,|
|00000ab0| 20 30 2c 20 2d 31 29 3b | 0d 0a 09 4f 74 68 65 72 | 0, -1);|...Other|
|00000ac0| 20 3d 20 54 72 61 63 65 | 28 20 48 69 74 4c 6f 63 | = Trace|( HitLoc|
|00000ad0| 61 74 69 6f 6e 2c 20 48 | 69 74 4e 6f 72 6d 61 6c |ation, H|itNormal|
|00000ae0| 2c 20 45 6e 64 54 72 61 | 63 65 2c 20 53 74 61 72 |, EndTra|ce, Star|
|00000af0| 74 4c 6f 63 61 74 69 6f | 6e 2c 20 74 72 75 65 20 |tLocatio|n, true |
|00000b00| 29 3b 0d 0a 0d 0a 09 69 | 66 28 20 4f 74 68 65 72 |);.....i|f( Other|
|00000b10| 20 21 3d 20 4c 65 76 65 | 6c 20 29 20 0d 0a 09 7b | != Leve|l ) ...{|
|00000b20| 0d 0a 09 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |....retu|rn false|
|00000b30| 3b 0d 0a 09 7d 0d 0a 0d | 0a 09 53 74 61 72 74 4c |;...}...|..StartL|
|00000b40| 6f 63 61 74 69 6f 6e 20 | 3d 20 48 69 74 4c 6f 63 |ocation |= HitLoc|
|00000b50| 61 74 69 6f 6e 3b 0d 0a | 0d 0a 09 2f 2f 20 74 72 |ation;..|...// tr|
|00000b60| 61 63 65 20 61 63 72 6f | 73 73 20 74 68 65 20 72 |ace acro|ss the r|
|00000b70| 6f 6f 6d 0d 0a 09 45 6e | 64 54 72 61 63 65 20 3d |oom...En|dTrace =|
|00000b80| 20 53 74 61 72 74 4c 6f | 63 61 74 69 6f 6e 20 2b | StartLo|cation +|
|00000b90| 20 54 72 61 63 65 44 69 | 73 74 61 6e 63 65 20 2a | TraceDi|stance *|
|00000ba0| 20 53 74 61 72 74 4e 6f | 72 6d 61 6c 3b 0d 0a 09 | StartNo|rmal;...|
|00000bb0| 4f 74 68 65 72 20 3d 20 | 54 72 61 63 65 28 20 48 |Other = |Trace( H|
|00000bc0| 69 74 4c 6f 63 61 74 69 | 6f 6e 2c 20 48 69 74 4e |itLocati|on, HitN|
|00000bd0| 6f 72 6d 61 6c 2c 20 45 | 6e 64 54 72 61 63 65 2c |ormal, E|ndTrace,|
|00000be0| 20 53 74 61 72 74 4c 6f | 63 61 74 69 6f 6e 2c 20 | StartLo|cation, |
|00000bf0| 74 72 75 65 20 29 3b 0d | 0a 0d 0a 09 69 66 28 20 |true );.|....if( |
|00000c00| 4f 74 68 65 72 20 21 3d | 20 4c 65 76 65 6c 20 29 |Other !=| Level )|
|00000c10| 20 0d 0a 09 7b 0d 0a 09 | 09 72 65 74 75 72 6e 20 | ...{...|.return |
|00000c20| 66 61 6c 73 65 3b 0d 0a | 09 7d 0d 0a 0d 0a 09 46 |false;..|.}.....F|
|00000c30| 6c 6f 6f 72 20 3d 20 53 | 74 61 72 74 4c 6f 63 61 |loor = S|tartLoca|
|00000c40| 74 69 6f 6e 3b 0d 0a 09 | 57 61 6c 6c 53 74 6f 70 |tion;...|WallStop|
|00000c50| 20 3d 20 48 69 74 4c 6f | 63 61 74 69 6f 6e 3b 0d | = HitLo|cation;.|
|00000c60| 0a 09 57 61 6c 6c 53 74 | 6f 70 2e 7a 20 3d 20 46 |..WallSt|op.z = F|
|00000c70| 6c 6f 6f 72 2e 7a 3b 0d | 0a 0d 0a 09 57 69 64 74 |loor.z;.|....Widt|
|00000c80| 68 20 3d 20 56 53 69 7a | 65 28 20 46 6c 6f 6f 72 |h = VSiz|e( Floor|
|00000c90| 20 2d 20 57 61 6c 6c 53 | 74 6f 70 20 29 3b 0d 0a | - WallS|top );..|
|00000ca0| 0d 0a 09 2f 2f 20 4e 6f | 77 20 6c 65 74 27 73 20 |...// No|w let's |
|00000cb0| 63 68 65 63 6b 20 74 68 | 65 20 68 65 69 67 68 74 |check th|e height|
|00000cc0| 20 66 6f 72 20 65 61 63 | 68 20 6f 66 20 74 68 65 | for eac|h of the|
|00000cd0| 20 73 6c 61 62 73 20 61 | 6e 64 20 66 69 6e 64 20 | slabs a|nd find |
|00000ce0| 74 68 65 20 6c 6f 77 65 | 73 74 20 70 6f 69 6e 74 |the lowe|st point|
|00000cf0| 0d 0a 09 53 6c 61 62 57 | 69 64 74 68 20 3d 20 53 |...SlabW|idth = S|
|00000d00| 6c 61 62 43 6c 61 73 73 | 2e 64 65 66 61 75 6c 74 |labClass|.default|
|00000d10| 2e 53 6c 61 62 57 69 64 | 74 68 3b 0d 0a 09 4e 75 |.SlabWid|th;...Nu|
|00000d20| 6d 53 6c 61 62 73 20 3d | 20 57 69 64 74 68 20 2f |mSlabs =| Width /|
|00000d30| 20 53 6c 61 62 57 69 64 | 74 68 20 2b 20 31 3b 0d | SlabWid|th + 1;.|
|00000d40| 0a 09 69 66 28 20 4e 75 | 6d 53 6c 61 62 73 20 3e |..if( Nu|mSlabs >|
|00000d50| 20 4d 61 78 53 6c 61 62 | 73 20 29 20 0d 0a 09 7b | MaxSlab|s ) ...{|
|00000d60| 0d 0a 09 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |....retu|rn false|
|00000d70| 3b 0d 0a 09 7d 0d 0a 0d | 0a 09 53 6c 61 62 4c 6f |;...}...|..SlabLo|
|00000d80| 63 61 74 69 6f 6e 20 3d | 20 53 74 61 72 74 4c 6f |cation =| StartLo|
|00000d90| 63 61 74 69 6f 6e 20 2b | 20 28 20 53 6c 61 62 57 |cation +| ( SlabW|
|00000da0| 69 64 74 68 20 2f 20 32 | 20 29 20 2a 20 53 74 61 |idth / 2| ) * Sta|
|00000db0| 72 74 4e 6f 72 6d 61 6c | 3b 0d 0a 0d 0a 09 66 6f |rtNormal|;.....fo|
|00000dc0| 72 28 20 69 20 3d 20 30 | 3b 20 69 20 3c 20 4e 75 |r( i = 0|; i < Nu|
|00000dd0| 6d 53 6c 61 62 73 3b 20 | 69 2b 2b 20 29 0d 0a 09 |mSlabs; |i++ )...|
|00000de0| 7b 0d 0a 09 09 53 6c 61 | 62 4c 6f 63 61 74 69 6f |{....Sla|bLocatio|
|00000df0| 6e 20 3d 20 53 6c 61 62 | 4c 6f 63 61 74 69 6f 6e |n = Slab|Location|
|00000e00| 20 2b 20 53 74 61 72 74 | 4e 6f 72 6d 61 6c 20 2a | + Start|Normal *|
|00000e10| 20 53 6c 61 62 57 69 64 | 74 68 3b 0d 0a 0d 0a 09 | SlabWid|th;.....|
|00000e20| 09 45 6e 64 54 72 61 63 | 65 20 3d 20 53 6c 61 62 |.EndTrac|e = Slab|
|00000e30| 4c 6f 63 61 74 69 6f 6e | 20 2b 20 54 72 61 63 65 |Location| + Trace|
|00000e40| 44 69 73 74 61 6e 63 65 | 20 2a 20 76 65 63 74 28 |Distance| * vect(|
|00000e50| 30 2c 20 30 2c 20 2d 31 | 29 3b 0d 0a 09 09 4f 74 |0, 0, -1|);....Ot|
|00000e60| 68 65 72 20 3d 20 54 72 | 61 63 65 28 20 48 69 74 |her = Tr|ace( Hit|
|00000e70| 4c 6f 63 61 74 69 6f 6e | 2c 20 48 69 74 4e 6f 72 |Location|, HitNor|
|00000e80| 6d 61 6c 2c 20 45 6e 64 | 54 72 61 63 65 2c 20 53 |mal, End|Trace, S|
|00000e90| 6c 61 62 4c 6f 63 61 74 | 69 6f 6e 2c 20 74 72 75 |labLocat|ion, tru|
|00000ea0| 65 20 29 3b 0d 0a 0d 0a | 09 09 69 66 28 20 4f 74 |e );....|..if( Ot|
|00000eb0| 68 65 72 20 21 3d 20 4c | 65 76 65 6c 20 26 26 20 |her != L|evel && |
|00000ec0| 21 53 61 6d 65 4c 6f 67 | 69 63 61 6c 41 63 74 6f |!SameLog|icalActo|
|00000ed0| 72 28 20 4f 74 68 65 72 | 20 29 20 29 20 0d 0a 09 |r( Other| ) ) ...|
|00000ee0| 09 7b 0d 0a 09 09 09 72 | 65 74 75 72 6e 20 66 61 |.{.....r|eturn fa|
|00000ef0| 6c 73 65 3b 0d 0a 09 09 | 7d 0d 0a 09 09 2f 2f 20 |lse;....|}....// |
|00000f00| 49 66 20 74 68 65 20 66 | 6c 6f 6f 72 20 64 6f 65 |If the f|loor doe|
|00000f10| 73 6e 27 74 20 6d 61 74 | 63 68 2c 20 64 6f 65 73 |sn't mat|ch, does|
|00000f20| 6e 27 74 20 75 73 65 20 | 69 74 2e 0d 0a 09 09 69 |n't use |it.....i|
|00000f30| 66 28 20 4f 74 68 65 72 | 20 3d 3d 20 4c 65 76 65 |f( Other| == Leve|
|00000f40| 6c 20 29 20 0d 0a 09 09 | 7b 20 0d 0a 09 09 09 69 |l ) ....|{ .....i|
|00000f50| 66 28 20 48 69 74 4c 6f | 63 61 74 69 6f 6e 2e 7a |f( HitLo|cation.z|
|00000f60| 20 3c 20 46 6c 6f 6f 72 | 2e 7a 20 2d 20 46 6c 6f | < Floor|.z - Flo|
|00000f70| 6f 72 54 6f 6c 65 72 61 | 6e 63 65 20 29 20 0d 0a |orTolera|nce ) ..|
|00000f80| 09 09 09 7b 0d 0a 09 09 | 09 09 72 65 74 75 72 6e |...{....|..return|
|00000f90| 20 66 61 6c 73 65 3b 0d | 0a 09 09 09 7d 0d 0a 09 | false;.|....}...|
|00000fa0| 09 7d 0d 0a 0d 0a 09 09 | 57 61 6c 6c 53 74 6f 70 |.}......|WallStop|
|00000fb0| 2e 7a 20 3d 20 6d 69 6e | 28 20 57 61 6c 6c 53 74 |.z = min|( WallSt|
|00000fc0| 6f 70 2e 7a 2c 20 48 69 | 74 4c 6f 63 61 74 69 6f |op.z, Hi|tLocatio|
|00000fd0| 6e 2e 7a 20 29 3b 0d 0a | 09 7d 0d 0a 0d 0a 09 53 |n.z );..|.}.....S|
|00000fe0| 74 61 72 74 4c 6f 63 61 | 74 69 6f 6e 2e 7a 20 3d |tartLoca|tion.z =|
|00000ff0| 20 57 61 6c 6c 53 74 6f | 70 2e 7a 20 2b 20 53 6c | WallSto|p.z + Sl|
|00001000| 61 62 43 6c 61 73 73 2e | 64 65 66 61 75 6c 74 2e |abClass.|default.|
|00001010| 43 6f 6c 6c 69 73 69 6f | 6e 48 65 69 67 68 74 20 |Collisio|nHeight |
|00001020| 2f 20 32 3b 0d 0a 0d 0a | 09 72 65 74 75 72 6e 20 |/ 2;....|.return |
|00001030| 74 72 75 65 3b 0d 0a 7d | 0d 0a 0d 0a 0d 0a 66 75 |true;..}|......fu|
|00001040| 6e 63 74 69 6f 6e 20 62 | 6f 6f 6c 20 44 65 70 6c |nction b|ool Depl|
|00001050| 6f 79 52 65 73 6f 75 72 | 63 65 28 20 76 65 63 74 |oyResour|ce( vect|
|00001060| 6f 72 20 53 74 61 72 74 | 4c 6f 63 61 74 69 6f 6e |or Start|Location|
|00001070| 2c 20 76 65 63 74 6f 72 | 20 53 74 61 72 74 4e 6f |, vector| StartNo|
|00001080| 72 6d 61 6c 20 29 0d 0a | 7b 0d 0a 20 20 20 20 6c |rmal )..|{.. l|
|00001090| 6f 63 61 6c 20 76 65 63 | 74 6f 72 20 20 20 20 48 |ocal vec|tor H|
|000010a0| 69 74 4c 6f 63 61 74 69 | 6f 6e 3b 0d 0a 20 20 20 |itLocati|on;.. |
|000010b0| 20 6c 6f 63 61 6c 20 76 | 65 63 74 6f 72 20 20 20 | local v|ector |
|000010c0| 20 48 69 74 4e 6f 72 6d | 61 6c 3b 0d 0a 20 20 20 | HitNorm|al;.. |
|000010d0| 20 6c 6f 63 61 6c 20 76 | 65 63 74 6f 72 20 20 20 | local v|ector |
|000010e0| 20 45 6e 64 54 72 61 63 | 65 3b 0d 0a 09 6c 6f 63 | EndTrac|e;...loc|
|000010f0| 61 6c 20 76 65 63 74 6f | 72 09 53 70 61 77 6e 4c |al vecto|r.SpawnL|
|00001100| 6f 63 61 74 69 6f 6e 3b | 0d 0a 20 20 20 20 6c 6f |ocation;|.. lo|
|00001110| 63 61 6c 20 41 63 74 6f | 72 20 20 20 20 20 4f 74 |cal Acto|r Ot|
|00001120| 68 65 72 3b 0d 0a 09 6c | 6f 63 61 6c 20 69 6e 74 |her;...l|ocal int|
|00001130| 09 09 57 69 64 74 68 3b | 0d 0a 09 6c 6f 63 61 6c |..Width;|...local|
|00001140| 20 69 6e 74 09 09 53 6c | 61 62 57 69 64 74 68 3b | int..Sl|abWidth;|
|00001150| 0d 0a 20 20 20 20 6c 6f | 63 61 6c 20 76 65 63 74 |.. lo|cal vect|
|00001160| 6f 72 20 20 20 20 58 2c | 20 59 2c 20 5a 3b 0d 0a |or X,| Y, Z;..|
|00001170| 20 20 20 20 6c 6f 63 61 | 6c 20 69 6e 74 20 20 20 | loca|l int |
|00001180| 20 20 20 20 4e 75 6d 53 | 6c 61 62 73 3b 0d 0a 09 | NumS|labs;...|
|00001190| 6c 6f 63 61 6c 20 57 61 | 6c 6c 53 6c 61 62 20 20 |local Wa|llSlab |
|000011a0| 53 6c 61 62 3b 0d 0a 09 | 6c 6f 63 61 6c 20 69 6e |Slab;...|local in|
|000011b0| 74 09 09 69 3b 0d 0a 0d | 0a 09 48 69 64 65 28 29 |t..i;...|..Hide()|
|000011c0| 3b 0d 0a 0d 0a 09 2f 2f | 20 53 74 61 72 74 4c 6f |;.....//| StartLo|
|000011d0| 63 61 74 69 6f 6e 20 43 | 68 61 6e 67 65 73 2e 2e |cation C|hanges..|
|000011e0| 2e 0d 0a 09 69 66 28 20 | 21 43 61 6c 63 4c 6f 63 |....if( |!CalcLoc|
|000011f0| 61 74 69 6f 6e 28 20 53 | 74 61 72 74 4c 6f 63 61 |ation( S|tartLoca|
|00001200| 74 69 6f 6e 2c 20 53 74 | 61 72 74 4e 6f 72 6d 61 |tion, St|artNorma|
|00001210| 6c 20 29 20 29 20 0d 0a | 09 7b 0d 0a 09 09 72 65 |l ) ) ..|.{....re|
|00001220| 74 75 72 6e 20 66 61 6c | 73 65 3b 0d 0a 09 7d 0d |turn fal|se;...}.|
|00001230| 0a 0d 0a 09 53 6c 61 62 | 57 69 64 74 68 20 3d 20 |....Slab|Width = |
|00001240| 53 6c 61 62 43 6c 61 73 | 73 2e 64 65 66 61 75 6c |SlabClas|s.defaul|
|00001250| 74 2e 53 6c 61 62 57 69 | 64 74 68 3b 0d 0a 09 0d |t.SlabWi|dth;....|
|00001260| 0a 09 57 69 64 74 68 20 | 3d 20 56 53 69 7a 65 28 |..Width |= VSize(|
|00001270| 20 46 6c 6f 6f 72 20 2d | 20 57 61 6c 6c 53 74 6f | Floor -| WallSto|
|00001280| 70 20 29 3b 0d 0a 09 4e | 75 6d 53 6c 61 62 73 20 |p );...N|umSlabs |
|00001290| 3d 20 57 69 64 74 68 20 | 2f 20 53 6c 61 62 57 69 |= Width |/ SlabWi|
|000012a0| 64 74 68 20 2b 20 31 3b | 0d 0a 09 69 66 28 20 4e |dth + 1;|...if( N|
|000012b0| 75 6d 53 6c 61 62 73 20 | 3e 20 4d 61 78 53 6c 61 |umSlabs |> MaxSla|
|000012c0| 62 73 20 29 20 0d 0a 09 | 7b 0d 0a 09 09 72 65 74 |bs ) ...|{....ret|
|000012d0| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 0a 09 7d 0d 0a |urn fals|e;...}..|
|000012e0| 0d 0a 09 2f 2f 20 45 76 | 65 6e 20 74 68 6f 75 67 |...// Ev|en thoug|
|000012f0| 68 20 74 68 65 20 57 61 | 6c 6c 20 69 74 73 65 6c |h the Wa|ll itsel|
|00001300| 66 20 69 73 6e 27 74 20 | 73 65 65 6e 2c 20 69 74 |f isn't |seen, it|
|00001310| 73 20 63 6f 6f 72 64 69 | 6e 61 74 65 73 20 61 72 |s coordi|nates ar|
|00001320| 65 20 75 73 65 64 20 62 | 79 20 74 68 65 0d 0a 09 |e used b|y the...|
|00001330| 2f 2f 20 43 69 74 61 64 | 65 6c 20 45 64 69 74 69 |// Citad|el Editi|
|00001340| 6e 67 20 63 6f 64 65 20 | 74 6f 20 73 74 6f 72 65 |ng code |to store|
|00001350| 20 77 68 65 72 65 20 74 | 68 65 20 74 72 61 70 20 | where t|he trap |
|00001360| 73 68 6f 75 6c 64 20 62 | 65 20 70 6c 61 63 65 64 |should b|e placed|
|00001370| 2e 0d 0a 09 53 65 74 4c | 6f 63 61 74 69 6f 6e 28 |....SetL|ocation(|
|00001380| 20 53 74 61 72 74 4c 6f | 63 61 74 69 6f 6e 20 29 | StartLo|cation )|
|00001390| 3b 0d 0a 0d 0a 09 66 6f | 72 28 20 69 3d 30 3b 20 |;.....fo|r( i=0; |
|000013a0| 69 20 3c 20 4e 75 6d 53 | 6c 61 62 73 3b 20 69 2b |i < NumS|labs; i+|
|000013b0| 2b 20 29 20 7b 0d 0a 09 | 09 2f 2f 20 55 73 65 20 |+ ) {...|.// Use |
|000013c0| 74 68 65 20 66 6c 6f 6f | 72 2c 20 6e 6f 74 20 74 |the floo|r, not t|
|000013d0| 68 65 20 63 65 6e 74 65 | 72 20 6f 66 20 74 68 65 |he cente|r of the|
|000013e0| 20 77 61 6c 6c 20 73 6c | 61 62 2c 20 74 6f 20 61 | wall sl|ab, to a|
|000013f0| 63 63 6f 75 6e 74 20 66 | 6f 72 20 70 69 74 73 20 |ccount f|or pits |
|00001400| 74 6f 6f 2e 2e 0d 0a 09 | 09 69 66 28 20 41 6e 79 |too.....|.if( Any|
|00001410| 41 63 74 6f 72 73 49 6e | 41 72 65 61 28 20 46 6c |ActorsIn|Area( Fl|
|00001420| 6f 6f 72 20 2b 20 28 20 | 53 6c 61 62 57 69 64 74 |oor + ( |SlabWidt|
|00001430| 68 20 2f 20 32 20 2b 20 | 69 20 2a 20 53 6c 61 62 |h / 2 + |i * Slab|
|00001440| 57 69 64 74 68 20 29 20 | 2a 20 53 74 61 72 74 4e |Width ) |* StartN|
|00001450| 6f 72 6d 61 6c 2c 20 53 | 6c 61 62 57 69 64 74 68 |ormal, S|labWidth|
|00001460| 20 29 20 21 3d 20 4e 6f | 6e 65 20 29 20 0d 0a 09 | ) != No|ne ) ...|
|00001470| 09 7b 0d 0a 09 09 09 72 | 65 74 75 72 6e 20 66 61 |.{.....r|eturn fa|
|00001480| 6c 73 65 3b 0d 0a 09 09 | 7d 0d 0a 09 7d 0d 0a 0d |lse;....|}...}...|
|00001490| 0a 09 69 66 28 20 21 56 | 61 6c 69 64 61 74 65 54 |..if( !V|alidateT|
|000014a0| 72 61 70 28 29 20 29 0d | 0a 09 7b 0d 0a 09 09 72 |rap() ).|..{....r|
|000014b0| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 0a 09 7d |eturn fa|lse;...}|
|000014c0| 0d 0a 0d 0a 09 53 6c 61 | 62 57 69 64 74 68 20 3d |.....Sla|bWidth =|
|000014d0| 20 53 6c 61 62 43 6c 61 | 73 73 2e 64 65 66 61 75 | SlabCla|ss.defau|
|000014e0| 6c 74 2e 53 6c 61 62 57 | 69 64 74 68 3b 0d 0a 0d |lt.SlabW|idth;...|
|000014f0| 0a 09 53 70 61 77 6e 4c | 6f 63 61 74 69 6f 6e 20 |..SpawnL|ocation |
|00001500| 3d 20 53 74 61 72 74 4c | 6f 63 61 74 69 6f 6e 20 |= StartL|ocation |
|00001510| 2b 20 28 20 53 6c 61 62 | 57 69 64 74 68 20 2f 20 |+ ( Slab|Width / |
|00001520| 32 20 29 20 2a 20 53 74 | 61 72 74 4e 6f 72 6d 61 |2 ) * St|artNorma|
|00001530| 6c 3b 0d 0a 20 20 20 20 | 69 20 3d 20 30 3b 0d 0a |l;.. |i = 0;..|
|00001540| 0d 0a 09 2f 2f 20 46 69 | 72 73 74 20 75 73 65 20 |...// Fi|rst use |
|00001550| 65 78 69 73 74 69 6e 67 | 20 73 6c 61 62 73 0d 0a |existing| slabs..|
|00001560| 09 66 6f 72 65 61 63 68 | 20 41 6c 6c 41 63 74 6f |.foreach| AllActo|
|00001570| 72 73 28 20 63 6c 61 73 | 73 20 27 57 61 6c 6c 53 |rs( clas|s 'WallS|
|00001580| 6c 61 62 27 2c 20 53 6c | 61 62 20 29 20 0d 0a 09 |lab', Sl|ab ) ...|
|00001590| 7b 0d 0a 09 09 69 66 28 | 20 53 6c 61 62 2e 4f 77 |{....if(| Slab.Ow|
|000015a0| 6e 65 72 20 3d 3d 20 53 | 65 6c 66 20 29 0d 0a 09 |ner == S|elf )...|
|000015b0| 09 7b 0d 0a 09 09 09 69 | 66 28 20 69 20 3c 20 4e |.{.....i|f( i < N|
|000015c0| 75 6d 53 6c 61 62 73 20 | 29 20 0d 0a 09 09 09 7b |umSlabs |) .....{|
|000015d0| 0d 0a 09 09 09 09 53 6c | 61 62 2e 53 68 6f 77 28 |......Sl|ab.Show(|
|000015e0| 29 3b 0d 0a 09 09 09 09 | 53 6c 61 62 2e 53 6b 69 |);......|Slab.Ski|
|000015f0| 6e 20 3d 20 53 6c 61 62 | 2e 53 74 61 67 65 31 54 |n = Slab|.Stage1T|
|00001600| 65 78 74 75 72 65 3b 0d | 0a 09 09 09 09 53 6c 61 |exture;.|.....Sla|
|00001610| 62 2e 4d 6f 76 65 54 72 | 61 70 28 20 53 70 61 77 |b.MoveTr|ap( Spaw|
|00001620| 6e 4c 6f 63 61 74 69 6f | 6e 20 29 3b 0d 0a 09 09 |nLocatio|n );....|
|00001630| 09 09 53 6c 61 62 2e 53 | 65 74 52 6f 74 61 74 69 |..Slab.S|etRotati|
|00001640| 6f 6e 28 20 47 65 74 53 | 6c 61 62 52 6f 74 61 74 |on( GetS|labRotat|
|00001650| 69 6f 6e 28 20 69 2c 20 | 53 74 61 72 74 4e 6f 72 |ion( i, |StartNor|
|00001660| 6d 61 6c 20 29 20 29 3b | 0d 0a 09 09 09 09 53 6c |mal ) );|......Sl|
|00001670| 61 62 2e 41 6d 62 69 65 | 6e 74 47 6c 6f 77 20 3d |ab.Ambie|ntGlow =|
|00001680| 20 36 34 3b 0d 0a 0d 0a | 09 09 09 09 53 70 61 77 | 64;....|....Spaw|
|00001690| 6e 4c 6f 63 61 74 69 6f | 6e 20 3d 20 53 70 61 77 |nLocatio|n = Spaw|
|000016a0| 6e 4c 6f 63 61 74 69 6f | 6e 20 2b 20 53 74 61 72 |nLocatio|n + Star|
|000016b0| 74 4e 6f 72 6d 61 6c 20 | 2a 20 53 6c 61 62 57 69 |tNormal |* SlabWi|
|000016c0| 64 74 68 3b 0d 0a 0d 0a | 09 09 09 09 69 2b 2b 3b |dth;....|....i++;|
|000016d0| 0d 0a 09 09 09 7d 0d 0a | 09 09 7d 0d 0a 09 7d 0d |.....}..|..}...}.|
|000016e0| 0a 0d 0a 09 2f 2f 20 4e | 65 78 74 20 63 72 65 61 |....// N|ext crea|
|000016f0| 74 65 20 6e 65 77 20 73 | 6c 61 62 73 0d 0a 09 77 |te new s|labs...w|
|00001700| 68 69 6c 65 28 20 69 20 | 3c 20 4e 75 6d 53 6c 61 |hile( i |< NumSla|
|00001710| 62 73 20 29 0d 0a 09 7b | 0d 0a 20 20 20 20 09 53 |bs )...{|.. .S|
|00001720| 6c 61 62 20 3d 20 73 70 | 61 77 6e 28 20 53 6c 61 |lab = sp|awn( Sla|
|00001730| 62 43 6c 61 73 73 2c 20 | 53 65 6c 66 2c 20 2c 20 |bClass, |Self, , |
|00001740| 53 70 61 77 6e 4c 6f 63 | 61 74 69 6f 6e 20 29 3b |SpawnLoc|ation );|
|00001750| 0d 0a 20 20 20 20 09 69 | 66 28 20 53 6c 61 62 20 |.. .i|f( Slab |
|00001760| 3d 3d 20 4e 6f 6e 65 20 | 29 0d 0a 09 09 7b 0d 0a |== None |)....{..|
|00001770| 09 09 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |...retur|n true;.|
|00001780| 0a 09 09 7d 0d 0a 0d 0a | 09 09 53 6c 61 62 2e 53 |...}....|..Slab.S|
|00001790| 6b 69 6e 20 3d 20 53 6c | 61 62 2e 53 74 61 67 65 |kin = Sl|ab.Stage|
|000017a0| 31 54 65 78 74 75 72 65 | 3b 0d 0a 09 09 53 6c 61 |1Texture|;....Sla|
|000017b0| 62 2e 53 65 74 52 6f 74 | 61 74 69 6f 6e 28 20 47 |b.SetRot|ation( G|
|000017c0| 65 74 53 6c 61 62 52 6f | 74 61 74 69 6f 6e 28 20 |etSlabRo|tation( |
|000017d0| 69 2c 20 53 74 61 72 74 | 4e 6f 72 6d 61 6c 20 29 |i, Start|Normal )|
|000017e0| 20 29 3b 0d 0a 09 09 53 | 6c 61 62 2e 41 6d 62 69 | );....S|lab.Ambi|
|000017f0| 65 6e 74 47 6c 6f 77 20 | 3d 20 36 34 3b 0d 0a 09 |entGlow |= 64;...|
|00001800| 0d 0a 09 09 53 70 61 77 | 6e 4c 6f 63 61 74 69 6f |....Spaw|nLocatio|
|00001810| 6e 20 3d 20 53 70 61 77 | 6e 4c 6f 63 61 74 69 6f |n = Spaw|nLocatio|
|00001820| 6e 20 2b 20 53 74 61 72 | 74 4e 6f 72 6d 61 6c 20 |n + Star|tNormal |
|00001830| 2a 20 53 6c 61 62 57 69 | 64 74 68 3b 0d 0a 0d 0a |* SlabWi|dth;....|
|00001840| 09 09 69 2b 2b 3b 0d 0a | 09 7d 0d 0a 0d 0a 09 72 |..i++;..|.}.....r|
|00001850| 65 74 75 72 6e 20 56 61 | 6c 69 64 61 74 65 54 72 |eturn Va|lidateTr|
|00001860| 61 70 28 29 3b 0d 0a 7d | 0d 0a 0d 0a 66 75 6e 63 |ap();..}|....func|
|00001870| 74 69 6f 6e 20 72 6f 74 | 61 74 6f 72 20 47 65 74 |tion rot|ator Get|
|00001880| 53 6c 61 62 52 6f 74 61 | 74 69 6f 6e 28 20 69 6e |SlabRota|tion( in|
|00001890| 74 20 69 2c 20 76 65 63 | 74 6f 72 20 53 74 61 72 |t i, vec|tor Star|
|000018a0| 74 4e 6f 72 6d 61 6c 20 | 29 0d 0a 7b 0d 0a 09 6c |tNormal |)..{...l|
|000018b0| 6f 63 61 6c 20 72 6f 74 | 61 74 6f 72 20 52 6f 74 |ocal rot|ator Rot|
|000018c0| 3b 0d 0a 0d 0a 09 52 6f | 74 20 3d 20 72 6f 74 61 |;.....Ro|t = rota|
|000018d0| 74 6f 72 28 20 53 74 61 | 72 74 4e 6f 72 6d 61 6c |tor( Sta|rtNormal|
|000018e0| 20 29 3b 0d 0a 0d 0a 09 | 73 77 69 74 63 68 28 20 | );.....|switch( |
|000018f0| 69 20 25 20 34 20 29 0d | 0a 09 7b 0d 0a 09 63 61 |i % 4 ).|..{...ca|
|00001900| 73 65 20 30 3a 0d 0a 09 | 09 2f 2f 20 64 6f 20 6e |se 0:...|.// do n|
|00001910| 6f 74 68 69 6e 67 0d 0a | 09 09 62 72 65 61 6b 3b |othing..|..break;|
|00001920| 0d 0a 09 63 61 73 65 20 | 31 3a 0d 0a 09 09 52 6f |...case |1:....Ro|
|00001930| 74 2e 59 61 77 20 2b 3d | 20 31 36 33 38 34 3b 0d |t.Yaw +=| 16384;.|
|00001940| 0a 09 09 62 72 65 61 6b | 3b 0d 0a 09 63 61 73 65 |...break|;...case|
|00001950| 20 32 3a 0d 0a 09 09 52 | 6f 74 2e 59 61 77 20 2d | 2:....R|ot.Yaw -|
|00001960| 3d 20 31 36 33 38 34 3b | 0d 0a 09 09 62 72 65 61 |= 16384;|....brea|
|00001970| 6b 3b 09 09 09 0d 0a 09 | 63 61 73 65 20 33 3a 0d |k;......|case 3:.|
|00001980| 0a 09 09 52 6f 74 2e 59 | 61 77 20 2b 3d 20 28 20 |...Rot.Y|aw += ( |
|00001990| 32 20 2a 20 31 36 33 38 | 34 20 29 3b 0d 0a 09 09 |2 * 1638|4 );....|
|000019a0| 62 72 65 61 6b 3b 0d 0a | 09 7d 20 0d 0a 09 0d 0a |break;..|.} .....|
|000019b0| 09 52 6f 74 20 3d 20 4e | 6f 72 6d 61 6c 69 7a 65 |.Rot = N|ormalize|
|000019c0| 28 20 52 6f 74 20 29 3b | 0d 0a 0d 0a 09 72 65 74 |( Rot );|.....ret|
|000019d0| 75 72 6e 20 52 6f 74 3b | 0d 0a 7d 0d 0a 0d 0a 66 |urn Rot;|..}....f|
|000019e0| 75 6e 63 74 69 6f 6e 20 | 62 6f 6f 6c 20 52 65 6d |unction |bool Rem|
|000019f0| 6f 76 65 52 65 73 6f 75 | 72 63 65 28 29 0d 0a 7b |oveResou|rce()..{|
|00001a00| 0d 0a 09 6c 6f 63 61 6c | 20 57 61 6c 6c 53 6c 61 |...local| WallSla|
|00001a10| 62 20 57 3b 0d 0a 0d 0a | 09 69 66 28 20 62 4c 6f |b W;....|.if( bLo|
|00001a20| 63 6b 65 64 20 29 0d 0a | 09 7b 0d 0a 09 09 72 65 |cked )..|.{....re|
|00001a30| 74 75 72 6e 20 66 61 6c | 73 65 3b 0d 0a 09 7d 0d |turn fal|se;...}.|
|00001a40| 0a 0d 0a 09 66 6f 72 65 | 61 63 68 20 41 6c 6c 41 |....fore|ach AllA|
|00001a50| 63 74 6f 72 73 28 20 63 | 6c 61 73 73 20 27 57 61 |ctors( c|lass 'Wa|
|00001a60| 6c 6c 53 6c 61 62 27 2c | 20 57 20 29 20 0d 0a 09 |llSlab',| W ) ...|
|00001a70| 7b 0d 0a 09 09 69 66 28 | 20 57 2e 4f 77 6e 65 72 |{....if(| W.Owner|
|00001a80| 20 3d 3d 20 53 65 6c 66 | 20 29 0d 0a 09 09 7b 0d | == Self| )....{.|
|00001a90| 0a 09 09 09 57 2e 48 69 | 64 65 28 29 3b 0d 0a 09 |....W.Hi|de();...|
|00001aa0| 09 7d 0d 0a 09 7d 0d 0a | 0d 0a 09 72 65 74 75 72 |.}...}..|...retur|
|00001ab0| 6e 20 53 75 70 65 72 2e | 52 65 6d 6f 76 65 52 65 |n Super.|RemoveRe|
|00001ac0| 73 6f 75 72 63 65 28 29 | 3b 0d 0a 7d 0d 0a 0d 0a |source()|;..}....|
|00001ad0| 66 75 6e 63 74 69 6f 6e | 20 44 65 73 74 72 6f 79 |function| Destroy|
|00001ae0| 65 64 28 29 0d 0a 7b 0d | 0a 09 6c 6f 63 61 6c 20 |ed()..{.|..local |
|00001af0| 57 61 6c 6c 53 6c 61 62 | 20 57 3b 0d 0a 0d 0a 09 |WallSlab| W;.....|
|00001b00| 66 6f 72 65 61 63 68 20 | 41 6c 6c 41 63 74 6f 72 |foreach |AllActor|
|00001b10| 73 28 20 63 6c 61 73 73 | 20 27 57 61 6c 6c 53 6c |s( class| 'WallSl|
|00001b20| 61 62 27 2c 20 57 20 29 | 20 0d 0a 09 7b 0d 0a 09 |ab', W )| ...{...|
|00001b30| 09 69 66 28 20 57 2e 4f | 77 6e 65 72 20 3d 3d 20 |.if( W.O|wner == |
|00001b40| 53 65 6c 66 20 29 0d 0a | 09 09 7b 0d 0a 09 09 09 |Self )..|..{.....|
|00001b50| 57 2e 44 65 73 74 72 6f | 79 28 29 3b 0d 0a 09 09 |W.Destro|y();....|
|00001b60| 7d 0d 0a 09 7d 0d 0a 7d | 0d 0a 0d 0a 66 75 6e 63 |}...}..}|....func|
|00001b70| 74 69 6f 6e 20 54 61 6b | 65 44 61 6d 61 67 65 28 |tion Tak|eDamage(|
|00001b80| 69 6e 74 20 44 61 6d 61 | 67 65 2c 20 50 61 77 6e |int Dama|ge, Pawn|
|00001b90| 20 45 76 65 6e 74 49 6e | 73 74 69 67 61 74 6f 72 | EventIn|stigator|
|00001ba0| 2c 20 76 65 63 74 6f 72 | 20 48 69 74 4c 6f 63 61 |, vector| HitLoca|
|00001bb0| 74 69 6f 6e 2c 20 76 65 | 63 74 6f 72 20 4d 6f 6d |tion, ve|ctor Mom|
|00001bc0| 65 6e 74 75 6d 2c 20 6e | 61 6d 65 20 64 61 6d 61 |entum, n|ame dama|
|00001bd0| 67 65 54 79 70 65 29 0d | 0a 7b 0d 0a 7d 0d 0a 0d |geType).|.{..}...|
|00001be0| 0a 2f 2f 20 65 6e 64 20 | 6f 66 20 57 61 6c 6c 2e |.// end |of Wall.|
|00001bf0| 0d 0a 0d 0a 00 | |..... | |
+--------+-------------------------+-------------------------+--------+--------+