Modify R5Z1 and water rendering for performance

This commit is contained in:
Lucas S. Vieira 2024-12-24 14:29:48 -03:00
parent b25e4b11bc
commit 18f8660ec9
2 changed files with 25 additions and 69 deletions

View file

@ -6,12 +6,12 @@
<data encoding="csv"> <data encoding="csv">
36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,78,63,63,63,66,0,0,0,0,0,0,0,0,0,0,76,76,76,76,5,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,78,63,63,63,66,0,0,0,0,0,0,0,0,0,0,76,76,76,76,5,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
36,0,0,0,0,0,16,3,3,3,3,3,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,2,45,46,5,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,21,22,0,16,17,61,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,75,14,75,5,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 36,0,0,0,0,0,16,3,3,3,3,3,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,2,45,46,5,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,69,76,0,0,0,21,22,76,16,17,61,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,75,14,75,5,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
36,0,0,0,0,0,2,4,45,50,46,2,4,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,8,44,14,14,14,14,51,49,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,70,54,54,54,54,63,23,3,4,4,19,79,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,63,63,63,63,63,63,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 36,0,0,0,0,0,2,4,45,50,46,2,4,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,8,44,14,14,14,14,51,49,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,70,54,54,54,54,63,23,3,4,4,19,79,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,63,63,63,63,63,63,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
36,20,0,8,0,8,10,13,13,13,13,13,10,16,22,8,0,24,27,26,0,0,0,0,0,0,0,0,3,4,2,2,2,2,4,40,2,2,4,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,67,66,66,66,66,66,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 36,20,0,8,0,8,10,76,66,66,66,76,10,16,22,8,0,24,27,26,0,0,0,0,0,0,0,0,3,4,2,2,2,2,4,40,2,2,4,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,67,66,66,66,66,66,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
34,19,17,37,3,3,3,3,13,13,12,3,3,2,23,3,3,28,25,3,6,0,0,0,0,0,0,0,30,31,31,47,32,32,33,0,10,0,10,0,21,9,57,18,17,58,16,22,0,0,0,0,0,58,59,64,22,9,76,76,0,0,0,0,0,76,0,16,17,65,73,0,73,0,0,0,0,0,74,15,15,15,74,15,15,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 34,19,17,37,3,3,3,3,0,76,12,3,3,2,23,3,3,28,25,3,6,0,0,0,0,0,0,0,30,31,31,47,32,32,33,0,10,0,10,0,21,9,57,18,17,58,16,22,0,0,0,0,0,58,59,64,22,9,76,76,0,0,0,0,0,76,0,16,17,65,73,0,73,0,0,0,0,0,74,15,15,15,74,15,15,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,2,2,2,2,2,2,4,13,55,51,51,51,13,13,2,2,2,2,2,5,17,21,53,21,22,9,0,29,13,13,13,2,4,2,35,37,35,37,35,2,83,27,46,2,36,2,23,52,15,15,15,57,48,2,13,23,3,54,54,3,3,3,3,3,54,3,2,4,2,69,70,69,3,3,3,54,37,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 2,2,2,2,2,2,2,4,62,55,51,51,51,76,76,2,2,2,2,2,5,17,21,53,21,22,9,0,29,76,76,76,2,4,2,35,37,35,37,35,2,83,27,46,2,36,2,23,52,15,15,15,57,48,2,76,23,3,54,54,3,3,3,3,3,54,3,2,4,2,69,70,69,3,3,3,54,37,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
4,2,2,2,2,2,2,2,37,37,4,2,2,11,14,51,38,48,67,66,2,2,2,2,2,23,3,3,19,54,54,3,5,2,4,36,38,48,38,48,44,81,13,13,10,20,10,0,10,29,13,33,8,84,51,14,39,51,15,65,5,2,78,63,63,67,4,2,2,36,0,0,77,2,78,63,0,4,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 4,2,2,2,2,2,2,2,37,37,4,2,2,11,14,51,38,48,67,66,2,2,2,2,2,23,3,3,19,54,54,3,5,2,4,36,38,48,38,48,44,81,76,76,10,20,10,0,10,29,76,33,8,84,51,14,39,51,15,65,5,2,78,63,63,67,4,2,2,36,0,0,77,2,78,63,0,4,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,37,6,8,0,10,48,10,0,48,0,10,48,10,48,53,5,2,2,2,19,3,3,3,3,43,82,39,12,3,19,3,52,3,23,3,2,3,2,2,2,40,5,2,2,2,2,36,67,67,48,2,2,2,36,0,0,38,38,0,0,0,4,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,37,6,8,0,10,48,10,0,48,0,10,48,10,48,53,5,2,2,2,19,3,3,3,3,43,82,39,12,3,19,3,52,3,23,3,2,3,2,2,2,40,5,2,2,2,2,36,67,67,48,2,2,2,36,0,0,38,38,0,0,0,4,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,37,3,37,71,74,72,37,37,3,3,2,2,2,2,2,2,2,2,2,2,2,2,40,2,2,2,2,2,2,2,2,2,2,2,2,2,40,2,2,2,5,78,68,48,0,0,4,2,2,19,71,72,3,37,71,72,37,2,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,37,3,37,71,74,72,37,37,3,3,2,2,2,2,2,2,2,2,2,2,2,2,40,2,2,2,2,2,2,2,2,2,2,2,2,2,40,2,2,2,5,78,68,48,0,0,4,2,2,19,71,72,3,37,71,72,37,2,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,42,43,2,2,2,2,2,2,2,2,2,2,2,2,76,10,0,48,48,0,76,16,17,65,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,42,43,2,2,2,2,2,2,2,2,2,2,2,2,76,10,0,48,48,0,76,16,17,65,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@ -150,7 +150,7 @@
<property name="Kind" value="RING"/> <property name="Kind" value="RING"/>
</properties> </properties>
</object> </object>
<object id="159" gid="86" x="7167.67" y="1405.33" width="64" height="64"> <object id="159" gid="86" x="7167" y="1408" width="64" height="64">
<properties> <properties>
<property name="Kind" value="RING"/> <property name="Kind" value="RING"/>
</properties> </properties>

