Compare commits
3 Commits
7dd6bfc40c
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 87dd8e1190 | |||
| 3bffb82560 | |||
| f181bf4de9 |
+25
-232
@@ -6,250 +6,43 @@
|
||||
"wad" ""
|
||||
// brush 0
|
||||
{
|
||||
( 112 -16 -48 ) ( 112 -15 -48 ) ( 112 -16 -47 ) 256_arcade_carpet -16 -16 0 0.3 0.3
|
||||
( 0 0 -48 ) ( 0 0 -47 ) ( 1 0 -48 ) 256_arcade_carpet 0 -16 0 0.3 0.3
|
||||
( 0 -16 -48 ) ( 1 -16 -48 ) ( 0 -15 -48 ) 256_arcade_carpet 0 16 0 0.3 0.3
|
||||
( 160 96 -32 ) ( 160 97 -32 ) ( 161 96 -32 ) 256_arcade_carpet 0 0 0 0.3 0.3
|
||||
( 160 112 -32 ) ( 161 112 -32 ) ( 160 112 -31 ) 256_arcade_carpet 0 -16 0 0.3 0.3
|
||||
( 192 96 -32 ) ( 192 96 -31 ) ( 192 97 -32 ) 256_arcade_carpet -16 -16 0 0.3 0.3
|
||||
( -80 -16 -32 ) ( -80 -15 -32 ) ( -80 -16 -31 ) 256_arcade_carpet 96 -16 0 0.2 0.2
|
||||
( -112 -16 -32 ) ( -112 -16 -31 ) ( -111 -16 -32 ) 256_arcade_carpet 80 -16 0 0.2 0.2
|
||||
( -112 -16 -32 ) ( -111 -16 -32 ) ( -112 -15 -32 ) 256_arcade_carpet 80 -96 0 0.2 0.2
|
||||
( 48 96 -16 ) ( 48 97 -16 ) ( 49 96 -16 ) 256_arcade_carpet 5.3333435 -57.379303 0 0.2 0.2
|
||||
( 48 112 -16 ) ( 49 112 -16 ) ( 48 112 -15 ) 256_arcade_carpet 80 -16 0 0.2 0.2
|
||||
( 80 96 -16 ) ( 80 96 -15 ) ( 80 97 -16 ) 256_arcade_carpet 96 -16 0 0.2 0.2
|
||||
}
|
||||
// brush 1
|
||||
{
|
||||
( 16 192 0 ) ( 16 112 -32 ) ( 16 112 -48 ) 256_cement_dirty_rough_wall 38.4 -50.06682 26.565052 0.3 0.3
|
||||
( 16 112 -32 ) ( 176 112 -32 ) ( 176 112 -48 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 16 192 0 ) ( 176 192 0 ) ( 176 112 -32 ) 256_cement_dirty_rough_wall 0 -8.470581 0 0.3 0.3
|
||||
( 176 112 -48 ) ( 176 192 -16 ) ( 16 192 -16 ) 256_cement_dirty_rough_wall 0 -8.470581 0 0.3 0.3
|
||||
( 176 192 -16 ) ( 176 192 0 ) ( 16 192 0 ) 256_cement_dirty_rough_wall 0 32 0 0.3 0.3
|
||||
( 176 112 -32 ) ( 176 192 0 ) ( 176 192 -16 ) 256_cement_dirty_rough_wall 38.4 -50.06682 26.565052 0.3 0.3
|
||||
( -48 0 4 ) ( -48 1 4 ) ( -48 0 5 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( 48 -16 -16 ) ( 47 -16 -16 ) ( 48 -16 -15 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( 48 -16 -16 ) ( 48 -15 -16 ) ( 47 -16 -16 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( -48 0 80 ) ( -49 0 80 ) ( -48 1 80 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( -48 0 4 ) ( -48 0 5 ) ( -49 0 4 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( 48 -16 -16 ) ( 48 -16 -15 ) ( 48 -15 -16 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
}
|
||||
// brush 2
|
||||
{
|
||||
( 16 192 0 ) ( 16 256 -16 ) ( 16 256 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 192 0 ) ( 16 192 -16 ) ( 16 192 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 256 -16 ) ( 16 192 -16 ) ( 176 192 -16 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 256 0 ) ( 16 192 0 ) ( 16 256 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 256 0 ) ( 16 256 -16 ) ( 176 256 -16 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 256 0 ) ( 176 192 -16 ) ( 176 192 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( -91.71281292110203 32 4 ) ( -91.21281292110203 32.86602540378445 4 ) ( -91.71281292110203 32 5 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( -30.430780618346965 -21.856406460551035 -16 ) ( -31.296806022131403 -21.356406460551035 -16 ) ( -30.430780618346965 -21.856406460551035 -15 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( -30.430780618346965 -21.856406460551035 -16 ) ( -29.930780618346965 -20.990381056766598 -16 ) ( -31.296806022131403 -21.356406460551035 -16 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( -105.56921938165303 40 80 ) ( -106.43524478543748 40.500000000000014 80 ) ( -105.06921938165303 40.86602540378446 80 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( -105.56921938165303 40 4 ) ( -105.56921938165303 40 5 ) ( -106.43524478543748 40.500000000000014 4 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( -44.28718707889798 -13.856406460551028 -16 ) ( -44.28718707889798 -13.856406460551028 -15 ) ( -43.78718707889798 -12.99038105676659 -16 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
}
|
||||
// brush 3
|
||||
{
|
||||
( 9.372583002030481 48 -32 ) ( 10.079689783217027 48.70710678118655 -32 ) ( 9.372583002030481 48 -31 ) __TB_empty 120.235504 0 0 0.3535534 0.25
|
||||
( 9.372583002030481 48 -32 ) ( 9.372583002030481 48 -31 ) ( 10.079689783217027 47.29289321881346 -32 ) __TB_empty 37.490334 0 0 0.35355338 0.25
|
||||
( 9.372583002030481 48 -32 ) ( 10.079689783217027 47.29289321881346 -32 ) ( 10.079689783217027 48.70710678118655 -32 ) __TB_empty 45.254833 34.27417 315 0.25 0.25
|
||||
( 54.62741699796952 48 0 ) ( 55.33452377915606 48.707106781186546 0 ) ( 55.33452377915606 47.29289321881345 0 ) __TB_empty 45.254833 34.27417 315 0.25 0.25
|
||||
( 54.62741699796952 48 -16 ) ( 54.62741699796952 48 -15 ) ( 55.33452377915606 48.707106781186546 -16 ) __TB_empty 56.23549 0 0 0.35355338 0.25
|
||||
( 54.62741699796952 48 -16 ) ( 55.33452377915606 47.29289321881345 -16 ) ( 54.62741699796952 48 -15 ) __TB_empty 7.764496 0 180 0.3535534 0.25
|
||||
}
|
||||
// brush 4
|
||||
{
|
||||
( 32 -16 -48 ) ( 32 -15 -48 ) ( 32 -16 -47 ) 256_arcade_carpet -16 -16 0 0.3 0.3
|
||||
( -80 0 -48 ) ( -80 0 -47 ) ( -79 0 -48 ) 256_arcade_carpet 80 -16 0 0.3 0.3
|
||||
( -80 -16 -48 ) ( -79 -16 -48 ) ( -80 -15 -48 ) 256_arcade_carpet 80 16 0 0.3 0.3
|
||||
( 80 96 -32 ) ( 80 97 -32 ) ( 81 96 -32 ) 256_arcade_carpet 5.3333435 0 0 0.3 0.3
|
||||
( 80 112 -32 ) ( 81 112 -32 ) ( 80 112 -31 ) 256_arcade_carpet 80 -16 0 0.3 0.3
|
||||
( 112 96 -32 ) ( 112 96 -31 ) ( 112 97 -32 ) 256_arcade_carpet -16 -16 0 0.3 0.3
|
||||
}
|
||||
// brush 5
|
||||
{
|
||||
( -48 -16 -48 ) ( -48 -15 -48 ) ( -48 -16 -47 ) 256_arcade_carpet -16 -16 0 0.3 0.3
|
||||
( -160 0 -48 ) ( -160 0 -47 ) ( -159 0 -48 ) 256_arcade_carpet 32 -16 0 0.3 0.3
|
||||
( -160 -16 -48 ) ( -159 -16 -48 ) ( -160 -15 -48 ) 256_arcade_carpet 32 16 0 0.3 0.3
|
||||
( 0 96 -32 ) ( 0 97 -32 ) ( 1 96 -32 ) 256_arcade_carpet 160 117.33331 0 0.3 0.3
|
||||
( 0 112 -32 ) ( 1 112 -32 ) ( 0 112 -31 ) 256_arcade_carpet 32 -16 0 0.3 0.3
|
||||
( 32 96 -32 ) ( 32 96 -31 ) ( 32 97 -32 ) 256_arcade_carpet -16 -16 0 0.3 0.3
|
||||
}
|
||||
// brush 6
|
||||
{
|
||||
( 112 -16 96 ) ( 112 -16 95 ) ( 112 -15 96 ) 256_cement_dirty_rough_wall 64 16 270 0.3 0.3
|
||||
( 0 -16 96 ) ( 1 -16 96 ) ( 0 -16 95 ) 256_cement_dirty_rough_wall 0 -64 0 0.3 0.3
|
||||
( 160 0 -32 ) ( 161 0 -32 ) ( 160 1 -32 ) 256_cement_dirty_rough_wall 0 16 0 0.3 0.3
|
||||
( 0 -16 80 ) ( 0 -15 80 ) ( 1 -16 80 ) 256_cement_dirty_rough_wall 0 16 0 0.3 0.3
|
||||
( 160 0 -16 ) ( 160 0 -17 ) ( 161 0 -16 ) 256_cement_dirty_rough_wall -127.99999 -4.413788 0 0.3 0.3
|
||||
( 192 0 -16 ) ( 192 1 -16 ) ( 192 0 -17 ) 256_cement_dirty_rough_wall 64 16 270 0.3 0.3
|
||||
}
|
||||
// brush 7
|
||||
{
|
||||
( 192 48 -16 ) ( 192 48 -17 ) ( 192 49 -16 ) 256_cement_dirty_rough_wall -69.33332 -4.413788 0 0.3 0.3
|
||||
( 208 0 96 ) ( 208 0 95 ) ( 207 0 96 ) 256_cement_dirty_rough_wall 64 -48 270 0.3 0.3
|
||||
( 192 48 -32 ) ( 192 49 -32 ) ( 191 48 -32 ) 256_cement_dirty_rough_wall -16 -48 90 0.3 0.3
|
||||
( 208 -112 80 ) ( 207 -112 80 ) ( 208 -111 80 ) 256_cement_dirty_rough_wall -16 -48 90 0.3 0.3
|
||||
( 192 80 -16 ) ( 191 80 -16 ) ( 192 80 -17 ) 256_cement_dirty_rough_wall 64 -48 270 0.3 0.3
|
||||
( 208 -112 96 ) ( 208 -111 96 ) ( 208 -112 95 ) 256_cement_dirty_rough_wall -16 -64 0 0.3 0.3
|
||||
}
|
||||
// brush 8
|
||||
{
|
||||
( -48 -128 -48 ) ( -48 -127 -48 ) ( -48 -128 -47 ) 256_arcade_carpet 96 -16 0 0.2 0.2
|
||||
( -80 -112 -48 ) ( -80 -112 -47 ) ( -79 -112 -48 ) 256_arcade_carpet 80 -16 0 0.2 0.2
|
||||
( -80 -128 -48 ) ( -79 -128 -48 ) ( -80 -127 -48 ) 256_arcade_carpet 80 -96 0 0.2 0.2
|
||||
( 80 -16 -32 ) ( 80 -15 -32 ) ( 81 -16 -32 ) 256_arcade_carpet 5.3333435 -57.379303 0 0.2 0.2
|
||||
( 80 0 -32 ) ( 81 0 -32 ) ( 80 0 -31 ) 256_arcade_carpet 80 -16 0 0.2 0.2
|
||||
( 112 -16 -32 ) ( 112 -16 -31 ) ( 112 -15 -32 ) 256_arcade_carpet 96 -16 0 0.2 0.2
|
||||
}
|
||||
// brush 9
|
||||
{
|
||||
( -48 -240 -48 ) ( -48 -239 -48 ) ( -48 -240 -47 ) 256_arcade_carpet 80 -16 0 0.1 0.1
|
||||
( -80 -416 -48 ) ( -80 -416 -47 ) ( -79 -416 -48 ) 256_arcade_carpet 80 -16 0 0.1 0.1
|
||||
( -80 -240 -48 ) ( -79 -240 -48 ) ( -80 -239 -48 ) 256_arcade_carpet 80 -80 0 0.1 0.1
|
||||
( 80 -128 -32 ) ( 80 -127 -32 ) ( 81 -128 -32 ) 256_arcade_carpet 5.3333435 13.241394 0 0.1 0.1
|
||||
( 80 -112 -32 ) ( 81 -112 -32 ) ( 80 -112 -31 ) 256_arcade_carpet 80 -16 0 0.1 0.1
|
||||
( 208 -128 -32 ) ( 208 -128 -31 ) ( 208 -127 -32 ) 256_arcade_carpet 80 -16 0 0.1 0.1
|
||||
}
|
||||
// brush 10
|
||||
{
|
||||
( 85.21224617320368 -369.94112549695416 96 ) ( 85.21224617320368 -369.94112549695416 95 ) ( 85.47106521830621 -368.9751996706651 96 ) 256_cement_dirty_rough_wall 64 -94.99124 270 0.3 0.3
|
||||
( -22.971446371171922 -340.95339244547165 96 ) ( -22.005520544882856 -341.21221149057413 96 ) ( -22.971446371171922 -340.95339244547165 95 ) 256_cement_dirty_rough_wall 23.781784 -64 0 0.3 0.3
|
||||
( 135.7177905567193 -366.90962644125017 -32 ) ( 136.68371638300835 -367.16844548635265 -32 ) ( 135.9766096018218 -365.9437006149611 -32 ) 256_cement_dirty_rough_wall -66.05652 -47.281128 345 0.3 0.3
|
||||
( -22.971446371171922 -340.95339244547165 80 ) ( -22.712627326069395 -339.9874666191826 80 ) ( -22.005520544882856 -341.21221149057413 80 ) 256_cement_dirty_rough_wall -66.05652 -47.281128 345 0.3 0.3
|
||||
( 135.7177905567193 -366.90962644125017 -16 ) ( 135.7177905567193 -366.90962644125017 -17 ) ( 136.68371638300835 -367.16844548635265 -16 ) 256_cement_dirty_rough_wall -95.50898 -4.413788 0 0.3 0.3
|
||||
( 166.62741699796948 -375.19183588453086 -16 ) ( 166.886236043072 -374.22591005824177 -16 ) ( 166.62741699796948 -375.19183588453086 -17 ) 256_cement_dirty_rough_wall 64 -116.427185 270 0.3 0.3
|
||||
}
|
||||
// brush 11
|
||||
{
|
||||
( 179.05073116289054 -328.8273962226556 -16 ) ( 179.05073116289054 -328.8273962226556 -17 ) ( 179.30955020799308 -327.86147039636654 -16 ) 256_cement_dirty_rough_wall 66.04529 -4.413788 0 0.3 0.3
|
||||
( 182.08223021859456 -379.33294060617123 96 ) ( 182.08223021859456 -379.33294060617123 95 ) ( 181.1163043923055 -379.0741215610687 96 ) 256_cement_dirty_rough_wall 64 -28.505402 270 0.3 0.3
|
||||
( 179.05073116289054 -328.8273962226556 -32 ) ( 179.30955020799308 -327.86147039636654 -32 ) ( 178.08480533660148 -328.5685771775531 -32 ) 256_cement_dirty_rough_wall 47.281128 -114.05652 75 0.3 0.3
|
||||
( 153.09449716711205 -487.5166331505468 80 ) ( 152.128571340823 -487.25781410544425 80 ) ( 153.35331621221457 -486.55070732425776 80 ) 256_cement_dirty_rough_wall 47.281128 -114.05652 75 0.3 0.3
|
||||
( 187.33294060617126 -297.9177697814054 -16 ) ( 186.3670147798822 -297.65895073630287 -16 ) ( 187.33294060617126 -297.9177697814054 -17 ) 256_cement_dirty_rough_wall 64 -49.94133 270 0.3 0.3
|
||||
( 153.09449716711205 -487.5166331505468 96 ) ( 153.35331621221457 -486.55070732425776 96 ) ( 153.09449716711205 -487.5166331505468 95 ) 256_cement_dirty_rough_wall 120.714355 -64 0 0.3 0.3
|
||||
}
|
||||
// brush 12
|
||||
{
|
||||
( 35.31370849898467 -346.71213603437275 96 ) ( 35.31370849898467 -346.71213603437275 95 ) ( 34.60660171779813 -346.0050292531862 96 ) 256_cement_dirty_rough_wall 64 -74.32501 270 0.3 0.3
|
||||
( 57.941125496954285 -301.4573020384338 -16 ) ( 57.941125496954285 -301.4573020384338 -17 ) ( 58.64823227814084 -300.75019525724724 -16 ) 256_cement_dirty_rough_wall 81.208374 -4.413788 0 0.3 0.3
|
||||
( 57.941125496954285 -301.4573020384338 -32 ) ( 58.64823227814084 -300.75019525724724 -32 ) ( 57.23401871576773 -300.75019525724724 -32 ) 256_cement_dirty_rough_wall -51.80806 -110.13306 45 0.3 0.3
|
||||
( -43.882250993908826 -425.9080955272659 80 ) ( -44.58935777509535 -425.20098874607936 80 ) ( -43.1751442127223 -425.20098874607936 80 ) 256_cement_dirty_rough_wall -51.80806 -110.13306 45 0.3 0.3
|
||||
( 80.56854249492386 -278.8298850404643 -16 ) ( 79.86143571373732 -278.12277825927777 -16 ) ( 80.56854249492386 -278.8298850404643 -17 ) 256_cement_dirty_rough_wall 64 -122.32501 270 0.3 0.3
|
||||
( -43.882250993908826 -425.9080955272659 96 ) ( -43.1751442127223 -425.20098874607936 96 ) ( -43.882250993908826 -425.9080955272659 95 ) 256_cement_dirty_rough_wall 90.32501 -64 0 0.3 0.3
|
||||
}
|
||||
// brush 13
|
||||
{
|
||||
( -43.88225099390854 -290.14359353944883 96 ) ( -43.88225099390854 -290.14359353944883 95 ) ( -43.17514421272199 -289.4364867582623 96 ) 256_cement_dirty_rough_wall 64 -122.32501 270 0.3 0.3
|
||||
( -123.07821048680171 -210.94763404655532 96 ) ( -122.37110370561516 -211.65474082774185 96 ) ( -123.07821048680171 -210.94763404655532 95 ) 256_cement_dirty_rough_wall 46.058876 -64 0 0.3 0.3
|
||||
( 1.3725830020304528 -312.7710105374185 -32 ) ( 2.079689783216992 -313.478117318605 -32 ) ( 2.0796897832169776 -312.06390375623187 -32 ) 256_cement_dirty_rough_wall -62.13307 51.80806 315 0.3 0.3
|
||||
( -123.07821048680171 -210.94763404655532 80 ) ( -122.37110370561516 -210.2405272653688 80 ) ( -122.37110370561516 -211.65474082774185 80 ) 256_cement_dirty_rough_wall -62.13307 51.80806 315 0.3 0.3
|
||||
( 1.3725830020304528 -312.7710105374185 -16 ) ( 1.3725830020304528 -312.7710105374185 -17 ) ( 2.079689783216992 -313.478117318605 -16 ) 256_cement_dirty_rough_wall 7.4314566 -4.413788 0 0.3 0.3
|
||||
( 24 -335.398427535388 -16 ) ( 24.707106781186496 -334.69132075420146 -16 ) ( 24 -335.398427535388 -17 ) 256_cement_dirty_rough_wall 64 -74.32501 270 0.3 0.3
|
||||
}
|
||||
// brush 14
|
||||
{
|
||||
( 157.45730203843385 -150.05887450304573 -16 ) ( 157.45730203843385 -150.05887450304573 -17 ) ( 156.7501952572473 -149.35176772185918 -16 ) 256_cement_dirty_rough_wall -19.641144 -4.413788 0 0.3 0.3
|
||||
( 134.82988504046438 -127.43145750507611 -16 ) ( 134.12277825927782 -128.13856428626266 -16 ) ( 134.82988504046438 -127.43145750507611 -17 ) 256_cement_dirty_rough_wall 64 68.2153 270 0.3 0.3
|
||||
( 157.45730203843385 -150.05887450304573 -32 ) ( 156.7501952572473 -149.35176772185918 -32 ) ( 156.7501952572473 -150.76598128423228 -32 ) 256_cement_dirty_rough_wall 121.44678 10.768529 135 0.3 0.3
|
||||
( 281.9080955272659 -251.88225099390885 80 ) ( 281.20098874607936 -252.58935777509538 80 ) ( 281.20098874607936 -251.17514421272233 80 ) 256_cement_dirty_rough_wall 121.44678 10.768529 135 0.3 0.3
|
||||
( 281.9080955272659 -251.88225099390885 96 ) ( 281.20098874607936 -251.17514421272233 96 ) ( 281.9080955272659 -251.88225099390885 95 ) 256_cement_dirty_rough_wall 14.678253 -64 180 0.3 0.3
|
||||
( 202.71213603437275 -172.68629150101532 96 ) ( 202.71213603437275 -172.68629150101532 95 ) ( 202.0050292531862 -173.39339828220187 96 ) 256_cement_dirty_rough_wall 64 20.215332 270 0.3 0.3
|
||||
}
|
||||
// brush 15
|
||||
{
|
||||
( 128.20246804249456 -210.78775382679612 96 ) ( 128.20246804249456 -210.78775382679612 95 ) ( 127.94364899739205 -209.82182800050708 96 ) 256_cement_dirty_rough_wall 64 69.77646 270 0.3 0.3
|
||||
( 170.42580298272964 -182.90962644125017 -16 ) ( 170.42580298272964 -182.90962644125017 -17 ) ( 171.39172880901867 -182.6508073961476 -16 ) 256_cement_dirty_rough_wall -27.396317 -4.413788 0 0.3 0.3
|
||||
( 170.42580298272964 -182.90962644125017 -32 ) ( 171.39172880901867 -182.6508073961476 -32 ) ( 170.16698393762704 -181.94370061496107 -32 ) 256_cement_dirty_rough_wall -85.27817 -76.786575 15.000003 0.3 0.3
|
||||
( 20.018775498118814 -239.77548687827812 80 ) ( 19.75995645301633 -238.80956105198902 80 ) ( 20.98470132440788 -239.51666783317557 80 ) 256_cement_dirty_rough_wall -85.27817 -76.786575 15.000003 0.3 0.3
|
||||
( 20.018775498118814 -239.77548687827812 96 ) ( 20.98470132440788 -239.51666783317557 96 ) ( 20.018775498118814 -239.77548687827812 95 ) 256_cement_dirty_rough_wall -20.72496 -64 0 0.3 0.3
|
||||
( 201.3354294239798 -174.6274169979695 -16 ) ( 201.07661037887726 -173.66149117168047 -16 ) ( 201.3354294239798 -174.6274169979695 -17 ) 256_cement_dirty_rough_wall 64 91.21239 270 0.3 0.3
|
||||
}
|
||||
// brush 16
|
||||
{
|
||||
( -16 192 0 ) ( -16 256 -16 ) ( -16 256 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 16 192 0 ) ( -144 192 -16 ) ( -144 192 0 ) 256_cement_dirty_rough_wall 32 0 0 0.3 0.3
|
||||
( 16 256 -16 ) ( -144 192 -16 ) ( 16 192 -16 ) 256_cement_dirty_rough_wall 32 0 0 0.3 0.3
|
||||
( 16 256 4 ) ( -144 192 4 ) ( -144 256 4 ) 256_cement_dirty_rough_wall 32 0 0 0.3 0.3
|
||||
( 16 256 0 ) ( -144 256 -16 ) ( 16 256 -16 ) 256_cement_dirty_rough_wall 32 0 0 0.3 0.3
|
||||
( 16 256 0 ) ( 16 192 -16 ) ( 16 192 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
}
|
||||
// brush 17
|
||||
{
|
||||
( -48 192 0 ) ( -48 256 -16 ) ( -48 256 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( -16 192 0 ) ( -176 192 -16 ) ( -176 192 0 ) 256_cement_dirty_rough_wall 64 0 0 0.3 0.3
|
||||
( -16 256 -16 ) ( -176 192 -16 ) ( -16 192 -16 ) 256_cement_dirty_rough_wall 64 0 0 0.3 0.3
|
||||
( -16 256 12 ) ( -176 192 12 ) ( -176 256 12 ) 256_cement_dirty_rough_wall 64 0 0 0.3 0.3
|
||||
( -16 256 0 ) ( -176 256 -16 ) ( -16 256 -16 ) 256_cement_dirty_rough_wall 64 0 0 0.3 0.3
|
||||
( -16 256 0 ) ( -16 192 -16 ) ( -16 192 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
}
|
||||
// brush 18
|
||||
{
|
||||
( -80 192 0 ) ( -80 256 -16 ) ( -80 256 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( -48 192 0 ) ( -208 192 -16 ) ( -208 192 0 ) 256_cement_dirty_rough_wall 96 0 0 0.3 0.3
|
||||
( -48 256 -16 ) ( -208 192 -16 ) ( -48 192 -16 ) 256_cement_dirty_rough_wall 96 0 0 0.3 0.3
|
||||
( -48 256 24 ) ( -208 192 24 ) ( -208 256 24 ) 256_cement_dirty_rough_wall 96 0 0 0.3 0.3
|
||||
( -48 256 0 ) ( -208 256 -16 ) ( -48 256 -16 ) 256_cement_dirty_rough_wall 96 0 0 0.3 0.3
|
||||
( -48 256 0 ) ( -48 192 -16 ) ( -48 192 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
}
|
||||
// brush 19
|
||||
{
|
||||
( -112 192 0 ) ( -112 256 -16 ) ( -112 256 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( -80 192 0 ) ( -240 192 -16 ) ( -240 192 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( -80 256 -16 ) ( -240 192 -16 ) ( -80 192 -16 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( -80 256 40 ) ( -240 192 40 ) ( -240 256 40 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( -80 256 0 ) ( -240 256 -16 ) ( -80 256 -16 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( -80 256 0 ) ( -80 192 -16 ) ( -80 192 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
}
|
||||
// brush 20
|
||||
{
|
||||
( -144 192 0 ) ( -144 256 -16 ) ( -144 256 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( -112 192 0 ) ( -272 192 -16 ) ( -272 192 0 ) 256_cement_dirty_rough_wall 32 0 0 0.3 0.3
|
||||
( -112 256 -16 ) ( -272 192 -16 ) ( -112 192 -16 ) 256_cement_dirty_rough_wall 32 0 0 0.3 0.3
|
||||
( -112 256 60 ) ( -272 192 60 ) ( -272 256 60 ) 256_cement_dirty_rough_wall 32 0 0 0.3 0.3
|
||||
( -112 256 0 ) ( -272 256 -16 ) ( -112 256 -16 ) 256_cement_dirty_rough_wall 32 0 0 0.3 0.3
|
||||
( -112 256 0 ) ( -112 192 -16 ) ( -112 192 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
}
|
||||
// brush 21
|
||||
{
|
||||
( -176 192 0 ) ( -176 256 -16 ) ( -176 256 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( -144 192 0 ) ( -304 192 -16 ) ( -304 192 0 ) 256_cement_dirty_rough_wall 64 0 0 0.3 0.3
|
||||
( -144 256 -16 ) ( -304 192 -16 ) ( -144 192 -16 ) 256_cement_dirty_rough_wall 64 0 0 0.3 0.3
|
||||
( -144 256 84 ) ( -304 192 84 ) ( -304 256 84 ) 256_cement_dirty_rough_wall 64 0 0 0.3 0.3
|
||||
( -144 256 0 ) ( -304 256 -16 ) ( -144 256 -16 ) 256_cement_dirty_rough_wall 64 0 0 0.3 0.3
|
||||
( -144 256 0 ) ( -144 192 -16 ) ( -144 192 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
}
|
||||
// brush 22
|
||||
{
|
||||
( 16 352 64 ) ( 16 256 0 ) ( 16 256 -16 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 16 256 0 ) ( 176 256 0 ) ( 176 256 -16 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 16 352 64 ) ( 176 352 64 ) ( 176 256 0 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 256 -16 ) ( 176 352 48 ) ( 16 352 48 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 352 48 ) ( 176 352 64 ) ( 16 352 64 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 256 0 ) ( 176 352 64 ) ( 176 352 48 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
}
|
||||
// brush 23
|
||||
{
|
||||
( 16 352 64 ) ( 16 464 48 ) ( 16 464 64 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 352 64 ) ( 16 352 48 ) ( 16 352 64 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 464 48 ) ( 16 352 48 ) ( 176 352 48 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 464 64 ) ( 16 352 64 ) ( 16 464 64 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 464 64 ) ( 16 464 48 ) ( 176 464 48 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
( 176 464 64 ) ( 176 352 48 ) ( 176 352 64 ) 256_cement_dirty_rough_wall 0 0 0 0.3 0.3
|
||||
}
|
||||
// brush 24
|
||||
{
|
||||
( -240 -16 -48 ) ( -240 -15 -48 ) ( -240 -16 -47 ) 256_arcade_carpet_2 -16 -16 0 0.5 0.5
|
||||
( -240 0 -48 ) ( -240 0 -47 ) ( -239 0 -48 ) 256_arcade_carpet_2 42.666626 -16 0 0.5 0.5
|
||||
( -240 -16 -48 ) ( -239 -16 -48 ) ( -240 -15 -48 ) 256_arcade_carpet_2 42.666626 16 0 0.5 0.5
|
||||
( -80 96 -32 ) ( -80 97 -32 ) ( -79 96 -32 ) 256_arcade_carpet_2 0 0 0 0.5 0.5
|
||||
( -80 112 -32 ) ( -79 112 -32 ) ( -80 112 -31 ) 256_arcade_carpet_2 42.666626 -16 0 0.5 0.5
|
||||
( -48 96 -32 ) ( -48 96 -31 ) ( -48 97 -32 ) 256_arcade_carpet_2 -16 -16 0 0.5 0.5
|
||||
}
|
||||
// brush 25
|
||||
{
|
||||
( -240 -128 -48 ) ( -240 -127 -48 ) ( -240 -128 -47 ) 256_arcade_carpet_2 -16 -16 0 0.5 0.5
|
||||
( -240 -112 -48 ) ( -240 -112 -47 ) ( -239 -112 -48 ) 256_arcade_carpet_2 42.666626 -16 0 0.5 0.5
|
||||
( -240 -128 -48 ) ( -239 -128 -48 ) ( -240 -127 -48 ) 256_arcade_carpet_2 42.666626 16 0 0.5 0.5
|
||||
( -80 -16 -32 ) ( -80 -15 -32 ) ( -79 -16 -32 ) 256_arcade_carpet_2 0 0 0 0.5 0.5
|
||||
( -80 0 -32 ) ( -79 0 -32 ) ( -80 0 -31 ) 256_arcade_carpet_2 42.666626 -16 0 0.5 0.5
|
||||
( -48 -16 -32 ) ( -48 -16 -31 ) ( -48 -15 -32 ) 256_arcade_carpet_2 -16 -16 0 0.5 0.5
|
||||
}
|
||||
// brush 26
|
||||
{
|
||||
( -240 -240 -48 ) ( -240 -239 -48 ) ( -240 -240 -47 ) 256_arcade_carpet_2 -16 -16 0 0.5 0.5
|
||||
( -240 -224 -48 ) ( -240 -224 -47 ) ( -239 -224 -48 ) 256_arcade_carpet_2 42.666626 -16 0 0.5 0.5
|
||||
( -240 -240 -48 ) ( -239 -240 -48 ) ( -240 -239 -48 ) 256_arcade_carpet_2 42.666626 16 0 0.5 0.5
|
||||
( -80 -128 -32 ) ( -80 -127 -32 ) ( -79 -128 -32 ) 256_arcade_carpet_2 0 0 0 0.5 0.5
|
||||
( -80 -112 -32 ) ( -79 -112 -32 ) ( -80 -112 -31 ) 256_arcade_carpet_2 42.666626 -16 0 0.5 0.5
|
||||
( -48 -128 -32 ) ( -48 -128 -31 ) ( -48 -127 -32 ) 256_arcade_carpet_2 -16 -16 0 0.5 0.5
|
||||
( 36.28718707889797 0 4 ) ( 35.787187078897965 0.866025403784441 4 ) ( 36.28718707889797 0 5 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( 22.430780618346965 -8 4 ) ( 22.430780618346965 -8 5 ) ( 21.56475521456251 -8.499999999999979 4 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( 113.56921938165306 26.14359353944895 -16 ) ( 113.06921938165306 27.0096189432334 -16 ) ( 112.70319397786861 25.643593539448965 -16 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( 22.430780618346965 -8 80 ) ( 21.56475521456251 -8.499999999999979 80 ) ( 21.930780618346944 -7.1339745962155305 80 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( 113.56921938165306 26.14359353944895 -16 ) ( 112.70319397786861 25.643593539448965 -16 ) ( 113.56921938165306 26.14359353944895 -15 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
( 99.71281292110204 18.143593539448965 -16 ) ( 99.71281292110204 18.143593539448965 -15 ) ( 99.21281292110204 19.009618943233413 -16 ) 256_cement_dirty_rough_wall 0 0 0 1 1
|
||||
}
|
||||
}
|
||||
// entity 1
|
||||
{
|
||||
"classname" "info_player_start"
|
||||
"origin" "82 228 24"
|
||||
"origin" "2 52 8"
|
||||
}
|
||||
|
||||
@@ -8,6 +8,10 @@ https://opengameart.org/content/arcade-carpet-textures
|
||||
# Tutorials
|
||||
|
||||
## Blender
|
||||
|
||||
Blender UI Base Setup + Tips
|
||||
https://www.youtube.com/watch?v=sZeGW0otiJI
|
||||
|
||||
Rigging in PS1 Look:
|
||||
https://www.youtube.com/watch?v=puwu9hZmQYI
|
||||
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ fn prompt_for(mode: &Mode) -> &'static str {
|
||||
Mode::Dialog(d) if !d.choices.is_empty() => " wahl> ",
|
||||
Mode::Dialog(_) => " [Enter] ",
|
||||
Mode::Menu => "menü> ",
|
||||
Mode::Play => "spiel> ",
|
||||
Mode::FirstPerson => "spiel> ",
|
||||
Mode::Free => "> ",
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -339,7 +339,7 @@ impl App {
|
||||
// die Maus (relativer Blick); Menü/Dialog geben sie frei fürs UI. So
|
||||
// gibt es keine parallele Lock-Logik.
|
||||
let fly = matches!(self.session.mode, Mode::Free);
|
||||
let play = matches!(self.session.mode, Mode::Play);
|
||||
let play = matches!(self.session.mode, Mode::FirstPerson);
|
||||
let grab = fly || play;
|
||||
if grab != self.input.grabbed { self.set_grab(grab); }
|
||||
|
||||
|
||||
+1
-1
@@ -228,7 +228,7 @@ pub(crate) fn layout(internal: [f32; 2], fonts: &Fonts, session: &Session, cur:
|
||||
match &session.mode {
|
||||
// Spiel und Flycam: nur HUD/Cursor, kein Panel (beide laufen
|
||||
// ohnehin gefangen — dieser Zweig greift nur im Übergang).
|
||||
Mode::Play | Mode::Free => {}
|
||||
Mode::FirstPerson | Mode::Free => {}
|
||||
Mode::Menu => menu(&mut ui, f, internal, cur.pos, &mut hover),
|
||||
Mode::Dialog(d) => dialog(&mut ui, f, internal, d, cur.pos, &mut hover),
|
||||
}
|
||||
|
||||
+12
-46
@@ -1,22 +1,3 @@
|
||||
//! Session: der geteilte Anwendungszustand über allen Frontends.
|
||||
//!
|
||||
//! Es existiert genau eine `Session` pro Lauf. CLI und Fenster steuern
|
||||
//! dieselbe — das Fenster besitzt sie, die Terminal-Eingabe schickt nur
|
||||
//! Befehlszeilen hinein. Dadurch kann es keinen Mismatch geben: ein
|
||||
//! `Game`-Zustand, ein `Mode`, beide Frontends stellen ihn nur dar.
|
||||
//!
|
||||
//! Schicht: `engine ← session ← { cli, render }`. Die Session kennt kein
|
||||
//! Frontend — `exec` nimmt eine Befehlszeile und *gibt* Ausgabezeilen
|
||||
//! zurück (statt zu drucken), damit jedes Frontend sie frei darstellt
|
||||
//! (Terminal jetzt, In-Fenster-Konsole später).
|
||||
//!
|
||||
//! Die Session ist auch der alleinige Besitzer der **Lauf-Simulation**:
|
||||
//! `Player` und `CollisionWorld`. Sie hat zwei Eingabe-Tore — `exec` für
|
||||
//! diskrete Befehle/Dialog und `tick` für die kontinuierliche Physik pro
|
||||
//! Frame. Die Frontends sammeln nur Eingaben und stellen den Zustand dar;
|
||||
//! die Flycam dagegen ist reine Frontend-Sicht (kein Sim-Zustand) und bleibt
|
||||
//! im `render`-Modul.
|
||||
|
||||
use crate::engine::collision::CollisionWorld;
|
||||
use crate::engine::game::{Action, Game, ModeTarget};
|
||||
use crate::engine::ink::StoryState;
|
||||
@@ -27,28 +8,13 @@ use crate::engine::{kv, signals, story_ctrl};
|
||||
/// Maus-Empfindlichkeit der Spieler-Sicht (Radiant/Pixel).
|
||||
const LOOK_SENS: f32 = 0.0025;
|
||||
|
||||
/// Was die Frontends gerade darstellen sollen. Geteilt, damit CLI und GUI
|
||||
/// nie uneins sind, ob ein Dialog läuft.
|
||||
pub enum Mode {
|
||||
/// First-Person-Spiel — der Player bewegt sich mit Physik durch die Welt
|
||||
/// (siehe engine::player). Der Renderer leitet seine View aus dem Player
|
||||
/// ab. Das ist der eigentliche Spielmodus.
|
||||
Play,
|
||||
/// Noclip-Debug-Flycam — frei schwebende Kamera ohne Physik. Per
|
||||
/// `noclip`-Befehl gegen `Play` getauscht.
|
||||
FirstPerson,
|
||||
Free,
|
||||
/// Menü offen — wie der Dialog pausiert das Fenster die Welt und gibt die
|
||||
/// Maus frei; Eingaben sind weiter Engine-Befehle (das Menü ist nur eine
|
||||
/// andere Darstellung). Per `menu`-Befehl getoggelt; „Fortsetzen" führt
|
||||
/// ins Spiel (`Play`).
|
||||
Menu,
|
||||
/// Ein Dialog läuft — das Fenster pausiert die Welt und zeigt Panels;
|
||||
/// Eingaben treiben den Dialog statt Befehle.
|
||||
Dialog(Dialog),
|
||||
}
|
||||
|
||||
/// Aktueller Dialogschritt, frontend-neutral. `choices` leer = reiner Text,
|
||||
/// der auf „weiter" (Leerzeile/Enter) wartet.
|
||||
pub struct Dialog {
|
||||
// Wird vom Panel-Renderer der UI-Phase gelesen; bis dahin läuft der
|
||||
// Dialogtext über die Konsolen-Ausgabe (siehe `step`).
|
||||
@@ -115,7 +81,7 @@ impl Session {
|
||||
/// `exec`. Nur im Spielmodus bewegt sich der Spieler; Menü/Dialog/Flycam
|
||||
/// pausieren die Sim (die Flycam ist reine Frontend-Sicht).
|
||||
pub fn tick(&mut self, input: &FrameInput, dt: f32) {
|
||||
if matches!(self.mode, Mode::Play) {
|
||||
if matches!(self.mode, Mode::FirstPerson) {
|
||||
self.player.look(input.look_dx, input.look_dy, LOOK_SENS);
|
||||
self.player.step(&self.collision, input.fwd, input.right, input.jump, dt);
|
||||
}
|
||||
@@ -135,7 +101,7 @@ impl Session {
|
||||
pub fn exec(&mut self, line: &str) -> ExecResult {
|
||||
match self.mode {
|
||||
Mode::Dialog(_) => self.dialog_input(line),
|
||||
Mode::Play | Mode::Free | Mode::Menu => self.command(line),
|
||||
Mode::FirstPerson | Mode::Free | Mode::Menu => self.command(line),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,7 +125,7 @@ impl Session {
|
||||
// Debug: zwischen First-Person (Play) und freier Flycam (Free)
|
||||
// umschalten.
|
||||
let t = match self.mode {
|
||||
Mode::Play => ModeTarget::Free,
|
||||
Mode::FirstPerson => ModeTarget::Free,
|
||||
_ => ModeTarget::Play,
|
||||
};
|
||||
self.set_mode(t);
|
||||
@@ -219,7 +185,7 @@ impl Session {
|
||||
// geladen haben, während die alte auf End lief (mode → Play). Falls
|
||||
// das passiert ist, sofort den ersten Schritt der neuen Story ziehen
|
||||
// statt den Spieler im Play-Modus hängen zu lassen.
|
||||
if self.game.story.is_some() && matches!(self.mode, Mode::Play) {
|
||||
if self.game.story.is_some() && matches!(self.mode, Mode::FirstPerson) {
|
||||
out.extend(self.step(None));
|
||||
}
|
||||
ExecResult::lines(out)
|
||||
@@ -252,7 +218,7 @@ impl Session {
|
||||
let mut out = self.drain_actions();
|
||||
match state {
|
||||
None | Some(StoryState::End) => {
|
||||
self.mode = Mode::Play;
|
||||
self.mode = Mode::FirstPerson;
|
||||
}
|
||||
Some(StoryState::Text(text)) => {
|
||||
out.push(text.clone());
|
||||
@@ -293,7 +259,7 @@ impl Session {
|
||||
/// entsteht ausschließlich in `step` aus dem Story-Ablauf.)
|
||||
fn set_mode(&mut self, t: ModeTarget) {
|
||||
self.mode = match t {
|
||||
ModeTarget::Play => Mode::Play,
|
||||
ModeTarget::Play => Mode::FirstPerson,
|
||||
ModeTarget::Free => Mode::Free,
|
||||
ModeTarget::Menu => Mode::Menu,
|
||||
};
|
||||
@@ -376,7 +342,7 @@ mod tests {
|
||||
s.exec("menu");
|
||||
assert!(matches!(s.mode, Mode::Menu));
|
||||
s.exec("menu"); // „Fortsetzen" → ins Spiel
|
||||
assert!(matches!(s.mode, Mode::Play));
|
||||
assert!(matches!(s.mode, Mode::FirstPerson));
|
||||
s.exec("menu"); // aus dem Spiel wieder ins Menü
|
||||
assert!(matches!(s.mode, Mode::Menu));
|
||||
// Im Menü laufen Engine-Befehle weiter (gleiche Route wie Play/Free).
|
||||
@@ -388,7 +354,7 @@ mod tests {
|
||||
fn mode_command_sets_mode_directly() {
|
||||
let mut s = empty_session();
|
||||
s.exec("mode play");
|
||||
assert!(matches!(s.mode, Mode::Play));
|
||||
assert!(matches!(s.mode, Mode::FirstPerson));
|
||||
s.exec("mode free");
|
||||
assert!(matches!(s.mode, Mode::Free));
|
||||
s.exec("mode menu");
|
||||
@@ -405,17 +371,17 @@ mod tests {
|
||||
s.mode = Mode::Free;
|
||||
// `mode`-Verb direkt als Action (Ink-Tag-/signals.toml-Pfad).
|
||||
s.exec("signal mode play");
|
||||
assert!(matches!(s.mode, Mode::Play));
|
||||
assert!(matches!(s.mode, Mode::FirstPerson));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn noclip_toggles_play_and_free() {
|
||||
let mut s = empty_session();
|
||||
s.mode = Mode::Play;
|
||||
s.mode = Mode::FirstPerson;
|
||||
s.exec("noclip");
|
||||
assert!(matches!(s.mode, Mode::Free));
|
||||
s.exec("noclip");
|
||||
assert!(matches!(s.mode, Mode::Play));
|
||||
assert!(matches!(s.mode, Mode::FirstPerson));
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user