View file

@ -73,11 +73,10 @@ typedef struct {
int16_t tc_act_tgt_x; int16_t tc_act_tgt_x;
// Water overlay primitives // Water overlay primitives
POLY_F4 waterquad[2]; TILE waterquad[2];
POLY_FT4 wavequad[2][5]; POLY_FT4 wavequad[2][5];
uint8_t waterbuffer; uint8_t waterbuffer;
uint8_t water_last_fade; uint8_t water_last_fade[2];
uint8_t wave_last_fade;
} screen_level_data; } screen_level_data;
void void
@ -105,11 +104,12 @@ screen_level_load()
// Init water quads // Init water quads
for(int i = 0; i < 2; i++) { for(int i = 0; i < 2; i++) {
POLY_F4 *poly = &data->waterquad[i]; TILE *poly = &data->waterquad[i];
setPolyF4(poly); setTile(poly);
setSemiTrans(poly, 1); setSemiTrans(poly, 1);
setRGB0(poly, 0, 0, 0); setRGB0(poly, 0, 0, 0);
setXYWH(poly, 0, 0, SCREEN_XRES, 0); setXY0(poly, 0, 0);
setWH(poly, SCREEN_XRES, 0);
for(int j = 0; j < 5; j++) { for(int j = 0; j < 5; j++) {
POLY_FT4 *tx = &data->wavequad[i][j]; POLY_FT4 *tx = &data->wavequad[i][j];
@ -122,8 +122,8 @@ screen_level_load()
} }
} }
data->waterbuffer = 0; data->waterbuffer = 0;
data->water_last_fade = 0; data->water_last_fade[0] = 0;
data->wave_last_fade = 0; data->water_last_fade[1] = 0;
// Init water wave quads // Init water wave quads
@ -373,30 +373,21 @@ _screen_level_draw_water(screen_level_data *data)
/* LERPC(level_fade, 0x18)); */ /* LERPC(level_fade, 0x18)); */
/* sort_prim(poly, OTZ_LAYER_LEVEL_FG_FRONT); */ /* sort_prim(poly, OTZ_LAYER_LEVEL_FG_FRONT); */
/* FLAT SHADE */
/* POLY_F4 *poly = get_next_prim(); */
/* increment_prim(sizeof(POLY_F4)); */
/* setPolyF4(poly); */
/* setXYWH(poly, 0, water_y, SCREEN_XRES, water_h); */
/* setSemiTrans(poly, 1); */
/* setRGB0(poly, */
/* LERPC(level_fade, 0), */
/* LERPC(level_fade, 0), */
/* LERPC(level_fade, 0xb8)); */
/* sort_prim(poly, OTZ_LAYER_LEVEL_FG_FRONT); */
/* FLAT SHADE, STATIC BUFFERS */ /* FLAT SHADE, STATIC BUFFERS */
POLY_F4 *poly = &data->waterquad[data->waterbuffer]; TILE *poly = &data->waterquad[data->waterbuffer];
poly->y0 = poly->y1 = water_y; poly->y0 = water_y;
poly->y2 = poly->y3 = water_y + water_h; poly->h = water_h;
// CLEVER TRICK: r0 is always equal to level_fade anyway if(data->water_last_fade[data->waterbuffer] != level_fade) {
if(data->water_last_fade != level_fade) { data->water_last_fade[data->waterbuffer] = level_fade;
data->water_last_fade = level_fade;
setRGB0(poly, setRGB0(poly,
LERPC(level_fade, 0), LERPC(level_fade, 0),
LERPC(level_fade, 0), LERPC(level_fade, 0),
LERPC(level_fade, 0xb8)); LERPC(level_fade, 0xb8));
setRGB0(&data->waterquad[data->waterbuffer ^ 1],
LERPC(level_fade, 0),
LERPC(level_fade, 0),
LERPC(level_fade, 0xb8));
} }
sort_prim(poly, OTZ_LAYER_LEVEL_FG_FRONT); sort_prim(poly, OTZ_LAYER_LEVEL_FG_FRONT);
} }
@ -410,47 +401,12 @@ _screen_level_draw_water(screen_level_data *data)
if(!(frame % 6)) wave_dir = !wave_dir; if(!(frame % 6)) wave_dir = !wave_dir;
if(!(frame % 3)) wave_visible = !wave_visible; if(!(frame % 3)) wave_visible = !wave_visible;
// Water wave sprites is within common objects texture.
// uv0 = (146, 183); wh=(64, 9)
// Sprite plays for 20 frames and then flips direction
/* for(uint8_t i = 0; i < 5; i++) { */
/* uint16_t x = i * 64; */
/* uint8_t current_visible = (i + wave_visible) % 2; */
/* POLY_FT4 *poly = get_next_prim(); */
/* increment_prim(sizeof(POLY_FT4)); */
/* setPolyFT4(poly); */
/* setRGB0(poly, level_fade, level_fade, level_fade); */
/* // There is some sort of trickery here. */
/* // Rendering the waves actually influence on */
/* // water color. We render the waves as a fully */
/* // transparent pixel when invisible so */
/* // the body of water doesn't blink */
/* if(!current_visible) */
/* setUVWH(poly, 0, 0, 0, 0); */
/* else if(wave_dir) */
/* setUVWH(poly, 146, 183, 64, 9); */
/* else setUV4(poly, */
/* 146 + 63, 183, */
/* 146, 183, */
/* 146 + 63, 183 + 9, */
/* 146, 183 + 9); */
/* setXYWH(poly, x, water_ry - 6, 64, 9); */
/* // tpage and clut same as common objects */
/* poly->tpage = getTPage(1, 0, 576, 0); */
/* poly->clut = getClut(0, 481); */
/* setSemiTrans(poly, 1); */
/* sort_prim(poly, OTZ_LAYER_LEVEL_FG_FRONT); */
/* } */
for(uint8_t i = 0; i < 5; i++) { for(uint8_t i = 0; i < 5; i++) {
uint8_t current_visible = (i + wave_visible) % 2; uint8_t current_visible = (i + wave_visible) % 2;
POLY_FT4 *poly = &data->wavequad[data->waterbuffer][i]; POLY_FT4 *poly = &data->wavequad[data->waterbuffer][i];
if(data->wave_last_fade != level_fade) { if(poly->r0 != level_fade)
setRGB0(poly, level_fade, level_fade, level_fade); setRGB0(poly, level_fade, level_fade, level_fade);
}
if(!current_visible) if(!current_visible)
setUVWH(poly, 0, 0, 0, 0); setUVWH(poly, 0, 0, 0, 0);
else if(wave_dir) else if(wave_dir)