| ofs | hex dump | ascii |
|---|
| 0000 | 56 69 6d 9f 55 6e 44 6f e5 00 03 9e d4 e1 80 0c f7 b4 0b 27 c3 22 0a af b9 52 51 b5 9f 46 f9 0a | Vim.UnDo...........'."...RQ..F.. |
| 0020 | 00 3c ba 45 92 1c 2b 8f ef d5 77 00 00 01 d8 00 00 00 2c 20 20 20 20 67 6c 75 74 43 72 65 61 74 | .<.E..+...w.......,....glutCreat |
| 0040 | 65 57 69 6e 64 6f 77 28 22 4d 69 6e 65 63 72 61 66 74 20 50 72 6f 74 6f 74 79 70 65 22 29 3b 00 | eWindow("Minecraft.Prototype");. |
| 0060 | 00 01 c7 00 00 00 16 00 00 00 01 00 00 00 17 00 00 00 00 00 00 00 17 00 00 00 17 00 00 00 17 00 | ................................ |
| 0080 | 00 00 00 6a 08 fe 1e 04 01 00 00 00 14 00 5f d0 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 | ...j.........._................. |
| 00a0 | 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 f4 3e 04 01 00 00 00 02 00 f5 18 00 | ..................j..>.......... |
| 0220 | 00 00 88 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 20 f5 18 00 00 00 89 00 00 00 00 00 00 | ................................ |
| 0240 | 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 | ................................ |
| 0260 | 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..............5................. |
| 0280 | 00 00 00 00 00 00 88 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 0f | ................................ |
| 02a0 | 00 00 00 00 00 00 f5 18 00 00 00 00 88 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 7d 00 00 00 | ............................}... |
| 02c0 | 01 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b2 0e 00 00 00 00 00 00 35 81 5f d0 | ............................5._. |
| 02e0 | 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 | ................................ |
| 0300 | ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0460 | 00 00 6a 08 f5 4d 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 01 06 00 00 00 01 00 | ..j..M.......................... |
| 0480 | 00 00 02 2f 2a 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .../*5.......................... |
| 04a0 | 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f | .............................5._ |
| 04c0 | d0 00 00 00 02 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 01 00 00 00 00 00 00 00 | ................................ |
| 04e0 | 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0640 | 00 00 00 6a 08 f5 4f 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 06 | ...j..O......................... |
| 0660 | 00 00 00 03 25 2f 2a 00 00 00 50 20 2a 20 6d 69 6e 65 63 72 61 66 74 5f 70 72 6f 74 6f 2e 63 20 | ....%/*...P.*.minecraft_proto.c. |
| 0680 | e2 80 93 20 41 20 66 61 69 74 68 66 75 6c 20 72 65 63 72 65 61 74 69 6f 6e 20 6f 66 20 74 68 65 | ....A.faithful.recreation.of.the |
| 06a0 | 20 66 69 72 73 74 20 4d 69 6e 65 63 72 61 66 74 20 70 72 6f 74 6f 74 79 70 65 3a 00 00 00 48 20 | .first.Minecraft.prototype:...H. |
| 06c0 | 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 20 66 6c 61 74 20 67 72 61 | *.....................a.flat.gra |
| 06e0 | 73 73 20 70 6c 61 74 66 6f 72 6d 20 77 69 74 68 20 66 69 72 73 74 2d 70 65 72 73 6f 6e 20 6d 6f | ss.platform.with.first-person.mo |
| 0700 | 76 65 6d 65 6e 74 2e 00 00 00 02 20 2a 00 00 00 0c 20 2a 20 43 6f 6e 74 72 6f 6c 73 3a 00 00 00 | vement......*.....*.Controls:... |
| 0720 | 3b 20 2a 20 20 20 57 2c 20 41 2c 20 53 2c 20 44 20 20 e2 80 93 20 4d 6f 76 65 20 66 6f 72 77 61 | ;.*...W,.A,.S,.D......Move.forwa |
| 0740 | 72 64 20 2f 20 6c 65 66 74 20 2f 20 62 61 63 6b 77 61 72 64 20 2f 20 72 69 67 68 74 00 00 00 30 | rd./.left./.backward./.right...0 |
| 0760 | 20 2a 20 20 20 4d 6f 75 73 65 20 20 20 20 20 20 20 e2 80 93 20 4c 6f 6f 6b 20 61 72 6f 75 6e 64 | .*...Mouse...........Look.around |
| 0780 | 20 28 63 75 72 73 6f 72 20 6c 6f 63 6b 65 64 29 00 00 00 19 20 2a 20 20 20 45 53 43 20 20 20 20 | .(cursor.locked).....*...ESC.... |
| 07a0 | 20 20 20 20 20 e2 80 93 20 51 75 69 74 00 00 00 02 20 2a 00 00 00 21 20 2a 20 43 6f 6d 70 69 6c | .........Quit.....*...!.*.Compil |
| 07c0 | 61 74 69 6f 6e 20 28 4c 69 6e 75 78 2c 20 46 72 65 65 47 4c 55 54 29 3a 00 00 00 43 20 2a 20 20 | ation.(Linux,.FreeGLUT):...C.*.. |
| 07e0 | 20 67 63 63 20 2d 6f 20 6d 69 6e 65 63 72 61 66 74 5f 70 72 6f 74 6f 20 6d 69 6e 65 63 72 61 66 | .gcc.-o.minecraft_proto.minecraf |
| 0800 | 74 5f 70 72 6f 74 6f 2e 63 20 2d 6c 67 6c 75 74 20 2d 6c 47 4c 20 2d 6c 47 4c 55 20 2d 6c 6d 00 | t_proto.c.-lglut.-lGL.-lGLU.-lm. |
| 0820 | 00 00 03 20 2a 2f 00 00 00 00 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 47 4c 2f 67 6c 75 74 2e | ....*/........#include.<GL/glut. |
| 0840 | 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 12 23 69 6e 63 6c | h>....#include.<math.h>....#incl |
| 0860 | 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 | ude.<stdio.h>....#include.<stdli |
| 0880 | 62 2e 68 3e 00 00 00 00 00 00 00 25 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 63 6f 6e 73 74 61 | b.h>.......%/*.----------.consta |
| 08a0 | 6e 74 73 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 00 00 00 1a 23 64 65 66 69 6e 65 20 57 49 4e | nts.----------.*/....#define.WIN |
| 08c0 | 44 4f 57 5f 57 49 44 54 48 20 20 20 38 30 30 00 00 00 1a 23 64 65 66 69 6e 65 20 57 49 4e 44 4f | DOW_WIDTH...800....#define.WINDO |
| 08e0 | 57 5f 48 45 49 47 48 54 20 20 36 30 30 00 00 00 35 23 64 65 66 69 6e 65 20 50 4c 41 54 46 4f 52 | W_HEIGHT..600...5#define.PLATFOR |
| 0900 | 4d 5f 53 49 5a 45 20 20 35 30 20 20 20 20 20 20 20 20 20 20 2f 2f 20 62 6c 6f 63 6b 73 20 70 65 | M_SIZE..50..........//.blocks.pe |
| 0920 | 72 20 73 69 64 65 00 00 00 36 23 64 65 66 69 6e 65 20 4d 4f 56 45 5f 53 50 45 45 44 20 20 20 20 | r.side...6#define.MOVE_SPEED.... |
| 0940 | 20 35 2e 30 66 20 20 20 20 20 20 20 20 2f 2f 20 75 6e 69 74 73 20 70 65 72 20 73 65 63 6f 6e 64 | .5.0f........//.units.per.second |
| 0960 | 00 00 00 37 23 64 65 66 69 6e 65 20 4d 4f 55 53 45 5f 53 45 4e 53 20 20 20 20 20 30 2e 32 66 20 | ...7#define.MOUSE_SENS.....0.2f. |
| 0980 | 20 20 20 20 20 20 20 2f 2f 20 64 65 67 72 65 65 73 20 70 65 72 20 70 69 78 65 6c 00 00 00 00 00 | .......//.degrees.per.pixel..... |
| 09a0 | 00 00 28 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 63 61 6d 65 72 61 20 73 74 61 74 65 20 2d 2d | ..(/*.----------.camera.state.-- |
| 09c0 | 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 00 00 00 4a 66 6c 6f 61 74 20 63 61 6d 58 20 3d 20 30 2e 30 66 | --------.*/...Jfloat.camX.=.0.0f |
| 09e0 | 2c 20 63 61 6d 59 20 3d 20 31 2e 36 32 66 2c 20 63 61 6d 5a 20 3d 20 30 2e 30 66 3b 20 20 20 2f | ,.camY.=.1.62f,.camZ.=.0.0f;.../ |
| 0a00 | 2f 20 65 79 65 20 68 65 69 67 68 74 20 7e 31 2e 36 32 20 62 6c 6f 63 6b 73 00 00 00 55 66 6c 6f | /.eye.height.~1.62.blocks...Uflo |
| 0a20 | 61 74 20 79 61 77 20 3d 20 30 2e 30 66 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | at.yaw.=.0.0f;.................. |
| 0a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72 6f 74 61 74 69 6f 6e 20 61 72 6f 75 6e | ...............//.rotation.aroun |
| 0a60 | 64 20 59 20 61 78 69 73 20 28 64 65 67 72 65 65 73 29 00 00 00 55 66 6c 6f 61 74 20 70 69 74 63 | d.Y.axis.(degrees)...Ufloat.pitc |
| 0a80 | 68 20 3d 20 30 2e 30 66 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | h.=.0.0f;....................... |
| 0aa0 | 20 20 20 20 20 20 20 20 2f 2f 20 72 6f 74 61 74 69 6f 6e 20 61 72 6f 75 6e 64 20 58 20 61 78 69 | ........//.rotation.around.X.axi |
| 0ac0 | 73 20 28 64 65 67 72 65 65 73 29 00 00 00 00 00 00 00 2a 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | s.(degrees).......*/*.---------- |
| 0ae0 | 20 6d 6f 76 65 6d 65 6e 74 20 66 6c 61 67 73 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 00 00 00 | .movement.flags.----------.*/... |
| 0b00 | 26 69 6e 74 20 6d 6f 76 65 46 6f 72 77 61 72 64 20 3d 20 30 2c 20 6d 6f 76 65 42 61 63 6b 77 61 | &int.moveForward.=.0,.moveBackwa |
| 0b20 | 72 64 20 3d 20 30 3b 00 00 00 20 69 6e 74 20 6d 6f 76 65 4c 65 66 74 20 3d 20 30 2c 20 6d 6f 76 | rd.=.0;....int.moveLeft.=.0,.mov |
| 0b40 | 65 52 69 67 68 74 20 3d 20 30 3b 00 00 00 00 00 00 00 22 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | eRight.=.0;......."/*.---------- |
| 0b60 | 20 74 69 6d 69 6e 67 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 00 00 00 11 69 6e 74 20 6c 61 73 | .timing.----------.*/....int.las |
| 0b80 | 74 54 69 6d 65 20 3d 20 30 3b 00 00 00 00 00 00 00 2f 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 | tTime.=.0;.......//*.----------. |
| 0ba0 | 66 75 6e 63 74 69 6f 6e 20 70 72 6f 74 6f 74 79 70 65 73 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a | function.prototypes.----------.* |
| 0bc0 | 2f 00 00 00 0e 76 6f 69 64 20 69 6e 69 74 47 4c 28 29 3b 00 00 00 29 76 6f 69 64 20 64 72 61 77 | /....void.initGL();...)void.draw |
| 0be0 | 43 75 62 65 28 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 20 79 2c 20 66 6c 6f 61 74 20 7a 29 3b | Cube(float.x,.float.y,.float.z); |
| 0c00 | 00 00 00 12 76 6f 69 64 20 64 72 61 77 47 72 6f 75 6e 64 28 29 3b 00 00 00 0f 76 6f 69 64 20 64 | ....void.drawGround();....void.d |
| 0c20 | 69 73 70 6c 61 79 28 29 3b 00 00 00 1b 76 6f 69 64 20 72 65 73 68 61 70 65 28 69 6e 74 20 77 2c | isplay();....void.reshape(int.w, |
| 0c40 | 20 69 6e 74 20 68 29 3b 00 00 00 33 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 44 6f 77 6e 28 75 6e | .int.h);...3void.keyboardDown(un |
| 0c60 | 73 69 67 6e 65 64 20 63 68 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 3b 00 | signed.char.key,.int.x,.int.y);. |
| 0c80 | 00 00 31 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 55 70 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 | ..1void.keyboardUp(unsigned.char |
| 0ca0 | 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 3b 00 00 00 20 76 6f 69 64 20 70 61 73 | .key,.int.x,.int.y);....void.pas |
| 0cc0 | 73 69 76 65 4d 6f 75 73 65 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 3b 00 00 00 0c 76 6f 69 64 | siveMouse(int.x,.int.y);....void |
| 0ce0 | 20 69 64 6c 65 28 29 3b 00 00 00 23 76 6f 69 64 20 75 70 64 61 74 65 43 61 6d 65 72 61 28 66 6c | .idle();...#void.updateCamera(fl |
| 0d00 | 6f 61 74 20 64 65 6c 74 61 54 69 6d 65 29 3b 00 00 00 00 00 00 00 48 2f 2a 20 3d 3d 3d 3d 3d 3d | oat.deltaTime);.......H/*.====== |
| 0d20 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
| 0d40 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 20 2a 2f 00 | ============================.*/. |
| 0d60 | 00 00 00 00 00 00 21 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a | ......!int.main(int.argc,.char.* |
| 0d80 | 2a 61 72 67 76 29 20 7b 00 00 00 1a 20 20 20 20 67 6c 75 74 49 6e 69 74 28 26 61 72 67 63 2c 20 | *argv).{........glutInit(&argc,. |
| 0da0 | 61 72 67 76 29 3b 00 00 00 3d 20 20 20 20 67 6c 75 74 49 6e 69 74 44 69 73 70 6c 61 79 4d 6f 64 | argv);...=....glutInitDisplayMod |
| 0dc0 | 65 28 47 4c 55 54 5f 44 4f 55 42 4c 45 20 7c 20 47 4c 55 54 5f 52 47 42 20 7c 20 47 4c 55 54 5f | e(GLUT_DOUBLE.|.GLUT_RGB.|.GLUT_ |
| 0de0 | 44 45 50 54 48 29 3b 00 00 00 34 20 20 20 20 67 6c 75 74 49 6e 69 74 57 69 6e 64 6f 77 53 69 7a | DEPTH);...4....glutInitWindowSiz |
| 0e00 | 65 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 29 3b 00 | e(WINDOW_WIDTH,.WINDOW_HEIGHT);. |
| 0e20 | 00 00 45 20 20 20 20 67 6c 75 74 43 72 65 61 74 65 57 69 6e 64 6f 77 28 22 4d 69 6e 65 63 72 61 | ..E....glutCreateWindow("Minecra |
| 0e40 | 66 74 20 46 69 72 73 74 20 50 72 6f 74 6f 74 79 70 65 20 e2 80 93 20 47 72 61 73 73 20 50 6c 61 | ft.First.Prototype.....Grass.Pla |
| 0e60 | 74 66 6f 72 6d 22 29 3b 00 00 00 00 00 00 00 0d 20 20 20 20 69 6e 69 74 47 4c 28 29 3b 00 00 00 | tform");............initGL();... |
| 0e80 | 00 00 00 00 1d 20 20 20 20 67 6c 75 74 44 69 73 70 6c 61 79 46 75 6e 63 28 64 69 73 70 6c 61 79 | .........glutDisplayFunc(display |
| 0ea0 | 29 3b 00 00 00 1d 20 20 20 20 67 6c 75 74 52 65 73 68 61 70 65 46 75 6e 63 28 72 65 73 68 61 70 | );........glutReshapeFunc(reshap |
| 0ec0 | 65 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 72 64 46 75 6e 63 28 6b 65 79 62 | e);...#....glutKeyboardFunc(keyb |
| 0ee0 | 6f 61 72 64 44 6f 77 6e 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 72 64 55 70 | oardDown);...#....glutKeyboardUp |
| 0f00 | 46 75 6e 63 28 6b 65 79 62 6f 61 72 64 55 70 29 3b 00 00 00 28 20 20 20 20 67 6c 75 74 50 61 73 | Func(keyboardUp);...(....glutPas |
| 0f20 | 73 69 76 65 4d 6f 74 69 6f 6e 46 75 6e 63 28 70 61 73 73 69 76 65 4d 6f 75 73 65 29 3b 00 00 00 | siveMotionFunc(passiveMouse);... |
| 0f40 | 17 20 20 20 20 67 6c 75 74 49 64 6c 65 46 75 6e 63 28 69 64 6c 65 29 3b 00 00 00 00 00 00 00 3b | .....glutIdleFunc(idle);.......; |
| 0f60 | 20 20 20 20 67 6c 75 74 53 65 74 43 75 72 73 6f 72 28 47 4c 55 54 5f 43 55 52 53 4f 52 5f 4e 4f | ....glutSetCursor(GLUT_CURSOR_NO |
| 0f80 | 4e 45 29 3b 20 20 20 2f 2f 20 68 69 64 65 20 6d 6f 75 73 65 20 63 75 72 73 6f 72 00 00 00 00 00 | NE);...//.hide.mouse.cursor..... |
| 0fa0 | 00 00 2a 20 20 20 20 6c 61 73 74 54 69 6d 65 20 3d 20 67 6c 75 74 47 65 74 28 47 4c 55 54 5f 45 | ..*....lastTime.=.glutGet(GLUT_E |
| 0fc0 | 4c 41 50 53 45 44 5f 54 49 4d 45 29 3b 00 00 00 13 20 20 20 20 67 6c 75 74 4d 61 69 6e 4c 6f 6f | LAPSED_TIME);........glutMainLoo |
| 0fe0 | 70 28 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 | p();........return.0;....}...... |
| 1000 | 00 2f 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 4f 70 65 6e 47 4c 20 2f 20 47 4c 55 54 20 73 65 | .//*.----------.OpenGL./.GLUT.se |
| 1020 | 74 75 70 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 00 00 00 0f 76 6f 69 64 20 69 6e 69 74 47 4c | tup.----------.*/....void.initGL |
| 1040 | 28 29 20 7b 00 00 00 40 20 20 20 20 67 6c 43 6c 65 61 72 43 6f 6c 6f 72 28 30 2e 35 33 66 2c 20 | ().{...@....glClearColor(0.53f,. |
| 1060 | 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 66 29 3b 20 20 20 2f 2f 20 6c 69 67 68 74 20 | 0.81f,.0.98f,.1.0f);...//.light. |
| 1080 | 62 6c 75 65 20 73 6b 79 00 00 00 1c 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 44 45 50 54 | blue.sky........glEnable(GL_DEPT |
| 10a0 | 48 5f 54 45 53 54 29 3b 00 00 00 48 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 43 55 4c 4c | H_TEST);...H....glEnable(GL_CULL |
| 10c0 | 5f 46 41 43 45 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 | _FACE);.....................//.d |
| 10e0 | 6f 6e 27 74 20 64 72 61 77 20 62 61 63 6b 20 66 61 63 65 73 00 00 00 18 20 20 20 20 67 6c 43 75 | on't.draw.back.faces........glCu |
| 1100 | 6c 6c 46 61 63 65 28 47 4c 5f 42 41 43 4b 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 2f 2a 20 | llFace(GL_BACK);....}.......G/*. |
| 1120 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 61 20 73 69 6e 67 6c 65 20 74 65 78 74 75 72 65 64 e2 80 91 63 | ----------.a.single.textured...c |
| 1140 | 6f 6c 6f 75 72 65 64 20 63 75 62 65 20 28 31 c3 97 31 c3 97 31 29 20 2d 2d 2d 2d 2d 2d 2d 2d 2d | oloured.cube.(1..1..1).--------- |
| 1160 | 2d 20 2a 2f 00 00 00 2a 76 6f 69 64 20 64 72 61 77 43 75 62 65 28 66 6c 6f 61 74 20 78 2c 20 66 | -.*/...*void.drawCube(float.x,.f |
| 1180 | 6c 6f 61 74 20 79 2c 20 66 6c 6f 61 74 20 7a 29 20 7b 00 00 00 13 20 20 20 20 67 6c 50 75 73 68 | loat.y,.float.z).{........glPush |
| 11a0 | 4d 61 74 72 69 78 28 29 3b 00 00 00 1a 20 20 20 20 67 6c 54 72 61 6e 73 6c 61 74 65 66 28 78 2c | Matrix();........glTranslatef(x, |
| 11c0 | 20 79 2c 20 7a 29 3b 00 00 00 00 00 00 00 0e 20 20 20 20 2f 2a 20 63 6f 6c 6f 72 73 3a 00 00 00 | .y,.z);............/*.colors:... |
| 11e0 | 23 20 20 20 20 20 20 20 74 6f 70 20 20 3d 20 67 72 65 65 6e 20 28 30 2e 32 2c 20 30 2e 37 2c 20 | #.......top..=.green.(0.2,.0.7,. |
| 1200 | 30 2e 31 29 00 00 00 27 20 20 20 20 20 20 20 73 69 64 65 73 20 3d 20 62 72 6f 77 6e 20 28 30 2e | 0.1)...'.......sides.=.brown.(0. |
| 1220 | 35 35 2c 20 30 2e 32 37 2c 20 30 2e 30 37 29 00 00 00 2f 20 20 20 20 20 20 20 62 6f 74 74 6f 6d | 55,.0.27,.0.07).../.......bottom |
| 1240 | 20 3d 20 64 61 72 6b 65 72 20 62 72 6f 77 6e 20 28 30 2e 33 35 2c 20 30 2e 31 36 2c 20 30 2e 30 | .=.darker.brown.(0.35,.0.16,.0.0 |
| 1260 | 35 29 00 00 00 06 20 20 20 20 2a 2f 00 00 00 16 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 51 | 5)........*/........glBegin(GL_Q |
| 1280 | 55 41 44 53 29 3b 00 00 00 00 00 00 00 17 20 20 20 20 2f 2f 20 74 6f 70 20 66 61 63 65 20 28 79 | UADS);............//.top.face.(y |
| 12a0 | 20 3d 20 31 29 00 00 00 20 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 28 30 2e 32 66 2c 20 30 2e 37 | .=.1)........glColor3f(0.2f,.0.7 |
| 12c0 | 66 2c 20 30 2e 31 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 30 2e 30 66 | f,.0.1f);...!....glVertex3f(0.0f |
| 12e0 | 2c 20 31 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 | ,.1.0f,.0.0f);...!....glVertex3f |
| 1300 | 28 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 | (1.0f,.1.0f,.0.0f);...!....glVer |
| 1320 | 74 65 78 33 66 28 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 29 3b 00 00 00 21 20 20 20 20 | tex3f(1.0f,.1.0f,.1.0f);...!.... |
| 1340 | 67 6c 56 65 72 74 65 78 33 66 28 30 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 29 3b 00 00 00 | glVertex3f(0.0f,.1.0f,.1.0f);... |
| 1360 | 00 00 00 00 2b 20 20 20 20 2f 2f 20 62 6f 74 74 6f 6d 20 66 61 63 65 20 28 79 20 3d 20 30 29 20 | ....+....//.bottom.face.(y.=.0). |
| 1380 | e2 80 93 20 64 61 72 6b 65 72 20 62 72 6f 77 6e 00 00 00 23 20 20 20 20 67 6c 43 6f 6c 6f 72 33 | ....darker.brown...#....glColor3 |
| 13a0 | 66 28 30 2e 33 35 66 2c 20 30 2e 31 36 66 2c 20 30 2e 30 35 66 29 3b 00 00 00 21 20 20 20 20 67 | f(0.35f,.0.16f,.0.05f);...!....g |
| 13c0 | 6c 56 65 72 74 65 78 33 66 28 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 29 3b 00 00 00 21 | lVertex3f(0.0f,.0.0f,.1.0f);...! |
| 13e0 | 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 29 | ....glVertex3f(1.0f,.0.0f,.1.0f) |
| 1400 | 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 31 2e 30 66 2c 20 30 2e 30 66 2c 20 | ;...!....glVertex3f(1.0f,.0.0f,. |
| 1420 | 30 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 30 2e 30 66 2c 20 30 | 0.0f);...!....glVertex3f(0.0f,.0 |
| 1440 | 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 00 00 00 00 22 20 20 20 20 2f 2f 20 66 72 6f 6e 74 20 | .0f,.0.0f);......."....//.front. |
| 1460 | 66 61 63 65 20 28 7a 20 3d 20 30 29 20 e2 80 93 20 73 69 64 65 00 00 00 23 20 20 20 20 67 6c 43 | face.(z.=.0).....side...#....glC |
| 1480 | 6f 6c 6f 72 33 66 28 30 2e 35 35 66 2c 20 30 2e 32 37 66 2c 20 30 2e 30 37 66 29 3b 00 00 00 21 | olor3f(0.55f,.0.27f,.0.07f);...! |
| 14a0 | 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 29 | ....glVertex3f(0.0f,.0.0f,.0.0f) |
| 14c0 | 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 31 2e 30 66 2c 20 30 2e 30 66 2c 20 | ;...!....glVertex3f(1.0f,.0.0f,. |
| 14e0 | 30 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 31 2e 30 66 2c 20 31 | 0.0f);...!....glVertex3f(1.0f,.1 |
| 1500 | 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 30 2e | .0f,.0.0f);...!....glVertex3f(0. |
| 1520 | 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 00 00 00 00 21 20 20 20 20 2f 2f 20 62 | 0f,.1.0f,.0.0f);.......!....//.b |
| 1540 | 61 63 6b 20 66 61 63 65 20 28 7a 20 3d 20 31 29 20 e2 80 93 20 73 69 64 65 00 00 00 23 20 20 20 | ack.face.(z.=.1).....side...#... |
| 1560 | 20 67 6c 43 6f 6c 6f 72 33 66 28 30 2e 35 35 66 2c 20 30 2e 32 37 66 2c 20 30 2e 30 37 66 29 3b | .glColor3f(0.55f,.0.27f,.0.07f); |
| 1580 | 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 | ...!....glVertex3f(1.0f,.0.0f,.1 |
| 15a0 | 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 30 2e 30 66 2c 20 30 2e | .0f);...!....glVertex3f(0.0f,.0. |
| 15c0 | 30 66 2c 20 31 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 30 2e 30 | 0f,.1.0f);...!....glVertex3f(0.0 |
| 15e0 | 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 | f,.1.0f,.1.0f);...!....glVertex3 |
| 1600 | 66 28 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 29 3b 00 00 00 00 00 00 00 21 20 20 20 20 | f(1.0f,.1.0f,.1.0f);.......!.... |
| 1620 | 2f 2f 20 6c 65 66 74 20 66 61 63 65 20 28 78 20 3d 20 30 29 20 e2 80 93 20 73 69 64 65 00 00 00 | //.left.face.(x.=.0).....side... |
| 1640 | 23 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 28 30 2e 35 35 66 2c 20 30 2e 32 37 66 2c 20 30 2e 30 | #....glColor3f(0.55f,.0.27f,.0.0 |
| 1660 | 37 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 30 2e 30 66 2c 20 30 2e 30 | 7f);...!....glVertex3f(0.0f,.0.0 |
| 1680 | 66 2c 20 31 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 30 2e 30 66 | f,.1.0f);...!....glVertex3f(0.0f |
| 16a0 | 2c 20 30 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 | ,.0.0f,.0.0f);...!....glVertex3f |
| 16c0 | 28 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 | (0.0f,.1.0f,.0.0f);...!....glVer |
| 16e0 | 74 65 78 33 66 28 30 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 29 3b 00 00 00 00 00 00 00 22 | tex3f(0.0f,.1.0f,.1.0f);......." |
| 1700 | 20 20 20 20 2f 2f 20 72 69 67 68 74 20 66 61 63 65 20 28 78 20 3d 20 31 29 20 e2 80 93 20 73 69 | ....//.right.face.(x.=.1).....si |
| 1720 | 64 65 00 00 00 23 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 28 30 2e 35 35 66 2c 20 30 2e 32 37 66 | de...#....glColor3f(0.55f,.0.27f |
| 1740 | 2c 20 30 2e 30 37 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 31 2e 30 66 | ,.0.07f);...!....glVertex3f(1.0f |
| 1760 | 2c 20 30 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 | ,.0.0f,.0.0f);...!....glVertex3f |
| 1780 | 28 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 29 3b 00 00 00 21 20 20 20 20 67 6c 56 65 72 | (1.0f,.0.0f,.1.0f);...!....glVer |
| 17a0 | 74 65 78 33 66 28 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 29 3b 00 00 00 21 20 20 20 20 | tex3f(1.0f,.1.0f,.1.0f);...!.... |
| 17c0 | 67 6c 56 65 72 74 65 78 33 66 28 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 | glVertex3f(1.0f,.1.0f,.0.0f);... |
| 17e0 | 00 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 12 20 20 20 20 67 6c 50 6f 70 4d 61 | .........glEnd();........glPopMa |
| 1800 | 74 72 69 78 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 39 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d | trix();....}.......9/*.--------- |
| 1820 | 2d 20 64 72 61 77 20 74 68 65 20 77 68 6f 6c 65 20 67 72 61 73 73 20 70 6c 61 74 66 6f 72 6d 20 | -.draw.the.whole.grass.platform. |
| 1840 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 00 00 00 13 76 6f 69 64 20 64 72 61 77 47 72 6f 75 6e 64 | ----------.*/....void.drawGround |
| 1860 | 28 29 20 7b 00 00 00 21 20 20 20 20 69 6e 74 20 68 61 6c 66 20 3d 20 50 4c 41 54 46 4f 52 4d 5f | ().{...!....int.half.=.PLATFORM_ |
| 1880 | 53 49 5a 45 20 2f 20 32 3b 00 00 00 28 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 2d 68 | SIZE./.2;...(....for.(int.i.=.-h |
| 18a0 | 61 6c 66 3b 20 69 20 3c 20 68 61 6c 66 3b 20 69 2b 2b 29 20 7b 00 00 00 2c 20 20 20 20 20 20 20 | alf;.i.<.half;.i++).{...,....... |
| 18c0 | 20 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 2d 68 61 6c 66 3b 20 6a 20 3c 20 68 61 6c 66 3b 20 6a | .for.(int.j.=.-half;.j.<.half;.j |
| 18e0 | 2b 2b 29 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 43 75 62 65 28 28 66 | ++).{.../............drawCube((f |
| 1900 | 6c 6f 61 74 29 69 2c 20 30 2e 30 66 2c 20 28 66 6c 6f 61 74 29 6a 29 3b 00 00 00 09 20 20 20 20 | loat)i,.0.0f,.(float)j);........ |
| 1920 | 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 2c 2f 2a 20 2d 2d | ....}........}....}.......,/*.-- |
| 1940 | 2d 2d 2d 2d 2d 2d 2d 2d 20 64 69 73 70 6c 61 79 20 63 61 6c 6c 62 61 63 6b 20 2d 2d 2d 2d 2d 2d | --------.display.callback.------ |
| 1960 | 2d 2d 2d 2d 20 2a 2f 00 00 00 10 76 6f 69 64 20 64 69 73 70 6c 61 79 28 29 20 7b 00 00 00 37 20 | ----.*/....void.display().{...7. |
| 1980 | 20 20 20 67 6c 43 6c 65 61 72 28 47 4c 5f 43 4f 4c 4f 52 5f 42 55 46 46 45 52 5f 42 49 54 20 7c | ...glClear(GL_COLOR_BUFFER_BIT.| |
| 19a0 | 20 47 4c 5f 44 45 50 54 48 5f 42 55 46 46 45 52 5f 42 49 54 29 3b 00 00 00 00 00 00 00 1f 20 20 | .GL_DEPTH_BUFFER_BIT);.......... |
| 19c0 | 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 00 | ..glMatrixMode(GL_MODELVIEW);... |
| 19e0 | 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b 00 00 00 00 00 00 00 2d 20 20 | .....glLoadIdentity();.......-.. |
| 1a00 | 20 20 2f 2f 20 63 61 6d 65 72 61 20 72 6f 74 61 74 69 6f 6e 3a 20 66 69 72 73 74 20 70 69 74 63 | ..//.camera.rotation:.first.pitc |
| 1a20 | 68 2c 20 74 68 65 6e 20 79 61 77 00 00 00 28 20 20 20 20 67 6c 52 6f 74 61 74 65 66 28 2d 70 69 | h,.then.yaw...(....glRotatef(-pi |
| 1a40 | 74 63 68 2c 20 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 28 20 20 20 20 67 | tch,.1.0f,.0.0f,.0.0f);...(....g |
| 1a60 | 6c 52 6f 74 61 74 65 66 28 2d 79 61 77 2c 20 20 20 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 | lRotatef(-yaw,...0.0f,.1.0f,.0.0 |
| 1a80 | 66 29 3b 00 00 00 28 20 20 20 20 2f 2f 20 6d 6f 76 65 20 63 61 6d 65 72 61 20 74 6f 20 70 6f 73 | f);...(....//.move.camera.to.pos |
| 1aa0 | 69 74 69 6f 6e 20 28 6e 65 67 61 74 65 64 29 00 00 00 26 20 20 20 20 67 6c 54 72 61 6e 73 6c 61 | ition.(negated)...&....glTransla |
| 1ac0 | 74 65 66 28 2d 63 61 6d 58 2c 20 2d 63 61 6d 59 2c 20 2d 63 61 6d 5a 29 3b 00 00 00 00 00 00 00 | tef(-camX,.-camY,.-camZ);....... |
| 1ae0 | 11 20 20 20 20 64 72 61 77 47 72 6f 75 6e 64 28 29 3b 00 00 00 00 00 00 00 16 20 20 20 20 67 6c | .....drawGround();............gl |
| 1b00 | 75 74 53 77 61 70 42 75 66 66 65 72 73 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2a 2f 2a 20 | utSwapBuffers();....}.......*/*. |
| 1b20 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 77 69 6e 64 6f 77 20 72 65 73 68 61 70 65 20 2d 2d 2d 2d 2d 2d | ----------.window.reshape.------ |
| 1b40 | 2d 2d 2d 2d 20 2a 2f 00 00 00 1c 76 6f 69 64 20 72 65 73 68 61 70 65 28 69 6e 74 20 77 2c 20 69 | ----.*/....void.reshape(int.w,.i |
| 1b60 | 6e 74 20 68 29 20 7b 00 00 00 1b 20 20 20 20 67 6c 56 69 65 77 70 6f 72 74 28 30 2c 20 30 2c 20 | nt.h).{........glViewport(0,.0,. |
| 1b80 | 77 2c 20 68 29 3b 00 00 00 20 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 50 52 | w,.h);........glMatrixMode(GL_PR |
| 1ba0 | 4f 4a 45 43 54 49 4f 4e 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 | OJECTION);........glLoadIdentity |
| 1bc0 | 28 29 3b 00 00 00 3d 20 20 20 20 67 6c 75 50 65 72 73 70 65 63 74 69 76 65 28 37 30 2e 30 2c 20 | ();...=....gluPerspective(70.0,. |
| 1be0 | 28 64 6f 75 62 6c 65 29 77 20 2f 20 28 64 6f 75 62 6c 65 29 68 2c 20 30 2e 31 2c 20 31 30 30 30 | (double)w./.(double)h,.0.1,.1000 |
| 1c00 | 2e 30 29 3b 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 | .0);........glMatrixMode(GL_MODE |
| 1c20 | 4c 56 49 45 57 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2a 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d | LVIEW);....}.......*/*.--------- |
| 1c40 | 2d 20 6b 65 79 62 6f 61 72 64 20 70 72 65 73 73 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 00 00 | -.keyboard.press.----------.*/.. |
| 1c60 | 00 34 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 44 6f 77 6e 28 75 6e 73 69 67 6e 65 64 20 63 68 61 | .4void.keyboardDown(unsigned.cha |
| 1c80 | 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 12 20 20 20 20 73 77 | r.key,.int.x,.int.y).{........sw |
| 1ca0 | 69 74 63 68 20 28 6b 65 79 29 20 7b 00 00 00 34 20 20 20 20 20 20 20 20 63 61 73 65 20 27 77 27 | itch.(key).{...4........case.'w' |
| 1cc0 | 3a 20 63 61 73 65 20 27 57 27 3a 20 6d 6f 76 65 46 6f 72 77 61 72 64 20 20 3d 20 31 3b 20 62 72 | :.case.'W':.moveForward..=.1;.br |
| 1ce0 | 65 61 6b 3b 00 00 00 34 20 20 20 20 20 20 20 20 63 61 73 65 20 27 73 27 3a 20 63 61 73 65 20 27 | eak;...4........case.'s':.case.' |
| 1d00 | 53 27 3a 20 6d 6f 76 65 42 61 63 6b 77 61 72 64 20 3d 20 31 3b 20 62 72 65 61 6b 3b 00 00 00 34 | S':.moveBackward.=.1;.break;...4 |
| 1d20 | 20 20 20 20 20 20 20 20 63 61 73 65 20 27 61 27 3a 20 63 61 73 65 20 27 41 27 3a 20 6d 6f 76 65 | ........case.'a':.case.'A':.move |
| 1d40 | 4c 65 66 74 20 20 20 20 20 3d 20 31 3b 20 62 72 65 61 6b 3b 00 00 00 34 20 20 20 20 20 20 20 20 | Left.....=.1;.break;...4........ |
| 1d60 | 63 61 73 65 20 27 64 27 3a 20 63 61 73 65 20 27 44 27 3a 20 6d 6f 76 65 52 69 67 68 74 20 20 20 | case.'d':.case.'D':.moveRight... |
| 1d80 | 20 3d 20 31 3b 20 62 72 65 61 6b 3b 00 00 00 38 20 20 20 20 20 20 20 20 63 61 73 65 20 32 37 3a | .=.1;.break;...8........case.27: |
| 1da0 | 20 65 78 69 74 28 30 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .exit(0);....................... |
| 1dc0 | 20 20 2f 2f 20 45 53 43 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 2c 2f 2a | ..//.ESC........}....}.......,/* |
| 1de0 | 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 6b 65 79 62 6f 61 72 64 20 72 65 6c 65 61 73 65 20 2d 2d 2d | .----------.keyboard.release.--- |
| 1e00 | 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 00 00 00 32 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 55 70 28 75 6e | -------.*/...2void.keyboardUp(un |
| 1e20 | 73 69 67 6e 65 64 20 63 68 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b | signed.char.key,.int.x,.int.y).{ |
| 1e40 | 00 00 00 12 20 20 20 20 73 77 69 74 63 68 20 28 6b 65 79 29 20 7b 00 00 00 34 20 20 20 20 20 20 | ........switch.(key).{...4...... |
| 1e60 | 20 20 63 61 73 65 20 27 77 27 3a 20 63 61 73 65 20 27 57 27 3a 20 6d 6f 76 65 46 6f 72 77 61 72 | ..case.'w':.case.'W':.moveForwar |
| 1e80 | 64 20 20 3d 20 30 3b 20 62 72 65 61 6b 3b 00 00 00 34 20 20 20 20 20 20 20 20 63 61 73 65 20 27 | d..=.0;.break;...4........case.' |
| 1ea0 | 73 27 3a 20 63 61 73 65 20 27 53 27 3a 20 6d 6f 76 65 42 61 63 6b 77 61 72 64 20 3d 20 30 3b 20 | s':.case.'S':.moveBackward.=.0;. |
| 1ec0 | 62 72 65 61 6b 3b 00 00 00 34 20 20 20 20 20 20 20 20 63 61 73 65 20 27 61 27 3a 20 63 61 73 65 | break;...4........case.'a':.case |
| 1ee0 | 20 27 41 27 3a 20 6d 6f 76 65 4c 65 66 74 20 20 20 20 20 3d 20 30 3b 20 62 72 65 61 6b 3b 00 00 | .'A':.moveLeft.....=.0;.break;.. |
| 1f00 | 00 34 20 20 20 20 20 20 20 20 63 61 73 65 20 27 64 27 3a 20 63 61 73 65 20 27 44 27 3a 20 6d 6f | .4........case.'d':.case.'D':.mo |
| 1f20 | 76 65 52 69 67 68 74 20 20 20 20 3d 20 30 3b 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 7d 00 | veRight....=.0;.break;........}. |
| 1f40 | 00 00 01 7d 00 00 00 00 00 00 00 36 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 6d 6f 75 73 65 20 | ...}.......6/*.----------.mouse. |
| 1f60 | 6c 6f 6f 6b 20 28 63 75 72 73 6f 72 20 6c 6f 63 6b 65 64 29 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 | look.(cursor.locked).----------. |
| 1f80 | 2a 2f 00 00 00 21 76 6f 69 64 20 70 61 73 73 69 76 65 4d 6f 75 73 65 28 69 6e 74 20 78 2c 20 69 | */...!void.passiveMouse(int.x,.i |
| 1fa0 | 6e 74 20 79 29 20 7b 00 00 00 1b 20 20 20 20 2f 2f 20 63 65 6e 74 72 65 20 6f 66 20 74 68 65 20 | nt.y).{........//.centre.of.the. |
| 1fc0 | 77 69 6e 64 6f 77 00 00 00 2d 20 20 20 20 69 6e 74 20 63 78 20 3d 20 67 6c 75 74 47 65 74 28 47 | window...-....int.cx.=.glutGet(G |
| 1fe0 | 4c 55 54 5f 57 49 4e 44 4f 57 5f 57 49 44 54 48 29 20 20 2f 20 32 3b 00 00 00 2d 20 20 20 20 69 | LUT_WINDOW_WIDTH)../.2;...-....i |
| 2000 | 6e 74 20 63 79 20 3d 20 67 6c 75 74 47 65 74 28 47 4c 55 54 5f 57 49 4e 44 4f 57 5f 48 45 49 47 | nt.cy.=.glutGet(GLUT_WINDOW_HEIG |
| 2020 | 48 54 29 20 2f 20 32 3b 00 00 00 00 00 00 00 20 20 20 20 20 2f 2f 20 63 6f 6d 70 75 74 65 20 64 | HT)./.2;............//.compute.d |
| 2040 | 65 6c 74 61 20 66 72 6f 6d 20 63 65 6e 74 72 65 00 00 00 14 20 20 20 20 69 6e 74 20 64 78 20 3d | elta.from.centre........int.dx.= |
| 2060 | 20 78 20 2d 20 63 78 3b 00 00 00 14 20 20 20 20 69 6e 74 20 64 79 20 3d 20 79 20 2d 20 63 79 3b | .x.-.cx;........int.dy.=.y.-.cy; |
| 2080 | 00 00 00 00 00 00 00 45 20 20 20 20 2f 2f 20 6f 6e 6c 79 20 75 70 64 61 74 65 20 69 66 20 74 68 | .......E....//.only.update.if.th |
| 20a0 | 65 72 65 20 69 73 20 61 63 74 75 61 6c 20 6d 6f 76 65 6d 65 6e 74 20 28 61 76 6f 69 64 73 20 64 | ere.is.actual.movement.(avoids.d |
| 20c0 | 72 69 66 74 20 6f 6e 20 77 61 72 70 29 00 00 00 23 20 20 20 20 69 66 20 28 64 78 20 3d 3d 20 30 | rift.on.warp)...#....if.(dx.==.0 |
| 20e0 | 20 26 26 20 64 79 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 14 20 20 20 20 | .&&.dy.==.0).return;............ |
| 2100 | 2f 2f 20 75 70 64 61 74 65 20 61 6e 67 6c 65 73 00 00 00 1d 20 20 20 20 79 61 77 20 20 20 2b 3d | //.update.angles........yaw...+= |
| 2120 | 20 64 78 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 00 00 1d 20 20 20 20 70 69 74 63 68 20 2b | .dx.*.MOUSE_SENS;........pitch.+ |
| 2140 | 3d 20 64 79 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 00 00 00 00 00 00 24 20 20 20 20 2f 2f | =.dy.*.MOUSE_SENS;.......$....// |
| 2160 | 20 63 6c 61 6d 70 20 70 69 74 63 68 20 74 6f 20 61 76 6f 69 64 20 66 6c 69 70 70 69 6e 67 00 00 | .clamp.pitch.to.avoid.flipping.. |
| 2180 | 00 27 20 20 20 20 69 66 20 28 70 69 74 63 68 20 3e 20 20 38 39 2e 30 66 29 20 70 69 74 63 68 20 | .'....if.(pitch.>..89.0f).pitch. |
| 21a0 | 3d 20 20 38 39 2e 30 66 3b 00 00 00 27 20 20 20 20 69 66 20 28 70 69 74 63 68 20 3c 20 2d 38 39 | =..89.0f;...'....if.(pitch.<.-89 |
| 21c0 | 2e 30 66 29 20 70 69 74 63 68 20 3d 20 2d 38 39 2e 30 66 3b 00 00 00 00 00 00 00 1b 20 20 20 20 | .0f).pitch.=.-89.0f;............ |
| 21e0 | 2f 2f 20 6b 65 65 70 20 79 61 77 20 69 6e 20 5b 30 2c 20 33 36 30 29 00 00 00 22 20 20 20 20 69 | //.keep.yaw.in.[0,.360)..."....i |
| 2200 | 66 20 28 79 61 77 20 3c 20 30 2e 30 66 29 20 79 61 77 20 2b 3d 20 33 36 30 2e 30 66 3b 00 00 00 | f.(yaw.<.0.0f).yaw.+=.360.0f;... |
| 2220 | 25 20 20 20 20 69 66 20 28 79 61 77 20 3e 3d 20 33 36 30 2e 30 66 29 20 79 61 77 20 2d 3d 20 33 | %....if.(yaw.>=.360.0f).yaw.-=.3 |
| 2240 | 36 30 2e 30 66 3b 00 00 00 00 00 00 00 21 20 20 20 20 2f 2f 20 77 61 72 70 20 63 75 72 73 6f 72 | 60.0f;.......!....//.warp.cursor |
| 2260 | 20 62 61 63 6b 20 74 6f 20 63 65 6e 74 72 65 00 00 00 1c 20 20 20 20 67 6c 75 74 57 61 72 70 50 | .back.to.centre........glutWarpP |
| 2280 | 6f 69 6e 74 65 72 28 63 78 2c 20 63 79 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 45 2f 2a 20 2d | ointer(cx,.cy);....}.......E/*.- |
| 22a0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 69 64 6c 65 3a 20 75 70 64 61 74 65 20 6d 6f 76 65 6d 65 6e 74 20 | ---------.idle:.update.movement. |
| 22c0 | 62 61 73 65 64 20 6f 6e 20 64 65 6c 74 61 20 74 69 6d 65 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a | based.on.delta.time.----------.* |
| 22e0 | 2f 00 00 00 0d 76 6f 69 64 20 69 64 6c 65 28 29 20 7b 00 00 00 29 20 20 20 20 69 6e 74 20 6e 6f | /....void.idle().{...)....int.no |
| 2300 | 77 20 3d 20 67 6c 75 74 47 65 74 28 47 4c 55 54 5f 45 4c 41 50 53 45 44 5f 54 49 4d 45 29 3b 00 | w.=.glutGet(GLUT_ELAPSED_TIME);. |
| 2320 | 00 00 37 20 20 20 20 66 6c 6f 61 74 20 64 74 20 3d 20 28 6e 6f 77 20 2d 20 6c 61 73 74 54 69 6d | ..7....float.dt.=.(now.-.lastTim |
| 2340 | 65 29 20 2f 20 31 30 30 30 2e 30 66 3b 20 20 20 2f 2f 20 73 65 63 6f 6e 64 73 00 00 00 4c 20 20 | e)./.1000.0f;...//.seconds...L.. |
| 2360 | 20 20 69 66 20 28 64 74 20 3e 20 30 2e 31 66 29 20 64 74 20 3d 20 30 2e 31 66 3b 20 20 20 20 20 | ..if.(dt.>.0.1f).dt.=.0.1f;..... |
| 2380 | 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 76 6f 69 64 20 68 75 67 65 20 6a 75 6d 70 73 20 61 | ...........//.avoid.huge.jumps.a |
| 23a0 | 66 74 65 72 20 70 61 75 73 65 00 00 00 13 20 20 20 20 6c 61 73 74 54 69 6d 65 20 3d 20 6e 6f 77 | fter.pause........lastTime.=.now |
| 23c0 | 3b 00 00 00 00 00 00 00 15 20 20 20 20 75 70 64 61 74 65 43 61 6d 65 72 61 28 64 74 29 3b 00 00 | ;............updateCamera(dt);.. |
| 23e0 | 00 18 20 20 20 20 67 6c 75 74 50 6f 73 74 52 65 64 69 73 70 6c 61 79 28 29 3b 00 00 00 01 7d 00 | ......glutPostRedisplay();....}. |
| 2400 | 00 00 00 00 00 00 34 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 61 70 70 6c 79 20 6d 6f 76 65 6d | ......4/*.----------.apply.movem |
| 2420 | 65 6e 74 20 74 6f 20 63 61 6d 65 72 61 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 00 00 00 1d 76 | ent.to.camera.----------.*/....v |
| 2440 | 6f 69 64 20 75 70 64 61 74 65 43 61 6d 65 72 61 28 66 6c 6f 61 74 20 64 74 29 20 7b 00 00 00 1b | oid.updateCamera(float.dt).{.... |
| 2460 | 20 20 20 20 69 66 20 28 64 74 20 3c 3d 20 30 2e 30 66 29 20 72 65 74 75 72 6e 3b 00 00 00 00 00 | ....if.(dt.<=.0.0f).return;..... |
| 2480 | 00 00 22 20 20 20 20 66 6c 6f 61 74 20 73 70 65 65 64 20 3d 20 4d 4f 56 45 5f 53 50 45 45 44 20 | .."....float.speed.=.MOVE_SPEED. |
| 24a0 | 2a 20 64 74 3b 00 00 00 00 00 00 00 38 20 20 20 20 2f 2f 20 66 6f 72 77 61 72 64 20 61 6e 64 20 | *.dt;.......8....//.forward.and. |
| 24c0 | 72 69 67 68 74 20 76 65 63 74 6f 72 73 20 28 68 6f 72 69 7a 6f 6e 74 61 6c 20 70 6c 61 6e 65 20 | right.vectors.(horizontal.plane. |
| 24e0 | 6f 6e 6c 79 29 00 00 00 27 20 20 20 20 66 6c 6f 61 74 20 79 61 77 52 61 64 20 3d 20 79 61 77 20 | only)...'....float.yawRad.=.yaw. |
| 2500 | 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 3b 00 00 00 22 20 20 20 20 66 6c 6f 61 74 20 66 6f | *.M_PI./.180.0f;..."....float.fo |
| 2520 | 72 77 61 72 64 58 20 3d 20 73 69 6e 66 28 79 61 77 52 61 64 29 3b 00 00 00 23 20 20 20 20 66 6c | rwardX.=.sinf(yawRad);...#....fl |
| 2540 | 6f 61 74 20 66 6f 72 77 61 72 64 5a 20 3d 20 2d 63 6f 73 66 28 79 61 77 52 61 64 29 3b 00 00 00 | oat.forwardZ.=.-cosf(yawRad);... |
| 2560 | 22 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 58 20 20 20 3d 20 63 6f 73 66 28 79 61 77 52 61 | "....float.rightX...=.cosf(yawRa |
| 2580 | 64 29 3b 00 00 00 22 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 5a 20 20 20 3d 20 73 69 6e 66 | d);..."....float.rightZ...=.sinf |
| 25a0 | 28 79 61 77 52 61 64 29 3b 00 00 00 00 00 00 00 4d 20 20 20 20 69 66 20 28 6d 6f 76 65 46 6f 72 | (yawRad);.......M....if.(moveFor |
| 25c0 | 77 61 72 64 29 20 20 7b 20 63 61 6d 58 20 2b 3d 20 66 6f 72 77 61 72 64 58 20 2a 20 73 70 65 65 | ward)..{.camX.+=.forwardX.*.spee |
| 25e0 | 64 3b 20 63 61 6d 5a 20 2b 3d 20 66 6f 72 77 61 72 64 5a 20 2a 20 73 70 65 65 64 3b 20 7d 00 00 | d;.camZ.+=.forwardZ.*.speed;.}.. |
| 2600 | 00 4d 20 20 20 20 69 66 20 28 6d 6f 76 65 42 61 63 6b 77 61 72 64 29 20 7b 20 63 61 6d 58 20 2d | .M....if.(moveBackward).{.camX.- |
| 2620 | 3d 20 66 6f 72 77 61 72 64 58 20 2a 20 73 70 65 65 64 3b 20 63 61 6d 5a 20 2d 3d 20 66 6f 72 77 | =.forwardX.*.speed;.camZ.-=.forw |
| 2640 | 61 72 64 5a 20 2a 20 73 70 65 65 64 3b 20 7d 00 00 00 4d 20 20 20 20 69 66 20 28 6d 6f 76 65 4c | ardZ.*.speed;.}...M....if.(moveL |
| 2660 | 65 66 74 29 20 20 20 20 20 7b 20 63 61 6d 58 20 2d 3d 20 72 69 67 68 74 58 20 20 20 2a 20 73 70 | eft).....{.camX.-=.rightX...*.sp |
| 2680 | 65 65 64 3b 20 63 61 6d 5a 20 2d 3d 20 72 69 67 68 74 5a 20 20 20 2a 20 73 70 65 65 64 3b 20 7d | eed;.camZ.-=.rightZ...*.speed;.} |
| 26a0 | 00 00 00 4d 20 20 20 20 69 66 20 28 6d 6f 76 65 52 69 67 68 74 29 20 20 20 20 7b 20 63 61 6d 58 | ...M....if.(moveRight)....{.camX |
| 26c0 | 20 2b 3d 20 72 69 67 68 74 58 20 20 20 2a 20 73 70 65 65 64 3b 20 63 61 6d 5a 20 2b 3d 20 72 69 | .+=.rightX...*.speed;.camZ.+=.ri |
| 26e0 | 67 68 74 5a 20 20 20 2a 20 73 70 65 65 64 3b 20 7d 00 00 00 00 00 00 00 49 20 20 20 20 2f 2f 20 | ghtZ...*.speed;.}.......I....//. |
| 2700 | 73 69 6d 70 6c 65 20 62 6f 75 6e 64 61 72 79 20 28 6b 65 65 70 20 70 6c 61 79 65 72 20 6f 6e 20 | simple.boundary.(keep.player.on. |
| 2720 | 74 68 65 20 70 6c 61 74 66 6f 72 6d 2c 20 77 69 74 68 20 61 20 73 6d 61 6c 6c 20 6d 61 72 67 69 | the.platform,.with.a.small.margi |
| 2740 | 6e 29 00 00 00 30 20 20 20 20 66 6c 6f 61 74 20 6c 69 6d 69 74 20 3d 20 28 50 4c 41 54 46 4f 52 | n)...0....float.limit.=.(PLATFOR |
| 2760 | 4d 5f 53 49 5a 45 20 2f 20 32 2e 30 66 29 20 2d 20 31 2e 30 66 3b 00 00 00 25 20 20 20 20 69 66 | M_SIZE./.2.0f).-.1.0f;...%....if |
| 2780 | 20 28 63 61 6d 58 20 3c 20 2d 6c 69 6d 69 74 29 20 63 61 6d 58 20 3d 20 2d 6c 69 6d 69 74 3b 00 | .(camX.<.-limit).camX.=.-limit;. |
| 27a0 | 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 58 20 3e 20 20 6c 69 6d 69 74 29 20 63 61 6d 58 20 3d | ..%....if.(camX.>..limit).camX.= |
| 27c0 | 20 20 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 5a 20 3c 20 2d 6c 69 6d 69 | ..limit;...%....if.(camZ.<.-limi |
| 27e0 | 74 29 20 63 61 6d 5a 20 3d 20 2d 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d | t).camZ.=.-limit;...%....if.(cam |
| 2800 | 5a 20 3e 20 20 6c 69 6d 69 74 29 20 63 61 6d 5a 20 3d 20 20 6c 69 6d 69 74 3b 00 00 00 01 7d 35 | Z.>..limit).camZ.=..limit;....}5 |
| 2820 | 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 06 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 | ................................ |
| 2840 | 00 00 00 00 00 00 00 ad 1e 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 03 00 | .......................5._...... |
| 2860 | 00 00 05 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 | ................................ |
| 2880 | 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 28a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 28c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 28e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 29a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 29c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 f5 | .............................j.. |
| 29e0 | 50 04 01 00 00 00 04 00 f5 18 00 00 01 17 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0a 20 20 | P............................... |
| 2a00 | 20 20 76 65 6c 6f 63 69 f5 18 00 00 01 18 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 95 | ..veloci........................ |
| 2a20 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 06 20 20 20 20 20 20 f5 18 00 00 00 96 00 00 00 00 | ................................ |
| 2a40 | 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 | ................................ |
| 2a60 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 | ................5............... |
| 2a80 | 00 00 00 00 00 00 00 00 95 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2aa0 | f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 95 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 82 00 | ................................ |
| 2ac0 | 00 00 0a 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 | ................................ |
| 2ae0 | 00 00 00 00 17 01 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 2f 00 00 00 01 00 00 00 f8 1f 00 00 | ..................../........... |
| 2b00 | 00 00 00 00 00 00 00 00 00 00 00 00 3b 05 00 00 00 00 00 00 35 81 5f d0 00 00 00 04 00 00 00 06 | ............;.......5._......... |
| 2b20 | 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 | ................................ |
| 2b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 f5 fb 04 01 | ..........................j..... |
| 2ca0 | 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 47 00 00 00 14 23 69 6e 63 6c | ......................G....#incl |
| 2cc0 | 75 64 65 20 3c 47 4c 2f 67 6c 75 74 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 | ude.<GL/glut.h>....#include.<mat |
| 2ce0 | 68 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 | h.h>....#include.<stdio.h>....#i |
| 2d00 | 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 00 00 00 00 1b 23 64 65 66 69 6e 65 | nclude.<stdlib.h>........#define |
| 2d20 | 20 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 20 20 31 32 38 30 00 00 00 1a 23 64 65 66 69 6e 65 20 | .WINDOW_WIDTH...1280....#define. |
| 2d40 | 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 20 37 32 30 00 00 00 19 23 64 65 66 69 6e 65 20 50 4c | WINDOW_HEIGHT..720....#define.PL |
| 2d60 | 41 54 46 4f 52 4d 5f 53 49 5a 45 20 20 36 30 00 00 00 1b 23 64 65 66 69 6e 65 20 4d 4f 56 45 5f | ATFORM_SIZE..60....#define.MOVE_ |
| 2d80 | 53 50 45 45 44 20 20 20 20 20 36 2e 30 66 00 00 00 1c 23 64 65 66 69 6e 65 20 4d 4f 55 53 45 5f | SPEED.....6.0f....#define.MOUSE_ |
| 2da0 | 53 45 4e 53 20 20 20 20 20 30 2e 31 35 66 00 00 00 1c 23 64 65 66 69 6e 65 20 50 4c 41 59 45 52 | SENS.....0.15f....#define.PLAYER |
| 2dc0 | 5f 48 45 49 47 48 54 20 20 31 2e 36 32 66 00 00 00 00 00 00 00 35 66 6c 6f 61 74 20 63 61 6d 58 | _HEIGHT..1.62f.......5float.camX |
| 2de0 | 20 3d 20 30 2e 30 66 2c 20 63 61 6d 59 20 3d 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 2c 20 63 | .=.0.0f,.camY.=.PLAYER_HEIGHT,.c |
| 2e00 | 61 6d 5a 20 3d 20 30 2e 30 66 3b 00 00 00 22 66 6c 6f 61 74 20 79 61 77 20 3d 20 34 35 2e 30 66 | amZ.=.0.0f;..."float.yaw.=.45.0f |
| 2e20 | 2c 20 70 69 74 63 68 20 3d 20 2d 31 30 2e 30 66 3b 00 00 00 29 66 6c 6f 61 74 20 76 65 6c 6f 63 | ,.pitch.=.-10.0f;...)float.veloc |
| 2e40 | 69 74 79 58 20 3d 20 30 2e 30 66 2c 20 76 65 6c 6f 63 69 74 79 5a 20 3d 20 30 2e 30 66 3b 00 00 | ityX.=.0.0f,.velocityZ.=.0.0f;.. |
| 2e60 | 00 43 69 6e 74 20 6d 6f 76 65 46 6f 72 77 61 72 64 20 3d 20 30 2c 20 6d 6f 76 65 42 61 63 6b 77 | .Cint.moveForward.=.0,.moveBackw |
| 2e80 | 61 72 64 20 3d 20 30 2c 20 6d 6f 76 65 4c 65 66 74 20 3d 20 30 2c 20 6d 6f 76 65 52 69 67 68 74 | ard.=.0,.moveLeft.=.0,.moveRight |
| 2ea0 | 20 3d 20 30 3b 00 00 00 11 69 6e 74 20 6c 61 73 74 54 69 6d 65 20 3d 20 30 3b 00 00 00 1b 69 6e | .=.0;....int.lastTime.=.0;....in |
| 2ec0 | 74 20 70 72 65 76 4d 6f 75 73 65 58 2c 20 70 72 65 76 4d 6f 75 73 65 59 3b 00 00 00 19 69 6e 74 | t.prevMouseX,.prevMouseY;....int |
| 2ee0 | 20 6d 6f 75 73 65 49 6e 69 74 69 61 6c 69 7a 65 64 20 3d 20 30 3b 00 00 00 00 00 00 00 10 74 79 | .mouseInitialized.=.0;........ty |
| 2f00 | 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 00 00 00 11 20 20 20 20 66 6c 6f 61 74 20 74 6f 70 5b | pedef.struct.{........float.top[ |
| 2f20 | 33 5d 3b 00 00 00 12 20 20 20 20 66 6c 6f 61 74 20 73 69 64 65 5b 33 5d 3b 00 00 00 14 20 20 20 | 3];........float.side[3];....... |
| 2f40 | 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 5b 33 5d 3b 00 00 00 14 20 20 20 20 66 6c 6f 61 74 20 61 | .float.bottom[3];........float.a |
| 2f60 | 63 63 65 6e 74 5b 33 5d 3b 00 00 00 0d 7d 20 42 6c 6f 63 6b 53 74 79 6c 65 3b 00 00 00 00 00 00 | ccent[3];....}.BlockStyle;...... |
| 2f80 | 00 19 42 6c 6f 63 6b 53 74 79 6c 65 20 67 72 61 73 73 42 6c 6f 63 6b 20 3d 20 7b 00 00 00 1a 20 | ..BlockStyle.grassBlock.=.{..... |
| 2fa0 | 20 20 20 7b 30 2e 32 35 66 2c 20 30 2e 37 35 66 2c 20 30 2e 31 35 66 7d 2c 00 00 00 1a 20 20 20 | ...{0.25f,.0.75f,.0.15f},....... |
| 2fc0 | 20 7b 30 2e 35 30 66 2c 20 30 2e 33 35 66 2c 20 30 2e 31 30 66 7d 2c 00 00 00 1a 20 20 20 20 7b | .{0.50f,.0.35f,.0.10f},........{ |
| 2fe0 | 30 2e 34 30 66 2c 20 30 2e 32 35 66 2c 20 30 2e 30 38 66 7d 2c 00 00 00 19 20 20 20 20 7b 30 2e | 0.40f,.0.25f,.0.08f},........{0. |
| 3000 | 32 30 66 2c 20 30 2e 36 30 66 2c 20 30 2e 31 30 66 7d 00 00 00 02 7d 3b 00 00 00 00 00 00 00 18 | 20f,.0.60f,.0.10f}....};........ |
| 3020 | 42 6c 6f 63 6b 53 74 79 6c 65 20 64 69 72 74 42 6c 6f 63 6b 20 3d 20 7b 00 00 00 1a 20 20 20 20 | BlockStyle.dirtBlock.=.{........ |
| 3040 | 7b 30 2e 35 35 66 2c 20 30 2e 34 30 66 2c 20 30 2e 32 30 66 7d 2c 00 00 00 1a 20 20 20 20 7b 30 | {0.55f,.0.40f,.0.20f},........{0 |
| 3060 | 2e 35 30 66 2c 20 30 2e 33 35 66 2c 20 30 2e 31 38 66 7d 2c 00 00 00 1a 20 20 20 20 7b 30 2e 34 | .50f,.0.35f,.0.18f},........{0.4 |
| 3080 | 30 66 2c 20 30 2e 32 38 66 2c 20 30 2e 31 35 66 7d 2c 00 00 00 19 20 20 20 20 7b 30 2e 34 35 66 | 0f,.0.28f,.0.15f},........{0.45f |
| 30a0 | 2c 20 30 2e 33 32 66 2c 20 30 2e 31 36 66 7d 00 00 00 02 7d 3b 00 00 00 00 00 00 00 19 42 6c 6f | ,.0.32f,.0.16f}....};........Blo |
| 30c0 | 63 6b 53 74 79 6c 65 20 73 74 6f 6e 65 42 6c 6f 63 6b 20 3d 20 7b 00 00 00 1a 20 20 20 20 7b 30 | ckStyle.stoneBlock.=.{........{0 |
| 30e0 | 2e 35 30 66 2c 20 30 2e 35 30 66 2c 20 30 2e 35 30 66 7d 2c 00 00 00 1a 20 20 20 20 7b 30 2e 34 | .50f,.0.50f,.0.50f},........{0.4 |
| 3100 | 35 66 2c 20 30 2e 34 35 66 2c 20 30 2e 34 35 66 7d 2c 00 00 00 1a 20 20 20 20 7b 30 2e 33 35 66 | 5f,.0.45f,.0.45f},........{0.35f |
| 3120 | 2c 20 30 2e 33 35 66 2c 20 30 2e 33 35 66 7d 2c 00 00 00 19 20 20 20 20 7b 30 2e 35 35 66 2c 20 | ,.0.35f,.0.35f},........{0.55f,. |
| 3140 | 30 2e 35 35 66 2c 20 30 2e 35 35 66 7d 00 00 00 02 7d 3b 00 00 00 00 00 00 00 0f 76 6f 69 64 20 | 0.55f,.0.55f}....};........void. |
| 3160 | 69 6e 69 74 47 4c 28 29 20 7b 00 00 00 2c 20 20 20 20 67 6c 43 6c 65 61 72 43 6f 6c 6f 72 28 30 | initGL().{...,....glClearColor(0 |
| 3180 | 2e 35 33 66 2c 20 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 66 29 3b 00 00 00 1c 20 20 | .53f,.0.81f,.0.98f,.1.0f);...... |
| 31a0 | 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 44 45 50 54 48 5f 54 45 53 54 29 3b 00 00 00 1b 20 20 | ..glEnable(GL_DEPTH_TEST);...... |
| 31c0 | 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 43 55 4c 4c 5f 46 41 43 45 29 3b 00 00 00 18 20 20 20 | ..glEnable(GL_CULL_FACE);....... |
| 31e0 | 20 67 6c 43 75 6c 6c 46 61 63 65 28 47 4c 5f 42 41 43 4b 29 3b 00 00 00 15 20 20 20 20 67 6c 45 | .glCullFace(GL_BACK);........glE |
| 3200 | 6e 61 62 6c 65 28 47 4c 5f 46 4f 47 29 3b 00 00 00 23 20 20 20 20 67 6c 46 6f 67 69 28 47 4c 5f | nable(GL_FOG);...#....glFogi(GL_ |
| 3220 | 46 4f 47 5f 4d 4f 44 45 2c 20 47 4c 5f 4c 49 4e 45 41 52 29 3b 00 00 00 2f 20 20 20 20 67 6c 46 | FOG_MODE,.GL_LINEAR);.../....glF |
| 3240 | 6f 67 66 28 47 4c 5f 46 4f 47 5f 53 54 41 52 54 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 | ogf(GL_FOG_START,.PLATFORM_SIZE. |
| 3260 | 2a 20 30 2e 36 66 29 3b 00 00 00 2d 20 20 20 20 67 6c 46 6f 67 66 28 47 4c 5f 46 4f 47 5f 45 4e | *.0.6f);...-....glFogf(GL_FOG_EN |
| 3280 | 44 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 31 2e 32 66 29 3b 00 00 00 33 20 20 20 | D,.PLATFORM_SIZE.*.1.2f);...3... |
| 32a0 | 20 66 6c 6f 61 74 20 66 6f 67 43 6f 6c 6f 72 5b 5d 20 3d 20 7b 30 2e 35 33 66 2c 20 30 2e 38 31 | .float.fogColor[].=.{0.53f,.0.81 |
| 32c0 | 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 66 7d 3b 00 00 00 24 20 20 20 20 67 6c 46 6f 67 66 76 28 | f,.0.98f,.1.0f};...$....glFogfv( |
| 32e0 | 47 4c 5f 46 4f 47 5f 43 4f 4c 4f 52 2c 20 66 6f 67 43 6f 6c 6f 72 29 3b 00 00 00 23 20 20 20 20 | GL_FOG_COLOR,.fogColor);...#.... |
| 3300 | 67 6c 48 69 6e 74 28 47 4c 5f 46 4f 47 5f 48 49 4e 54 2c 20 47 4c 5f 4e 49 43 45 53 54 29 3b 00 | glHint(GL_FOG_HINT,.GL_NICEST);. |
| 3320 | 00 00 1c 20 20 20 20 67 6c 53 68 61 64 65 4d 6f 64 65 6c 28 47 4c 5f 53 4d 4f 4f 54 48 29 3b 00 | .......glShadeModel(GL_SMOOTH);. |
| 3340 | 00 00 1b 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4e 4f 52 4d 41 4c 49 5a 45 29 3b 00 00 | .......glEnable(GL_NORMALIZE);.. |
| 3360 | 00 00 00 00 00 31 20 20 20 20 47 4c 66 6c 6f 61 74 20 61 6d 62 69 65 6e 74 5b 5d 20 3d 20 7b 30 | .....1....GLfloat.ambient[].=.{0 |
| 3380 | 2e 36 66 2c 20 30 2e 36 66 2c 20 30 2e 36 66 2c 20 31 2e 30 66 7d 3b 00 00 00 31 20 20 20 20 47 | .6f,.0.6f,.0.6f,.1.0f};...1....G |
| 33a0 | 4c 66 6c 6f 61 74 20 64 69 66 66 75 73 65 5b 5d 20 3d 20 7b 30 2e 38 66 2c 20 30 2e 38 66 2c 20 | Lfloat.diffuse[].=.{0.8f,.0.8f,. |
| 33c0 | 30 2e 37 66 2c 20 31 2e 30 66 7d 3b 00 00 00 57 20 20 20 20 47 4c 66 6c 6f 61 74 20 6c 69 67 68 | 0.7f,.1.0f};...W....GLfloat.ligh |
| 33e0 | 74 50 6f 73 5b 5d 20 3d 20 7b 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e 30 66 2c 20 50 4c | tPos[].=.{PLATFORM_SIZE/2.0f,.PL |
| 3400 | 41 54 46 4f 52 4d 5f 53 49 5a 45 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e 30 66 2c | ATFORM_SIZE,.PLATFORM_SIZE/2.0f, |
| 3420 | 20 31 2e 30 66 7d 3b 00 00 00 00 00 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c | .1.0f};............glEnable(GL_L |
| 3440 | 49 47 48 54 49 4e 47 29 3b 00 00 00 18 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 | IGHTING);........glEnable(GL_LIG |
| 3460 | 48 54 30 29 3b 00 00 00 2e 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 | HT0);........glLightfv(GL_LIGHT0 |
| 3480 | 2c 20 47 4c 5f 41 4d 42 49 45 4e 54 2c 20 61 6d 62 69 65 6e 74 29 3b 00 00 00 2e 20 20 20 20 67 | ,.GL_AMBIENT,.ambient);........g |
| 34a0 | 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 44 49 46 46 55 53 45 2c 20 | lLightfv(GL_LIGHT0,.GL_DIFFUSE,. |
| 34c0 | 64 69 66 66 75 73 65 29 3b 00 00 00 30 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 | diffuse);...0....glLightfv(GL_LI |
| 34e0 | 47 48 54 30 2c 20 47 4c 5f 50 4f 53 49 54 49 4f 4e 2c 20 6c 69 67 68 74 50 6f 73 29 3b 00 00 00 | GHT0,.GL_POSITION,.lightPos);... |
| 3500 | 00 00 00 00 39 20 20 20 20 47 4c 66 6c 6f 61 74 20 6d 61 74 65 72 69 61 6c 41 6d 62 69 65 6e 74 | ....9....GLfloat.materialAmbient |
| 3520 | 5b 5d 20 3d 20 7b 30 2e 38 66 2c 20 30 2e 38 66 2c 20 30 2e 38 66 2c 20 31 2e 30 66 7d 3b 00 00 | [].=.{0.8f,.0.8f,.0.8f,.1.0f};.. |
| 3540 | 00 39 20 20 20 20 47 4c 66 6c 6f 61 74 20 6d 61 74 65 72 69 61 6c 44 69 66 66 75 73 65 5b 5d 20 | .9....GLfloat.materialDiffuse[]. |
| 3560 | 3d 20 7b 30 2e 39 66 2c 20 30 2e 39 66 2c 20 30 2e 39 66 2c 20 31 2e 30 66 7d 3b 00 00 00 38 20 | =.{0.9f,.0.9f,.0.9f,.1.0f};...8. |
| 3580 | 20 20 20 67 6c 4d 61 74 65 72 69 61 6c 66 76 28 47 4c 5f 46 52 4f 4e 54 2c 20 47 4c 5f 41 4d 42 | ...glMaterialfv(GL_FRONT,.GL_AMB |
| 35a0 | 49 45 4e 54 2c 20 6d 61 74 65 72 69 61 6c 41 6d 62 69 65 6e 74 29 3b 00 00 00 38 20 20 20 20 67 | IENT,.materialAmbient);...8....g |
| 35c0 | 6c 4d 61 74 65 72 69 61 6c 66 76 28 47 4c 5f 46 52 4f 4e 54 2c 20 47 4c 5f 44 49 46 46 55 53 45 | lMaterialfv(GL_FRONT,.GL_DIFFUSE |
| 35e0 | 2c 20 6d 61 74 65 72 69 61 6c 44 69 66 66 75 73 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 5c | ,.materialDiffuse);....}.......\ |
| 3600 | 76 6f 69 64 20 64 72 61 77 46 61 63 65 57 69 74 68 45 64 67 65 73 28 66 6c 6f 61 74 20 76 30 5b | void.drawFaceWithEdges(float.v0[ |
| 3620 | 33 5d 2c 20 66 6c 6f 61 74 20 76 31 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 32 5b 33 5d 2c 20 66 6c | 3],.float.v1[3],.float.v2[3],.fl |
| 3640 | 6f 61 74 20 76 33 5b 33 5d 2c 20 66 6c 6f 61 74 20 63 6f 6c 6f 72 5b 33 5d 29 20 7b 00 00 00 44 | oat.v3[3],.float.color[3]).{...D |
| 3660 | 20 20 20 20 66 6c 6f 61 74 20 64 61 72 6b 65 72 5b 33 5d 20 3d 20 7b 63 6f 6c 6f 72 5b 30 5d 2a | ....float.darker[3].=.{color[0]* |
| 3680 | 30 2e 37 66 2c 20 63 6f 6c 6f 72 5b 31 5d 2a 30 2e 37 66 2c 20 63 6f 6c 6f 72 5b 32 5d 2a 30 2e | 0.7f,.color[1]*0.7f,.color[2]*0. |
| 36a0 | 37 66 7d 3b 00 00 00 04 20 20 20 20 00 00 00 16 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 51 | 7f};................glBegin(GL_Q |
| 36c0 | 55 41 44 53 29 3b 00 00 00 16 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 76 28 63 6f 6c 6f 72 29 3b | UADS);........glColor3fv(color); |
| 36e0 | 00 00 00 21 20 20 20 20 67 6c 4e 6f 72 6d 61 6c 33 66 28 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 | ...!....glNormal3f(0.0f,.0.0f,.0 |
| 3700 | 2e 30 66 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 30 29 3b 00 00 00 | .0f);........glVertex3fv(v0);... |
| 3720 | 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 31 29 3b 00 00 00 14 20 20 20 20 67 6c 56 | .....glVertex3fv(v1);........glV |
| 3740 | 65 72 74 65 78 33 66 76 28 76 32 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 | ertex3fv(v2);........glVertex3fv |
| 3760 | 28 76 33 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 00 00 00 00 1b 20 20 20 | (v3);........glEnd();........... |
| 3780 | 20 67 6c 44 69 73 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 16 20 20 20 20 | .glDisable(GL_LIGHTING);........ |
| 37a0 | 67 6c 4c 69 6e 65 57 69 64 74 68 28 31 2e 30 66 29 3b 00 00 00 1a 20 20 20 20 67 6c 42 65 67 69 | glLineWidth(1.0f);........glBegi |
| 37c0 | 6e 28 47 4c 5f 4c 49 4e 45 5f 4c 4f 4f 50 29 3b 00 00 00 17 20 20 20 20 67 6c 43 6f 6c 6f 72 33 | n(GL_LINE_LOOP);........glColor3 |
| 37e0 | 66 76 28 64 61 72 6b 65 72 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 | fv(darker);........glVertex3fv(v |
| 3800 | 30 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 31 29 3b 00 00 00 14 20 | 0);........glVertex3fv(v1);..... |
| 3820 | 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 32 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 | ...glVertex3fv(v2);........glVer |
| 3840 | 74 65 78 33 66 76 28 76 33 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 1a 20 | tex3fv(v3);........glEnd();..... |
| 3860 | 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 01 7d 00 00 | ...glEnable(GL_LIGHTING);....}.. |
| 3880 | 00 00 00 00 00 31 76 6f 69 64 20 64 72 61 77 47 72 61 73 73 44 65 74 61 69 6c 28 66 6c 6f 61 74 | .....1void.drawGrassDetail(float |
| 38a0 | 20 78 2c 20 66 6c 6f 61 74 20 79 2c 20 66 6c 6f 61 74 20 7a 29 20 7b 00 00 00 1b 20 20 20 20 66 | .x,.float.y,.float.z).{........f |
| 38c0 | 6c 6f 61 74 20 62 6c 61 64 65 54 6f 70 5b 5d 5b 33 5d 20 3d 20 7b 00 00 00 28 20 20 20 20 20 20 | loat.bladeTop[][3].=.{...(...... |
| 38e0 | 20 20 7b 78 20 2b 20 30 2e 33 66 2c 20 79 20 2b 20 31 2e 30 35 66 2c 20 7a 20 2b 20 30 2e 33 66 | ..{x.+.0.3f,.y.+.1.05f,.z.+.0.3f |
| 3900 | 7d 2c 00 00 00 28 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 35 66 2c 20 79 20 2b 20 31 2e 31 | },...(........{x.+.0.5f,.y.+.1.1 |
| 3920 | 32 66 2c 20 7a 20 2b 20 30 2e 35 66 7d 2c 00 00 00 28 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 | 2f,.z.+.0.5f},...(........{x.+.0 |
| 3940 | 2e 37 66 2c 20 79 20 2b 20 31 2e 30 35 66 2c 20 7a 20 2b 20 30 2e 37 66 7d 2c 00 00 00 28 20 20 | .7f,.y.+.1.05f,.z.+.0.7f},...(.. |
| 3960 | 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 32 66 2c 20 79 20 2b 20 31 2e 30 38 66 2c 20 7a 20 2b 20 | ......{x.+.0.2f,.y.+.1.08f,.z.+. |
| 3980 | 30 2e 37 66 7d 2c 00 00 00 27 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 38 66 2c 20 79 20 2b | 0.7f},...'........{x.+.0.8f,.y.+ |
| 39a0 | 20 31 2e 30 38 66 2c 20 7a 20 2b 20 30 2e 33 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 1c 20 | .1.08f,.z.+.0.3f}........};..... |
| 39c0 | 20 20 20 66 6c 6f 61 74 20 62 6c 61 64 65 42 61 73 65 5b 5d 5b 33 5d 20 3d 20 7b 00 00 00 27 20 | ...float.bladeBase[][3].=.{...'. |
| 39e0 | 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 33 66 2c 20 79 20 2b 20 31 2e 30 66 2c 20 7a 20 2b 20 | .......{x.+.0.3f,.y.+.1.0f,.z.+. |
| 3a00 | 30 2e 33 66 7d 2c 00 00 00 27 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 35 66 2c 20 79 20 2b | 0.3f},...'........{x.+.0.5f,.y.+ |
| 3a20 | 20 31 2e 30 66 2c 20 7a 20 2b 20 30 2e 35 66 7d 2c 00 00 00 27 20 20 20 20 20 20 20 20 7b 78 20 | .1.0f,.z.+.0.5f},...'........{x. |
| 3a40 | 2b 20 30 2e 37 66 2c 20 79 20 2b 20 31 2e 30 66 2c 20 7a 20 2b 20 30 2e 37 66 7d 2c 00 00 00 27 | +.0.7f,.y.+.1.0f,.z.+.0.7f},...' |
| 3a60 | 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 32 66 2c 20 79 20 2b 20 31 2e 30 66 2c 20 7a 20 2b | ........{x.+.0.2f,.y.+.1.0f,.z.+ |
| 3a80 | 20 30 2e 37 66 7d 2c 00 00 00 26 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 38 66 2c 20 79 20 | .0.7f},...&........{x.+.0.8f,.y. |
| 3aa0 | 2b 20 31 2e 30 66 2c 20 7a 20 2b 20 30 2e 33 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 00 00 | +.1.0f,.z.+.0.3f}........};..... |
| 3ac0 | 00 00 1b 20 20 20 20 67 6c 44 69 73 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 | .......glDisable(GL_LIGHTING);.. |
| 3ae0 | 00 16 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 4c 49 4e 45 53 29 3b 00 00 00 21 20 20 20 20 | ......glBegin(GL_LINES);...!.... |
| 3b00 | 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 35 3b 20 69 2b 2b 29 20 7b 00 00 00 | for.(int.i.=.0;.i.<.5;.i++).{... |
| 3b20 | 27 20 20 20 20 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 28 30 2e 31 35 66 2c 20 30 2e 36 35 66 2c | '........glColor3f(0.15f,.0.65f, |
| 3b40 | 20 30 2e 31 30 66 29 3b 00 00 00 22 20 20 20 20 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 | .0.10f);..."........glVertex3fv( |
| 3b60 | 62 6c 61 64 65 42 61 73 65 5b 69 5d 29 3b 00 00 00 27 20 20 20 20 20 20 20 20 67 6c 43 6f 6c 6f | bladeBase[i]);...'........glColo |
| 3b80 | 72 33 66 28 30 2e 32 35 66 2c 20 30 2e 37 35 66 2c 20 30 2e 31 35 66 29 3b 00 00 00 21 20 20 20 | r3f(0.25f,.0.75f,.0.15f);...!... |
| 3ba0 | 20 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 62 6c 61 64 65 54 6f 70 5b 69 5d 29 3b 00 00 | .....glVertex3fv(bladeTop[i]);.. |
| 3bc0 | 00 05 20 20 20 20 7d 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 1a 20 20 20 20 67 | ......}........glEnd();........g |
| 3be0 | 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 01 7d 00 00 00 00 00 00 | lEnable(GL_LIGHTING);....}...... |
| 3c00 | 00 3c 76 6f 69 64 20 64 72 61 77 43 75 62 65 28 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 20 79 | .<void.drawCube(float.x,.float.y |
| 3c20 | 2c 20 66 6c 6f 61 74 20 7a 2c 20 42 6c 6f 63 6b 53 74 79 6c 65 20 73 74 79 6c 65 29 20 7b 00 00 | ,.float.z,.BlockStyle.style).{.. |
| 3c40 | 00 13 20 20 20 20 67 6c 50 75 73 68 4d 61 74 72 69 78 28 29 3b 00 00 00 1a 20 20 20 20 67 6c 54 | ......glPushMatrix();........glT |
| 3c60 | 72 61 6e 73 6c 61 74 65 66 28 78 2c 20 79 2c 20 7a 29 3b 00 00 00 00 00 00 00 17 20 20 20 20 66 | ranslatef(x,.y,.z);............f |
| 3c80 | 6c 6f 61 74 20 74 6f 70 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 | loat.top[4][3].=.{.../........{0 |
| 3ca0 | 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 | .0f,.1.0f,.0.0f},.{1.0f,.1.0f,.0 |
| 3cc0 | 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e | .0f},............{1.0f,.1.0f,.1. |
| 3ce0 | 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 20 20 7d | 0f},.{0.0f,.1.0f,.1.0f}........} |
| 3d00 | 3b 00 00 00 1a 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 5b 34 5d 5b 33 5d 20 3d 20 7b 00 | ;........float.bottom[4][3].=.{. |
| 3d20 | 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b | ../........{0.0f,.0.0f,.1.0f},.{ |
| 3d40 | 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 | 1.0f,.0.0f,.1.0f},............{1 |
| 3d60 | 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 | .0f,.0.0f,.0.0f},.{0.0f,.0.0f,.0 |
| 3d80 | 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 74 20 66 72 6f 6e | .0f}........};........float.fron |
| 3da0 | 74 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e | t[4][3].=.{.../........{0.0f,.0. |
| 3dc0 | 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 00 00 | 0f,.0.0f},.{1.0f,.0.0f,.0.0f},.. |
| 3de0 | 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 | ..........{1.0f,.1.0f,.0.0f},.{0 |
| 3e00 | 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 18 20 20 | .0f,.1.0f,.0.0f}........};...... |
| 3e20 | 20 20 66 6c 6f 61 74 20 62 61 63 6b 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 | ..float.back[4][3].=.{.../...... |
| 3e40 | 20 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 | ..{1.0f,.0.0f,.1.0f},.{0.0f,.0.0 |
| 3e60 | 66 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 31 2e 30 66 | f,.1.0f},............{0.0f,.1.0f |
| 3e80 | 2c 20 31 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 | ,.1.0f},.{1.0f,.1.0f,.1.0f}..... |
| 3ea0 | 20 20 20 7d 3b 00 00 00 18 20 20 20 20 66 6c 6f 61 74 20 6c 65 66 74 5b 34 5d 5b 33 5d 20 3d 20 | ...};........float.left[4][3].=. |
| 3ec0 | 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c | {.../........{0.0f,.0.0f,.1.0f}, |
| 3ee0 | 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 | .{0.0f,.0.0f,.0.0f},............ |
| 3f00 | 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c | {0.0f,.1.0f,.0.0f},.{0.0f,.1.0f, |
| 3f20 | 20 31 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 74 20 72 69 | .1.0f}........};........float.ri |
| 3f40 | 67 68 74 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 | ght[4][3].=.{.../........{1.0f,. |
| 3f60 | 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c | 0.0f,.0.0f},.{1.0f,.0.0f,.1.0f}, |
| 3f80 | 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 | ............{1.0f,.1.0f,.1.0f},. |
| 3fa0 | 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 00 | {1.0f,.1.0f,.0.0f}........};.... |
| 3fc0 | 00 00 00 41 20 20 20 20 64 72 61 77 46 61 63 65 57 69 74 68 45 64 67 65 73 28 74 6f 70 5b 30 5d | ...A....drawFaceWithEdges(top[0] |
| 3fe0 | 2c 20 74 6f 70 5b 31 5d 2c 20 74 6f 70 5b 32 5d 2c 20 74 6f 70 5b 33 5d 2c 20 73 74 79 6c 65 2e | ,.top[1],.top[2],.top[3],.style. |
| 4000 | 74 6f 70 29 3b 00 00 00 50 20 20 20 20 64 72 61 77 46 61 63 65 57 69 74 68 45 64 67 65 73 28 62 | top);...P....drawFaceWithEdges(b |
| 4020 | 6f 74 74 6f 6d 5b 30 5d 2c 20 62 6f 74 74 6f 6d 5b 31 5d 2c 20 62 6f 74 74 6f 6d 5b 32 5d 2c 20 | ottom[0],.bottom[1],.bottom[2],. |
| 4040 | 62 6f 74 74 6f 6d 5b 33 5d 2c 20 73 74 79 6c 65 2e 62 6f 74 74 6f 6d 29 3b 00 00 00 4a 20 20 20 | bottom[3],.style.bottom);...J... |
| 4060 | 20 64 72 61 77 46 61 63 65 57 69 74 68 45 64 67 65 73 28 66 72 6f 6e 74 5b 30 5d 2c 20 66 72 6f | .drawFaceWithEdges(front[0],.fro |
| 4080 | 6e 74 5b 31 5d 2c 20 66 72 6f 6e 74 5b 32 5d 2c 20 66 72 6f 6e 74 5b 33 5d 2c 20 73 74 79 6c 65 | nt[1],.front[2],.front[3],.style |
| 40a0 | 2e 73 69 64 65 29 3b 00 00 00 46 20 20 20 20 64 72 61 77 46 61 63 65 57 69 74 68 45 64 67 65 73 | .side);...F....drawFaceWithEdges |
| 40c0 | 28 62 61 63 6b 5b 30 5d 2c 20 62 61 63 6b 5b 31 5d 2c 20 62 61 63 6b 5b 32 5d 2c 20 62 61 63 6b | (back[0],.back[1],.back[2],.back |
| 40e0 | 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 46 20 20 20 20 64 72 61 77 46 61 63 | [3],.style.side);...F....drawFac |
| 4100 | 65 57 69 74 68 45 64 67 65 73 28 6c 65 66 74 5b 30 5d 2c 20 6c 65 66 74 5b 31 5d 2c 20 6c 65 66 | eWithEdges(left[0],.left[1],.lef |
| 4120 | 74 5b 32 5d 2c 20 6c 65 66 74 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 4a 20 | t[2],.left[3],.style.side);...J. |
| 4140 | 20 20 20 64 72 61 77 46 61 63 65 57 69 74 68 45 64 67 65 73 28 72 69 67 68 74 5b 30 5d 2c 20 72 | ...drawFaceWithEdges(right[0],.r |
| 4160 | 69 67 68 74 5b 31 5d 2c 20 72 69 67 68 74 5b 32 5d 2c 20 72 69 67 68 74 5b 33 5d 2c 20 73 74 79 | ight[1],.right[2],.right[3],.sty |
| 4180 | 6c 65 2e 73 69 64 65 29 3b 00 00 00 00 00 00 00 12 20 20 20 20 67 6c 50 6f 70 4d 61 74 72 69 78 | le.side);............glPopMatrix |
| 41a0 | 28 29 3b 00 00 00 00 00 00 00 2d 20 20 20 20 69 66 20 28 73 74 79 6c 65 2e 74 6f 70 5b 30 5d 20 | ();.......-....if.(style.top[0]. |
| 41c0 | 3d 3d 20 67 72 61 73 73 42 6c 6f 63 6b 2e 74 6f 70 5b 30 5d 20 26 26 20 00 00 00 2d 20 20 20 20 | ==.grassBlock.top[0].&&....-.... |
| 41e0 | 20 20 20 20 73 74 79 6c 65 2e 74 6f 70 5b 31 5d 20 3d 3d 20 67 72 61 73 73 42 6c 6f 63 6b 2e 74 | ....style.top[1].==.grassBlock.t |
| 4200 | 6f 70 5b 31 5d 20 26 26 20 00 00 00 2c 20 20 20 20 20 20 20 20 73 74 79 6c 65 2e 74 6f 70 5b 32 | op[1].&&....,........style.top[2 |
| 4220 | 5d 20 3d 3d 20 67 72 61 73 73 42 6c 6f 63 6b 2e 74 6f 70 5b 32 5d 29 20 7b 00 00 00 21 20 20 20 | ].==.grassBlock.top[2]).{...!... |
| 4240 | 20 20 20 20 20 64 72 61 77 47 72 61 73 73 44 65 74 61 69 6c 28 78 2c 20 79 2c 20 7a 29 3b 00 00 | .....drawGrassDetail(x,.y,.z);.. |
| 4260 | 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 15 76 6f 69 64 20 64 72 61 77 50 6c 61 | ......}....}........void.drawPla |
| 4280 | 74 66 6f 72 6d 28 29 20 7b 00 00 00 21 20 20 20 20 69 6e 74 20 68 61 6c 66 20 3d 20 50 4c 41 54 | tform().{...!....int.half.=.PLAT |
| 42a0 | 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 3b 00 00 00 28 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 | FORM_SIZE./.2;...(....for.(int.i |
| 42c0 | 20 3d 20 2d 68 61 6c 66 3b 20 69 20 3c 20 68 61 6c 66 3b 20 69 2b 2b 29 20 7b 00 00 00 2c 20 20 | .=.-half;.i.<.half;.i++).{...,.. |
| 42e0 | 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 2d 68 61 6c 66 3b 20 6a 20 3c 20 68 61 | ......for.(int.j.=.-half;.j.<.ha |
| 4300 | 6c 66 3b 20 6a 2b 2b 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 | lf;.j++).{...*............float. |
| 4320 | 64 69 73 74 20 3d 20 73 71 72 74 66 28 69 2a 69 20 2b 20 6a 2a 6a 29 3b 00 00 00 25 20 20 20 20 | dist.=.sqrtf(i*i.+.j*j);...%.... |
| 4340 | 20 20 20 20 20 20 20 20 69 66 20 28 64 69 73 74 20 3e 20 68 61 6c 66 20 2a 20 30 2e 37 66 29 20 | ........if.(dist.>.half.*.0.7f). |
| 4360 | 7b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 68 65 69 67 68 | {...$................float.heigh |
| 4380 | 74 20 3d 20 30 2e 30 66 3b 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 | t.=.0.0f;....................for |
| 43a0 | 20 28 69 6e 74 20 6b 20 3d 20 2d 33 3b 20 6b 20 3c 20 30 3b 20 6b 2b 2b 29 20 7b 00 00 00 47 20 | .(int.k.=.-3;.k.<.0;.k++).{...G. |
| 43c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f | ...................drawCube((flo |
| 43e0 | 61 74 29 69 2c 20 28 66 6c 6f 61 74 29 6b 2c 20 28 66 6c 6f 61 74 29 6a 2c 20 73 74 6f 6e 65 42 | at)i,.(float)k,.(float)j,.stoneB |
| 4400 | 6c 6f 63 6b 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 3f 20 | lock);....................}...?. |
| 4420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 29 69 | ...............drawCube((float)i |
| 4440 | 2c 20 30 2e 30 66 2c 20 28 66 6c 6f 61 74 29 6a 2c 20 67 72 61 73 73 42 6c 6f 63 6b 29 3b 00 00 | ,.0.0f,.(float)j,.grassBlock);.. |
| 4460 | 00 14 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 3f 20 20 20 20 20 20 | ..............}.else.{...?...... |
| 4480 | 20 20 20 20 20 20 20 20 20 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 29 69 2c 20 30 2e 30 | ..........drawCube((float)i,.0.0 |
| 44a0 | 66 2c 20 28 66 6c 6f 61 74 29 6a 2c 20 67 72 61 73 73 42 6c 6f 63 6b 29 3b 00 00 00 4d 20 20 20 | f,.(float)j,.grassBlock);...M... |
| 44c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 69 20 2b 20 6a 29 20 25 20 35 20 3d 3d 20 | .............if.((i.+.j).%.5.==. |
| 44e0 | 30 20 26 26 20 61 62 73 28 69 29 20 3e 20 68 61 6c 66 2f 33 20 26 26 20 61 62 73 28 6a 29 20 3e | 0.&&.abs(i).>.half/3.&&.abs(j).> |
| 4500 | 20 68 61 6c 66 2f 33 29 20 7b 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .half/3).{...B.................. |
| 4520 | 20 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 29 69 2c 20 31 2e 30 66 2c 20 28 66 6c 6f 61 | ..drawCube((float)i,.1.0f,.(floa |
| 4540 | 74 29 6a 2c 20 64 69 72 74 42 6c 6f 63 6b 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 | t)j,.dirtBlock);................ |
| 4560 | 20 20 20 20 7d 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 20 20 | ....}................}.......... |
| 4580 | 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 14 76 6f 69 64 20 73 65 | ..}........}....}........void.se |
| 45a0 | 74 75 70 43 61 6d 65 72 61 28 29 20 7b 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 | tupCamera().{........glMatrixMod |
| 45c0 | 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 | e(GL_MODELVIEW);........glLoadId |
| 45e0 | 65 6e 74 69 74 79 28 29 3b 00 00 00 28 20 20 20 20 67 6c 52 6f 74 61 74 65 66 28 2d 70 69 74 63 | entity();...(....glRotatef(-pitc |
| 4600 | 68 2c 20 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 26 20 20 20 20 67 6c 52 | h,.1.0f,.0.0f,.0.0f);...&....glR |
| 4620 | 6f 74 61 74 65 66 28 2d 79 61 77 2c 20 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 29 3b 00 | otatef(-yaw,.0.0f,.1.0f,.0.0f);. |
| 4640 | 00 00 26 20 20 20 20 67 6c 54 72 61 6e 73 6c 61 74 65 66 28 2d 63 61 6d 58 2c 20 2d 63 61 6d 59 | ..&....glTranslatef(-camX,.-camY |
| 4660 | 2c 20 2d 63 61 6d 5a 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 10 76 6f 69 64 20 64 69 73 70 6c | ,.-camZ);....}........void.displ |
| 4680 | 61 79 28 29 20 7b 00 00 00 37 20 20 20 20 67 6c 43 6c 65 61 72 28 47 4c 5f 43 4f 4c 4f 52 5f 42 | ay().{...7....glClear(GL_COLOR_B |
| 46a0 | 55 46 46 45 52 5f 42 49 54 20 7c 20 47 4c 5f 44 45 50 54 48 5f 42 55 46 46 45 52 5f 42 49 54 29 | UFFER_BIT.|.GL_DEPTH_BUFFER_BIT) |
| 46c0 | 3b 00 00 00 12 20 20 20 20 73 65 74 75 70 43 61 6d 65 72 61 28 29 3b 00 00 00 13 20 20 20 20 64 | ;........setupCamera();........d |
| 46e0 | 72 61 77 50 6c 61 74 66 6f 72 6d 28 29 3b 00 00 00 16 20 20 20 20 67 6c 75 74 53 77 61 70 42 75 | rawPlatform();........glutSwapBu |
| 4700 | 66 66 65 72 73 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1c 76 6f 69 64 20 72 65 73 68 61 70 | ffers();....}........void.reshap |
| 4720 | 65 28 69 6e 74 20 77 2c 20 69 6e 74 20 68 29 20 7b 00 00 00 1b 20 20 20 20 67 6c 56 69 65 77 70 | e(int.w,.int.h).{........glViewp |
| 4740 | 6f 72 74 28 30 2c 20 30 2c 20 77 2c 20 68 29 3b 00 00 00 20 20 20 20 20 67 6c 4d 61 74 72 69 78 | ort(0,.0,.w,.h);........glMatrix |
| 4760 | 4d 6f 64 65 28 47 4c 5f 50 52 4f 4a 45 43 54 49 4f 4e 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f | Mode(GL_PROJECTION);........glLo |
| 4780 | 61 64 49 64 65 6e 74 69 74 79 28 29 3b 00 00 00 4b 20 20 20 20 67 6c 75 50 65 72 73 70 65 63 74 | adIdentity();...K....gluPerspect |
| 47a0 | 69 76 65 28 37 35 2e 30 2c 20 28 64 6f 75 62 6c 65 29 77 20 2f 20 28 64 6f 75 62 6c 65 29 68 2c | ive(75.0,.(double)w./.(double)h, |
| 47c0 | 20 30 2e 30 35 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 32 2e 30 29 3b 00 00 00 1f | .0.05,.PLATFORM_SIZE.*.2.0);.... |
| 47e0 | 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 | ....glMatrixMode(GL_MODELVIEW);. |
| 4800 | 00 00 01 7d 00 00 00 00 00 00 00 34 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 44 6f 77 6e 28 75 6e | ...}.......4void.keyboardDown(un |
| 4820 | 73 69 67 6e 65 64 20 63 68 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b | signed.char.key,.int.x,.int.y).{ |
| 4840 | 00 00 00 12 20 20 20 20 73 77 69 74 63 68 20 28 6b 65 79 29 20 7b 00 00 00 33 20 20 20 20 20 20 | ........switch.(key).{...3...... |
| 4860 | 20 20 63 61 73 65 20 27 77 27 3a 20 63 61 73 65 20 27 57 27 3a 20 6d 6f 76 65 46 6f 72 77 61 72 | ..case.'w':.case.'W':.moveForwar |
| 4880 | 64 20 3d 20 31 3b 20 62 72 65 61 6b 3b 00 00 00 34 20 20 20 20 20 20 20 20 63 61 73 65 20 27 73 | d.=.1;.break;...4........case.'s |
| 48a0 | 27 3a 20 63 61 73 65 20 27 53 27 3a 20 6d 6f 76 65 42 61 63 6b 77 61 72 64 20 3d 20 31 3b 20 62 | ':.case.'S':.moveBackward.=.1;.b |
| 48c0 | 72 65 61 6b 3b 00 00 00 30 20 20 20 20 20 20 20 20 63 61 73 65 20 27 61 27 3a 20 63 61 73 65 20 | reak;...0........case.'a':.case. |
| 48e0 | 27 41 27 3a 20 6d 6f 76 65 4c 65 66 74 20 3d 20 31 3b 20 62 72 65 61 6b 3b 00 00 00 31 20 20 20 | 'A':.moveLeft.=.1;.break;...1... |
| 4900 | 20 20 20 20 20 63 61 73 65 20 27 64 27 3a 20 63 61 73 65 20 27 44 27 3a 20 6d 6f 76 65 52 69 67 | .....case.'d':.case.'D':.moveRig |
| 4920 | 68 74 20 3d 20 31 3b 20 62 72 65 61 6b 3b 00 00 00 19 20 20 20 20 20 20 20 20 63 61 73 65 20 32 | ht.=.1;.break;............case.2 |
| 4940 | 37 3a 20 65 78 69 74 28 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 | 7:.exit(0);........}....}....... |
| 4960 | 32 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 55 70 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 6b | 2void.keyboardUp(unsigned.char.k |
| 4980 | 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 12 20 20 20 20 73 77 69 74 63 | ey,.int.x,.int.y).{........switc |
| 49a0 | 68 20 28 6b 65 79 29 20 7b 00 00 00 33 20 20 20 20 20 20 20 20 63 61 73 65 20 27 77 27 3a 20 63 | h.(key).{...3........case.'w':.c |
| 49c0 | 61 73 65 20 27 57 27 3a 20 6d 6f 76 65 46 6f 72 77 61 72 64 20 3d 20 30 3b 20 62 72 65 61 6b 3b | ase.'W':.moveForward.=.0;.break; |
| 49e0 | 00 00 00 34 20 20 20 20 20 20 20 20 63 61 73 65 20 27 73 27 3a 20 63 61 73 65 20 27 53 27 3a 20 | ...4........case.'s':.case.'S':. |
| 4a00 | 6d 6f 76 65 42 61 63 6b 77 61 72 64 20 3d 20 30 3b 20 62 72 65 61 6b 3b 00 00 00 30 20 20 20 20 | moveBackward.=.0;.break;...0.... |
| 4a20 | 20 20 20 20 63 61 73 65 20 27 61 27 3a 20 63 61 73 65 20 27 41 27 3a 20 6d 6f 76 65 4c 65 66 74 | ....case.'a':.case.'A':.moveLeft |
| 4a40 | 20 3d 20 30 3b 20 62 72 65 61 6b 3b 00 00 00 31 20 20 20 20 20 20 20 20 63 61 73 65 20 27 64 27 | .=.0;.break;...1........case.'d' |
| 4a60 | 3a 20 63 61 73 65 20 27 44 27 3a 20 6d 6f 76 65 52 69 67 68 74 20 3d 20 30 3b 20 62 72 65 61 6b | :.case.'D':.moveRight.=.0;.break |
| 4a80 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 21 76 6f 69 64 20 70 61 73 73 | ;........}....}.......!void.pass |
| 4aa0 | 69 76 65 4d 6f 75 73 65 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 1c 20 20 20 20 | iveMouse(int.x,.int.y).{........ |
| 4ac0 | 69 66 20 28 21 6d 6f 75 73 65 49 6e 69 74 69 61 6c 69 7a 65 64 29 20 7b 00 00 00 17 20 20 20 20 | if.(!mouseInitialized).{........ |
| 4ae0 | 20 20 20 20 70 72 65 76 4d 6f 75 73 65 58 20 3d 20 78 3b 00 00 00 17 20 20 20 20 20 20 20 20 70 | ....prevMouseX.=.x;............p |
| 4b00 | 72 65 76 4d 6f 75 73 65 59 20 3d 20 79 3b 00 00 00 1d 20 20 20 20 20 20 20 20 6d 6f 75 73 65 49 | revMouseY.=.y;............mouseI |
| 4b20 | 6e 69 74 69 61 6c 69 7a 65 64 20 3d 20 31 3b 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 74 75 72 | nitialized.=.1;............retur |
| 4b40 | 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 1c 20 20 20 20 69 6e 74 20 64 78 20 3d 20 | n;........}............int.dx.=. |
| 4b60 | 78 20 2d 20 70 72 65 76 4d 6f 75 73 65 58 3b 00 00 00 1c 20 20 20 20 69 6e 74 20 64 79 20 3d 20 | x.-.prevMouseX;........int.dy.=. |
| 4b80 | 79 20 2d 20 70 72 65 76 4d 6f 75 73 65 59 3b 00 00 00 13 20 20 20 20 70 72 65 76 4d 6f 75 73 65 | y.-.prevMouseY;........prevMouse |
| 4ba0 | 58 20 3d 20 78 3b 00 00 00 13 20 20 20 20 70 72 65 76 4d 6f 75 73 65 59 20 3d 20 79 3b 00 00 00 | X.=.x;........prevMouseY.=.y;... |
| 4bc0 | 00 00 00 00 1b 20 20 20 20 79 61 77 20 2b 3d 20 64 78 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b | .........yaw.+=.dx.*.MOUSE_SENS; |
| 4be0 | 00 00 00 1d 20 20 20 20 70 69 74 63 68 20 2d 3d 20 64 79 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 | ........pitch.-=.dy.*.MOUSE_SENS |
| 4c00 | 3b 00 00 00 00 00 00 00 25 20 20 20 20 69 66 20 28 70 69 74 63 68 20 3e 20 38 39 2e 30 66 29 20 | ;.......%....if.(pitch.>.89.0f). |
| 4c20 | 70 69 74 63 68 20 3d 20 38 39 2e 30 66 3b 00 00 00 27 20 20 20 20 69 66 20 28 70 69 74 63 68 20 | pitch.=.89.0f;...'....if.(pitch. |
| 4c40 | 3c 20 2d 38 39 2e 30 66 29 20 70 69 74 63 68 20 3d 20 2d 38 39 2e 30 66 3b 00 00 00 00 00 00 00 | <.-89.0f).pitch.=.-89.0f;....... |
| 4c60 | 24 20 20 20 20 69 66 20 28 79 61 77 20 3e 20 33 36 30 2e 30 66 29 20 79 61 77 20 2d 3d 20 33 36 | $....if.(yaw.>.360.0f).yaw.-=.36 |
| 4c80 | 30 2e 30 66 3b 00 00 00 22 20 20 20 20 69 66 20 28 79 61 77 20 3c 20 30 2e 30 66 29 20 79 61 77 | 0.0f;..."....if.(yaw.<.0.0f).yaw |
| 4ca0 | 20 2b 3d 20 33 36 30 2e 30 66 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 76 6f 69 64 20 75 70 64 | .+=.360.0f;....}........void.upd |
| 4cc0 | 61 74 65 43 61 6d 65 72 61 28 66 6c 6f 61 74 20 64 74 29 20 7b 00 00 00 1b 20 20 20 20 69 66 20 | ateCamera(float.dt).{........if. |
| 4ce0 | 28 64 74 20 3c 3d 20 30 2e 30 66 29 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 2f 20 20 20 20 | (dt.<=.0.0f).return;......./.... |
| 4d00 | 66 6c 6f 61 74 20 74 61 72 67 65 74 56 65 6c 58 20 3d 20 30 2e 30 66 2c 20 74 61 72 67 65 74 56 | float.targetVelX.=.0.0f,.targetV |
| 4d20 | 65 6c 5a 20 3d 20 30 2e 30 66 3b 00 00 00 27 20 20 20 20 66 6c 6f 61 74 20 79 61 77 52 61 64 20 | elZ.=.0.0f;...'....float.yawRad. |
| 4d40 | 3d 20 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 3b 00 00 00 22 20 20 20 20 66 6c | =.yaw.*.M_PI./.180.0f;..."....fl |
| 4d60 | 6f 61 74 20 66 6f 72 77 61 72 64 58 20 3d 20 73 69 6e 66 28 79 61 77 52 61 64 29 3b 00 00 00 23 | oat.forwardX.=.sinf(yawRad);...# |
| 4d80 | 20 20 20 20 66 6c 6f 61 74 20 66 6f 72 77 61 72 64 5a 20 3d 20 2d 63 6f 73 66 28 79 61 77 52 61 | ....float.forwardZ.=.-cosf(yawRa |
| 4da0 | 64 29 3b 00 00 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 58 20 3d 20 63 6f 73 66 28 79 | d);........float.rightX.=.cosf(y |
| 4dc0 | 61 77 52 61 64 29 3b 00 00 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 5a 20 3d 20 73 69 | awRad);........float.rightZ.=.si |
| 4de0 | 6e 66 28 79 61 77 52 61 64 29 3b 00 00 00 00 00 00 00 63 20 20 20 20 69 66 20 28 6d 6f 76 65 46 | nf(yawRad);.......c....if.(moveF |
| 4e00 | 6f 72 77 61 72 64 29 20 20 7b 20 74 61 72 67 65 74 56 65 6c 58 20 2b 3d 20 66 6f 72 77 61 72 64 | orward)..{.targetVelX.+=.forward |
| 4e20 | 58 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b 20 74 61 72 67 65 74 56 65 6c 5a 20 2b 3d 20 66 6f | X.*.MOVE_SPEED;.targetVelZ.+=.fo |
| 4e40 | 72 77 61 72 64 5a 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b 20 7d 00 00 00 63 20 20 20 20 69 66 | rwardZ.*.MOVE_SPEED;.}...c....if |
| 4e60 | 20 28 6d 6f 76 65 42 61 63 6b 77 61 72 64 29 20 7b 20 74 61 72 67 65 74 56 65 6c 58 20 2d 3d 20 | .(moveBackward).{.targetVelX.-=. |
| 4e80 | 66 6f 72 77 61 72 64 58 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b 20 74 61 72 67 65 74 56 65 6c | forwardX.*.MOVE_SPEED;.targetVel |
| 4ea0 | 5a 20 2d 3d 20 66 6f 72 77 61 72 64 5a 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b 20 7d 00 00 00 | Z.-=.forwardZ.*.MOVE_SPEED;.}... |
| 4ec0 | 61 20 20 20 20 69 66 20 28 6d 6f 76 65 4c 65 66 74 29 20 20 20 20 20 7b 20 74 61 72 67 65 74 56 | a....if.(moveLeft).....{.targetV |
| 4ee0 | 65 6c 58 20 2d 3d 20 72 69 67 68 74 58 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b 20 20 20 74 61 | elX.-=.rightX.*.MOVE_SPEED;...ta |
| 4f00 | 72 67 65 74 56 65 6c 5a 20 2d 3d 20 72 69 67 68 74 5a 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b | rgetVelZ.-=.rightZ.*.MOVE_SPEED; |
| 4f20 | 20 7d 00 00 00 61 20 20 20 20 69 66 20 28 6d 6f 76 65 52 69 67 68 74 29 20 20 20 20 7b 20 74 61 | .}...a....if.(moveRight)....{.ta |
| 4f40 | 72 67 65 74 56 65 6c 58 20 2b 3d 20 72 69 67 68 74 58 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b | rgetVelX.+=.rightX.*.MOVE_SPEED; |
| 4f60 | 20 20 20 74 61 72 67 65 74 56 65 6c 5a 20 2b 3d 20 72 69 67 68 74 5a 20 2a 20 4d 4f 56 45 5f 53 | ...targetVelZ.+=.rightZ.*.MOVE_S |
| 4f80 | 50 45 45 44 3b 20 7d 00 00 00 00 00 00 00 1c 20 20 20 20 66 6c 6f 61 74 20 73 6d 6f 6f 74 68 69 | PEED;.}............float.smoothi |
| 4fa0 | 6e 67 20 3d 20 31 32 2e 30 66 3b 00 00 00 3b 20 20 20 20 76 65 6c 6f 63 69 74 79 58 20 2b 3d 20 | ng.=.12.0f;...;....velocityX.+=. |
| 4fc0 | 28 74 61 72 67 65 74 56 65 6c 58 20 2d 20 76 65 6c 6f 63 69 74 79 58 29 20 2a 20 73 6d 6f 6f 74 | (targetVelX.-.velocityX).*.smoot |
| 4fe0 | 68 69 6e 67 20 2a 20 64 74 3b 00 00 00 3b 20 20 20 20 76 65 6c 6f 63 69 74 79 5a 20 2b 3d 20 28 | hing.*.dt;...;....velocityZ.+=.( |
| 5000 | 74 61 72 67 65 74 56 65 6c 5a 20 2d 20 76 65 6c 6f 63 69 74 79 5a 29 20 2a 20 73 6d 6f 6f 74 68 | targetVelZ.-.velocityZ).*.smooth |
| 5020 | 69 6e 67 20 2a 20 64 74 3b 00 00 00 00 00 00 00 1b 20 20 20 20 63 61 6d 58 20 2b 3d 20 76 65 6c | ing.*.dt;............camX.+=.vel |
| 5040 | 6f 63 69 74 79 58 20 2a 20 64 74 3b 00 00 00 1b 20 20 20 20 63 61 6d 5a 20 2b 3d 20 76 65 6c 6f | ocityX.*.dt;........camZ.+=.velo |
| 5060 | 63 69 74 79 5a 20 2a 20 64 74 3b 00 00 00 00 00 00 00 30 20 20 20 20 66 6c 6f 61 74 20 6c 69 6d | cityZ.*.dt;.......0....float.lim |
| 5080 | 69 74 20 3d 20 28 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 2e 30 66 29 20 2d 20 31 2e | it.=.(PLATFORM_SIZE./.2.0f).-.1. |
| 50a0 | 35 66 3b 00 00 00 3b 20 20 20 20 69 66 20 28 63 61 6d 58 20 3c 20 2d 6c 69 6d 69 74 29 20 7b 20 | 5f;...;....if.(camX.<.-limit).{. |
| 50c0 | 63 61 6d 58 20 3d 20 2d 6c 69 6d 69 74 3b 20 76 65 6c 6f 63 69 74 79 58 20 3d 20 30 2e 30 66 3b | camX.=.-limit;.velocityX.=.0.0f; |
| 50e0 | 20 7d 00 00 00 3b 20 20 20 20 69 66 20 28 63 61 6d 58 20 3e 20 20 6c 69 6d 69 74 29 20 7b 20 63 | .}...;....if.(camX.>..limit).{.c |
| 5100 | 61 6d 58 20 3d 20 20 6c 69 6d 69 74 3b 20 76 65 6c 6f 63 69 74 79 58 20 3d 20 30 2e 30 66 3b 20 | amX.=..limit;.velocityX.=.0.0f;. |
| 5120 | 7d 00 00 00 3b 20 20 20 20 69 66 20 28 63 61 6d 5a 20 3c 20 2d 6c 69 6d 69 74 29 20 7b 20 63 61 | }...;....if.(camZ.<.-limit).{.ca |
| 5140 | 6d 5a 20 3d 20 2d 6c 69 6d 69 74 3b 20 76 65 6c 6f 63 69 74 79 5a 20 3d 20 30 2e 30 66 3b 20 7d | mZ.=.-limit;.velocityZ.=.0.0f;.} |
| 5160 | 00 00 00 3b 20 20 20 20 69 66 20 28 63 61 6d 5a 20 3e 20 20 6c 69 6d 69 74 29 20 7b 20 63 61 6d | ...;....if.(camZ.>..limit).{.cam |
| 5180 | 5a 20 3d 20 20 6c 69 6d 69 74 3b 20 76 65 6c 6f 63 69 74 79 5a 20 3d 20 30 2e 30 66 3b 20 7d 00 | Z.=..limit;.velocityZ.=.0.0f;.}. |
| 51a0 | 00 00 01 7d 00 00 00 00 00 00 00 0d 76 6f 69 64 20 69 64 6c 65 28 29 20 7b 00 00 00 29 20 20 20 | ...}........void.idle().{...)... |
| 51c0 | 20 69 6e 74 20 6e 6f 77 20 3d 20 67 6c 75 74 47 65 74 28 47 4c 55 54 5f 45 4c 41 50 53 45 44 5f | .int.now.=.glutGet(GLUT_ELAPSED_ |
| 51e0 | 54 49 4d 45 29 3b 00 00 00 2a 20 20 20 20 66 6c 6f 61 74 20 64 74 20 3d 20 28 6e 6f 77 20 2d 20 | TIME);...*....float.dt.=.(now.-. |
| 5200 | 6c 61 73 74 54 69 6d 65 29 20 2f 20 31 30 30 30 2e 30 66 3b 00 00 00 1d 20 20 20 20 69 66 20 28 | lastTime)./.1000.0f;........if.( |
| 5220 | 64 74 20 3e 20 30 2e 31 66 29 20 64 74 20 3d 20 30 2e 31 66 3b 00 00 00 20 20 20 20 20 69 66 20 | dt.>.0.1f).dt.=.0.1f;........if. |
| 5240 | 28 64 74 20 3c 3d 20 30 2e 30 66 29 20 64 74 20 3d 20 30 2e 30 31 36 66 3b 00 00 00 13 20 20 20 | (dt.<=.0.0f).dt.=.0.016f;....... |
| 5260 | 20 6c 61 73 74 54 69 6d 65 20 3d 20 6e 6f 77 3b 00 00 00 00 00 00 00 15 20 20 20 20 75 70 64 61 | .lastTime.=.now;............upda |
| 5280 | 74 65 43 61 6d 65 72 61 28 64 74 29 3b 00 00 00 18 20 20 20 20 67 6c 75 74 50 6f 73 74 52 65 64 | teCamera(dt);........glutPostRed |
| 52a0 | 69 73 70 6c 61 79 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 21 69 6e 74 20 6d 61 69 6e 28 69 | isplay();....}.......!int.main(i |
| 52c0 | 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 20 7b 00 00 00 1a 20 20 20 20 67 | nt.argc,.char.**argv).{........g |
| 52e0 | 6c 75 74 49 6e 69 74 28 26 61 72 67 63 2c 20 61 72 67 76 29 3b 00 00 00 50 20 20 20 20 67 6c 75 | lutInit(&argc,.argv);...P....glu |
| 5300 | 74 49 6e 69 74 44 69 73 70 6c 61 79 4d 6f 64 65 28 47 4c 55 54 5f 44 4f 55 42 4c 45 20 7c 20 47 | tInitDisplayMode(GLUT_DOUBLE.|.G |
| 5320 | 4c 55 54 5f 52 47 42 20 7c 20 47 4c 55 54 5f 44 45 50 54 48 20 7c 20 47 4c 55 54 5f 4d 55 4c 54 | LUT_RGB.|.GLUT_DEPTH.|.GLUT_MULT |
| 5340 | 49 53 41 4d 50 4c 45 29 3b 00 00 00 34 20 20 20 20 67 6c 75 74 49 6e 69 74 57 69 6e 64 6f 77 53 | ISAMPLE);...4....glutInitWindowS |
| 5360 | 69 7a 65 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 29 | ize(WINDOW_WIDTH,.WINDOW_HEIGHT) |
| 5380 | 3b 00 00 00 37 20 20 20 20 67 6c 75 74 43 72 65 61 74 65 57 69 6e 64 6f 77 28 22 4d 69 6e 65 63 | ;...7....glutCreateWindow("Minec |
| 53a0 | 72 61 66 74 20 50 72 6f 74 6f 74 79 70 65 20 2d 20 45 6e 68 61 6e 63 65 64 22 29 3b 00 00 00 00 | raft.Prototype.-.Enhanced");.... |
| 53c0 | 00 00 00 27 20 20 20 20 67 6c 75 74 53 65 74 4f 70 74 69 6f 6e 28 47 4c 55 54 5f 4d 55 4c 54 49 | ...'....glutSetOption(GLUT_MULTI |
| 53e0 | 53 41 4d 50 4c 45 2c 20 38 29 3b 00 00 00 1d 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4d | SAMPLE,.8);........glEnable(GL_M |
| 5400 | 55 4c 54 49 53 41 4d 50 4c 45 29 3b 00 00 00 00 00 00 00 0d 20 20 20 20 69 6e 69 74 47 4c 28 29 | ULTISAMPLE);............initGL() |
| 5420 | 3b 00 00 00 00 00 00 00 1d 20 20 20 20 67 6c 75 74 44 69 73 70 6c 61 79 46 75 6e 63 28 64 69 73 | ;............glutDisplayFunc(dis |
| 5440 | 70 6c 61 79 29 3b 00 00 00 1d 20 20 20 20 67 6c 75 74 52 65 73 68 61 70 65 46 75 6e 63 28 72 65 | play);........glutReshapeFunc(re |
| 5460 | 73 68 61 70 65 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 72 64 46 75 6e 63 28 | shape);...#....glutKeyboardFunc( |
| 5480 | 6b 65 79 62 6f 61 72 64 44 6f 77 6e 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 | keyboardDown);...#....glutKeyboa |
| 54a0 | 72 64 55 70 46 75 6e 63 28 6b 65 79 62 6f 61 72 64 55 70 29 3b 00 00 00 28 20 20 20 20 67 6c 75 | rdUpFunc(keyboardUp);...(....glu |
| 54c0 | 74 50 61 73 73 69 76 65 4d 6f 74 69 6f 6e 46 75 6e 63 28 70 61 73 73 69 76 65 4d 6f 75 73 65 29 | tPassiveMotionFunc(passiveMouse) |
| 54e0 | 3b 00 00 00 17 20 20 20 20 67 6c 75 74 49 64 6c 65 46 75 6e 63 28 69 64 6c 65 29 3b 00 00 00 00 | ;........glutIdleFunc(idle);.... |
| 5500 | 00 00 00 24 20 20 20 20 67 6c 75 74 53 65 74 43 75 72 73 6f 72 28 47 4c 55 54 5f 43 55 52 53 4f | ...$....glutSetCursor(GLUT_CURSO |
| 5520 | 52 5f 4e 4f 4e 45 29 3b 00 00 00 35 20 20 20 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 | R_NONE);...5....glutWarpPointer( |
| 5540 | 57 49 4e 44 4f 57 5f 57 49 44 54 48 2f 32 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 2f 32 29 | WINDOW_WIDTH/2,.WINDOW_HEIGHT/2) |
| 5560 | 3b 00 00 00 00 00 00 00 2a 20 20 20 20 6c 61 73 74 54 69 6d 65 20 3d 20 67 6c 75 74 47 65 74 28 | ;.......*....lastTime.=.glutGet( |
| 5580 | 47 4c 55 54 5f 45 4c 41 50 53 45 44 5f 54 49 4d 45 29 3b 00 00 00 13 20 20 20 20 67 6c 75 74 4d | GLUT_ELAPSED_TIME);........glutM |
| 55a0 | 61 69 6e 4c 6f 6f 70 28 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d | ainLoop();........return.0;....} |
| 55c0 | 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 47 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | 5...............G............... |
| 55e0 | 00 00 00 00 00 00 00 00 34 25 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 05 | ........4%..............5._..... |
| 5600 | 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff | ................................ |
| 5620 | 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 | ..............................j. |
| 5780 | f5 fc 04 01 00 00 00 05 00 f5 18 00 00 01 16 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 2f 20 | ............................../. |
| 57a0 | 20 20 20 76 65 6c 6f 63 69 74 79 5a 20 2b 3d 20 28 74 61 72 67 65 74 56 65 6c 5a 20 2d 20 76 65 | ...velocityZ.+=.(targetVelZ.-.ve |
| 57c0 | 6c 6f 63 69 74 79 5a 29 20 2a 20 73 6d 6f f5 18 00 00 01 17 00 00 00 00 00 00 00 00 00 00 00 00 | locityZ).*.smo.................. |
| 57e0 | f5 18 00 00 00 95 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 06 20 20 20 20 20 20 f5 18 00 00 | ................................ |
| 5800 | 00 96 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 5820 | 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 | ......................5......... |
| 5840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 95 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5860 | 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 95 00 00 00 06 00 00 00 00 00 00 00 | ................................ |
| 5880 | 00 00 00 00 81 00 00 00 2f 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 | ......../....................... |
| 58a0 | 00 00 00 00 f5 18 00 00 00 00 16 01 00 00 2f 00 00 00 00 00 00 00 00 00 00 00 2c 00 00 00 01 00 | ............../...........,..... |
| 58c0 | 00 00 f8 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bc 04 00 00 00 00 00 00 35 81 5f d0 00 00 | ..........................5._... |
| 58e0 | 00 06 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 01 00 00 00 00 00 00 00 00 ff ff | ................................ |
| 5900 | ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 59a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 59c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 59e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5a60 | 6a 08 f6 94 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 43 00 00 00 | j...........................C... |
| 5a80 | 14 23 69 6e 63 6c 75 64 65 20 3c 47 4c 2f 67 6c 75 74 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 | .#include.<GL/glut.h>....#includ |
| 5aa0 | 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e | e.<math.h>....#include.<stdio.h> |
| 5ac0 | 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 00 00 00 00 1b 23 | ....#include.<stdlib.h>........# |
| 5ae0 | 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 20 20 31 32 38 30 00 00 00 1a 23 64 | define.WINDOW_WIDTH...1280....#d |
| 5b00 | 65 66 69 6e 65 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 20 37 32 30 00 00 00 19 23 64 65 66 | efine.WINDOW_HEIGHT..720....#def |
| 5b20 | 69 6e 65 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 20 36 30 00 00 00 1b 23 64 65 66 69 6e 65 | ine.PLATFORM_SIZE..60....#define |
| 5b40 | 20 4d 4f 56 45 5f 53 50 45 45 44 20 20 20 20 20 36 2e 30 66 00 00 00 1c 23 64 65 66 69 6e 65 20 | .MOVE_SPEED.....6.0f....#define. |
| 5b60 | 4d 4f 55 53 45 5f 53 45 4e 53 20 20 20 20 20 30 2e 31 35 66 00 00 00 1c 23 64 65 66 69 6e 65 20 | MOUSE_SENS.....0.15f....#define. |
| 5b80 | 50 4c 41 59 45 52 5f 48 45 49 47 48 54 20 20 31 2e 36 32 66 00 00 00 00 00 00 00 35 66 6c 6f 61 | PLAYER_HEIGHT..1.62f.......5floa |
| 5ba0 | 74 20 63 61 6d 58 20 3d 20 30 2e 30 66 2c 20 63 61 6d 59 20 3d 20 50 4c 41 59 45 52 5f 48 45 49 | t.camX.=.0.0f,.camY.=.PLAYER_HEI |
| 5bc0 | 47 48 54 2c 20 63 61 6d 5a 20 3d 20 30 2e 30 66 3b 00 00 00 22 66 6c 6f 61 74 20 79 61 77 20 3d | GHT,.camZ.=.0.0f;..."float.yaw.= |
| 5be0 | 20 34 35 2e 30 66 2c 20 70 69 74 63 68 20 3d 20 2d 31 30 2e 30 66 3b 00 00 00 29 66 6c 6f 61 74 | .45.0f,.pitch.=.-10.0f;...)float |
| 5c00 | 20 76 65 6c 6f 63 69 74 79 58 20 3d 20 30 2e 30 66 2c 20 76 65 6c 6f 63 69 74 79 5a 20 3d 20 30 | .velocityX.=.0.0f,.velocityZ.=.0 |
| 5c20 | 2e 30 66 3b 00 00 00 43 69 6e 74 20 6d 6f 76 65 46 6f 72 77 61 72 64 20 3d 20 30 2c 20 6d 6f 76 | .0f;...Cint.moveForward.=.0,.mov |
| 5c40 | 65 42 61 63 6b 77 61 72 64 20 3d 20 30 2c 20 6d 6f 76 65 4c 65 66 74 20 3d 20 30 2c 20 6d 6f 76 | eBackward.=.0,.moveLeft.=.0,.mov |
| 5c60 | 65 52 69 67 68 74 20 3d 20 30 3b 00 00 00 11 69 6e 74 20 6c 61 73 74 54 69 6d 65 20 3d 20 30 3b | eRight.=.0;....int.lastTime.=.0; |
| 5c80 | 00 00 00 1b 69 6e 74 20 70 72 65 76 4d 6f 75 73 65 58 2c 20 70 72 65 76 4d 6f 75 73 65 59 3b 00 | ....int.prevMouseX,.prevMouseY;. |
| 5ca0 | 00 00 19 69 6e 74 20 6d 6f 75 73 65 49 6e 69 74 69 61 6c 69 7a 65 64 20 3d 20 30 3b 00 00 00 00 | ...int.mouseInitialized.=.0;.... |
| 5cc0 | 00 00 00 10 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 00 00 00 11 20 20 20 20 66 6c 6f 61 | ....typedef.struct.{........floa |
| 5ce0 | 74 20 74 6f 70 5b 33 5d 3b 00 00 00 12 20 20 20 20 66 6c 6f 61 74 20 73 69 64 65 5b 33 5d 3b 00 | t.top[3];........float.side[3];. |
| 5d00 | 00 00 14 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 5b 33 5d 3b 00 00 00 14 20 20 20 20 66 | .......float.bottom[3];........f |
| 5d20 | 6c 6f 61 74 20 61 63 63 65 6e 74 5b 33 5d 3b 00 00 00 0d 7d 20 42 6c 6f 63 6b 53 74 79 6c 65 3b | loat.accent[3];....}.BlockStyle; |
| 5d40 | 00 00 00 00 00 00 00 19 42 6c 6f 63 6b 53 74 79 6c 65 20 67 72 61 73 73 42 6c 6f 63 6b 20 3d 20 | ........BlockStyle.grassBlock.=. |
| 5d60 | 7b 00 00 00 1a 20 20 20 20 7b 30 2e 32 35 66 2c 20 30 2e 37 35 66 2c 20 30 2e 31 35 66 7d 2c 00 | {........{0.25f,.0.75f,.0.15f},. |
| 5d80 | 00 00 1a 20 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e 33 35 66 2c 20 30 2e 31 30 66 7d 2c 00 00 00 | .......{0.50f,.0.35f,.0.10f},... |
| 5da0 | 1a 20 20 20 20 7b 30 2e 34 30 66 2c 20 30 2e 32 35 66 2c 20 30 2e 30 38 66 7d 2c 00 00 00 19 20 | .....{0.40f,.0.25f,.0.08f},..... |
| 5dc0 | 20 20 20 7b 30 2e 32 30 66 2c 20 30 2e 36 30 66 2c 20 30 2e 31 30 66 7d 00 00 00 02 7d 3b 00 00 | ...{0.20f,.0.60f,.0.10f}....};.. |
| 5de0 | 00 00 00 00 00 18 42 6c 6f 63 6b 53 74 79 6c 65 20 64 69 72 74 42 6c 6f 63 6b 20 3d 20 7b 00 00 | ......BlockStyle.dirtBlock.=.{.. |
| 5e00 | 00 1a 20 20 20 20 7b 30 2e 35 35 66 2c 20 30 2e 34 30 66 2c 20 30 2e 32 30 66 7d 2c 00 00 00 1a | ......{0.55f,.0.40f,.0.20f},.... |
| 5e20 | 20 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e 33 35 66 2c 20 30 2e 31 38 66 7d 2c 00 00 00 1a 20 20 | ....{0.50f,.0.35f,.0.18f},...... |
| 5e40 | 20 20 7b 30 2e 34 30 66 2c 20 30 2e 32 38 66 2c 20 30 2e 31 35 66 7d 2c 00 00 00 19 20 20 20 20 | ..{0.40f,.0.28f,.0.15f},........ |
| 5e60 | 7b 30 2e 34 35 66 2c 20 30 2e 33 32 66 2c 20 30 2e 31 36 66 7d 00 00 00 02 7d 3b 00 00 00 00 00 | {0.45f,.0.32f,.0.16f}....};..... |
| 5e80 | 00 00 19 42 6c 6f 63 6b 53 74 79 6c 65 20 73 74 6f 6e 65 42 6c 6f 63 6b 20 3d 20 7b 00 00 00 1a | ...BlockStyle.stoneBlock.=.{.... |
| 5ea0 | 20 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e 35 30 66 2c 20 30 2e 35 30 66 7d 2c 00 00 00 1a 20 20 | ....{0.50f,.0.50f,.0.50f},...... |
| 5ec0 | 20 20 7b 30 2e 34 35 66 2c 20 30 2e 34 35 66 2c 20 30 2e 34 35 66 7d 2c 00 00 00 1a 20 20 20 20 | ..{0.45f,.0.45f,.0.45f},........ |
| 5ee0 | 7b 30 2e 33 35 66 2c 20 30 2e 33 35 66 2c 20 30 2e 33 35 66 7d 2c 00 00 00 19 20 20 20 20 7b 30 | {0.35f,.0.35f,.0.35f},........{0 |
| 5f00 | 2e 35 35 66 2c 20 30 2e 35 35 66 2c 20 30 2e 35 35 66 7d 00 00 00 02 7d 3b 00 00 00 00 00 00 00 | .55f,.0.55f,.0.55f}....};....... |
| 5f20 | 0f 76 6f 69 64 20 69 6e 69 74 47 4c 28 29 20 7b 00 00 00 2c 20 20 20 20 67 6c 43 6c 65 61 72 43 | .void.initGL().{...,....glClearC |
| 5f40 | 6f 6c 6f 72 28 30 2e 35 33 66 2c 20 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 66 29 3b | olor(0.53f,.0.81f,.0.98f,.1.0f); |
| 5f60 | 00 00 00 1c 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 44 45 50 54 48 5f 54 45 53 54 29 3b | ........glEnable(GL_DEPTH_TEST); |
| 5f80 | 00 00 00 1b 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 43 55 4c 4c 5f 46 41 43 45 29 3b 00 | ........glEnable(GL_CULL_FACE);. |
| 5fa0 | 00 00 18 20 20 20 20 67 6c 43 75 6c 6c 46 61 63 65 28 47 4c 5f 42 41 43 4b 29 3b 00 00 00 15 20 | .......glCullFace(GL_BACK);..... |
| 5fc0 | 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 46 4f 47 29 3b 00 00 00 23 20 20 20 20 67 6c 46 6f | ...glEnable(GL_FOG);...#....glFo |
| 5fe0 | 67 69 28 47 4c 5f 46 4f 47 5f 4d 4f 44 45 2c 20 47 4c 5f 4c 49 4e 45 41 52 29 3b 00 00 00 2f 20 | gi(GL_FOG_MODE,.GL_LINEAR);.../. |
| 6000 | 20 20 20 67 6c 46 6f 67 66 28 47 4c 5f 46 4f 47 5f 53 54 41 52 54 2c 20 50 4c 41 54 46 4f 52 4d | ...glFogf(GL_FOG_START,.PLATFORM |
| 6020 | 5f 53 49 5a 45 20 2a 20 30 2e 36 66 29 3b 00 00 00 2d 20 20 20 20 67 6c 46 6f 67 66 28 47 4c 5f | _SIZE.*.0.6f);...-....glFogf(GL_ |
| 6040 | 46 4f 47 5f 45 4e 44 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 31 2e 32 66 29 3b 00 | FOG_END,.PLATFORM_SIZE.*.1.2f);. |
| 6060 | 00 00 33 20 20 20 20 66 6c 6f 61 74 20 66 6f 67 43 6f 6c 6f 72 5b 5d 20 3d 20 7b 30 2e 35 33 66 | ..3....float.fogColor[].=.{0.53f |
| 6080 | 2c 20 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 66 7d 3b 00 00 00 24 20 20 20 20 67 6c | ,.0.81f,.0.98f,.1.0f};...$....gl |
| 60a0 | 46 6f 67 66 76 28 47 4c 5f 46 4f 47 5f 43 4f 4c 4f 52 2c 20 66 6f 67 43 6f 6c 6f 72 29 3b 00 00 | Fogfv(GL_FOG_COLOR,.fogColor);.. |
| 60c0 | 00 23 20 20 20 20 67 6c 48 69 6e 74 28 47 4c 5f 46 4f 47 5f 48 49 4e 54 2c 20 47 4c 5f 4e 49 43 | .#....glHint(GL_FOG_HINT,.GL_NIC |
| 60e0 | 45 53 54 29 3b 00 00 00 1c 20 20 20 20 67 6c 53 68 61 64 65 4d 6f 64 65 6c 28 47 4c 5f 53 4d 4f | EST);........glShadeModel(GL_SMO |
| 6100 | 4f 54 48 29 3b 00 00 00 1b 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4e 4f 52 4d 41 4c 49 | OTH);........glEnable(GL_NORMALI |
| 6120 | 5a 45 29 3b 00 00 00 00 00 00 00 31 20 20 20 20 47 4c 66 6c 6f 61 74 20 61 6d 62 69 65 6e 74 5b | ZE);.......1....GLfloat.ambient[ |
| 6140 | 5d 20 3d 20 7b 30 2e 36 66 2c 20 30 2e 36 66 2c 20 30 2e 36 66 2c 20 31 2e 30 66 7d 3b 00 00 00 | ].=.{0.6f,.0.6f,.0.6f,.1.0f};... |
| 6160 | 31 20 20 20 20 47 4c 66 6c 6f 61 74 20 64 69 66 66 75 73 65 5b 5d 20 3d 20 7b 30 2e 38 66 2c 20 | 1....GLfloat.diffuse[].=.{0.8f,. |
| 6180 | 30 2e 38 66 2c 20 30 2e 37 66 2c 20 31 2e 30 66 7d 3b 00 00 00 57 20 20 20 20 47 4c 66 6c 6f 61 | 0.8f,.0.7f,.1.0f};...W....GLfloa |
| 61a0 | 74 20 6c 69 67 68 74 50 6f 73 5b 5d 20 3d 20 7b 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e | t.lightPos[].=.{PLATFORM_SIZE/2. |
| 61c0 | 30 66 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 | 0f,.PLATFORM_SIZE,.PLATFORM_SIZE |
| 61e0 | 2f 32 2e 30 66 2c 20 31 2e 30 66 7d 3b 00 00 00 00 00 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c | /2.0f,.1.0f};............glEnabl |
| 6200 | 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 18 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 | e(GL_LIGHTING);........glEnable( |
| 6220 | 47 4c 5f 4c 49 47 48 54 30 29 3b 00 00 00 2e 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f | GL_LIGHT0);........glLightfv(GL_ |
| 6240 | 4c 49 47 48 54 30 2c 20 47 4c 5f 41 4d 42 49 45 4e 54 2c 20 61 6d 62 69 65 6e 74 29 3b 00 00 00 | LIGHT0,.GL_AMBIENT,.ambient);... |
| 6260 | 2e 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 44 49 46 | .....glLightfv(GL_LIGHT0,.GL_DIF |
| 6280 | 46 55 53 45 2c 20 64 69 66 66 75 73 65 29 3b 00 00 00 30 20 20 20 20 67 6c 4c 69 67 68 74 66 76 | FUSE,.diffuse);...0....glLightfv |
| 62a0 | 28 47 4c 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 50 4f 53 49 54 49 4f 4e 2c 20 6c 69 67 68 74 50 6f | (GL_LIGHT0,.GL_POSITION,.lightPo |
| 62c0 | 73 29 3b 00 00 00 00 00 00 00 39 20 20 20 20 47 4c 66 6c 6f 61 74 20 6d 61 74 65 72 69 61 6c 41 | s);.......9....GLfloat.materialA |
| 62e0 | 6d 62 69 65 6e 74 5b 5d 20 3d 20 7b 30 2e 38 66 2c 20 30 2e 38 66 2c 20 30 2e 38 66 2c 20 31 2e | mbient[].=.{0.8f,.0.8f,.0.8f,.1. |
| 6300 | 30 66 7d 3b 00 00 00 39 20 20 20 20 47 4c 66 6c 6f 61 74 20 6d 61 74 65 72 69 61 6c 44 69 66 66 | 0f};...9....GLfloat.materialDiff |
| 6320 | 75 73 65 5b 5d 20 3d 20 7b 30 2e 39 66 2c 20 30 2e 39 66 2c 20 30 2e 39 66 2c 20 31 2e 30 66 7d | use[].=.{0.9f,.0.9f,.0.9f,.1.0f} |
| 6340 | 3b 00 00 00 38 20 20 20 20 67 6c 4d 61 74 65 72 69 61 6c 66 76 28 47 4c 5f 46 52 4f 4e 54 2c 20 | ;...8....glMaterialfv(GL_FRONT,. |
| 6360 | 47 4c 5f 41 4d 42 49 45 4e 54 2c 20 6d 61 74 65 72 69 61 6c 41 6d 62 69 65 6e 74 29 3b 00 00 00 | GL_AMBIENT,.materialAmbient);... |
| 6380 | 38 20 20 20 20 67 6c 4d 61 74 65 72 69 61 6c 66 76 28 47 4c 5f 46 52 4f 4e 54 2c 20 47 4c 5f 44 | 8....glMaterialfv(GL_FRONT,.GL_D |
| 63a0 | 49 46 46 55 53 45 2c 20 6d 61 74 65 72 69 61 6c 44 69 66 66 75 73 65 29 3b 00 00 00 01 7d 00 00 | IFFUSE,.materialDiffuse);....}.. |
| 63c0 | 00 00 00 00 00 5c 76 6f 69 64 20 64 72 61 77 46 61 63 65 57 69 74 68 45 64 67 65 73 28 66 6c 6f | .....\void.drawFaceWithEdges(flo |
| 63e0 | 61 74 20 76 30 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 31 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 32 5b | at.v0[3],.float.v1[3],.float.v2[ |
| 6400 | 33 5d 2c 20 66 6c 6f 61 74 20 76 33 5b 33 5d 2c 20 66 6c 6f 61 74 20 63 6f 6c 6f 72 5b 33 5d 29 | 3],.float.v3[3],.float.color[3]) |
| 6420 | 20 7b 00 00 00 44 20 20 20 20 66 6c 6f 61 74 20 64 61 72 6b 65 72 5b 33 5d 20 3d 20 7b 63 6f 6c | .{...D....float.darker[3].=.{col |
| 6440 | 6f 72 5b 30 5d 2a 30 2e 37 66 2c 20 63 6f 6c 6f 72 5b 31 5d 2a 30 2e 37 66 2c 20 63 6f 6c 6f 72 | or[0]*0.7f,.color[1]*0.7f,.color |
| 6460 | 5b 32 5d 2a 30 2e 37 66 7d 3b 00 00 00 04 20 20 20 20 00 00 00 16 20 20 20 20 67 6c 42 65 67 69 | [2]*0.7f};................glBegi |
| 6480 | 6e 28 47 4c 5f 51 55 41 44 53 29 3b 00 00 00 16 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 76 28 63 | n(GL_QUADS);........glColor3fv(c |
| 64a0 | 6f 6c 6f 72 29 3b 00 00 00 21 20 20 20 20 67 6c 4e 6f 72 6d 61 6c 33 66 28 30 2e 30 66 2c 20 30 | olor);...!....glNormal3f(0.0f,.0 |
| 64c0 | 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 | .0f,.0.0f);........glVertex3fv(v |
| 64e0 | 30 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 31 29 3b 00 00 00 14 20 | 0);........glVertex3fv(v1);..... |
| 6500 | 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 32 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 | ...glVertex3fv(v2);........glVer |
| 6520 | 74 65 78 33 66 76 28 76 33 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 00 00 | tex3fv(v3);........glEnd();..... |
| 6540 | 00 00 1b 20 20 20 20 67 6c 44 69 73 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 | .......glDisable(GL_LIGHTING);.. |
| 6560 | 00 16 20 20 20 20 67 6c 4c 69 6e 65 57 69 64 74 68 28 31 2e 30 66 29 3b 00 00 00 1a 20 20 20 20 | ......glLineWidth(1.0f);........ |
| 6580 | 67 6c 42 65 67 69 6e 28 47 4c 5f 4c 49 4e 45 5f 4c 4f 4f 50 29 3b 00 00 00 17 20 20 20 20 67 6c | glBegin(GL_LINE_LOOP);........gl |
| 65a0 | 43 6f 6c 6f 72 33 66 76 28 64 61 72 6b 65 72 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 | Color3fv(darker);........glVerte |
| 65c0 | 78 33 66 76 28 76 30 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 31 29 | x3fv(v0);........glVertex3fv(v1) |
| 65e0 | 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 32 29 3b 00 00 00 14 20 20 20 | ;........glVertex3fv(v2);....... |
| 6600 | 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 33 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 | .glVertex3fv(v3);........glEnd() |
| 6620 | 3b 00 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 | ;........glEnable(GL_LIGHTING);. |
| 6640 | 00 00 01 7d 00 00 00 00 00 00 00 31 76 6f 69 64 20 64 72 61 77 47 72 61 73 73 44 65 74 61 69 6c | ...}.......1void.drawGrassDetail |
| 6660 | 28 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 20 79 2c 20 66 6c 6f 61 74 20 7a 29 20 7b 00 00 00 | (float.x,.float.y,.float.z).{... |
| 6680 | 1b 20 20 20 20 66 6c 6f 61 74 20 62 6c 61 64 65 54 6f 70 5b 5d 5b 33 5d 20 3d 20 7b 00 00 00 28 | .....float.bladeTop[][3].=.{...( |
| 66a0 | 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 33 66 2c 20 79 20 2b 20 31 2e 30 35 66 2c 20 7a 20 | ........{x.+.0.3f,.y.+.1.05f,.z. |
| 66c0 | 2b 20 30 2e 33 66 7d 2c 00 00 00 28 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 35 66 2c 20 79 | +.0.3f},...(........{x.+.0.5f,.y |
| 66e0 | 20 2b 20 31 2e 31 32 66 2c 20 7a 20 2b 20 30 2e 35 66 7d 2c 00 00 00 28 20 20 20 20 20 20 20 20 | .+.1.12f,.z.+.0.5f},...(........ |
| 6700 | 7b 78 20 2b 20 30 2e 37 66 2c 20 79 20 2b 20 31 2e 30 35 66 2c 20 7a 20 2b 20 30 2e 37 66 7d 2c | {x.+.0.7f,.y.+.1.05f,.z.+.0.7f}, |
| 6720 | 00 00 00 28 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 32 66 2c 20 79 20 2b 20 31 2e 30 38 66 | ...(........{x.+.0.2f,.y.+.1.08f |
| 6740 | 2c 20 7a 20 2b 20 30 2e 37 66 7d 2c 00 00 00 27 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 38 | ,.z.+.0.7f},...'........{x.+.0.8 |
| 6760 | 66 2c 20 79 20 2b 20 31 2e 30 38 66 2c 20 7a 20 2b 20 30 2e 33 66 7d 00 00 00 06 20 20 20 20 7d | f,.y.+.1.08f,.z.+.0.3f}........} |
| 6780 | 3b 00 00 00 1c 20 20 20 20 66 6c 6f 61 74 20 62 6c 61 64 65 42 61 73 65 5b 5d 5b 33 5d 20 3d 20 | ;........float.bladeBase[][3].=. |
| 67a0 | 7b 00 00 00 27 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 33 66 2c 20 79 20 2b 20 31 2e 30 66 | {...'........{x.+.0.3f,.y.+.1.0f |
| 67c0 | 2c 20 7a 20 2b 20 30 2e 33 66 7d 2c 00 00 00 27 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 35 | ,.z.+.0.3f},...'........{x.+.0.5 |
| 67e0 | 66 2c 20 79 20 2b 20 31 2e 30 66 2c 20 7a 20 2b 20 30 2e 35 66 7d 2c 00 00 00 27 20 20 20 20 20 | f,.y.+.1.0f,.z.+.0.5f},...'..... |
| 6800 | 20 20 20 7b 78 20 2b 20 30 2e 37 66 2c 20 79 20 2b 20 31 2e 30 66 2c 20 7a 20 2b 20 30 2e 37 66 | ...{x.+.0.7f,.y.+.1.0f,.z.+.0.7f |
| 6820 | 7d 2c 00 00 00 27 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e 32 66 2c 20 79 20 2b 20 31 2e 30 | },...'........{x.+.0.2f,.y.+.1.0 |
| 6840 | 66 2c 20 7a 20 2b 20 30 2e 37 66 7d 2c 00 00 00 26 20 20 20 20 20 20 20 20 7b 78 20 2b 20 30 2e | f,.z.+.0.7f},...&........{x.+.0. |
| 6860 | 38 66 2c 20 79 20 2b 20 31 2e 30 66 2c 20 7a 20 2b 20 30 2e 33 66 7d 00 00 00 06 20 20 20 20 7d | 8f,.y.+.1.0f,.z.+.0.3f}........} |
| 6880 | 3b 00 00 00 00 00 00 00 1b 20 20 20 20 67 6c 44 69 73 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 | ;............glDisable(GL_LIGHTI |
| 68a0 | 4e 47 29 3b 00 00 00 16 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 4c 49 4e 45 53 29 3b 00 00 | NG);........glBegin(GL_LINES);.. |
| 68c0 | 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 35 3b 20 69 2b 2b | .!....for.(int.i.=.0;.i.<.5;.i++ |
| 68e0 | 29 20 7b 00 00 00 27 20 20 20 20 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 28 30 2e 31 35 66 2c 20 | ).{...'........glColor3f(0.15f,. |
| 6900 | 30 2e 36 35 66 2c 20 30 2e 31 30 66 29 3b 00 00 00 22 20 20 20 20 20 20 20 20 67 6c 56 65 72 74 | 0.65f,.0.10f);..."........glVert |
| 6920 | 65 78 33 66 76 28 62 6c 61 64 65 42 61 73 65 5b 69 5d 29 3b 00 00 00 27 20 20 20 20 20 20 20 20 | ex3fv(bladeBase[i]);...'........ |
| 6940 | 67 6c 43 6f 6c 6f 72 33 66 28 30 2e 32 35 66 2c 20 30 2e 37 35 66 2c 20 30 2e 31 35 66 29 3b 00 | glColor3f(0.25f,.0.75f,.0.15f);. |
| 6960 | 00 00 21 20 20 20 20 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 62 6c 61 64 65 54 6f 70 5b | ..!........glVertex3fv(bladeTop[ |
| 6980 | 69 5d 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 | i]);........}........glEnd();... |
| 69a0 | 1a 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 01 7d | .....glEnable(GL_LIGHTING);....} |
| 69c0 | 00 00 00 00 00 00 00 3c 76 6f 69 64 20 64 72 61 77 43 75 62 65 28 66 6c 6f 61 74 20 78 2c 20 66 | .......<void.drawCube(float.x,.f |
| 69e0 | 6c 6f 61 74 20 79 2c 20 66 6c 6f 61 74 20 7a 2c 20 42 6c 6f 63 6b 53 74 79 6c 65 20 73 74 79 6c | loat.y,.float.z,.BlockStyle.styl |
| 6a00 | 65 29 20 7b 00 00 00 13 20 20 20 20 67 6c 50 75 73 68 4d 61 74 72 69 78 28 29 3b 00 00 00 1a 20 | e).{........glPushMatrix();..... |
| 6a20 | 20 20 20 67 6c 54 72 61 6e 73 6c 61 74 65 66 28 78 2c 20 79 2c 20 7a 29 3b 00 00 00 00 00 00 00 | ...glTranslatef(x,.y,.z);....... |
| 6a40 | 17 20 20 20 20 66 6c 6f 61 74 20 74 6f 70 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 | .....float.top[4][3].=.{.../.... |
| 6a60 | 20 20 20 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 | ....{0.0f,.1.0f,.0.0f},.{1.0f,.1 |
| 6a80 | 2e 30 66 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e | .0f,.0.0f},............{1.0f,.1. |
| 6aa0 | 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 | 0f,.1.0f},.{0.0f,.1.0f,.1.0f}... |
| 6ac0 | 06 20 20 20 20 7d 3b 00 00 00 1a 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 5b 34 5d 5b 33 | .....};........float.bottom[4][3 |
| 6ae0 | 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e | ].=.{.../........{0.0f,.0.0f,.1. |
| 6b00 | 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 | 0f},.{1.0f,.0.0f,.1.0f},........ |
| 6b20 | 20 20 20 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 | ....{1.0f,.0.0f,.0.0f},.{0.0f,.0 |
| 6b40 | 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 | .0f,.0.0f}........};........floa |
| 6b60 | 74 20 66 72 6f 6e 74 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e | t.front[4][3].=.{.../........{0. |
| 6b80 | 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e | 0f,.0.0f,.0.0f},.{1.0f,.0.0f,.0. |
| 6ba0 | 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 | 0f},............{1.0f,.1.0f,.0.0 |
| 6bc0 | 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b | f},.{0.0f,.1.0f,.0.0f}........}; |
| 6be0 | 00 00 00 18 20 20 20 20 66 6c 6f 61 74 20 62 61 63 6b 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f | ........float.back[4][3].=.{.../ |
| 6c00 | 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 | ........{1.0f,.0.0f,.1.0f},.{0.0 |
| 6c20 | 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 30 2e 30 66 | f,.0.0f,.1.0f},............{0.0f |
| 6c40 | 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 | ,.1.0f,.1.0f},.{1.0f,.1.0f,.1.0f |
| 6c60 | 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 18 20 20 20 20 66 6c 6f 61 74 20 6c 65 66 74 5b 34 5d | }........};........float.left[4] |
| 6c80 | 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 | [3].=.{.../........{0.0f,.0.0f,. |
| 6ca0 | 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 | 1.0f},.{0.0f,.0.0f,.0.0f},...... |
| 6cc0 | 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c | ......{0.0f,.1.0f,.0.0f},.{0.0f, |
| 6ce0 | 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c | .1.0f,.1.0f}........};........fl |
| 6d00 | 6f 61 74 20 72 69 67 68 74 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b | oat.right[4][3].=.{.../........{ |
| 6d20 | 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 | 1.0f,.0.0f,.0.0f},.{1.0f,.0.0f,. |
| 6d40 | 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 | 1.0f},............{1.0f,.1.0f,.1 |
| 6d60 | 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 | .0f},.{1.0f,.1.0f,.0.0f}........ |
| 6d80 | 7d 3b 00 00 00 00 00 00 00 41 20 20 20 20 64 72 61 77 46 61 63 65 57 69 74 68 45 64 67 65 73 28 | };.......A....drawFaceWithEdges( |
| 6da0 | 74 6f 70 5b 30 5d 2c 20 74 6f 70 5b 31 5d 2c 20 74 6f 70 5b 32 5d 2c 20 74 6f 70 5b 33 5d 2c 20 | top[0],.top[1],.top[2],.top[3],. |
| 6dc0 | 73 74 79 6c 65 2e 74 6f 70 29 3b 00 00 00 50 20 20 20 20 64 72 61 77 46 61 63 65 57 69 74 68 45 | style.top);...P....drawFaceWithE |
| 6de0 | 64 67 65 73 28 62 6f 74 74 6f 6d 5b 30 5d 2c 20 62 6f 74 74 6f 6d 5b 31 5d 2c 20 62 6f 74 74 6f | dges(bottom[0],.bottom[1],.botto |
| 6e00 | 6d 5b 32 5d 2c 20 62 6f 74 74 6f 6d 5b 33 5d 2c 20 73 74 79 6c 65 2e 62 6f 74 74 6f 6d 29 3b 00 | m[2],.bottom[3],.style.bottom);. |
| 6e20 | 00 00 4a 20 20 20 20 64 72 61 77 46 61 63 65 57 69 74 68 45 64 67 65 73 28 66 72 6f 6e 74 5b 30 | ..J....drawFaceWithEdges(front[0 |
| 6e40 | 5d 2c 20 66 72 6f 6e 74 5b 31 5d 2c 20 66 72 6f 6e 74 5b 32 5d 2c 20 66 72 6f 6e 74 5b 33 5d 2c | ],.front[1],.front[2],.front[3], |
| 6e60 | 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 46 20 20 20 20 64 72 61 77 46 61 63 65 57 69 74 | .style.side);...F....drawFaceWit |
| 6e80 | 68 45 64 67 65 73 28 62 61 63 6b 5b 30 5d 2c 20 62 61 63 6b 5b 31 5d 2c 20 62 61 63 6b 5b 32 5d | hEdges(back[0],.back[1],.back[2] |
| 6ea0 | 2c 20 62 61 63 6b 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 46 20 20 20 20 64 | ,.back[3],.style.side);...F....d |
| 6ec0 | 72 61 77 46 61 63 65 57 69 74 68 45 64 67 65 73 28 6c 65 66 74 5b 30 5d 2c 20 6c 65 66 74 5b 31 | rawFaceWithEdges(left[0],.left[1 |
| 6ee0 | 5d 2c 20 6c 65 66 74 5b 32 5d 2c 20 6c 65 66 74 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 | ],.left[2],.left[3],.style.side) |
| 6f00 | 3b 00 00 00 4a 20 20 20 20 64 72 61 77 46 61 63 65 57 69 74 68 45 64 67 65 73 28 72 69 67 68 74 | ;...J....drawFaceWithEdges(right |
| 6f20 | 5b 30 5d 2c 20 72 69 67 68 74 5b 31 5d 2c 20 72 69 67 68 74 5b 32 5d 2c 20 72 69 67 68 74 5b 33 | [0],.right[1],.right[2],.right[3 |
| 6f40 | 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 00 00 00 00 12 20 20 20 20 67 6c 50 6f 70 | ],.style.side);............glPop |
| 6f60 | 4d 61 74 72 69 78 28 29 3b 00 00 00 00 00 00 00 2d 20 20 20 20 69 66 20 28 73 74 79 6c 65 2e 74 | Matrix();.......-....if.(style.t |
| 6f80 | 6f 70 5b 30 5d 20 3d 3d 20 67 72 61 73 73 42 6c 6f 63 6b 2e 74 6f 70 5b 30 5d 20 26 26 20 00 00 | op[0].==.grassBlock.top[0].&&... |
| 6fa0 | 00 2d 20 20 20 20 20 20 20 20 73 74 79 6c 65 2e 74 6f 70 5b 31 5d 20 3d 3d 20 67 72 61 73 73 42 | .-........style.top[1].==.grassB |
| 6fc0 | 6c 6f 63 6b 2e 74 6f 70 5b 31 5d 20 26 26 20 00 00 00 2c 20 20 20 20 20 20 20 20 73 74 79 6c 65 | lock.top[1].&&....,........style |
| 6fe0 | 2e 74 6f 70 5b 32 5d 20 3d 3d 20 67 72 61 73 73 42 6c 6f 63 6b 2e 74 6f 70 5b 32 5d 29 20 7b 00 | .top[2].==.grassBlock.top[2]).{. |
| 7000 | 00 00 21 20 20 20 20 20 20 20 20 64 72 61 77 47 72 61 73 73 44 65 74 61 69 6c 28 78 2c 20 79 2c | ..!........drawGrassDetail(x,.y, |
| 7020 | 20 7a 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 15 76 6f 69 64 20 64 | .z);........}....}........void.d |
| 7040 | 72 61 77 50 6c 61 74 66 6f 72 6d 28 29 20 7b 00 00 00 21 20 20 20 20 69 6e 74 20 68 61 6c 66 20 | rawPlatform().{...!....int.half. |
| 7060 | 3d 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 3b 00 00 00 28 20 20 20 20 66 6f 72 20 | =.PLATFORM_SIZE./.2;...(....for. |
| 7080 | 28 69 6e 74 20 69 20 3d 20 2d 68 61 6c 66 3b 20 69 20 3c 20 68 61 6c 66 3b 20 69 2b 2b 29 20 7b | (int.i.=.-half;.i.<.half;.i++).{ |
| 70a0 | 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 2d 68 61 6c 66 3b 20 | ...,........for.(int.j.=.-half;. |
| 70c0 | 6a 20 3c 20 68 61 6c 66 3b 20 6a 2b 2b 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 20 20 20 20 | j.<.half;.j++).{...*............ |
| 70e0 | 66 6c 6f 61 74 20 64 69 73 74 20 3d 20 73 71 72 74 66 28 69 2a 69 20 2b 20 6a 2a 6a 29 3b 00 00 | float.dist.=.sqrtf(i*i.+.j*j);.. |
| 7100 | 00 25 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 69 73 74 20 3e 20 68 61 6c 66 20 2a 20 | .%............if.(dist.>.half.*. |
| 7120 | 30 2e 37 66 29 20 7b 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 | 0.7f).{....................for.( |
| 7140 | 69 6e 74 20 6b 20 3d 20 2d 33 3b 20 6b 20 3c 20 30 3b 20 6b 2b 2b 29 20 7b 00 00 00 47 20 20 20 | int.k.=.-3;.k.<.0;.k++).{...G... |
| 7160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 | .................drawCube((float |
| 7180 | 29 69 2c 20 28 66 6c 6f 61 74 29 6b 2c 20 28 66 6c 6f 61 74 29 6a 2c 20 73 74 6f 6e 65 42 6c 6f | )i,.(float)k,.(float)j,.stoneBlo |
| 71a0 | 63 6b 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 3f 20 20 20 | ck);....................}...?... |
| 71c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 29 69 2c 20 | .............drawCube((float)i,. |
| 71e0 | 30 2e 30 66 2c 20 28 66 6c 6f 61 74 29 6a 2c 20 67 72 61 73 73 42 6c 6f 63 6b 29 3b 00 00 00 14 | 0.0f,.(float)j,.grassBlock);.... |
| 7200 | 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 3f 20 20 20 20 20 20 20 20 | ............}.else.{...?........ |
| 7220 | 20 20 20 20 20 20 20 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 29 69 2c 20 30 2e 30 66 2c | ........drawCube((float)i,.0.0f, |
| 7240 | 20 28 66 6c 6f 61 74 29 6a 2c 20 67 72 61 73 73 42 6c 6f 63 6b 29 3b 00 00 00 4d 20 20 20 20 20 | .(float)j,.grassBlock);...M..... |
| 7260 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 69 20 2b 20 6a 29 20 25 20 35 20 3d 3d 20 30 20 | ...........if.((i.+.j).%.5.==.0. |
| 7280 | 26 26 20 61 62 73 28 69 29 20 3e 20 68 61 6c 66 2f 33 20 26 26 20 61 62 73 28 6a 29 20 3e 20 68 | &&.abs(i).>.half/3.&&.abs(j).>.h |
| 72a0 | 61 6c 66 2f 33 29 20 7b 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | alf/3).{...B.................... |
| 72c0 | 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 29 69 2c 20 31 2e 30 66 2c 20 28 66 6c 6f 61 74 29 | drawCube((float)i,.1.0f,.(float) |
| 72e0 | 6a 2c 20 64 69 72 74 42 6c 6f 63 6b 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | j,.dirtBlock);.................. |
| 7300 | 20 20 7d 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 20 20 20 20 | ..}................}............ |
| 7320 | 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 14 76 6f 69 64 20 73 65 74 75 | }........}....}........void.setu |
| 7340 | 70 43 61 6d 65 72 61 28 29 20 7b 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 | pCamera().{........glMatrixMode( |
| 7360 | 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e | GL_MODELVIEW);........glLoadIden |
| 7380 | 74 69 74 79 28 29 3b 00 00 00 28 20 20 20 20 67 6c 52 6f 74 61 74 65 66 28 2d 70 69 74 63 68 2c | tity();...(....glRotatef(-pitch, |
| 73a0 | 20 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 26 20 20 20 20 67 6c 52 6f 74 | .1.0f,.0.0f,.0.0f);...&....glRot |
| 73c0 | 61 74 65 66 28 2d 79 61 77 2c 20 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 | atef(-yaw,.0.0f,.1.0f,.0.0f);... |
| 73e0 | 26 20 20 20 20 67 6c 54 72 61 6e 73 6c 61 74 65 66 28 2d 63 61 6d 58 2c 20 2d 63 61 6d 59 2c 20 | &....glTranslatef(-camX,.-camY,. |
| 7400 | 2d 63 61 6d 5a 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 10 76 6f 69 64 20 64 69 73 70 6c 61 79 | -camZ);....}........void.display |
| 7420 | 28 29 20 7b 00 00 00 37 20 20 20 20 67 6c 43 6c 65 61 72 28 47 4c 5f 43 4f 4c 4f 52 5f 42 55 46 | ().{...7....glClear(GL_COLOR_BUF |
| 7440 | 46 45 52 5f 42 49 54 20 7c 20 47 4c 5f 44 45 50 54 48 5f 42 55 46 46 45 52 5f 42 49 54 29 3b 00 | FER_BIT.|.GL_DEPTH_BUFFER_BIT);. |
| 7460 | 00 00 12 20 20 20 20 73 65 74 75 70 43 61 6d 65 72 61 28 29 3b 00 00 00 13 20 20 20 20 64 72 61 | .......setupCamera();........dra |
| 7480 | 77 50 6c 61 74 66 6f 72 6d 28 29 3b 00 00 00 16 20 20 20 20 67 6c 75 74 53 77 61 70 42 75 66 66 | wPlatform();........glutSwapBuff |
| 74a0 | 65 72 73 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1c 76 6f 69 64 20 72 65 73 68 61 70 65 28 | ers();....}........void.reshape( |
| 74c0 | 69 6e 74 20 77 2c 20 69 6e 74 20 68 29 20 7b 00 00 00 1b 20 20 20 20 67 6c 56 69 65 77 70 6f 72 | int.w,.int.h).{........glViewpor |
| 74e0 | 74 28 30 2c 20 30 2c 20 77 2c 20 68 29 3b 00 00 00 20 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f | t(0,.0,.w,.h);........glMatrixMo |
| 7500 | 64 65 28 47 4c 5f 50 52 4f 4a 45 43 54 49 4f 4e 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 | de(GL_PROJECTION);........glLoad |
| 7520 | 49 64 65 6e 74 69 74 79 28 29 3b 00 00 00 4b 20 20 20 20 67 6c 75 50 65 72 73 70 65 63 74 69 76 | Identity();...K....gluPerspectiv |
| 7540 | 65 28 37 35 2e 30 2c 20 28 64 6f 75 62 6c 65 29 77 20 2f 20 28 64 6f 75 62 6c 65 29 68 2c 20 30 | e(75.0,.(double)w./.(double)h,.0 |
| 7560 | 2e 30 35 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 32 2e 30 29 3b 00 00 00 1f 20 20 | .05,.PLATFORM_SIZE.*.2.0);...... |
| 7580 | 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 00 | ..glMatrixMode(GL_MODELVIEW);... |
| 75a0 | 01 7d 00 00 00 00 00 00 00 34 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 44 6f 77 6e 28 75 6e 73 69 | .}.......4void.keyboardDown(unsi |
| 75c0 | 67 6e 65 64 20 63 68 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 | gned.char.key,.int.x,.int.y).{.. |
| 75e0 | 00 12 20 20 20 20 73 77 69 74 63 68 20 28 6b 65 79 29 20 7b 00 00 00 33 20 20 20 20 20 20 20 20 | ......switch.(key).{...3........ |
| 7600 | 63 61 73 65 20 27 77 27 3a 20 63 61 73 65 20 27 57 27 3a 20 6d 6f 76 65 46 6f 72 77 61 72 64 20 | case.'w':.case.'W':.moveForward. |
| 7620 | 3d 20 31 3b 20 62 72 65 61 6b 3b 00 00 00 34 20 20 20 20 20 20 20 20 63 61 73 65 20 27 73 27 3a | =.1;.break;...4........case.'s': |
| 7640 | 20 63 61 73 65 20 27 53 27 3a 20 6d 6f 76 65 42 61 63 6b 77 61 72 64 20 3d 20 31 3b 20 62 72 65 | .case.'S':.moveBackward.=.1;.bre |
| 7660 | 61 6b 3b 00 00 00 30 20 20 20 20 20 20 20 20 63 61 73 65 20 27 61 27 3a 20 63 61 73 65 20 27 41 | ak;...0........case.'a':.case.'A |
| 7680 | 27 3a 20 6d 6f 76 65 4c 65 66 74 20 3d 20 31 3b 20 62 72 65 61 6b 3b 00 00 00 31 20 20 20 20 20 | ':.moveLeft.=.1;.break;...1..... |
| 76a0 | 20 20 20 63 61 73 65 20 27 64 27 3a 20 63 61 73 65 20 27 44 27 3a 20 6d 6f 76 65 52 69 67 68 74 | ...case.'d':.case.'D':.moveRight |
| 76c0 | 20 3d 20 31 3b 20 62 72 65 61 6b 3b 00 00 00 19 20 20 20 20 20 20 20 20 63 61 73 65 20 32 37 3a | .=.1;.break;............case.27: |
| 76e0 | 20 65 78 69 74 28 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 32 76 | .exit(0);........}....}.......2v |
| 7700 | 6f 69 64 20 6b 65 79 62 6f 61 72 64 55 70 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 6b 65 79 | oid.keyboardUp(unsigned.char.key |
| 7720 | 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 12 20 20 20 20 73 77 69 74 63 68 20 | ,.int.x,.int.y).{........switch. |
| 7740 | 28 6b 65 79 29 20 7b 00 00 00 33 20 20 20 20 20 20 20 20 63 61 73 65 20 27 77 27 3a 20 63 61 73 | (key).{...3........case.'w':.cas |
| 7760 | 65 20 27 57 27 3a 20 6d 6f 76 65 46 6f 72 77 61 72 64 20 3d 20 30 3b 20 62 72 65 61 6b 3b 00 00 | e.'W':.moveForward.=.0;.break;.. |
| 7780 | 00 34 20 20 20 20 20 20 20 20 63 61 73 65 20 27 73 27 3a 20 63 61 73 65 20 27 53 27 3a 20 6d 6f | .4........case.'s':.case.'S':.mo |
| 77a0 | 76 65 42 61 63 6b 77 61 72 64 20 3d 20 30 3b 20 62 72 65 61 6b 3b 00 00 00 30 20 20 20 20 20 20 | veBackward.=.0;.break;...0...... |
| 77c0 | 20 20 63 61 73 65 20 27 61 27 3a 20 63 61 73 65 20 27 41 27 3a 20 6d 6f 76 65 4c 65 66 74 20 3d | ..case.'a':.case.'A':.moveLeft.= |
| 77e0 | 20 30 3b 20 62 72 65 61 6b 3b 00 00 00 31 20 20 20 20 20 20 20 20 63 61 73 65 20 27 64 27 3a 20 | .0;.break;...1........case.'d':. |
| 7800 | 63 61 73 65 20 27 44 27 3a 20 6d 6f 76 65 52 69 67 68 74 20 3d 20 30 3b 20 62 72 65 61 6b 3b 00 | case.'D':.moveRight.=.0;.break;. |
| 7820 | 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 21 76 6f 69 64 20 70 61 73 73 69 76 | .......}....}.......!void.passiv |
| 7840 | 65 4d 6f 75 73 65 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 1c 20 20 20 20 69 66 | eMouse(int.x,.int.y).{........if |
| 7860 | 20 28 21 6d 6f 75 73 65 49 6e 69 74 69 61 6c 69 7a 65 64 29 20 7b 00 00 00 17 20 20 20 20 20 20 | .(!mouseInitialized).{.......... |
| 7880 | 20 20 70 72 65 76 4d 6f 75 73 65 58 20 3d 20 78 3b 00 00 00 17 20 20 20 20 20 20 20 20 70 72 65 | ..prevMouseX.=.x;............pre |
| 78a0 | 76 4d 6f 75 73 65 59 20 3d 20 79 3b 00 00 00 1d 20 20 20 20 20 20 20 20 6d 6f 75 73 65 49 6e 69 | vMouseY.=.y;............mouseIni |
| 78c0 | 74 69 61 6c 69 7a 65 64 20 3d 20 31 3b 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b | tialized.=.1;............return; |
| 78e0 | 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 1c 20 20 20 20 69 6e 74 20 64 78 20 3d 20 78 20 | ........}............int.dx.=.x. |
| 7900 | 2d 20 70 72 65 76 4d 6f 75 73 65 58 3b 00 00 00 1c 20 20 20 20 69 6e 74 20 64 79 20 3d 20 79 20 | -.prevMouseX;........int.dy.=.y. |
| 7920 | 2d 20 70 72 65 76 4d 6f 75 73 65 59 3b 00 00 00 13 20 20 20 20 70 72 65 76 4d 6f 75 73 65 58 20 | -.prevMouseY;........prevMouseX. |
| 7940 | 3d 20 78 3b 00 00 00 13 20 20 20 20 70 72 65 76 4d 6f 75 73 65 59 20 3d 20 79 3b 00 00 00 00 00 | =.x;........prevMouseY.=.y;..... |
| 7960 | 00 00 1b 20 20 20 20 79 61 77 20 2b 3d 20 64 78 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 00 | .......yaw.+=.dx.*.MOUSE_SENS;.. |
| 7980 | 00 1d 20 20 20 20 70 69 74 63 68 20 2d 3d 20 64 79 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 | ......pitch.-=.dy.*.MOUSE_SENS;. |
| 79a0 | 00 00 00 00 00 00 25 20 20 20 20 69 66 20 28 70 69 74 63 68 20 3e 20 38 39 2e 30 66 29 20 70 69 | ......%....if.(pitch.>.89.0f).pi |
| 79c0 | 74 63 68 20 3d 20 38 39 2e 30 66 3b 00 00 00 27 20 20 20 20 69 66 20 28 70 69 74 63 68 20 3c 20 | tch.=.89.0f;...'....if.(pitch.<. |
| 79e0 | 2d 38 39 2e 30 66 29 20 70 69 74 63 68 20 3d 20 2d 38 39 2e 30 66 3b 00 00 00 00 00 00 00 24 20 | -89.0f).pitch.=.-89.0f;.......$. |
| 7a00 | 20 20 20 69 66 20 28 79 61 77 20 3e 20 33 36 30 2e 30 66 29 20 79 61 77 20 2d 3d 20 33 36 30 2e | ...if.(yaw.>.360.0f).yaw.-=.360. |
| 7a20 | 30 66 3b 00 00 00 22 20 20 20 20 69 66 20 28 79 61 77 20 3c 20 30 2e 30 66 29 20 79 61 77 20 2b | 0f;..."....if.(yaw.<.0.0f).yaw.+ |
| 7a40 | 3d 20 33 36 30 2e 30 66 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1d 76 6f 69 64 20 75 70 64 61 74 | =.360.0f;....}........void.updat |
| 7a60 | 65 43 61 6d 65 72 61 28 66 6c 6f 61 74 20 64 74 29 20 7b 00 00 00 1b 20 20 20 20 69 66 20 28 64 | eCamera(float.dt).{........if.(d |
| 7a80 | 74 20 3c 3d 20 30 2e 30 66 29 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 2f 20 20 20 20 66 6c | t.<=.0.0f).return;......./....fl |
| 7aa0 | 6f 61 74 20 74 61 72 67 65 74 56 65 6c 58 20 3d 20 30 2e 30 66 2c 20 74 61 72 67 65 74 56 65 6c | oat.targetVelX.=.0.0f,.targetVel |
| 7ac0 | 5a 20 3d 20 30 2e 30 66 3b 00 00 00 27 20 20 20 20 66 6c 6f 61 74 20 79 61 77 52 61 64 20 3d 20 | Z.=.0.0f;...'....float.yawRad.=. |
| 7ae0 | 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 3b 00 00 00 22 20 20 20 20 66 6c 6f 61 | yaw.*.M_PI./.180.0f;..."....floa |
| 7b00 | 74 20 66 6f 72 77 61 72 64 58 20 3d 20 73 69 6e 66 28 79 61 77 52 61 64 29 3b 00 00 00 23 20 20 | t.forwardX.=.sinf(yawRad);...#.. |
| 7b20 | 20 20 66 6c 6f 61 74 20 66 6f 72 77 61 72 64 5a 20 3d 20 2d 63 6f 73 66 28 79 61 77 52 61 64 29 | ..float.forwardZ.=.-cosf(yawRad) |
| 7b40 | 3b 00 00 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 58 20 3d 20 63 6f 73 66 28 79 61 77 | ;........float.rightX.=.cosf(yaw |
| 7b60 | 52 61 64 29 3b 00 00 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 5a 20 3d 20 73 69 6e 66 | Rad);........float.rightZ.=.sinf |
| 7b80 | 28 79 61 77 52 61 64 29 3b 00 00 00 00 00 00 00 63 20 20 20 20 69 66 20 28 6d 6f 76 65 46 6f 72 | (yawRad);.......c....if.(moveFor |
| 7ba0 | 77 61 72 64 29 20 20 7b 20 74 61 72 67 65 74 56 65 6c 58 20 2b 3d 20 66 6f 72 77 61 72 64 58 20 | ward)..{.targetVelX.+=.forwardX. |
| 7bc0 | 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b 20 74 61 72 67 65 74 56 65 6c 5a 20 2b 3d 20 66 6f 72 77 | *.MOVE_SPEED;.targetVelZ.+=.forw |
| 7be0 | 61 72 64 5a 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b 20 7d 00 00 00 63 20 20 20 20 69 66 20 28 | ardZ.*.MOVE_SPEED;.}...c....if.( |
| 7c00 | 6d 6f 76 65 42 61 63 6b 77 61 72 64 29 20 7b 20 74 61 72 67 65 74 56 65 6c 58 20 2d 3d 20 66 6f | moveBackward).{.targetVelX.-=.fo |
| 7c20 | 72 77 61 72 64 58 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b 20 74 61 72 67 65 74 56 65 6c 5a 20 | rwardX.*.MOVE_SPEED;.targetVelZ. |
| 7c40 | 2d 3d 20 66 6f 72 77 61 72 64 5a 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b 20 7d 00 00 00 61 20 | -=.forwardZ.*.MOVE_SPEED;.}...a. |
| 7c60 | 20 20 20 69 66 20 28 6d 6f 76 65 4c 65 66 74 29 20 20 20 20 20 7b 20 74 61 72 67 65 74 56 65 6c | ...if.(moveLeft).....{.targetVel |
| 7c80 | 58 20 2d 3d 20 72 69 67 68 74 58 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b 20 20 20 74 61 72 67 | X.-=.rightX.*.MOVE_SPEED;...targ |
| 7ca0 | 65 74 56 65 6c 5a 20 2d 3d 20 72 69 67 68 74 5a 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b 20 7d | etVelZ.-=.rightZ.*.MOVE_SPEED;.} |
| 7cc0 | 00 00 00 61 20 20 20 20 69 66 20 28 6d 6f 76 65 52 69 67 68 74 29 20 20 20 20 7b 20 74 61 72 67 | ...a....if.(moveRight)....{.targ |
| 7ce0 | 65 74 56 65 6c 58 20 2b 3d 20 72 69 67 68 74 58 20 2a 20 4d 4f 56 45 5f 53 50 45 45 44 3b 20 20 | etVelX.+=.rightX.*.MOVE_SPEED;.. |
| 7d00 | 20 74 61 72 67 65 74 56 65 6c 5a 20 2b 3d 20 72 69 67 68 74 5a 20 2a 20 4d 4f 56 45 5f 53 50 45 | .targetVelZ.+=.rightZ.*.MOVE_SPE |
| 7d20 | 45 44 3b 20 7d 00 00 00 00 00 00 00 1c 20 20 20 20 66 6c 6f 61 74 20 73 6d 6f 6f 74 68 69 6e 67 | ED;.}............float.smoothing |
| 7d40 | 20 3d 20 31 32 2e 30 66 3b 00 00 00 3b 20 20 20 20 76 65 6c 6f 63 69 74 79 58 20 2b 3d 20 28 74 | .=.12.0f;...;....velocityX.+=.(t |
| 7d60 | 61 72 67 65 74 56 65 6c 58 20 2d 20 76 65 6c 6f 63 69 74 79 58 29 20 2a 20 73 6d 6f 6f 74 68 69 | argetVelX.-.velocityX).*.smoothi |
| 7d80 | 6e 67 20 2a 20 64 74 3b 00 00 00 3b 20 20 20 20 76 65 6c 6f 63 69 74 79 5a 20 2b 3d 20 28 74 61 | ng.*.dt;...;....velocityZ.+=.(ta |
| 7da0 | 72 67 65 74 56 65 6c 5a 20 2d 20 76 65 6c 6f 63 69 74 79 5a 29 20 2a 20 73 6d 6f 6f 74 68 69 6e | rgetVelZ.-.velocityZ).*.smoothin |
| 7dc0 | 67 20 2a 20 64 74 3b 00 00 00 00 00 00 00 1b 20 20 20 20 63 61 6d 58 20 2b 3d 20 76 65 6c 6f 63 | g.*.dt;............camX.+=.veloc |
| 7de0 | 69 74 79 58 20 2a 20 64 74 3b 00 00 00 1b 20 20 20 20 63 61 6d 5a 20 2b 3d 20 76 65 6c 6f 63 69 | ityX.*.dt;........camZ.+=.veloci |
| 7e00 | 74 79 5a 20 2a 20 64 74 3b 00 00 00 00 00 00 00 30 20 20 20 20 66 6c 6f 61 74 20 6c 69 6d 69 74 | tyZ.*.dt;.......0....float.limit |
| 7e20 | 20 3d 20 28 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 2e 30 66 29 20 2d 20 31 2e 35 66 | .=.(PLATFORM_SIZE./.2.0f).-.1.5f |
| 7e40 | 3b 00 00 00 3b 20 20 20 20 69 66 20 28 63 61 6d 58 20 3c 20 2d 6c 69 6d 69 74 29 20 7b 20 63 61 | ;...;....if.(camX.<.-limit).{.ca |
| 7e60 | 6d 58 20 3d 20 2d 6c 69 6d 69 74 3b 20 76 65 6c 6f 63 69 74 79 58 20 3d 20 30 2e 30 66 3b 20 7d | mX.=.-limit;.velocityX.=.0.0f;.} |
| 7e80 | 00 00 00 3b 20 20 20 20 69 66 20 28 63 61 6d 58 20 3e 20 20 6c 69 6d 69 74 29 20 7b 20 63 61 6d | ...;....if.(camX.>..limit).{.cam |
| 7ea0 | 58 20 3d 20 20 6c 69 6d 69 74 3b 20 76 65 6c 6f 63 69 74 79 58 20 3d 20 30 2e 30 66 3b 20 7d 00 | X.=..limit;.velocityX.=.0.0f;.}. |
| 7ec0 | 00 00 3b 20 20 20 20 69 66 20 28 63 61 6d 5a 20 3c 20 2d 6c 69 6d 69 74 29 20 7b 20 63 61 6d 5a | ..;....if.(camZ.<.-limit).{.camZ |
| 7ee0 | 20 3d 20 2d 6c 69 6d 69 74 3b 20 76 65 6c 6f 63 69 74 79 5a 20 3d 20 30 2e 30 66 3b 20 7d 00 00 | .=.-limit;.velocityZ.=.0.0f;.}.. |
| 7f00 | 00 3b 20 20 20 20 69 66 20 28 63 61 6d 5a 20 3e 20 20 6c 69 6d 69 74 29 20 7b 20 63 61 6d 5a 20 | .;....if.(camZ.>..limit).{.camZ. |
| 7f20 | 3d 20 20 6c 69 6d 69 74 3b 20 76 65 6c 6f 63 69 74 79 5a 20 3d 20 30 2e 30 66 3b 20 7d 00 00 00 | =..limit;.velocityZ.=.0.0f;.}... |
| 7f40 | 01 7d 00 00 00 00 00 00 00 0d 76 6f 69 64 20 69 64 6c 65 28 29 20 7b 00 00 00 29 20 20 20 20 69 | .}........void.idle().{...)....i |
| 7f60 | 6e 74 20 6e 6f 77 20 3d 20 67 6c 75 74 47 65 74 28 47 4c 55 54 5f 45 4c 41 50 53 45 44 5f 54 49 | nt.now.=.glutGet(GLUT_ELAPSED_TI |
| 7f80 | 4d 45 29 3b 00 00 00 2a 20 20 20 20 66 6c 6f 61 74 20 64 74 20 3d 20 28 6e 6f 77 20 2d 20 6c 61 | ME);...*....float.dt.=.(now.-.la |
| 7fa0 | 73 74 54 69 6d 65 29 20 2f 20 31 30 30 30 2e 30 66 3b 00 00 00 1d 20 20 20 20 69 66 20 28 64 74 | stTime)./.1000.0f;........if.(dt |
| 7fc0 | 20 3e 20 30 2e 31 66 29 20 64 74 20 3d 20 30 2e 31 66 3b 00 00 00 20 20 20 20 20 69 66 20 28 64 | .>.0.1f).dt.=.0.1f;........if.(d |
| 7fe0 | 74 20 3c 3d 20 30 2e 30 66 29 20 64 74 20 3d 20 30 2e 30 31 36 66 3b 00 00 00 13 20 20 20 20 6c | t.<=.0.0f).dt.=.0.016f;........l |
| 8000 | 61 73 74 54 69 6d 65 20 3d 20 6e 6f 77 3b 00 00 00 00 00 00 00 15 20 20 20 20 75 70 64 61 74 65 | astTime.=.now;............update |
| 8020 | 43 61 6d 65 72 61 28 64 74 29 3b 00 00 00 18 20 20 20 20 67 6c 75 74 50 6f 73 74 52 65 64 69 73 | Camera(dt);........glutPostRedis |
| 8040 | 70 6c 61 79 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 21 69 6e 74 20 6d 61 69 6e 28 69 6e 74 | play();....}.......!int.main(int |
| 8060 | 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 20 7b 00 00 00 1a 20 20 20 20 67 6c 75 | .argc,.char.**argv).{........glu |
| 8080 | 74 49 6e 69 74 28 26 61 72 67 63 2c 20 61 72 67 76 29 3b 00 00 00 3d 20 20 20 20 67 6c 75 74 49 | tInit(&argc,.argv);...=....glutI |
| 80a0 | 6e 69 74 44 69 73 70 6c 61 79 4d 6f 64 65 28 47 4c 55 54 5f 44 4f 55 42 4c 45 20 7c 20 47 4c 55 | nitDisplayMode(GLUT_DOUBLE.|.GLU |
| 80c0 | 54 5f 52 47 42 20 7c 20 47 4c 55 54 5f 44 45 50 54 48 29 3b 00 00 00 34 20 20 20 20 67 6c 75 74 | T_RGB.|.GLUT_DEPTH);...4....glut |
| 80e0 | 49 6e 69 74 57 69 6e 64 6f 77 53 69 7a 65 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 2c 20 57 49 4e | InitWindowSize(WINDOW_WIDTH,.WIN |
| 8100 | 44 4f 57 5f 48 45 49 47 48 54 29 3b 00 00 00 37 20 20 20 20 67 6c 75 74 43 72 65 61 74 65 57 69 | DOW_HEIGHT);...7....glutCreateWi |
| 8120 | 6e 64 6f 77 28 22 4d 69 6e 65 63 72 61 66 74 20 50 72 6f 74 6f 74 79 70 65 20 2d 20 45 6e 68 61 | ndow("Minecraft.Prototype.-.Enha |
| 8140 | 6e 63 65 64 22 29 3b 00 00 00 00 00 00 00 0d 20 20 20 20 69 6e 69 74 47 4c 28 29 3b 00 00 00 00 | nced");............initGL();.... |
| 8160 | 00 00 00 1d 20 20 20 20 67 6c 75 74 44 69 73 70 6c 61 79 46 75 6e 63 28 64 69 73 70 6c 61 79 29 | ........glutDisplayFunc(display) |
| 8180 | 3b 00 00 00 1d 20 20 20 20 67 6c 75 74 52 65 73 68 61 70 65 46 75 6e 63 28 72 65 73 68 61 70 65 | ;........glutReshapeFunc(reshape |
| 81a0 | 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 72 64 46 75 6e 63 28 6b 65 79 62 6f | );...#....glutKeyboardFunc(keybo |
| 81c0 | 61 72 64 44 6f 77 6e 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 72 64 55 70 46 | ardDown);...#....glutKeyboardUpF |
| 81e0 | 75 6e 63 28 6b 65 79 62 6f 61 72 64 55 70 29 3b 00 00 00 28 20 20 20 20 67 6c 75 74 50 61 73 73 | unc(keyboardUp);...(....glutPass |
| 8200 | 69 76 65 4d 6f 74 69 6f 6e 46 75 6e 63 28 70 61 73 73 69 76 65 4d 6f 75 73 65 29 3b 00 00 00 17 | iveMotionFunc(passiveMouse);.... |
| 8220 | 20 20 20 20 67 6c 75 74 49 64 6c 65 46 75 6e 63 28 69 64 6c 65 29 3b 00 00 00 00 00 00 00 24 20 | ....glutIdleFunc(idle);.......$. |
| 8240 | 20 20 20 67 6c 75 74 53 65 74 43 75 72 73 6f 72 28 47 4c 55 54 5f 43 55 52 53 4f 52 5f 4e 4f 4e | ...glutSetCursor(GLUT_CURSOR_NON |
| 8260 | 45 29 3b 00 00 00 35 20 20 20 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 57 49 4e 44 4f | E);...5....glutWarpPointer(WINDO |
| 8280 | 57 5f 57 49 44 54 48 2f 32 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 2f 32 29 3b 00 00 00 00 | W_WIDTH/2,.WINDOW_HEIGHT/2);.... |
| 82a0 | 00 00 00 2a 20 20 20 20 6c 61 73 74 54 69 6d 65 20 3d 20 67 6c 75 74 47 65 74 28 47 4c 55 54 5f | ...*....lastTime.=.glutGet(GLUT_ |
| 82c0 | 45 4c 41 50 53 45 44 5f 54 49 4d 45 29 3b 00 00 00 13 20 20 20 20 67 6c 75 74 4d 61 69 6e 4c 6f | ELAPSED_TIME);........glutMainLo |
| 82e0 | 6f 70 28 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 | op();........return.0;....}5.... |
| 8300 | 00 00 00 00 00 00 00 00 00 00 00 43 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 | ...........C.................... |
| 8320 | 00 00 00 b5 24 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 07 00 00 00 09 00 | ....$..............5._.......... |
| 8340 | 00 00 00 00 00 00 00 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 | ................................ |
| 8360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 f6 95 04 01 00 | .........................j...... |
| 84c0 | 00 00 06 00 f5 18 00 00 00 8c 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 07 20 20 20 20 20 20 | ................................ |
| 84e0 | 20 f5 18 00 00 00 8d 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8500 | 00 00 00 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 | ...........................5.... |
| 8520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8c 00 00 00 07 00 00 00 00 00 00 00 00 | ................................ |
| 8540 | 00 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 8c 00 00 00 07 00 00 | ................................ |
| 8560 | 00 00 00 00 00 00 00 00 00 7e 00 00 00 01 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........~...................... |
| 8580 | 00 d8 0c 00 00 00 00 00 00 35 81 5f d0 00 00 00 08 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 | .........5._.................... |
| 85a0 | 09 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 85c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 85e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 f7 26 04 01 00 00 00 00 00 f5 18 00 00 00 00 | ...............j..&............. |
| 8720 | 00 00 00 02 00 00 00 00 00 00 01 0b 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 47 4c 2f 67 6c 75 | ................#include.<GL/glu |
| 8740 | 74 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 12 23 69 6e | t.h>....#include.<math.h>....#in |
| 8760 | 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 | clude.<stdio.h>....#include.<std |
| 8780 | 6c 69 62 2e 68 3e 00 00 00 00 00 00 00 1b 23 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 5f 57 49 44 | lib.h>........#define.WINDOW_WID |
| 87a0 | 54 48 20 20 20 31 32 38 30 00 00 00 1a 23 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 5f 48 45 49 47 | TH...1280....#define.WINDOW_HEIG |
| 87c0 | 48 54 20 20 37 32 30 00 00 00 19 23 64 65 66 69 6e 65 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 | HT..720....#define.PLATFORM_SIZE |
| 87e0 | 20 20 36 30 00 00 00 1b 23 64 65 66 69 6e 65 20 4d 4f 56 45 5f 53 50 45 45 44 20 20 20 20 20 38 | ..60....#define.MOVE_SPEED.....8 |
| 8800 | 2e 30 66 00 00 00 1c 23 64 65 66 69 6e 65 20 4d 4f 55 53 45 5f 53 45 4e 53 20 20 20 20 20 30 2e | .0f....#define.MOUSE_SENS.....0. |
| 8820 | 31 35 66 00 00 00 1c 23 64 65 66 69 6e 65 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 20 20 31 2e | 15f....#define.PLAYER_HEIGHT..1. |
| 8840 | 36 32 66 00 00 00 00 00 00 00 35 66 6c 6f 61 74 20 63 61 6d 58 20 3d 20 30 2e 30 66 2c 20 63 61 | 62f.......5float.camX.=.0.0f,.ca |
| 8860 | 6d 59 20 3d 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 2c 20 63 61 6d 5a 20 3d 20 30 2e 30 66 3b | mY.=.PLAYER_HEIGHT,.camZ.=.0.0f; |
| 8880 | 00 00 00 1f 66 6c 6f 61 74 20 79 61 77 20 3d 20 30 2e 30 66 2c 20 70 69 74 63 68 20 3d 20 30 2e | ....float.yaw.=.0.0f,.pitch.=.0. |
| 88a0 | 30 66 3b 00 00 00 43 69 6e 74 20 6d 6f 76 65 46 6f 72 77 61 72 64 20 3d 20 30 2c 20 6d 6f 76 65 | 0f;...Cint.moveForward.=.0,.move |
| 88c0 | 42 61 63 6b 77 61 72 64 20 3d 20 30 2c 20 6d 6f 76 65 4c 65 66 74 20 3d 20 30 2c 20 6d 6f 76 65 | Backward.=.0,.moveLeft.=.0,.move |
| 88e0 | 52 69 67 68 74 20 3d 20 30 3b 00 00 00 14 69 6e 74 20 77 61 72 70 50 6f 69 6e 74 65 72 20 3d 20 | Right.=.0;....int.warpPointer.=. |
| 8900 | 31 3b 00 00 00 00 00 00 00 10 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 00 00 00 11 20 20 | 1;........typedef.struct.{...... |
| 8920 | 20 20 66 6c 6f 61 74 20 74 6f 70 5b 33 5d 3b 00 00 00 12 20 20 20 20 66 6c 6f 61 74 20 73 69 64 | ..float.top[3];........float.sid |
| 8940 | 65 5b 33 5d 3b 00 00 00 14 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 5b 33 5d 3b 00 00 00 | e[3];........float.bottom[3];... |
| 8960 | 0d 7d 20 42 6c 6f 63 6b 53 74 79 6c 65 3b 00 00 00 00 00 00 00 19 42 6c 6f 63 6b 53 74 79 6c 65 | .}.BlockStyle;........BlockStyle |
| 8980 | 20 67 72 61 73 73 42 6c 6f 63 6b 20 3d 20 7b 00 00 00 1a 20 20 20 20 7b 30 2e 32 35 66 2c 20 30 | .grassBlock.=.{........{0.25f,.0 |
| 89a0 | 2e 37 35 66 2c 20 30 2e 31 35 66 7d 2c 00 00 00 1a 20 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e 33 | .75f,.0.15f},........{0.50f,.0.3 |
| 89c0 | 35 66 2c 20 30 2e 31 30 66 7d 2c 00 00 00 19 20 20 20 20 7b 30 2e 34 30 66 2c 20 30 2e 32 35 66 | 5f,.0.10f},........{0.40f,.0.25f |
| 89e0 | 2c 20 30 2e 30 38 66 7d 00 00 00 02 7d 3b 00 00 00 00 00 00 00 18 42 6c 6f 63 6b 53 74 79 6c 65 | ,.0.08f}....};........BlockStyle |
| 8a00 | 20 64 69 72 74 42 6c 6f 63 6b 20 3d 20 7b 00 00 00 1a 20 20 20 20 7b 30 2e 35 35 66 2c 20 30 2e | .dirtBlock.=.{........{0.55f,.0. |
| 8a20 | 34 30 66 2c 20 30 2e 32 30 66 7d 2c 00 00 00 1a 20 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e 33 35 | 40f,.0.20f},........{0.50f,.0.35 |
| 8a40 | 66 2c 20 30 2e 31 38 66 7d 2c 00 00 00 19 20 20 20 20 7b 30 2e 34 30 66 2c 20 30 2e 32 38 66 2c | f,.0.18f},........{0.40f,.0.28f, |
| 8a60 | 20 30 2e 31 35 66 7d 00 00 00 02 7d 3b 00 00 00 00 00 00 00 19 42 6c 6f 63 6b 53 74 79 6c 65 20 | .0.15f}....};........BlockStyle. |
| 8a80 | 73 74 6f 6e 65 42 6c 6f 63 6b 20 3d 20 7b 00 00 00 1a 20 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e | stoneBlock.=.{........{0.50f,.0. |
| 8aa0 | 35 30 66 2c 20 30 2e 35 30 66 7d 2c 00 00 00 1a 20 20 20 20 7b 30 2e 34 35 66 2c 20 30 2e 34 35 | 50f,.0.50f},........{0.45f,.0.45 |
| 8ac0 | 66 2c 20 30 2e 34 35 66 7d 2c 00 00 00 19 20 20 20 20 7b 30 2e 33 35 66 2c 20 30 2e 33 35 66 2c | f,.0.45f},........{0.35f,.0.35f, |
| 8ae0 | 20 30 2e 33 35 66 7d 00 00 00 02 7d 3b 00 00 00 00 00 00 00 0f 76 6f 69 64 20 69 6e 69 74 47 4c | .0.35f}....};........void.initGL |
| 8b00 | 28 29 20 7b 00 00 00 2c 20 20 20 20 67 6c 43 6c 65 61 72 43 6f 6c 6f 72 28 30 2e 35 33 66 2c 20 | ().{...,....glClearColor(0.53f,. |
| 8b20 | 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 66 29 3b 00 00 00 1c 20 20 20 20 67 6c 45 6e | 0.81f,.0.98f,.1.0f);........glEn |
| 8b40 | 61 62 6c 65 28 47 4c 5f 44 45 50 54 48 5f 54 45 53 54 29 3b 00 00 00 1b 20 20 20 20 67 6c 45 6e | able(GL_DEPTH_TEST);........glEn |
| 8b60 | 61 62 6c 65 28 47 4c 5f 43 55 4c 4c 5f 46 41 43 45 29 3b 00 00 00 18 20 20 20 20 67 6c 43 75 6c | able(GL_CULL_FACE);........glCul |
| 8b80 | 6c 46 61 63 65 28 47 4c 5f 42 41 43 4b 29 3b 00 00 00 15 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 | lFace(GL_BACK);........glEnable( |
| 8ba0 | 47 4c 5f 46 4f 47 29 3b 00 00 00 23 20 20 20 20 67 6c 46 6f 67 69 28 47 4c 5f 46 4f 47 5f 4d 4f | GL_FOG);...#....glFogi(GL_FOG_MO |
| 8bc0 | 44 45 2c 20 47 4c 5f 4c 49 4e 45 41 52 29 3b 00 00 00 2f 20 20 20 20 67 6c 46 6f 67 66 28 47 4c | DE,.GL_LINEAR);.../....glFogf(GL |
| 8be0 | 5f 46 4f 47 5f 53 54 41 52 54 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 30 2e 36 66 | _FOG_START,.PLATFORM_SIZE.*.0.6f |
| 8c00 | 29 3b 00 00 00 2d 20 20 20 20 67 6c 46 6f 67 66 28 47 4c 5f 46 4f 47 5f 45 4e 44 2c 20 50 4c 41 | );...-....glFogf(GL_FOG_END,.PLA |
| 8c20 | 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 31 2e 32 66 29 3b 00 00 00 33 20 20 20 20 66 6c 6f 61 74 | TFORM_SIZE.*.1.2f);...3....float |
| 8c40 | 20 66 6f 67 43 6f 6c 6f 72 5b 5d 20 3d 20 7b 30 2e 35 33 66 2c 20 30 2e 38 31 66 2c 20 30 2e 39 | .fogColor[].=.{0.53f,.0.81f,.0.9 |
| 8c60 | 38 66 2c 20 31 2e 30 66 7d 3b 00 00 00 24 20 20 20 20 67 6c 46 6f 67 66 76 28 47 4c 5f 46 4f 47 | 8f,.1.0f};...$....glFogfv(GL_FOG |
| 8c80 | 5f 43 4f 4c 4f 52 2c 20 66 6f 67 43 6f 6c 6f 72 29 3b 00 00 00 00 00 00 00 31 20 20 20 20 47 4c | _COLOR,.fogColor);.......1....GL |
| 8ca0 | 66 6c 6f 61 74 20 61 6d 62 69 65 6e 74 5b 5d 20 3d 20 7b 30 2e 36 66 2c 20 30 2e 36 66 2c 20 30 | float.ambient[].=.{0.6f,.0.6f,.0 |
| 8cc0 | 2e 36 66 2c 20 31 2e 30 66 7d 3b 00 00 00 31 20 20 20 20 47 4c 66 6c 6f 61 74 20 64 69 66 66 75 | .6f,.1.0f};...1....GLfloat.diffu |
| 8ce0 | 73 65 5b 5d 20 3d 20 7b 30 2e 38 66 2c 20 30 2e 38 66 2c 20 30 2e 37 66 2c 20 31 2e 30 66 7d 3b | se[].=.{0.8f,.0.8f,.0.7f,.1.0f}; |
| 8d00 | 00 00 00 57 20 20 20 20 47 4c 66 6c 6f 61 74 20 6c 69 67 68 74 50 6f 73 5b 5d 20 3d 20 7b 50 4c | ...W....GLfloat.lightPos[].=.{PL |
| 8d20 | 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e 30 66 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2c | ATFORM_SIZE/2.0f,.PLATFORM_SIZE, |
| 8d40 | 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e 30 66 2c 20 31 2e 30 66 7d 3b 00 00 00 00 00 | .PLATFORM_SIZE/2.0f,.1.0f};..... |
| 8d60 | 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 | .......glEnable(GL_LIGHTING);... |
| 8d80 | 18 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 30 29 3b 00 00 00 2e 20 20 20 | .....glEnable(GL_LIGHT0);....... |
| 8da0 | 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 41 4d 42 49 45 4e 54 | .glLightfv(GL_LIGHT0,.GL_AMBIENT |
| 8dc0 | 2c 20 61 6d 62 69 65 6e 74 29 3b 00 00 00 2e 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f | ,.ambient);........glLightfv(GL_ |
| 8de0 | 4c 49 47 48 54 30 2c 20 47 4c 5f 44 49 46 46 55 53 45 2c 20 64 69 66 66 75 73 65 29 3b 00 00 00 | LIGHT0,.GL_DIFFUSE,.diffuse);... |
| 8e00 | 30 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 50 4f 53 | 0....glLightfv(GL_LIGHT0,.GL_POS |
| 8e20 | 49 54 49 4f 4e 2c 20 6c 69 67 68 74 50 6f 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 53 76 6f | ITION,.lightPos);....}.......Svo |
| 8e40 | 69 64 20 64 72 61 77 46 61 63 65 28 66 6c 6f 61 74 20 76 30 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 | id.drawFace(float.v0[3],.float.v |
| 8e60 | 31 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 32 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 33 5b 33 5d 2c 20 | 1[3],.float.v2[3],.float.v3[3],. |
| 8e80 | 66 6c 6f 61 74 20 63 6f 6c 6f 72 5b 33 5d 29 20 7b 00 00 00 44 20 20 20 20 66 6c 6f 61 74 20 64 | float.color[3]).{...D....float.d |
| 8ea0 | 61 72 6b 65 72 5b 33 5d 20 3d 20 7b 63 6f 6c 6f 72 5b 30 5d 2a 30 2e 37 66 2c 20 63 6f 6c 6f 72 | arker[3].=.{color[0]*0.7f,.color |
| 8ec0 | 5b 31 5d 2a 30 2e 37 66 2c 20 63 6f 6c 6f 72 5b 32 5d 2a 30 2e 37 66 7d 3b 00 00 00 04 20 20 20 | [1]*0.7f,.color[2]*0.7f};....... |
| 8ee0 | 20 00 00 00 16 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 51 55 41 44 53 29 3b 00 00 00 16 20 | .........glBegin(GL_QUADS);..... |
| 8f00 | 20 20 20 67 6c 43 6f 6c 6f 72 33 66 76 28 63 6f 6c 6f 72 29 3b 00 00 00 14 20 20 20 20 67 6c 56 | ...glColor3fv(color);........glV |
| 8f20 | 65 72 74 65 78 33 66 76 28 76 30 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 | ertex3fv(v0);........glVertex3fv |
| 8f40 | 28 76 31 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 32 29 3b 00 00 00 | (v1);........glVertex3fv(v2);... |
| 8f60 | 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 33 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 | .....glVertex3fv(v3);........glE |
| 8f80 | 6e 64 28 29 3b 00 00 00 00 00 00 00 1b 20 20 20 20 67 6c 44 69 73 61 62 6c 65 28 47 4c 5f 4c 49 | nd();............glDisable(GL_LI |
| 8fa0 | 47 48 54 49 4e 47 29 3b 00 00 00 16 20 20 20 20 67 6c 4c 69 6e 65 57 69 64 74 68 28 31 2e 30 66 | GHTING);........glLineWidth(1.0f |
| 8fc0 | 29 3b 00 00 00 1a 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 4c 49 4e 45 5f 4c 4f 4f 50 29 3b | );........glBegin(GL_LINE_LOOP); |
| 8fe0 | 00 00 00 17 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 76 28 64 61 72 6b 65 72 29 3b 00 00 00 14 20 | ........glColor3fv(darker);..... |
| 9000 | 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 30 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 | ...glVertex3fv(v0);........glVer |
| 9020 | 74 65 78 33 66 76 28 76 31 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 | tex3fv(v1);........glVertex3fv(v |
| 9040 | 32 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 33 29 3b 00 00 00 0c 20 | 2);........glVertex3fv(v3);..... |
| 9060 | 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c | ...glEnd();........glEnable(GL_L |
| 9080 | 49 47 48 54 49 4e 47 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3c 76 6f 69 64 20 64 72 61 77 43 | IGHTING);....}.......<void.drawC |
| 90a0 | 75 62 65 28 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 20 79 2c 20 66 6c 6f 61 74 20 7a 2c 20 42 | ube(float.x,.float.y,.float.z,.B |
| 90c0 | 6c 6f 63 6b 53 74 79 6c 65 20 73 74 79 6c 65 29 20 7b 00 00 00 13 20 20 20 20 67 6c 50 75 73 68 | lockStyle.style).{........glPush |
| 90e0 | 4d 61 74 72 69 78 28 29 3b 00 00 00 1a 20 20 20 20 67 6c 54 72 61 6e 73 6c 61 74 65 66 28 78 2c | Matrix();........glTranslatef(x, |
| 9100 | 20 79 2c 20 7a 29 3b 00 00 00 00 00 00 00 17 20 20 20 20 66 6c 6f 61 74 20 74 6f 70 5b 34 5d 5b | .y,.z);............float.top[4][ |
| 9120 | 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 | 3].=.{.../........{0.0f,.1.0f,.0 |
| 9140 | 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 20 | .0f},.{1.0f,.1.0f,.0.0f},....... |
| 9160 | 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 | .....{1.0f,.1.0f,.1.0f},.{0.0f,. |
| 9180 | 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 1a 20 20 20 20 66 6c 6f | 1.0f,.1.0f}........};........flo |
| 91a0 | 61 74 20 62 6f 74 74 6f 6d 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b | at.bottom[4][3].=.{.../........{ |
| 91c0 | 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 | 0.0f,.0.0f,.1.0f},.{1.0f,.0.0f,. |
| 91e0 | 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 | 1.0f},............{1.0f,.0.0f,.0 |
| 9200 | 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 | .0f},.{0.0f,.0.0f,.0.0f}........ |
| 9220 | 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 74 20 66 72 6f 6e 74 5b 34 5d 5b 33 5d 20 3d 20 7b 00 | };........float.front[4][3].=.{. |
| 9240 | 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b | ../........{0.0f,.0.0f,.0.0f},.{ |
| 9260 | 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 | 1.0f,.0.0f,.0.0f},............{1 |
| 9280 | 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 | .0f,.1.0f,.0.0f},.{0.0f,.1.0f,.0 |
| 92a0 | 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 18 20 20 20 20 66 6c 6f 61 74 20 62 61 63 6b | .0f}........};........float.back |
| 92c0 | 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 30 2e 30 | [4][3].=.{.../........{1.0f,.0.0 |
| 92e0 | 66 2c 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 00 00 | f,.1.0f},.{0.0f,.0.0f,.1.0f},... |
| 9300 | 2e 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 31 2e | .........{0.0f,.1.0f,.1.0f},.{1. |
| 9320 | 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 18 20 20 20 | 0f,.1.0f,.1.0f}........};....... |
| 9340 | 20 66 6c 6f 61 74 20 6c 65 66 74 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 | .float.left[4][3].=.{.../....... |
| 9360 | 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 | .{0.0f,.0.0f,.1.0f},.{0.0f,.0.0f |
| 9380 | 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c | ,.0.0f},............{0.0f,.1.0f, |
| 93a0 | 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 | .0.0f},.{0.0f,.1.0f,.1.0f}...... |
| 93c0 | 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 5b 34 5d 5b 33 5d 20 3d 20 | ..};........float.right[4][3].=. |
| 93e0 | 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c | {.../........{1.0f,.0.0f,.0.0f}, |
| 9400 | 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 | .{1.0f,.0.0f,.1.0f},............ |
| 9420 | 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c | {1.0f,.1.0f,.1.0f},.{1.0f,.1.0f, |
| 9440 | 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 00 00 00 00 38 20 20 20 20 64 72 61 77 | .0.0f}........};.......8....draw |
| 9460 | 46 61 63 65 28 74 6f 70 5b 30 5d 2c 20 74 6f 70 5b 31 5d 2c 20 74 6f 70 5b 32 5d 2c 20 74 6f 70 | Face(top[0],.top[1],.top[2],.top |
| 9480 | 5b 33 5d 2c 20 73 74 79 6c 65 2e 74 6f 70 29 3b 00 00 00 47 20 20 20 20 64 72 61 77 46 61 63 65 | [3],.style.top);...G....drawFace |
| 94a0 | 28 62 6f 74 74 6f 6d 5b 30 5d 2c 20 62 6f 74 74 6f 6d 5b 31 5d 2c 20 62 6f 74 74 6f 6d 5b 32 5d | (bottom[0],.bottom[1],.bottom[2] |
| 94c0 | 2c 20 62 6f 74 74 6f 6d 5b 33 5d 2c 20 73 74 79 6c 65 2e 62 6f 74 74 6f 6d 29 3b 00 00 00 41 20 | ,.bottom[3],.style.bottom);...A. |
| 94e0 | 20 20 20 64 72 61 77 46 61 63 65 28 66 72 6f 6e 74 5b 30 5d 2c 20 66 72 6f 6e 74 5b 31 5d 2c 20 | ...drawFace(front[0],.front[1],. |
| 9500 | 66 72 6f 6e 74 5b 32 5d 2c 20 66 72 6f 6e 74 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b | front[2],.front[3],.style.side); |
| 9520 | 00 00 00 3d 20 20 20 20 64 72 61 77 46 61 63 65 28 62 61 63 6b 5b 30 5d 2c 20 62 61 63 6b 5b 31 | ...=....drawFace(back[0],.back[1 |
| 9540 | 5d 2c 20 62 61 63 6b 5b 32 5d 2c 20 62 61 63 6b 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 | ],.back[2],.back[3],.style.side) |
| 9560 | 3b 00 00 00 3d 20 20 20 20 64 72 61 77 46 61 63 65 28 6c 65 66 74 5b 30 5d 2c 20 6c 65 66 74 5b | ;...=....drawFace(left[0],.left[ |
| 9580 | 31 5d 2c 20 6c 65 66 74 5b 32 5d 2c 20 6c 65 66 74 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 | 1],.left[2],.left[3],.style.side |
| 95a0 | 29 3b 00 00 00 41 20 20 20 20 64 72 61 77 46 61 63 65 28 72 69 67 68 74 5b 30 5d 2c 20 72 69 67 | );...A....drawFace(right[0],.rig |
| 95c0 | 68 74 5b 31 5d 2c 20 72 69 67 68 74 5b 32 5d 2c 20 72 69 67 68 74 5b 33 5d 2c 20 73 74 79 6c 65 | ht[1],.right[2],.right[3],.style |
| 95e0 | 2e 73 69 64 65 29 3b 00 00 00 00 00 00 00 12 20 20 20 20 67 6c 50 6f 70 4d 61 74 72 69 78 28 29 | .side);............glPopMatrix() |
| 9600 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 15 76 6f 69 64 20 64 72 61 77 50 6c 61 74 66 6f 72 6d 28 | ;....}........void.drawPlatform( |
| 9620 | 29 20 7b 00 00 00 21 20 20 20 20 69 6e 74 20 68 61 6c 66 20 3d 20 50 4c 41 54 46 4f 52 4d 5f 53 | ).{...!....int.half.=.PLATFORM_S |
| 9640 | 49 5a 45 20 2f 20 32 3b 00 00 00 28 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 2d 68 61 | IZE./.2;...(....for.(int.i.=.-ha |
| 9660 | 6c 66 3b 20 69 20 3c 20 68 61 6c 66 3b 20 69 2b 2b 29 20 7b 00 00 00 2c 20 20 20 20 20 20 20 20 | lf;.i.<.half;.i++).{...,........ |
| 9680 | 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 2d 68 61 6c 66 3b 20 6a 20 3c 20 68 61 6c 66 3b 20 6a 2b | for.(int.j.=.-half;.j.<.half;.j+ |
| 96a0 | 2b 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 64 69 73 74 20 3d | +).{...*............float.dist.= |
| 96c0 | 20 73 71 72 74 66 28 69 2a 69 20 2b 20 6a 2a 6a 29 3b 00 00 00 25 20 20 20 20 20 20 20 20 20 20 | .sqrtf(i*i.+.j*j);...%.......... |
| 96e0 | 20 20 69 66 20 28 64 69 73 74 20 3e 20 68 61 6c 66 20 2a 20 30 2e 37 66 29 20 7b 00 00 00 2e 20 | ..if.(dist.>.half.*.0.7f).{..... |
| 9700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 6b 20 3d 20 2d 33 3b 20 | ...............for.(int.k.=.-3;. |
| 9720 | 6b 20 3c 20 30 3b 20 6b 2b 2b 29 20 7b 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | k.<.0;.k++).{...G............... |
| 9740 | 20 20 20 20 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 29 69 2c 20 28 66 6c 6f 61 74 29 6b | .....drawCube((float)i,.(float)k |
| 9760 | 2c 20 28 66 6c 6f 61 74 29 6a 2c 20 73 74 6f 6e 65 42 6c 6f 63 6b 29 3b 00 00 00 11 20 20 20 20 | ,.(float)j,.stoneBlock);........ |
| 9780 | 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............}...?............... |
| 97a0 | 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 29 69 2c 20 30 2e 30 66 2c 20 28 66 6c 6f 61 74 | .drawCube((float)i,.0.0f,.(float |
| 97c0 | 29 6a 2c 20 67 72 61 73 73 42 6c 6f 63 6b 29 3b 00 00 00 14 20 20 20 20 20 20 20 20 20 20 20 20 | )j,.grassBlock);................ |
| 97e0 | 7d 20 65 6c 73 65 20 7b 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 | }.else.{...?................draw |
| 9800 | 43 75 62 65 28 28 66 6c 6f 61 74 29 69 2c 20 30 2e 30 66 2c 20 28 66 6c 6f 61 74 29 6a 2c 20 67 | Cube((float)i,.0.0f,.(float)j,.g |
| 9820 | 72 61 73 73 42 6c 6f 63 6b 29 3b 00 00 00 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 | rassBlock);...M................i |
| 9840 | 66 20 28 28 69 20 2b 20 6a 29 20 25 20 35 20 3d 3d 20 30 20 26 26 20 61 62 73 28 69 29 20 3e 20 | f.((i.+.j).%.5.==.0.&&.abs(i).>. |
| 9860 | 68 61 6c 66 2f 33 20 26 26 20 61 62 73 28 6a 29 20 3e 20 68 61 6c 66 2f 33 29 20 7b 00 00 00 42 | half/3.&&.abs(j).>.half/3).{...B |
| 9880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 43 75 62 65 28 28 66 6c | ....................drawCube((fl |
| 98a0 | 6f 61 74 29 69 2c 20 31 2e 30 66 2c 20 28 66 6c 6f 61 74 29 6a 2c 20 64 69 72 74 42 6c 6f 63 6b | oat)i,.1.0f,.(float)j,.dirtBlock |
| 98c0 | 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 20 20 | );....................}......... |
| 98e0 | 20 20 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 | .......}............}........}.. |
| 9900 | 00 01 7d 00 00 00 00 00 00 00 10 76 6f 69 64 20 64 69 73 70 6c 61 79 28 29 20 7b 00 00 00 37 20 | ..}........void.display().{...7. |
| 9920 | 20 20 20 67 6c 43 6c 65 61 72 28 47 4c 5f 43 4f 4c 4f 52 5f 42 55 46 46 45 52 5f 42 49 54 20 7c | ...glClear(GL_COLOR_BUFFER_BIT.| |
| 9940 | 20 47 4c 5f 44 45 50 54 48 5f 42 55 46 46 45 52 5f 42 49 54 29 3b 00 00 00 04 20 20 20 20 00 00 | .GL_DEPTH_BUFFER_BIT);.......... |
| 9960 | 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 | ......glMatrixMode(GL_MODELVIEW) |
| 9980 | 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b 00 00 00 04 20 20 | ;........glLoadIdentity();...... |
| 99a0 | 20 20 00 00 00 28 20 20 20 20 67 6c 52 6f 74 61 74 65 66 28 2d 70 69 74 63 68 2c 20 31 2e 30 66 | .....(....glRotatef(-pitch,.1.0f |
| 99c0 | 2c 20 30 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 26 20 20 20 20 67 6c 52 6f 74 61 74 65 66 28 | ,.0.0f,.0.0f);...&....glRotatef( |
| 99e0 | 2d 79 61 77 2c 20 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 26 20 20 20 20 | -yaw,.0.0f,.1.0f,.0.0f);...&.... |
| 9a00 | 67 6c 54 72 61 6e 73 6c 61 74 65 66 28 2d 63 61 6d 58 2c 20 2d 63 61 6d 59 2c 20 2d 63 61 6d 5a | glTranslatef(-camX,.-camY,.-camZ |
| 9a20 | 29 3b 00 00 00 04 20 20 20 20 00 00 00 13 20 20 20 20 64 72 61 77 50 6c 61 74 66 6f 72 6d 28 29 | );................drawPlatform() |
| 9a40 | 3b 00 00 00 16 20 20 20 20 67 6c 75 74 53 77 61 70 42 75 66 66 65 72 73 28 29 3b 00 00 00 01 7d | ;........glutSwapBuffers();....} |
| 9a60 | 00 00 00 00 00 00 00 1c 76 6f 69 64 20 72 65 73 68 61 70 65 28 69 6e 74 20 77 2c 20 69 6e 74 20 | ........void.reshape(int.w,.int. |
| 9a80 | 68 29 20 7b 00 00 00 1b 20 20 20 20 67 6c 56 69 65 77 70 6f 72 74 28 30 2c 20 30 2c 20 77 2c 20 | h).{........glViewport(0,.0,.w,. |
| 9aa0 | 68 29 3b 00 00 00 20 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 50 52 4f 4a 45 | h);........glMatrixMode(GL_PROJE |
| 9ac0 | 43 54 49 4f 4e 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b | CTION);........glLoadIdentity(); |
| 9ae0 | 00 00 00 4b 20 20 20 20 67 6c 75 50 65 72 73 70 65 63 74 69 76 65 28 37 35 2e 30 2c 20 28 64 6f | ...K....gluPerspective(75.0,.(do |
| 9b00 | 75 62 6c 65 29 77 20 2f 20 28 64 6f 75 62 6c 65 29 68 2c 20 30 2e 30 35 2c 20 50 4c 41 54 46 4f | uble)w./.(double)h,.0.05,.PLATFO |
| 9b20 | 52 4d 5f 53 49 5a 45 20 2a 20 32 2e 30 29 3b 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d | RM_SIZE.*.2.0);........glMatrixM |
| 9b40 | 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 34 76 | ode(GL_MODELVIEW);....}.......4v |
| 9b60 | 6f 69 64 20 6b 65 79 62 6f 61 72 64 44 6f 77 6e 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 6b | oid.keyboardDown(unsigned.char.k |
| 9b80 | 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 12 20 20 20 20 73 77 69 74 63 | ey,.int.x,.int.y).{........switc |
| 9ba0 | 68 20 28 6b 65 79 29 20 7b 00 00 00 33 20 20 20 20 20 20 20 20 63 61 73 65 20 27 77 27 3a 20 63 | h.(key).{...3........case.'w':.c |
| 9bc0 | 61 73 65 20 27 57 27 3a 20 6d 6f 76 65 46 6f 72 77 61 72 64 20 3d 20 31 3b 20 62 72 65 61 6b 3b | ase.'W':.moveForward.=.1;.break; |
| 9be0 | 00 00 00 34 20 20 20 20 20 20 20 20 63 61 73 65 20 27 73 27 3a 20 63 61 73 65 20 27 53 27 3a 20 | ...4........case.'s':.case.'S':. |
| 9c00 | 6d 6f 76 65 42 61 63 6b 77 61 72 64 20 3d 20 31 3b 20 62 72 65 61 6b 3b 00 00 00 30 20 20 20 20 | moveBackward.=.1;.break;...0.... |
| 9c20 | 20 20 20 20 63 61 73 65 20 27 61 27 3a 20 63 61 73 65 20 27 41 27 3a 20 6d 6f 76 65 4c 65 66 74 | ....case.'a':.case.'A':.moveLeft |
| 9c40 | 20 3d 20 31 3b 20 62 72 65 61 6b 3b 00 00 00 31 20 20 20 20 20 20 20 20 63 61 73 65 20 27 64 27 | .=.1;.break;...1........case.'d' |
| 9c60 | 3a 20 63 61 73 65 20 27 44 27 3a 20 6d 6f 76 65 52 69 67 68 74 20 3d 20 31 3b 20 62 72 65 61 6b | :.case.'D':.moveRight.=.1;.break |
| 9c80 | 3b 00 00 00 19 20 20 20 20 20 20 20 20 63 61 73 65 20 32 37 3a 20 65 78 69 74 28 30 29 3b 00 00 | ;............case.27:.exit(0);.. |
| 9ca0 | 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 32 76 6f 69 64 20 6b 65 79 62 6f 61 72 | ......}....}.......2void.keyboar |
| 9cc0 | 64 55 70 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e | dUp(unsigned.char.key,.int.x,.in |
| 9ce0 | 74 20 79 29 20 7b 00 00 00 12 20 20 20 20 73 77 69 74 63 68 20 28 6b 65 79 29 20 7b 00 00 00 33 | t.y).{........switch.(key).{...3 |
| 9d00 | 20 20 20 20 20 20 20 20 63 61 73 65 20 27 77 27 3a 20 63 61 73 65 20 27 57 27 3a 20 6d 6f 76 65 | ........case.'w':.case.'W':.move |
| 9d20 | 46 6f 72 77 61 72 64 20 3d 20 30 3b 20 62 72 65 61 6b 3b 00 00 00 34 20 20 20 20 20 20 20 20 63 | Forward.=.0;.break;...4........c |
| 9d40 | 61 73 65 20 27 73 27 3a 20 63 61 73 65 20 27 53 27 3a 20 6d 6f 76 65 42 61 63 6b 77 61 72 64 20 | ase.'s':.case.'S':.moveBackward. |
| 9d60 | 3d 20 30 3b 20 62 72 65 61 6b 3b 00 00 00 30 20 20 20 20 20 20 20 20 63 61 73 65 20 27 61 27 3a | =.0;.break;...0........case.'a': |
| 9d80 | 20 63 61 73 65 20 27 41 27 3a 20 6d 6f 76 65 4c 65 66 74 20 3d 20 30 3b 20 62 72 65 61 6b 3b 00 | .case.'A':.moveLeft.=.0;.break;. |
| 9da0 | 00 00 31 20 20 20 20 20 20 20 20 63 61 73 65 20 27 64 27 3a 20 63 61 73 65 20 27 44 27 3a 20 6d | ..1........case.'d':.case.'D':.m |
| 9dc0 | 6f 76 65 52 69 67 68 74 20 3d 20 30 3b 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | oveRight.=.0;.break;........}... |
| 9de0 | 01 7d 00 00 00 00 00 00 00 21 76 6f 69 64 20 70 61 73 73 69 76 65 4d 6f 75 73 65 28 69 6e 74 20 | .}.......!void.passiveMouse(int. |
| 9e00 | 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 23 20 20 20 20 69 6e 74 20 63 65 6e 74 65 72 58 20 3d | x,.int.y).{...#....int.centerX.= |
| 9e20 | 20 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 2f 20 32 3b 00 00 00 24 20 20 20 20 69 6e 74 20 63 65 | .WINDOW_WIDTH./.2;...$....int.ce |
| 9e40 | 6e 74 65 72 59 20 3d 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 2f 20 32 3b 00 00 00 04 20 20 | nterY.=.WINDOW_HEIGHT./.2;...... |
| 9e60 | 20 20 00 00 00 16 20 20 20 20 69 66 20 28 77 61 72 70 50 6f 69 6e 74 65 72 29 20 7b 00 00 00 18 | ..........if.(warpPointer).{.... |
| 9e80 | 20 20 20 20 20 20 20 20 77 61 72 70 50 6f 69 6e 74 65 72 20 3d 20 30 3b 00 00 00 2a 20 20 20 20 | ........warpPointer.=.0;...*.... |
| 9ea0 | 20 20 20 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 63 65 6e 74 65 72 58 2c 20 63 65 6e | ....glutWarpPointer(centerX,.cen |
| 9ec0 | 74 65 72 59 29 3b 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 | terY);............return;....... |
| 9ee0 | 20 7d 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 6e 74 20 64 78 20 3d 20 78 20 2d 20 63 | .}................int.dx.=.x.-.c |
| 9f00 | 65 6e 74 65 72 58 3b 00 00 00 19 20 20 20 20 69 6e 74 20 64 79 20 3d 20 79 20 2d 20 63 65 6e 74 | enterX;........int.dy.=.y.-.cent |
| 9f20 | 65 72 59 3b 00 00 00 04 20 20 20 20 00 00 00 23 20 20 20 20 69 66 20 28 64 78 20 3d 3d 20 30 20 | erY;...........#....if.(dx.==.0. |
| 9f40 | 26 26 20 64 79 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 3b 00 00 00 04 20 20 20 20 00 00 00 1b 20 | &&.dy.==.0).return;............. |
| 9f60 | 20 20 20 79 61 77 20 2b 3d 20 64 78 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 00 00 1d 20 20 | ...yaw.+=.dx.*.MOUSE_SENS;...... |
| 9f80 | 20 20 70 69 74 63 68 20 2d 3d 20 64 79 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 00 00 04 20 | ..pitch.-=.dy.*.MOUSE_SENS;..... |
| 9fa0 | 20 20 20 00 00 00 25 20 20 20 20 69 66 20 28 70 69 74 63 68 20 3e 20 38 39 2e 30 66 29 20 70 69 | ......%....if.(pitch.>.89.0f).pi |
| 9fc0 | 74 63 68 20 3d 20 38 39 2e 30 66 3b 00 00 00 27 20 20 20 20 69 66 20 28 70 69 74 63 68 20 3c 20 | tch.=.89.0f;...'....if.(pitch.<. |
| 9fe0 | 2d 38 39 2e 30 66 29 20 70 69 74 63 68 20 3d 20 2d 38 39 2e 30 66 3b 00 00 00 04 20 20 20 20 00 | -89.0f).pitch.=.-89.0f;......... |
| a000 | 00 00 24 20 20 20 20 69 66 20 28 79 61 77 20 3e 20 33 36 30 2e 30 66 29 20 79 61 77 20 2d 3d 20 | ..$....if.(yaw.>.360.0f).yaw.-=. |
| a020 | 33 36 30 2e 30 66 3b 00 00 00 22 20 20 20 20 69 66 20 28 79 61 77 20 3c 20 30 2e 30 66 29 20 79 | 360.0f;..."....if.(yaw.<.0.0f).y |
| a040 | 61 77 20 2b 3d 20 33 36 30 2e 30 66 3b 00 00 00 04 20 20 20 20 00 00 00 26 20 20 20 20 67 6c 75 | aw.+=.360.0f;...........&....glu |
| a060 | 74 57 61 72 70 50 6f 69 6e 74 65 72 28 63 65 6e 74 65 72 58 2c 20 63 65 6e 74 65 72 59 29 3b 00 | tWarpPointer(centerX,.centerY);. |
| a080 | 00 00 01 7d 00 00 00 00 00 00 00 17 76 6f 69 64 20 75 70 64 61 74 65 28 66 6c 6f 61 74 20 64 74 | ...}........void.update(float.dt |
| a0a0 | 29 20 7b 00 00 00 22 20 20 20 20 66 6c 6f 61 74 20 73 70 65 65 64 20 3d 20 4d 4f 56 45 5f 53 50 | ).{..."....float.speed.=.MOVE_SP |
| a0c0 | 45 45 44 20 2a 20 64 74 3b 00 00 00 27 20 20 20 20 66 6c 6f 61 74 20 79 61 77 52 61 64 20 3d 20 | EED.*.dt;...'....float.yawRad.=. |
| a0e0 | 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 3b 00 00 00 22 20 20 20 20 66 6c 6f 61 | yaw.*.M_PI./.180.0f;..."....floa |
| a100 | 74 20 66 6f 72 77 61 72 64 58 20 3d 20 73 69 6e 66 28 79 61 77 52 61 64 29 3b 00 00 00 23 20 20 | t.forwardX.=.sinf(yawRad);...#.. |
| a120 | 20 20 66 6c 6f 61 74 20 66 6f 72 77 61 72 64 5a 20 3d 20 2d 63 6f 73 66 28 79 61 77 52 61 64 29 | ..float.forwardZ.=.-cosf(yawRad) |
| a140 | 3b 00 00 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 58 20 3d 20 63 6f 73 66 28 79 61 77 | ;........float.rightX.=.cosf(yaw |
| a160 | 52 61 64 29 3b 00 00 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 5a 20 3d 20 73 69 6e 66 | Rad);........float.rightZ.=.sinf |
| a180 | 28 79 61 77 52 61 64 29 3b 00 00 00 00 00 00 00 4d 20 20 20 20 69 66 20 28 6d 6f 76 65 46 6f 72 | (yawRad);.......M....if.(moveFor |
| a1a0 | 77 61 72 64 29 20 20 7b 20 63 61 6d 58 20 2b 3d 20 66 6f 72 77 61 72 64 58 20 2a 20 73 70 65 65 | ward)..{.camX.+=.forwardX.*.spee |
| a1c0 | 64 3b 20 63 61 6d 5a 20 2b 3d 20 66 6f 72 77 61 72 64 5a 20 2a 20 73 70 65 65 64 3b 20 7d 00 00 | d;.camZ.+=.forwardZ.*.speed;.}.. |
| a1e0 | 00 4d 20 20 20 20 69 66 20 28 6d 6f 76 65 42 61 63 6b 77 61 72 64 29 20 7b 20 63 61 6d 58 20 2d | .M....if.(moveBackward).{.camX.- |
| a200 | 3d 20 66 6f 72 77 61 72 64 58 20 2a 20 73 70 65 65 64 3b 20 63 61 6d 5a 20 2d 3d 20 66 6f 72 77 | =.forwardX.*.speed;.camZ.-=.forw |
| a220 | 61 72 64 5a 20 2a 20 73 70 65 65 64 3b 20 7d 00 00 00 4b 20 20 20 20 69 66 20 28 6d 6f 76 65 4c | ardZ.*.speed;.}...K....if.(moveL |
| a240 | 65 66 74 29 20 20 20 20 20 7b 20 63 61 6d 58 20 2d 3d 20 72 69 67 68 74 58 20 2a 20 73 70 65 65 | eft).....{.camX.-=.rightX.*.spee |
| a260 | 64 3b 20 20 20 63 61 6d 5a 20 2d 3d 20 72 69 67 68 74 5a 20 2a 20 73 70 65 65 64 3b 20 7d 00 00 | d;...camZ.-=.rightZ.*.speed;.}.. |
| a280 | 00 4b 20 20 20 20 69 66 20 28 6d 6f 76 65 52 69 67 68 74 29 20 20 20 20 7b 20 63 61 6d 58 20 2b | .K....if.(moveRight)....{.camX.+ |
| a2a0 | 3d 20 72 69 67 68 74 58 20 2a 20 73 70 65 65 64 3b 20 20 20 63 61 6d 5a 20 2b 3d 20 72 69 67 68 | =.rightX.*.speed;...camZ.+=.righ |
| a2c0 | 74 5a 20 2a 20 73 70 65 65 64 3b 20 7d 00 00 00 00 00 00 00 30 20 20 20 20 66 6c 6f 61 74 20 6c | tZ.*.speed;.}.......0....float.l |
| a2e0 | 69 6d 69 74 20 3d 20 28 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 2e 30 66 29 20 2d 20 | imit.=.(PLATFORM_SIZE./.2.0f).-. |
| a300 | 31 2e 35 66 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 58 20 3c 20 2d 6c 69 6d 69 74 29 20 | 1.5f;...%....if.(camX.<.-limit). |
| a320 | 63 61 6d 58 20 3d 20 2d 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 58 20 3e | camX.=.-limit;...%....if.(camX.> |
| a340 | 20 20 6c 69 6d 69 74 29 20 63 61 6d 58 20 3d 20 20 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 | ..limit).camX.=..limit;...%....i |
| a360 | 66 20 28 63 61 6d 5a 20 3c 20 2d 6c 69 6d 69 74 29 20 63 61 6d 5a 20 3d 20 2d 6c 69 6d 69 74 3b | f.(camZ.<.-limit).camZ.=.-limit; |
| a380 | 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 5a 20 3e 20 20 6c 69 6d 69 74 29 20 63 61 6d 5a 20 | ...%....if.(camZ.>..limit).camZ. |
| a3a0 | 3d 20 20 6c 69 6d 69 74 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0d 76 6f 69 64 20 69 64 6c 65 28 | =..limit;....}........void.idle( |
| a3c0 | 29 20 7b 00 00 00 1c 20 20 20 20 73 74 61 74 69 63 20 69 6e 74 20 6c 61 73 74 54 69 6d 65 20 3d | ).{........static.int.lastTime.= |
| a3e0 | 20 30 3b 00 00 00 29 20 20 20 20 69 6e 74 20 6e 6f 77 20 3d 20 67 6c 75 74 47 65 74 28 47 4c 55 | .0;...)....int.now.=.glutGet(GLU |
| a400 | 54 5f 45 4c 41 50 53 45 44 5f 54 49 4d 45 29 3b 00 00 00 2a 20 20 20 20 66 6c 6f 61 74 20 64 74 | T_ELAPSED_TIME);...*....float.dt |
| a420 | 20 3d 20 28 6e 6f 77 20 2d 20 6c 61 73 74 54 69 6d 65 29 20 2f 20 31 30 30 30 2e 30 66 3b 00 00 | .=.(now.-.lastTime)./.1000.0f;.. |
| a440 | 00 13 20 20 20 20 6c 61 73 74 54 69 6d 65 20 3d 20 6e 6f 77 3b 00 00 00 04 20 20 20 20 00 00 00 | ......lastTime.=.now;........... |
| a460 | 1d 20 20 20 20 69 66 20 28 64 74 20 3e 20 30 2e 31 66 29 20 64 74 20 3d 20 30 2e 31 66 3b 00 00 | .....if.(dt.>.0.1f).dt.=.0.1f;.. |
| a480 | 00 20 20 20 20 20 69 66 20 28 64 74 20 3c 3d 20 30 2e 30 66 29 20 64 74 20 3d 20 30 2e 30 31 36 | ......if.(dt.<=.0.0f).dt.=.0.016 |
| a4a0 | 66 3b 00 00 00 04 20 20 20 20 00 00 00 0f 20 20 20 20 75 70 64 61 74 65 28 64 74 29 3b 00 00 00 | f;................update(dt);... |
| a4c0 | 18 20 20 20 20 67 6c 75 74 50 6f 73 74 52 65 64 69 73 70 6c 61 79 28 29 3b 00 00 00 01 7d 00 00 | .....glutPostRedisplay();....}.. |
| a4e0 | 00 00 00 00 00 21 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a | .....!int.main(int.argc,.char.** |
| a500 | 61 72 67 76 29 20 7b 00 00 00 1a 20 20 20 20 67 6c 75 74 49 6e 69 74 28 26 61 72 67 63 2c 20 61 | argv).{........glutInit(&argc,.a |
| a520 | 72 67 76 29 3b 00 00 00 3d 20 20 20 20 67 6c 75 74 49 6e 69 74 44 69 73 70 6c 61 79 4d 6f 64 65 | rgv);...=....glutInitDisplayMode |
| a540 | 28 47 4c 55 54 5f 44 4f 55 42 4c 45 20 7c 20 47 4c 55 54 5f 52 47 42 20 7c 20 47 4c 55 54 5f 44 | (GLUT_DOUBLE.|.GLUT_RGB.|.GLUT_D |
| a560 | 45 50 54 48 29 3b 00 00 00 34 20 20 20 20 67 6c 75 74 49 6e 69 74 57 69 6e 64 6f 77 53 69 7a 65 | EPTH);...4....glutInitWindowSize |
| a580 | 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 29 3b 00 00 | (WINDOW_WIDTH,.WINDOW_HEIGHT);.. |
| a5a0 | 00 2c 20 20 20 20 67 6c 75 74 43 72 65 61 74 65 57 69 6e 64 6f 77 28 22 4d 69 6e 65 63 72 61 66 | .,....glutCreateWindow("Minecraf |
| a5c0 | 74 20 50 72 6f 74 6f 74 79 70 65 22 29 3b 00 00 00 00 00 00 00 0d 20 20 20 20 69 6e 69 74 47 4c | t.Prototype");............initGL |
| a5e0 | 28 29 3b 00 00 00 00 00 00 00 1d 20 20 20 20 67 6c 75 74 44 69 73 70 6c 61 79 46 75 6e 63 28 64 | ();............glutDisplayFunc(d |
| a600 | 69 73 70 6c 61 79 29 3b 00 00 00 1d 20 20 20 20 67 6c 75 74 52 65 73 68 61 70 65 46 75 6e 63 28 | isplay);........glutReshapeFunc( |
| a620 | 72 65 73 68 61 70 65 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 72 64 46 75 6e | reshape);...#....glutKeyboardFun |
| a640 | 63 28 6b 65 79 62 6f 61 72 64 44 6f 77 6e 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 | c(keyboardDown);...#....glutKeyb |
| a660 | 6f 61 72 64 55 70 46 75 6e 63 28 6b 65 79 62 6f 61 72 64 55 70 29 3b 00 00 00 28 20 20 20 20 67 | oardUpFunc(keyboardUp);...(....g |
| a680 | 6c 75 74 50 61 73 73 69 76 65 4d 6f 74 69 6f 6e 46 75 6e 63 28 70 61 73 73 69 76 65 4d 6f 75 73 | lutPassiveMotionFunc(passiveMous |
| a6a0 | 65 29 3b 00 00 00 17 20 20 20 20 67 6c 75 74 49 64 6c 65 46 75 6e 63 28 69 64 6c 65 29 3b 00 00 | e);........glutIdleFunc(idle);.. |
| a6c0 | 00 04 20 20 20 20 00 00 00 24 20 20 20 20 67 6c 75 74 53 65 74 43 75 72 73 6f 72 28 47 4c 55 54 | .........$....glutSetCursor(GLUT |
| a6e0 | 5f 43 55 52 53 4f 52 5f 4e 4f 4e 45 29 3b 00 00 00 00 00 00 00 13 20 20 20 20 67 6c 75 74 4d 61 | _CURSOR_NONE);............glutMa |
| a700 | 69 6e 4c 6f 6f 70 28 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 | inLoop();........return.0;....}5 |
| a720 | 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 0b 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 | ................................ |
| a740 | 00 00 00 00 00 00 00 d2 1c 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 09 00 | .......................5._...... |
| a760 | 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 | ................................ |
| a780 | 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 f7 | .............................j.. |
| a8e0 | 27 04 01 00 00 00 08 00 f5 18 00 00 00 96 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 16 20 20 | '............................... |
| a900 | 20 20 67 6c 56 69 65 77 70 6f 72 74 28 30 2c 20 30 2c 20 77 f5 18 00 00 00 97 00 00 00 00 00 00 | ..glViewport(0,.0,.w............ |
| a920 | 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 | ................................ |
| a940 | 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..............5................. |
| a960 | 00 00 00 00 00 00 96 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 0f | ................................ |
| a980 | 00 00 00 00 00 00 f5 18 00 00 00 00 96 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 65 00 00 00 | ............................e... |
| a9a0 | 01 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 09 00 00 00 00 00 00 35 81 5f d0 | ....................H.......5._. |
| a9c0 | 00 00 00 0a 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 01 00 00 00 00 00 00 00 00 | ................................ |
| a9e0 | ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aaa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ab00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ab20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ab40 | 00 00 6a 08 f7 ed 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 fc 00 | ..j............................. |
| ab60 | 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 47 4c 2f 67 6c 75 74 2e 68 3e 00 00 00 11 23 69 6e 63 6c | ...#include.<GL/glut.h>....#incl |
| ab80 | 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 | ude.<math.h>....#include.<stdlib |
| aba0 | 2e 68 3e 00 00 00 00 00 00 00 1b 23 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 | .h>........#define.WINDOW_WIDTH. |
| abc0 | 20 20 31 32 38 30 00 00 00 1a 23 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 | ..1280....#define.WINDOW_HEIGHT. |
| abe0 | 20 37 32 30 00 00 00 19 23 64 65 66 69 6e 65 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 20 36 | .720....#define.PLATFORM_SIZE..6 |
| ac00 | 30 00 00 00 1b 23 64 65 66 69 6e 65 20 4d 4f 56 45 5f 53 50 45 45 44 20 20 20 20 20 38 2e 30 66 | 0....#define.MOVE_SPEED.....8.0f |
| ac20 | 00 00 00 1b 23 64 65 66 69 6e 65 20 4d 4f 55 53 45 5f 53 45 4e 53 20 20 20 20 20 30 2e 32 66 00 | ....#define.MOUSE_SENS.....0.2f. |
| ac40 | 00 00 1c 23 64 65 66 69 6e 65 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 20 20 31 2e 36 32 66 00 | ...#define.PLAYER_HEIGHT..1.62f. |
| ac60 | 00 00 00 00 00 00 35 66 6c 6f 61 74 20 63 61 6d 58 20 3d 20 30 2e 30 66 2c 20 63 61 6d 59 20 3d | ......5float.camX.=.0.0f,.camY.= |
| ac80 | 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 2c 20 63 61 6d 5a 20 3d 20 30 2e 30 66 3b 00 00 00 1f | .PLAYER_HEIGHT,.camZ.=.0.0f;.... |
| aca0 | 66 6c 6f 61 74 20 79 61 77 20 3d 20 30 2e 30 66 2c 20 70 69 74 63 68 20 3d 20 30 2e 30 66 3b 00 | float.yaw.=.0.0f,.pitch.=.0.0f;. |
| acc0 | 00 00 0e 69 6e 74 20 6b 65 79 73 5b 32 35 36 5d 3b 00 00 00 00 00 00 00 10 74 79 70 65 64 65 66 | ...int.keys[256];........typedef |
| ace0 | 20 73 74 72 75 63 74 20 7b 00 00 00 11 20 20 20 20 66 6c 6f 61 74 20 74 6f 70 5b 33 5d 3b 00 00 | .struct.{........float.top[3];.. |
| ad00 | 00 12 20 20 20 20 66 6c 6f 61 74 20 73 69 64 65 5b 33 5d 3b 00 00 00 14 20 20 20 20 66 6c 6f 61 | ......float.side[3];........floa |
| ad20 | 74 20 62 6f 74 74 6f 6d 5b 33 5d 3b 00 00 00 0d 7d 20 42 6c 6f 63 6b 53 74 79 6c 65 3b 00 00 00 | t.bottom[3];....}.BlockStyle;... |
| ad40 | 00 00 00 00 19 42 6c 6f 63 6b 53 74 79 6c 65 20 67 72 61 73 73 42 6c 6f 63 6b 20 3d 20 7b 00 00 | .....BlockStyle.grassBlock.=.{.. |
| ad60 | 00 1a 20 20 20 20 7b 30 2e 32 35 66 2c 20 30 2e 37 35 66 2c 20 30 2e 31 35 66 7d 2c 00 00 00 1a | ......{0.25f,.0.75f,.0.15f},.... |
| ad80 | 20 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e 33 35 66 2c 20 30 2e 31 30 66 7d 2c 00 00 00 19 20 20 | ....{0.50f,.0.35f,.0.10f},...... |
| ada0 | 20 20 7b 30 2e 34 30 66 2c 20 30 2e 32 35 66 2c 20 30 2e 30 38 66 7d 00 00 00 02 7d 3b 00 00 00 | ..{0.40f,.0.25f,.0.08f}....};... |
| adc0 | 00 00 00 00 18 42 6c 6f 63 6b 53 74 79 6c 65 20 64 69 72 74 42 6c 6f 63 6b 20 3d 20 7b 00 00 00 | .....BlockStyle.dirtBlock.=.{... |
| ade0 | 1a 20 20 20 20 7b 30 2e 35 35 66 2c 20 30 2e 34 30 66 2c 20 30 2e 32 30 66 7d 2c 00 00 00 1a 20 | .....{0.55f,.0.40f,.0.20f},..... |
| ae00 | 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e 33 35 66 2c 20 30 2e 31 38 66 7d 2c 00 00 00 19 20 20 20 | ...{0.50f,.0.35f,.0.18f},....... |
| ae20 | 20 7b 30 2e 34 30 66 2c 20 30 2e 32 38 66 2c 20 30 2e 31 35 66 7d 00 00 00 02 7d 3b 00 00 00 00 | .{0.40f,.0.28f,.0.15f}....};.... |
| ae40 | 00 00 00 19 42 6c 6f 63 6b 53 74 79 6c 65 20 73 74 6f 6e 65 42 6c 6f 63 6b 20 3d 20 7b 00 00 00 | ....BlockStyle.stoneBlock.=.{... |
| ae60 | 1a 20 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e 35 30 66 2c 20 30 2e 35 30 66 7d 2c 00 00 00 1a 20 | .....{0.50f,.0.50f,.0.50f},..... |
| ae80 | 20 20 20 7b 30 2e 34 35 66 2c 20 30 2e 34 35 66 2c 20 30 2e 34 35 66 7d 2c 00 00 00 19 20 20 20 | ...{0.45f,.0.45f,.0.45f},....... |
| aea0 | 20 7b 30 2e 33 35 66 2c 20 30 2e 33 35 66 2c 20 30 2e 33 35 66 7d 00 00 00 02 7d 3b 00 00 00 00 | .{0.35f,.0.35f,.0.35f}....};.... |
| aec0 | 00 00 00 0f 76 6f 69 64 20 69 6e 69 74 47 4c 28 29 20 7b 00 00 00 2c 20 20 20 20 67 6c 43 6c 65 | ....void.initGL().{...,....glCle |
| aee0 | 61 72 43 6f 6c 6f 72 28 30 2e 35 33 66 2c 20 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 | arColor(0.53f,.0.81f,.0.98f,.1.0 |
| af00 | 66 29 3b 00 00 00 1c 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 44 45 50 54 48 5f 54 45 53 | f);........glEnable(GL_DEPTH_TES |
| af20 | 54 29 3b 00 00 00 1b 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 43 55 4c 4c 5f 46 41 43 45 | T);........glEnable(GL_CULL_FACE |
| af40 | 29 3b 00 00 00 18 20 20 20 20 67 6c 43 75 6c 6c 46 61 63 65 28 47 4c 5f 42 41 43 4b 29 3b 00 00 | );........glCullFace(GL_BACK);.. |
| af60 | 00 15 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 46 4f 47 29 3b 00 00 00 23 20 20 20 20 67 | ......glEnable(GL_FOG);...#....g |
| af80 | 6c 46 6f 67 69 28 47 4c 5f 46 4f 47 5f 4d 4f 44 45 2c 20 47 4c 5f 4c 49 4e 45 41 52 29 3b 00 00 | lFogi(GL_FOG_MODE,.GL_LINEAR);.. |
| afa0 | 00 2f 20 20 20 20 67 6c 46 6f 67 66 28 47 4c 5f 46 4f 47 5f 53 54 41 52 54 2c 20 50 4c 41 54 46 | ./....glFogf(GL_FOG_START,.PLATF |
| afc0 | 4f 52 4d 5f 53 49 5a 45 20 2a 20 30 2e 36 66 29 3b 00 00 00 2d 20 20 20 20 67 6c 46 6f 67 66 28 | ORM_SIZE.*.0.6f);...-....glFogf( |
| afe0 | 47 4c 5f 46 4f 47 5f 45 4e 44 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 31 2e 32 66 | GL_FOG_END,.PLATFORM_SIZE.*.1.2f |
| b000 | 29 3b 00 00 00 33 20 20 20 20 66 6c 6f 61 74 20 66 6f 67 43 6f 6c 6f 72 5b 5d 20 3d 20 7b 30 2e | );...3....float.fogColor[].=.{0. |
| b020 | 35 33 66 2c 20 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 66 7d 3b 00 00 00 24 20 20 20 | 53f,.0.81f,.0.98f,.1.0f};...$... |
| b040 | 20 67 6c 46 6f 67 66 76 28 47 4c 5f 46 4f 47 5f 43 4f 4c 4f 52 2c 20 66 6f 67 43 6f 6c 6f 72 29 | .glFogfv(GL_FOG_COLOR,.fogColor) |
| b060 | 3b 00 00 00 00 00 00 00 31 20 20 20 20 47 4c 66 6c 6f 61 74 20 61 6d 62 69 65 6e 74 5b 5d 20 3d | ;.......1....GLfloat.ambient[].= |
| b080 | 20 7b 30 2e 36 66 2c 20 30 2e 36 66 2c 20 30 2e 36 66 2c 20 31 2e 30 66 7d 3b 00 00 00 31 20 20 | .{0.6f,.0.6f,.0.6f,.1.0f};...1.. |
| b0a0 | 20 20 47 4c 66 6c 6f 61 74 20 64 69 66 66 75 73 65 5b 5d 20 3d 20 7b 30 2e 38 66 2c 20 30 2e 38 | ..GLfloat.diffuse[].=.{0.8f,.0.8 |
| b0c0 | 66 2c 20 30 2e 37 66 2c 20 31 2e 30 66 7d 3b 00 00 00 57 20 20 20 20 47 4c 66 6c 6f 61 74 20 6c | f,.0.7f,.1.0f};...W....GLfloat.l |
| b0e0 | 69 67 68 74 50 6f 73 5b 5d 20 3d 20 7b 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e 30 66 2c | ightPos[].=.{PLATFORM_SIZE/2.0f, |
| b100 | 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e | .PLATFORM_SIZE,.PLATFORM_SIZE/2. |
| b120 | 30 66 2c 20 31 2e 30 66 7d 3b 00 00 00 00 00 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 | 0f,.1.0f};............glEnable(G |
| b140 | 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 18 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f | L_LIGHTING);........glEnable(GL_ |
| b160 | 4c 49 47 48 54 30 29 3b 00 00 00 2e 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 | LIGHT0);........glLightfv(GL_LIG |
| b180 | 48 54 30 2c 20 47 4c 5f 41 4d 42 49 45 4e 54 2c 20 61 6d 62 69 65 6e 74 29 3b 00 00 00 2e 20 20 | HT0,.GL_AMBIENT,.ambient);...... |
| b1a0 | 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 44 49 46 46 55 53 | ..glLightfv(GL_LIGHT0,.GL_DIFFUS |
| b1c0 | 45 2c 20 64 69 66 66 75 73 65 29 3b 00 00 00 30 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c | E,.diffuse);...0....glLightfv(GL |
| b1e0 | 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 50 4f 53 49 54 49 4f 4e 2c 20 6c 69 67 68 74 50 6f 73 29 3b | _LIGHT0,.GL_POSITION,.lightPos); |
| b200 | 00 00 00 01 7d 00 00 00 00 00 00 00 53 76 6f 69 64 20 64 72 61 77 46 61 63 65 28 66 6c 6f 61 74 | ....}.......Svoid.drawFace(float |
| b220 | 20 76 30 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 31 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 32 5b 33 5d | .v0[3],.float.v1[3],.float.v2[3] |
| b240 | 2c 20 66 6c 6f 61 74 20 76 33 5b 33 5d 2c 20 66 6c 6f 61 74 20 63 6f 6c 6f 72 5b 33 5d 29 20 7b | ,.float.v3[3],.float.color[3]).{ |
| b260 | 00 00 00 44 20 20 20 20 66 6c 6f 61 74 20 64 61 72 6b 65 72 5b 33 5d 20 3d 20 7b 63 6f 6c 6f 72 | ...D....float.darker[3].=.{color |
| b280 | 5b 30 5d 2a 30 2e 37 66 2c 20 63 6f 6c 6f 72 5b 31 5d 2a 30 2e 37 66 2c 20 63 6f 6c 6f 72 5b 32 | [0]*0.7f,.color[1]*0.7f,.color[2 |
| b2a0 | 5d 2a 30 2e 37 66 7d 3b 00 00 00 04 20 20 20 20 00 00 00 16 20 20 20 20 67 6c 42 65 67 69 6e 28 | ]*0.7f};................glBegin( |
| b2c0 | 47 4c 5f 51 55 41 44 53 29 3b 00 00 00 16 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 76 28 63 6f 6c | GL_QUADS);........glColor3fv(col |
| b2e0 | 6f 72 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 30 29 3b 00 00 00 14 | or);........glVertex3fv(v0);.... |
| b300 | 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 31 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 | ....glVertex3fv(v1);........glVe |
| b320 | 72 74 65 78 33 66 76 28 76 32 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 | rtex3fv(v2);........glVertex3fv( |
| b340 | 76 33 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 00 00 00 00 1b 20 20 20 20 | v3);........glEnd();............ |
| b360 | 67 6c 44 69 73 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 16 20 20 20 20 67 | glDisable(GL_LIGHTING);........g |
| b380 | 6c 4c 69 6e 65 57 69 64 74 68 28 31 2e 30 66 29 3b 00 00 00 1a 20 20 20 20 67 6c 42 65 67 69 6e | lLineWidth(1.0f);........glBegin |
| b3a0 | 28 47 4c 5f 4c 49 4e 45 5f 4c 4f 4f 50 29 3b 00 00 00 17 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 | (GL_LINE_LOOP);........glColor3f |
| b3c0 | 76 28 64 61 72 6b 65 72 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 30 | v(darker);........glVertex3fv(v0 |
| b3e0 | 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 31 29 3b 00 00 00 14 20 20 | );........glVertex3fv(v1);...... |
| b400 | 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 32 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 | ..glVertex3fv(v2);........glVert |
| b420 | 65 78 33 66 76 28 76 33 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 1a 20 20 | ex3fv(v3);........glEnd();...... |
| b440 | 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 01 7d 00 00 00 | ..glEnable(GL_LIGHTING);....}... |
| b460 | 00 00 00 00 3c 76 6f 69 64 20 64 72 61 77 43 75 62 65 28 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 | ....<void.drawCube(float.x,.floa |
| b480 | 74 20 79 2c 20 66 6c 6f 61 74 20 7a 2c 20 42 6c 6f 63 6b 53 74 79 6c 65 20 73 74 79 6c 65 29 20 | t.y,.float.z,.BlockStyle.style). |
| b4a0 | 7b 00 00 00 13 20 20 20 20 67 6c 50 75 73 68 4d 61 74 72 69 78 28 29 3b 00 00 00 1a 20 20 20 20 | {........glPushMatrix();........ |
| b4c0 | 67 6c 54 72 61 6e 73 6c 61 74 65 66 28 78 2c 20 79 2c 20 7a 29 3b 00 00 00 00 00 00 00 17 20 20 | glTranslatef(x,.y,.z);.......... |
| b4e0 | 20 20 66 6c 6f 61 74 20 74 6f 70 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 | ..float.top[4][3].=.{.../....... |
| b500 | 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 | .{0.0f,.1.0f,.0.0f},.{1.0f,.1.0f |
| b520 | 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c | ,.0.0f},............{1.0f,.1.0f, |
| b540 | 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 | .1.0f},.{0.0f,.1.0f,.1.0f}...... |
| b560 | 20 20 7d 3b 00 00 00 1a 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 5b 34 5d 5b 33 5d 20 3d | ..};........float.bottom[4][3].= |
| b580 | 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d | .{.../........{0.0f,.0.0f,.1.0f} |
| b5a0 | 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 | ,.{1.0f,.0.0f,.1.0f},........... |
| b5c0 | 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 | .{1.0f,.0.0f,.0.0f},.{0.0f,.0.0f |
| b5e0 | 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 74 20 66 | ,.0.0f}........};........float.f |
| b600 | 72 6f 6e 74 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c | ront[4][3].=.{.../........{0.0f, |
| b620 | 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d | .0.0f,.0.0f},.{1.0f,.0.0f,.0.0f} |
| b640 | 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c | ,............{1.0f,.1.0f,.0.0f}, |
| b660 | 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 | .{0.0f,.1.0f,.0.0f}........};... |
| b680 | 18 20 20 20 20 66 6c 6f 61 74 20 62 61 63 6b 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 | .....float.back[4][3].=.{.../... |
| b6a0 | 20 20 20 20 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 | .....{1.0f,.0.0f,.1.0f},.{0.0f,. |
| b6c0 | 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 31 | 0.0f,.1.0f},............{0.0f,.1 |
| b6e0 | 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 | .0f,.1.0f},.{1.0f,.1.0f,.1.0f}.. |
| b700 | 00 06 20 20 20 20 7d 3b 00 00 00 18 20 20 20 20 66 6c 6f 61 74 20 6c 65 66 74 5b 34 5d 5b 33 5d | ......};........float.left[4][3] |
| b720 | 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 | .=.{.../........{0.0f,.0.0f,.1.0 |
| b740 | 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 | f},.{0.0f,.0.0f,.0.0f},......... |
| b760 | 20 20 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e | ...{0.0f,.1.0f,.0.0f},.{0.0f,.1. |
| b780 | 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 74 | 0f,.1.0f}........};........float |
| b7a0 | 20 72 69 67 68 74 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 31 2e 30 | .right[4][3].=.{.../........{1.0 |
| b7c0 | 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 | f,.0.0f,.0.0f},.{1.0f,.0.0f,.1.0 |
| b7e0 | 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 | f},............{1.0f,.1.0f,.1.0f |
| b800 | 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 | },.{1.0f,.1.0f,.0.0f}........};. |
| b820 | 00 00 00 00 00 00 38 20 20 20 20 64 72 61 77 46 61 63 65 28 74 6f 70 5b 30 5d 2c 20 74 6f 70 5b | ......8....drawFace(top[0],.top[ |
| b840 | 31 5d 2c 20 74 6f 70 5b 32 5d 2c 20 74 6f 70 5b 33 5d 2c 20 73 74 79 6c 65 2e 74 6f 70 29 3b 00 | 1],.top[2],.top[3],.style.top);. |
| b860 | 00 00 47 20 20 20 20 64 72 61 77 46 61 63 65 28 62 6f 74 74 6f 6d 5b 30 5d 2c 20 62 6f 74 74 6f | ..G....drawFace(bottom[0],.botto |
| b880 | 6d 5b 31 5d 2c 20 62 6f 74 74 6f 6d 5b 32 5d 2c 20 62 6f 74 74 6f 6d 5b 33 5d 2c 20 73 74 79 6c | m[1],.bottom[2],.bottom[3],.styl |
| b8a0 | 65 2e 62 6f 74 74 6f 6d 29 3b 00 00 00 41 20 20 20 20 64 72 61 77 46 61 63 65 28 66 72 6f 6e 74 | e.bottom);...A....drawFace(front |
| b8c0 | 5b 30 5d 2c 20 66 72 6f 6e 74 5b 31 5d 2c 20 66 72 6f 6e 74 5b 32 5d 2c 20 66 72 6f 6e 74 5b 33 | [0],.front[1],.front[2],.front[3 |
| b8e0 | 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 3d 20 20 20 20 64 72 61 77 46 61 63 65 28 | ],.style.side);...=....drawFace( |
| b900 | 62 61 63 6b 5b 30 5d 2c 20 62 61 63 6b 5b 31 5d 2c 20 62 61 63 6b 5b 32 5d 2c 20 62 61 63 6b 5b | back[0],.back[1],.back[2],.back[ |
| b920 | 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 3d 20 20 20 20 64 72 61 77 46 61 63 65 | 3],.style.side);...=....drawFace |
| b940 | 28 6c 65 66 74 5b 30 5d 2c 20 6c 65 66 74 5b 31 5d 2c 20 6c 65 66 74 5b 32 5d 2c 20 6c 65 66 74 | (left[0],.left[1],.left[2],.left |
| b960 | 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 41 20 20 20 20 64 72 61 77 46 61 63 | [3],.style.side);...A....drawFac |
| b980 | 65 28 72 69 67 68 74 5b 30 5d 2c 20 72 69 67 68 74 5b 31 5d 2c 20 72 69 67 68 74 5b 32 5d 2c 20 | e(right[0],.right[1],.right[2],. |
| b9a0 | 72 69 67 68 74 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 00 00 00 00 12 20 20 | right[3],.style.side);.......... |
| b9c0 | 20 20 67 6c 50 6f 70 4d 61 74 72 69 78 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 15 76 6f 69 | ..glPopMatrix();....}........voi |
| b9e0 | 64 20 64 72 61 77 50 6c 61 74 66 6f 72 6d 28 29 20 7b 00 00 00 21 20 20 20 20 69 6e 74 20 68 61 | d.drawPlatform().{...!....int.ha |
| ba00 | 6c 66 20 3d 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 3b 00 00 00 28 20 20 20 20 66 | lf.=.PLATFORM_SIZE./.2;...(....f |
| ba20 | 6f 72 20 28 69 6e 74 20 69 20 3d 20 2d 68 61 6c 66 3b 20 69 20 3c 20 68 61 6c 66 3b 20 69 2b 2b | or.(int.i.=.-half;.i.<.half;.i++ |
| ba40 | 29 20 7b 00 00 00 2c 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 2d 68 61 6c | ).{...,........for.(int.j.=.-hal |
| ba60 | 66 3b 20 6a 20 3c 20 68 61 6c 66 3b 20 6a 2b 2b 29 20 7b 00 00 00 3b 20 20 20 20 20 20 20 20 20 | f;.j.<.half;.j++).{...;......... |
| ba80 | 20 20 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 29 69 2c 20 30 2e 30 66 2c 20 28 66 6c 6f | ...drawCube((float)i,.0.0f,.(flo |
| baa0 | 61 74 29 6a 2c 20 67 72 61 73 73 42 6c 6f 63 6b 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 | at)j,.grassBlock);............}. |
| bac0 | 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 76 6f 69 64 20 64 69 73 70 6c 61 | .......}....}........void.displa |
| bae0 | 79 28 29 20 7b 00 00 00 37 20 20 20 20 67 6c 43 6c 65 61 72 28 47 4c 5f 43 4f 4c 4f 52 5f 42 55 | y().{...7....glClear(GL_COLOR_BU |
| bb00 | 46 46 45 52 5f 42 49 54 20 7c 20 47 4c 5f 44 45 50 54 48 5f 42 55 46 46 45 52 5f 42 49 54 29 3b | FFER_BIT.|.GL_DEPTH_BUFFER_BIT); |
| bb20 | 00 00 00 04 20 20 20 20 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f | ................glMatrixMode(GL_ |
| bb40 | 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 | MODELVIEW);........glLoadIdentit |
| bb60 | 79 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 51 20 20 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 58 20 | y();...........Q....float.lookX. |
| bb80 | 3d 20 63 61 6d 58 20 2b 20 73 69 6e 66 28 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 | =.camX.+.sinf(yaw.*.M_PI./.180.0 |
| bba0 | 66 29 20 2a 20 63 6f 73 66 28 70 69 74 63 68 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 | f).*.cosf(pitch.*.M_PI./.180.0f) |
| bbc0 | 3b 00 00 00 35 20 20 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 59 20 3d 20 63 61 6d 59 20 2d 20 73 69 | ;...5....float.lookY.=.camY.-.si |
| bbe0 | 6e 66 28 70 69 74 63 68 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 3b 00 00 00 51 20 20 | nf(pitch.*.M_PI./.180.0f);...Q.. |
| bc00 | 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 5a 20 3d 20 63 61 6d 5a 20 2d 20 63 6f 73 66 28 79 61 77 20 | ..float.lookZ.=.camZ.-.cosf(yaw. |
| bc20 | 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 20 2a 20 63 6f 73 66 28 70 69 74 63 68 20 2a 20 | *.M_PI./.180.0f).*.cosf(pitch.*. |
| bc40 | 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 3b 00 00 00 04 20 20 20 20 00 00 00 47 20 20 20 20 67 | M_PI./.180.0f);...........G....g |
| bc60 | 6c 75 4c 6f 6f 6b 41 74 28 63 61 6d 58 2c 20 63 61 6d 59 2c 20 63 61 6d 5a 2c 20 6c 6f 6f 6b 58 | luLookAt(camX,.camY,.camZ,.lookX |
| bc80 | 2c 20 6c 6f 6f 6b 59 2c 20 6c 6f 6f 6b 5a 2c 20 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 | ,.lookY,.lookZ,.0.0f,.1.0f,.0.0f |
| bca0 | 29 3b 00 00 00 04 20 20 20 20 00 00 00 13 20 20 20 20 64 72 61 77 50 6c 61 74 66 6f 72 6d 28 29 | );................drawPlatform() |
| bcc0 | 3b 00 00 00 16 20 20 20 20 67 6c 75 74 53 77 61 70 42 75 66 66 65 72 73 28 29 3b 00 00 00 01 7d | ;........glutSwapBuffers();....} |
| bce0 | 00 00 00 00 00 00 00 1c 76 6f 69 64 20 72 65 73 68 61 70 65 28 69 6e 74 20 77 2c 20 69 6e 74 20 | ........void.reshape(int.w,.int. |
| bd00 | 68 29 20 7b 00 00 00 1b 20 20 20 20 67 6c 56 69 65 77 70 6f 72 74 28 30 2c 20 30 2c 20 77 2c 20 | h).{........glViewport(0,.0,.w,. |
| bd20 | 68 29 3b 00 00 00 20 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 50 52 4f 4a 45 | h);........glMatrixMode(GL_PROJE |
| bd40 | 43 54 49 4f 4e 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b | CTION);........glLoadIdentity(); |
| bd60 | 00 00 00 4b 20 20 20 20 67 6c 75 50 65 72 73 70 65 63 74 69 76 65 28 37 35 2e 30 2c 20 28 64 6f | ...K....gluPerspective(75.0,.(do |
| bd80 | 75 62 6c 65 29 77 20 2f 20 28 64 6f 75 62 6c 65 29 68 2c 20 30 2e 30 35 2c 20 50 4c 41 54 46 4f | uble)w./.(double)h,.0.05,.PLATFO |
| bda0 | 52 4d 5f 53 49 5a 45 20 2a 20 32 2e 30 29 3b 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d | RM_SIZE.*.2.0);........glMatrixM |
| bdc0 | 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 34 76 | ode(GL_MODELVIEW);....}.......4v |
| bde0 | 6f 69 64 20 6b 65 79 62 6f 61 72 64 44 6f 77 6e 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 6b | oid.keyboardDown(unsigned.char.k |
| be00 | 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 12 20 20 20 20 6b 65 79 73 5b | ey,.int.x,.int.y).{........keys[ |
| be20 | 6b 65 79 5d 20 3d 20 31 3b 00 00 00 1b 20 20 20 20 69 66 20 28 6b 65 79 20 3d 3d 20 32 37 29 20 | key].=.1;........if.(key.==.27). |
| be40 | 65 78 69 74 28 30 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 32 76 6f 69 64 20 6b 65 79 62 6f 61 | exit(0);....}.......2void.keyboa |
| be60 | 72 64 55 70 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 | rdUp(unsigned.char.key,.int.x,.i |
| be80 | 6e 74 20 79 29 20 7b 00 00 00 12 20 20 20 20 6b 65 79 73 5b 6b 65 79 5d 20 3d 20 30 3b 00 00 00 | nt.y).{........keys[key].=.0;... |
| bea0 | 01 7d 00 00 00 00 00 00 00 1e 76 6f 69 64 20 6d 6f 75 73 65 4d 6f 76 65 28 69 6e 74 20 78 2c 20 | .}........void.mouseMove(int.x,. |
| bec0 | 69 6e 74 20 79 29 20 7b 00 00 00 28 20 20 20 20 73 74 61 74 69 63 20 69 6e 74 20 6c 61 73 74 58 | int.y).{...(....static.int.lastX |
| bee0 | 20 3d 20 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 2f 20 32 3b 00 00 00 29 20 20 20 20 73 74 61 74 | .=.WINDOW_WIDTH./.2;...)....stat |
| bf00 | 69 63 20 69 6e 74 20 6c 61 73 74 59 20 3d 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 2f 20 32 | ic.int.lastY.=.WINDOW_HEIGHT./.2 |
| bf20 | 3b 00 00 00 1e 20 20 20 20 73 74 61 74 69 63 20 69 6e 74 20 66 69 72 73 74 4d 6f 75 73 65 20 3d | ;........static.int.firstMouse.= |
| bf40 | 20 31 3b 00 00 00 04 20 20 20 20 00 00 00 15 20 20 20 20 69 66 20 28 66 69 72 73 74 4d 6f 75 73 | .1;................if.(firstMous |
| bf60 | 65 29 20 7b 00 00 00 12 20 20 20 20 20 20 20 20 6c 61 73 74 58 20 3d 20 78 3b 00 00 00 12 20 20 | e).{............lastX.=.x;...... |
| bf80 | 20 20 20 20 20 20 6c 61 73 74 59 20 3d 20 79 3b 00 00 00 17 20 20 20 20 20 20 20 20 66 69 72 73 | ......lastY.=.y;............firs |
| bfa0 | 74 4d 6f 75 73 65 20 3d 20 30 3b 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 | tMouse.=.0;............return;.. |
| bfc0 | 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 17 20 20 20 20 69 6e 74 20 64 78 20 3d 20 | ......}................int.dx.=. |
| bfe0 | 78 20 2d 20 6c 61 73 74 58 3b 00 00 00 17 20 20 20 20 69 6e 74 20 64 79 20 3d 20 79 20 2d 20 6c | x.-.lastX;........int.dy.=.y.-.l |
| c000 | 61 73 74 59 3b 00 00 00 0e 20 20 20 20 6c 61 73 74 58 20 3d 20 78 3b 00 00 00 0e 20 20 20 20 6c | astY;........lastX.=.x;........l |
| c020 | 61 73 74 59 20 3d 20 79 3b 00 00 00 04 20 20 20 20 00 00 00 1b 20 20 20 20 79 61 77 20 2b 3d 20 | astY.=.y;................yaw.+=. |
| c040 | 64 78 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 00 00 1d 20 20 20 20 70 69 74 63 68 20 2d 3d | dx.*.MOUSE_SENS;........pitch.-= |
| c060 | 20 64 79 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 00 00 04 20 20 20 20 00 00 00 25 20 20 20 | .dy.*.MOUSE_SENS;...........%... |
| c080 | 20 69 66 20 28 70 69 74 63 68 20 3e 20 38 39 2e 30 66 29 20 70 69 74 63 68 20 3d 20 38 39 2e 30 | .if.(pitch.>.89.0f).pitch.=.89.0 |
| c0a0 | 66 3b 00 00 00 27 20 20 20 20 69 66 20 28 70 69 74 63 68 20 3c 20 2d 38 39 2e 30 66 29 20 70 69 | f;...'....if.(pitch.<.-89.0f).pi |
| c0c0 | 74 63 68 20 3d 20 2d 38 39 2e 30 66 3b 00 00 00 04 20 20 20 20 00 00 00 25 20 20 20 20 77 68 69 | tch.=.-89.0f;...........%....whi |
| c0e0 | 6c 65 20 28 79 61 77 20 3c 20 30 2e 30 66 29 20 79 61 77 20 2b 3d 20 33 36 30 2e 30 66 3b 00 00 | le.(yaw.<.0.0f).yaw.+=.360.0f;.. |
| c100 | 00 28 20 20 20 20 77 68 69 6c 65 20 28 79 61 77 20 3e 3d 20 33 36 30 2e 30 66 29 20 79 61 77 20 | .(....while.(yaw.>=.360.0f).yaw. |
| c120 | 2d 3d 20 33 36 30 2e 30 66 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0f 76 6f 69 64 20 75 70 64 61 | -=.360.0f;....}........void.upda |
| c140 | 74 65 28 29 20 7b 00 00 00 27 20 20 20 20 66 6c 6f 61 74 20 79 61 77 52 61 64 20 3d 20 79 61 77 | te().{...'....float.yawRad.=.yaw |
| c160 | 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 3b 00 00 00 22 20 20 20 20 66 6c 6f 61 74 20 66 | .*.M_PI./.180.0f;..."....float.f |
| c180 | 6f 72 77 61 72 64 58 20 3d 20 73 69 6e 66 28 79 61 77 52 61 64 29 3b 00 00 00 23 20 20 20 20 66 | orwardX.=.sinf(yawRad);...#....f |
| c1a0 | 6c 6f 61 74 20 66 6f 72 77 61 72 64 5a 20 3d 20 2d 63 6f 73 66 28 79 61 77 52 61 64 29 3b 00 00 | loat.forwardZ.=.-cosf(yawRad);.. |
| c1c0 | 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 58 20 3d 20 63 6f 73 66 28 79 61 77 52 61 64 | ......float.rightX.=.cosf(yawRad |
| c1e0 | 29 3b 00 00 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 5a 20 3d 20 73 69 6e 66 28 79 61 | );........float.rightZ.=.sinf(ya |
| c200 | 77 52 61 64 29 3b 00 00 00 04 20 20 20 20 00 00 00 17 20 20 20 20 66 6c 6f 61 74 20 73 70 65 65 | wRad);................float.spee |
| c220 | 64 20 3d 20 30 2e 31 66 3b 00 00 00 04 20 20 20 20 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 | d.=.0.1f;...........!....if.(key |
| c240 | 73 5b 27 77 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 57 27 5d 29 20 7b 00 00 00 21 20 20 20 20 20 20 | s['w'].||.keys['W']).{...!...... |
| c260 | 20 20 63 61 6d 58 20 2b 3d 20 66 6f 72 77 61 72 64 58 20 2a 20 73 70 65 65 64 3b 00 00 00 21 20 | ..camX.+=.forwardX.*.speed;...!. |
| c280 | 20 20 20 20 20 20 20 63 61 6d 5a 20 2b 3d 20 66 6f 72 77 61 72 64 5a 20 2a 20 73 70 65 65 64 3b | .......camZ.+=.forwardZ.*.speed; |
| c2a0 | 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 73 27 5d 20 7c | ........}...!....if.(keys['s'].| |
| c2c0 | 7c 20 6b 65 79 73 5b 27 53 27 5d 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 63 61 6d 58 20 2d | |.keys['S']).{...!........camX.- |
| c2e0 | 3d 20 66 6f 72 77 61 72 64 58 20 2a 20 73 70 65 65 64 3b 00 00 00 21 20 20 20 20 20 20 20 20 63 | =.forwardX.*.speed;...!........c |
| c300 | 61 6d 5a 20 2d 3d 20 66 6f 72 77 61 72 64 5a 20 2a 20 73 70 65 65 64 3b 00 00 00 05 20 20 20 20 | amZ.-=.forwardZ.*.speed;........ |
| c320 | 7d 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 61 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 | }...!....if.(keys['a'].||.keys[' |
| c340 | 41 27 5d 29 20 7b 00 00 00 1f 20 20 20 20 20 20 20 20 63 61 6d 58 20 2d 3d 20 72 69 67 68 74 58 | A']).{............camX.-=.rightX |
| c360 | 20 2a 20 73 70 65 65 64 3b 00 00 00 1f 20 20 20 20 20 20 20 20 63 61 6d 5a 20 2d 3d 20 72 69 67 | .*.speed;............camZ.-=.rig |
| c380 | 68 74 5a 20 2a 20 73 70 65 65 64 3b 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 | htZ.*.speed;........}...!....if. |
| c3a0 | 28 6b 65 79 73 5b 27 64 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 44 27 5d 29 20 7b 00 00 00 1f 20 20 | (keys['d'].||.keys['D']).{...... |
| c3c0 | 20 20 20 20 20 20 63 61 6d 58 20 2b 3d 20 72 69 67 68 74 58 20 2a 20 73 70 65 65 64 3b 00 00 00 | ......camX.+=.rightX.*.speed;... |
| c3e0 | 1f 20 20 20 20 20 20 20 20 63 61 6d 5a 20 2b 3d 20 72 69 67 68 74 5a 20 2a 20 73 70 65 65 64 3b | .........camZ.+=.rightZ.*.speed; |
| c400 | 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 30 20 20 20 20 66 6c 6f 61 74 20 6c | ........}...........0....float.l |
| c420 | 69 6d 69 74 20 3d 20 28 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 2e 30 66 29 20 2d 20 | imit.=.(PLATFORM_SIZE./.2.0f).-. |
| c440 | 31 2e 35 66 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 58 20 3c 20 2d 6c 69 6d 69 74 29 20 | 1.5f;...%....if.(camX.<.-limit). |
| c460 | 63 61 6d 58 20 3d 20 2d 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 58 20 3e | camX.=.-limit;...%....if.(camX.> |
| c480 | 20 20 6c 69 6d 69 74 29 20 63 61 6d 58 20 3d 20 20 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 | ..limit).camX.=..limit;...%....i |
| c4a0 | 66 20 28 63 61 6d 5a 20 3c 20 2d 6c 69 6d 69 74 29 20 63 61 6d 5a 20 3d 20 2d 6c 69 6d 69 74 3b | f.(camZ.<.-limit).camZ.=.-limit; |
| c4c0 | 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 5a 20 3e 20 20 6c 69 6d 69 74 29 20 63 61 6d 5a 20 | ...%....if.(camZ.>..limit).camZ. |
| c4e0 | 3d 20 20 6c 69 6d 69 74 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0d 76 6f 69 64 20 69 64 6c 65 28 | =..limit;....}........void.idle( |
| c500 | 29 20 7b 00 00 00 0d 20 20 20 20 75 70 64 61 74 65 28 29 3b 00 00 00 18 20 20 20 20 67 6c 75 74 | ).{........update();........glut |
| c520 | 50 6f 73 74 52 65 64 69 73 70 6c 61 79 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 21 69 6e 74 | PostRedisplay();....}.......!int |
| c540 | 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 20 7b 00 00 | .main(int.argc,.char.**argv).{.. |
| c560 | 00 1a 20 20 20 20 67 6c 75 74 49 6e 69 74 28 26 61 72 67 63 2c 20 61 72 67 76 29 3b 00 00 00 3d | ......glutInit(&argc,.argv);...= |
| c580 | 20 20 20 20 67 6c 75 74 49 6e 69 74 44 69 73 70 6c 61 79 4d 6f 64 65 28 47 4c 55 54 5f 44 4f 55 | ....glutInitDisplayMode(GLUT_DOU |
| c5a0 | 42 4c 45 20 7c 20 47 4c 55 54 5f 52 47 42 20 7c 20 47 4c 55 54 5f 44 45 50 54 48 29 3b 00 00 00 | BLE.|.GLUT_RGB.|.GLUT_DEPTH);... |
| c5c0 | 34 20 20 20 20 67 6c 75 74 49 6e 69 74 57 69 6e 64 6f 77 53 69 7a 65 28 57 49 4e 44 4f 57 5f 57 | 4....glutInitWindowSize(WINDOW_W |
| c5e0 | 49 44 54 48 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 29 3b 00 00 00 2c 20 20 20 20 67 6c 75 | IDTH,.WINDOW_HEIGHT);...,....glu |
| c600 | 74 43 72 65 61 74 65 57 69 6e 64 6f 77 28 22 4d 69 6e 65 63 72 61 66 74 20 50 72 6f 74 6f 74 79 | tCreateWindow("Minecraft.Prototy |
| c620 | 70 65 22 29 3b 00 00 00 00 00 00 00 0d 20 20 20 20 69 6e 69 74 47 4c 28 29 3b 00 00 00 00 00 00 | pe");............initGL();...... |
| c640 | 00 1d 20 20 20 20 67 6c 75 74 44 69 73 70 6c 61 79 46 75 6e 63 28 64 69 73 70 6c 61 79 29 3b 00 | ......glutDisplayFunc(display);. |
| c660 | 00 00 1d 20 20 20 20 67 6c 75 74 52 65 73 68 61 70 65 46 75 6e 63 28 72 65 73 68 61 70 65 29 3b | .......glutReshapeFunc(reshape); |
| c680 | 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 72 64 46 75 6e 63 28 6b 65 79 62 6f 61 72 | ...#....glutKeyboardFunc(keyboar |
| c6a0 | 64 44 6f 77 6e 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 72 64 55 70 46 75 6e | dDown);...#....glutKeyboardUpFun |
| c6c0 | 63 28 6b 65 79 62 6f 61 72 64 55 70 29 3b 00 00 00 25 20 20 20 20 67 6c 75 74 50 61 73 73 69 76 | c(keyboardUp);...%....glutPassiv |
| c6e0 | 65 4d 6f 74 69 6f 6e 46 75 6e 63 28 6d 6f 75 73 65 4d 6f 76 65 29 3b 00 00 00 1e 20 20 20 20 67 | eMotionFunc(mouseMove);........g |
| c700 | 6c 75 74 4d 6f 74 69 6f 6e 46 75 6e 63 28 6d 6f 75 73 65 4d 6f 76 65 29 3b 00 00 00 17 20 20 20 | lutMotionFunc(mouseMove);....... |
| c720 | 20 67 6c 75 74 49 64 6c 65 46 75 6e 63 28 69 64 6c 65 29 3b 00 00 00 04 20 20 20 20 00 00 00 24 | .glutIdleFunc(idle);...........$ |
| c740 | 20 20 20 20 67 6c 75 74 53 65 74 43 75 72 73 6f 72 28 47 4c 55 54 5f 43 55 52 53 4f 52 5f 4e 4f | ....glutSetCursor(GLUT_CURSOR_NO |
| c760 | 4e 45 29 3b 00 00 00 00 00 00 00 13 20 20 20 20 67 6c 75 74 4d 61 69 6e 4c 6f 6f 70 28 29 3b 00 | NE);............glutMainLoop();. |
| c780 | 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 | .......return.0;....}5.......... |
| c7a0 | 00 00 00 00 00 fc 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 42 19 00 | .............................B.. |
| c7c0 | 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 0b 00 00 00 0d 00 00 00 00 00 00 00 | .............5._................ |
| c7e0 | 00 00 00 00 0c 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 | ................................ |
| c800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 f7 ee 04 01 00 00 00 0a 00 f5 18 | ...................j............ |
| c960 | 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 18 76 6f 69 64 20 6b 65 79 62 6f 61 72 | ....................void.keyboar |
| c980 | 64 44 6f 77 6e 28 75 6e 73 69 67 6e f5 18 00 00 00 93 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | dDown(unsign.................... |
| c9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 | ................................ |
| c9c0 | 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 92 00 | ......5......................... |
| c9e0 | 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 | ................................ |
| ca00 | 00 00 00 00 92 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 66 00 00 00 01 00 00 00 f9 0f 00 00 | ....................f........... |
| ca20 | 00 00 00 00 00 00 00 00 00 00 00 00 e2 09 00 00 00 00 00 00 35 81 5f d0 00 00 00 0c 00 00 00 0e | ....................5._......... |
| ca40 | 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 | ................................ |
| ca60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ca80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| caa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| cac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| cae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| cb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| cb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| cb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| cb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| cb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| cba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 f8 95 04 01 | ..........................j..... |
| cbc0 | 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f9 00 00 00 14 23 69 6e 63 6c | ...........................#incl |
| cbe0 | 75 64 65 20 3c 47 4c 2f 67 6c 75 74 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 | ude.<GL/glut.h>....#include.<mat |
| cc00 | 68 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 00 00 | h.h>....#include.<stdlib.h>..... |
| cc20 | 00 00 1b 23 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 20 20 31 32 38 30 00 00 | ...#define.WINDOW_WIDTH...1280.. |
| cc40 | 00 1a 23 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 20 37 32 30 00 00 00 19 | ..#define.WINDOW_HEIGHT..720.... |
| cc60 | 23 64 65 66 69 6e 65 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 20 36 30 00 00 00 1b 23 64 65 | #define.PLATFORM_SIZE..60....#de |
| cc80 | 66 69 6e 65 20 4d 4f 56 45 5f 53 50 45 45 44 20 20 20 20 20 38 2e 30 66 00 00 00 1b 23 64 65 66 | fine.MOVE_SPEED.....8.0f....#def |
| cca0 | 69 6e 65 20 4d 4f 55 53 45 5f 53 45 4e 53 20 20 20 20 20 30 2e 32 66 00 00 00 1c 23 64 65 66 69 | ine.MOUSE_SENS.....0.2f....#defi |
| ccc0 | 6e 65 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 20 20 31 2e 36 32 66 00 00 00 00 00 00 00 35 66 | ne.PLAYER_HEIGHT..1.62f.......5f |
| cce0 | 6c 6f 61 74 20 63 61 6d 58 20 3d 20 30 2e 30 66 2c 20 63 61 6d 59 20 3d 20 50 4c 41 59 45 52 5f | loat.camX.=.0.0f,.camY.=.PLAYER_ |
| cd00 | 48 45 49 47 48 54 2c 20 63 61 6d 5a 20 3d 20 30 2e 30 66 3b 00 00 00 1f 66 6c 6f 61 74 20 79 61 | HEIGHT,.camZ.=.0.0f;....float.ya |
| cd20 | 77 20 3d 20 30 2e 30 66 2c 20 70 69 74 63 68 20 3d 20 30 2e 30 66 3b 00 00 00 0e 69 6e 74 20 6b | w.=.0.0f,.pitch.=.0.0f;....int.k |
| cd40 | 65 79 73 5b 32 35 36 5d 3b 00 00 00 16 69 6e 74 20 6d 6f 75 73 65 43 61 70 74 75 72 65 64 20 3d | eys[256];....int.mouseCaptured.= |
| cd60 | 20 30 3b 00 00 00 00 00 00 00 10 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 00 00 00 11 20 | .0;........typedef.struct.{..... |
| cd80 | 20 20 20 66 6c 6f 61 74 20 74 6f 70 5b 33 5d 3b 00 00 00 12 20 20 20 20 66 6c 6f 61 74 20 73 69 | ...float.top[3];........float.si |
| cda0 | 64 65 5b 33 5d 3b 00 00 00 14 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 5b 33 5d 3b 00 00 | de[3];........float.bottom[3];.. |
| cdc0 | 00 0d 7d 20 42 6c 6f 63 6b 53 74 79 6c 65 3b 00 00 00 00 00 00 00 19 42 6c 6f 63 6b 53 74 79 6c | ..}.BlockStyle;........BlockStyl |
| cde0 | 65 20 67 72 61 73 73 42 6c 6f 63 6b 20 3d 20 7b 00 00 00 1a 20 20 20 20 7b 30 2e 32 35 66 2c 20 | e.grassBlock.=.{........{0.25f,. |
| ce00 | 30 2e 37 35 66 2c 20 30 2e 31 35 66 7d 2c 00 00 00 1a 20 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e | 0.75f,.0.15f},........{0.50f,.0. |
| ce20 | 33 35 66 2c 20 30 2e 31 30 66 7d 2c 00 00 00 19 20 20 20 20 7b 30 2e 34 30 66 2c 20 30 2e 32 35 | 35f,.0.10f},........{0.40f,.0.25 |
| ce40 | 66 2c 20 30 2e 30 38 66 7d 00 00 00 02 7d 3b 00 00 00 00 00 00 00 0f 76 6f 69 64 20 69 6e 69 74 | f,.0.08f}....};........void.init |
| ce60 | 47 4c 28 29 20 7b 00 00 00 2c 20 20 20 20 67 6c 43 6c 65 61 72 43 6f 6c 6f 72 28 30 2e 35 33 66 | GL().{...,....glClearColor(0.53f |
| ce80 | 2c 20 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 66 29 3b 00 00 00 1c 20 20 20 20 67 6c | ,.0.81f,.0.98f,.1.0f);........gl |
| cea0 | 45 6e 61 62 6c 65 28 47 4c 5f 44 45 50 54 48 5f 54 45 53 54 29 3b 00 00 00 1b 20 20 20 20 67 6c | Enable(GL_DEPTH_TEST);........gl |
| cec0 | 45 6e 61 62 6c 65 28 47 4c 5f 43 55 4c 4c 5f 46 41 43 45 29 3b 00 00 00 18 20 20 20 20 67 6c 43 | Enable(GL_CULL_FACE);........glC |
| cee0 | 75 6c 6c 46 61 63 65 28 47 4c 5f 42 41 43 4b 29 3b 00 00 00 15 20 20 20 20 67 6c 45 6e 61 62 6c | ullFace(GL_BACK);........glEnabl |
| cf00 | 65 28 47 4c 5f 46 4f 47 29 3b 00 00 00 23 20 20 20 20 67 6c 46 6f 67 69 28 47 4c 5f 46 4f 47 5f | e(GL_FOG);...#....glFogi(GL_FOG_ |
| cf20 | 4d 4f 44 45 2c 20 47 4c 5f 4c 49 4e 45 41 52 29 3b 00 00 00 2f 20 20 20 20 67 6c 46 6f 67 66 28 | MODE,.GL_LINEAR);.../....glFogf( |
| cf40 | 47 4c 5f 46 4f 47 5f 53 54 41 52 54 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 30 2e | GL_FOG_START,.PLATFORM_SIZE.*.0. |
| cf60 | 36 66 29 3b 00 00 00 2d 20 20 20 20 67 6c 46 6f 67 66 28 47 4c 5f 46 4f 47 5f 45 4e 44 2c 20 50 | 6f);...-....glFogf(GL_FOG_END,.P |
| cf80 | 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 31 2e 32 66 29 3b 00 00 00 33 20 20 20 20 66 6c 6f | LATFORM_SIZE.*.1.2f);...3....flo |
| cfa0 | 61 74 20 66 6f 67 43 6f 6c 6f 72 5b 5d 20 3d 20 7b 30 2e 35 33 66 2c 20 30 2e 38 31 66 2c 20 30 | at.fogColor[].=.{0.53f,.0.81f,.0 |
| cfc0 | 2e 39 38 66 2c 20 31 2e 30 66 7d 3b 00 00 00 24 20 20 20 20 67 6c 46 6f 67 66 76 28 47 4c 5f 46 | .98f,.1.0f};...$....glFogfv(GL_F |
| cfe0 | 4f 47 5f 43 4f 4c 4f 52 2c 20 66 6f 67 43 6f 6c 6f 72 29 3b 00 00 00 00 00 00 00 31 20 20 20 20 | OG_COLOR,.fogColor);.......1.... |
| d000 | 47 4c 66 6c 6f 61 74 20 61 6d 62 69 65 6e 74 5b 5d 20 3d 20 7b 30 2e 36 66 2c 20 30 2e 36 66 2c | GLfloat.ambient[].=.{0.6f,.0.6f, |
| d020 | 20 30 2e 36 66 2c 20 31 2e 30 66 7d 3b 00 00 00 31 20 20 20 20 47 4c 66 6c 6f 61 74 20 64 69 66 | .0.6f,.1.0f};...1....GLfloat.dif |
| d040 | 66 75 73 65 5b 5d 20 3d 20 7b 30 2e 38 66 2c 20 30 2e 38 66 2c 20 30 2e 37 66 2c 20 31 2e 30 66 | fuse[].=.{0.8f,.0.8f,.0.7f,.1.0f |
| d060 | 7d 3b 00 00 00 57 20 20 20 20 47 4c 66 6c 6f 61 74 20 6c 69 67 68 74 50 6f 73 5b 5d 20 3d 20 7b | };...W....GLfloat.lightPos[].=.{ |
| d080 | 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e 30 66 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a | PLATFORM_SIZE/2.0f,.PLATFORM_SIZ |
| d0a0 | 45 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e 30 66 2c 20 31 2e 30 66 7d 3b 00 00 00 | E,.PLATFORM_SIZE/2.0f,.1.0f};... |
| d0c0 | 00 00 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 | .........glEnable(GL_LIGHTING);. |
| d0e0 | 00 00 18 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 30 29 3b 00 00 00 2e 20 | .......glEnable(GL_LIGHT0);..... |
| d100 | 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 41 4d 42 49 45 | ...glLightfv(GL_LIGHT0,.GL_AMBIE |
| d120 | 4e 54 2c 20 61 6d 62 69 65 6e 74 29 3b 00 00 00 2e 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 | NT,.ambient);........glLightfv(G |
| d140 | 4c 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 44 49 46 46 55 53 45 2c 20 64 69 66 66 75 73 65 29 3b 00 | L_LIGHT0,.GL_DIFFUSE,.diffuse);. |
| d160 | 00 00 30 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 50 | ..0....glLightfv(GL_LIGHT0,.GL_P |
| d180 | 4f 53 49 54 49 4f 4e 2c 20 6c 69 67 68 74 50 6f 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 53 | OSITION,.lightPos);....}.......S |
| d1a0 | 76 6f 69 64 20 64 72 61 77 46 61 63 65 28 66 6c 6f 61 74 20 76 30 5b 33 5d 2c 20 66 6c 6f 61 74 | void.drawFace(float.v0[3],.float |
| d1c0 | 20 76 31 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 32 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 33 5b 33 5d | .v1[3],.float.v2[3],.float.v3[3] |
| d1e0 | 2c 20 66 6c 6f 61 74 20 63 6f 6c 6f 72 5b 33 5d 29 20 7b 00 00 00 44 20 20 20 20 66 6c 6f 61 74 | ,.float.color[3]).{...D....float |
| d200 | 20 64 61 72 6b 65 72 5b 33 5d 20 3d 20 7b 63 6f 6c 6f 72 5b 30 5d 2a 30 2e 37 66 2c 20 63 6f 6c | .darker[3].=.{color[0]*0.7f,.col |
| d220 | 6f 72 5b 31 5d 2a 30 2e 37 66 2c 20 63 6f 6c 6f 72 5b 32 5d 2a 30 2e 37 66 7d 3b 00 00 00 04 20 | or[1]*0.7f,.color[2]*0.7f};..... |
| d240 | 20 20 20 00 00 00 16 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 51 55 41 44 53 29 3b 00 00 00 | ...........glBegin(GL_QUADS);... |
| d260 | 16 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 76 28 63 6f 6c 6f 72 29 3b 00 00 00 14 20 20 20 20 67 | .....glColor3fv(color);........g |
| d280 | 6c 56 65 72 74 65 78 33 66 76 28 76 30 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 | lVertex3fv(v0);........glVertex3 |
| d2a0 | 66 76 28 76 31 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 32 29 3b 00 | fv(v1);........glVertex3fv(v2);. |
| d2c0 | 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 33 29 3b 00 00 00 0c 20 20 20 20 67 | .......glVertex3fv(v3);........g |
| d2e0 | 6c 45 6e 64 28 29 3b 00 00 00 00 00 00 00 1b 20 20 20 20 67 6c 44 69 73 61 62 6c 65 28 47 4c 5f | lEnd();............glDisable(GL_ |
| d300 | 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 16 20 20 20 20 67 6c 4c 69 6e 65 57 69 64 74 68 28 31 2e | LIGHTING);........glLineWidth(1. |
| d320 | 30 66 29 3b 00 00 00 1a 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 4c 49 4e 45 5f 4c 4f 4f 50 | 0f);........glBegin(GL_LINE_LOOP |
| d340 | 29 3b 00 00 00 17 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 76 28 64 61 72 6b 65 72 29 3b 00 00 00 | );........glColor3fv(darker);... |
| d360 | 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 30 29 3b 00 00 00 14 20 20 20 20 67 6c 56 | .....glVertex3fv(v0);........glV |
| d380 | 65 72 74 65 78 33 66 76 28 76 31 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 | ertex3fv(v1);........glVertex3fv |
| d3a0 | 28 76 32 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 33 29 3b 00 00 00 | (v2);........glVertex3fv(v3);... |
| d3c0 | 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c | .....glEnd();........glEnable(GL |
| d3e0 | 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3c 76 6f 69 64 20 64 72 61 | _LIGHTING);....}.......<void.dra |
| d400 | 77 43 75 62 65 28 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 20 79 2c 20 66 6c 6f 61 74 20 7a 2c | wCube(float.x,.float.y,.float.z, |
| d420 | 20 42 6c 6f 63 6b 53 74 79 6c 65 20 73 74 79 6c 65 29 20 7b 00 00 00 13 20 20 20 20 67 6c 50 75 | .BlockStyle.style).{........glPu |
| d440 | 73 68 4d 61 74 72 69 78 28 29 3b 00 00 00 1a 20 20 20 20 67 6c 54 72 61 6e 73 6c 61 74 65 66 28 | shMatrix();........glTranslatef( |
| d460 | 78 2c 20 79 2c 20 7a 29 3b 00 00 00 00 00 00 00 17 20 20 20 20 66 6c 6f 61 74 20 74 6f 70 5b 34 | x,.y,.z);............float.top[4 |
| d480 | 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c | ][3].=.{.../........{0.0f,.1.0f, |
| d4a0 | 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 | .0.0f},.{1.0f,.1.0f,.0.0f},..... |
| d4c0 | 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 | .......{1.0f,.1.0f,.1.0f},.{0.0f |
| d4e0 | 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 1a 20 20 20 20 66 | ,.1.0f,.1.0f}........};........f |
| d500 | 6c 6f 61 74 20 62 6f 74 74 6f 6d 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 | loat.bottom[4][3].=.{.../....... |
| d520 | 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 | .{0.0f,.0.0f,.1.0f},.{1.0f,.0.0f |
| d540 | 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c | ,.1.0f},............{1.0f,.0.0f, |
| d560 | 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 | .0.0f},.{0.0f,.0.0f,.0.0f}...... |
| d580 | 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 74 20 66 72 6f 6e 74 5b 34 5d 5b 33 5d 20 3d 20 | ..};........float.front[4][3].=. |
| d5a0 | 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c | {.../........{0.0f,.0.0f,.0.0f}, |
| d5c0 | 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 | .{1.0f,.0.0f,.0.0f},............ |
| d5e0 | 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c | {1.0f,.1.0f,.0.0f},.{0.0f,.1.0f, |
| d600 | 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 18 20 20 20 20 66 6c 6f 61 74 20 62 61 | .0.0f}........};........float.ba |
| d620 | 63 6b 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 30 | ck[4][3].=.{.../........{1.0f,.0 |
| d640 | 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 | .0f,.1.0f},.{0.0f,.0.0f,.1.0f},. |
| d660 | 00 00 2e 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b | ...........{0.0f,.1.0f,.1.0f},.{ |
| d680 | 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 18 20 | 1.0f,.1.0f,.1.0f}........};..... |
| d6a0 | 20 20 20 66 6c 6f 61 74 20 6c 65 66 74 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 | ...float.left[4][3].=.{.../..... |
| d6c0 | 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e | ...{0.0f,.0.0f,.1.0f},.{0.0f,.0. |
| d6e0 | 30 66 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 31 2e 30 | 0f,.0.0f},............{0.0f,.1.0 |
| d700 | 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 | f,.0.0f},.{0.0f,.1.0f,.1.0f}.... |
| d720 | 20 20 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 5b 34 5d 5b 33 5d 20 | ....};........float.right[4][3]. |
| d740 | 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 | =.{.../........{1.0f,.0.0f,.0.0f |
| d760 | 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 | },.{1.0f,.0.0f,.1.0f},.......... |
| d780 | 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 | ..{1.0f,.1.0f,.1.0f},.{1.0f,.1.0 |
| d7a0 | 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 00 00 00 00 38 20 20 20 20 64 72 | f,.0.0f}........};.......8....dr |
| d7c0 | 61 77 46 61 63 65 28 74 6f 70 5b 30 5d 2c 20 74 6f 70 5b 31 5d 2c 20 74 6f 70 5b 32 5d 2c 20 74 | awFace(top[0],.top[1],.top[2],.t |
| d7e0 | 6f 70 5b 33 5d 2c 20 73 74 79 6c 65 2e 74 6f 70 29 3b 00 00 00 47 20 20 20 20 64 72 61 77 46 61 | op[3],.style.top);...G....drawFa |
| d800 | 63 65 28 62 6f 74 74 6f 6d 5b 30 5d 2c 20 62 6f 74 74 6f 6d 5b 31 5d 2c 20 62 6f 74 74 6f 6d 5b | ce(bottom[0],.bottom[1],.bottom[ |
| d820 | 32 5d 2c 20 62 6f 74 74 6f 6d 5b 33 5d 2c 20 73 74 79 6c 65 2e 62 6f 74 74 6f 6d 29 3b 00 00 00 | 2],.bottom[3],.style.bottom);... |
| d840 | 41 20 20 20 20 64 72 61 77 46 61 63 65 28 66 72 6f 6e 74 5b 30 5d 2c 20 66 72 6f 6e 74 5b 31 5d | A....drawFace(front[0],.front[1] |
| d860 | 2c 20 66 72 6f 6e 74 5b 32 5d 2c 20 66 72 6f 6e 74 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 | ,.front[2],.front[3],.style.side |
| d880 | 29 3b 00 00 00 3d 20 20 20 20 64 72 61 77 46 61 63 65 28 62 61 63 6b 5b 30 5d 2c 20 62 61 63 6b | );...=....drawFace(back[0],.back |
| d8a0 | 5b 31 5d 2c 20 62 61 63 6b 5b 32 5d 2c 20 62 61 63 6b 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 | [1],.back[2],.back[3],.style.sid |
| d8c0 | 65 29 3b 00 00 00 3d 20 20 20 20 64 72 61 77 46 61 63 65 28 6c 65 66 74 5b 30 5d 2c 20 6c 65 66 | e);...=....drawFace(left[0],.lef |
| d8e0 | 74 5b 31 5d 2c 20 6c 65 66 74 5b 32 5d 2c 20 6c 65 66 74 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 | t[1],.left[2],.left[3],.style.si |
| d900 | 64 65 29 3b 00 00 00 41 20 20 20 20 64 72 61 77 46 61 63 65 28 72 69 67 68 74 5b 30 5d 2c 20 72 | de);...A....drawFace(right[0],.r |
| d920 | 69 67 68 74 5b 31 5d 2c 20 72 69 67 68 74 5b 32 5d 2c 20 72 69 67 68 74 5b 33 5d 2c 20 73 74 79 | ight[1],.right[2],.right[3],.sty |
| d940 | 6c 65 2e 73 69 64 65 29 3b 00 00 00 00 00 00 00 12 20 20 20 20 67 6c 50 6f 70 4d 61 74 72 69 78 | le.side);............glPopMatrix |
| d960 | 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 15 76 6f 69 64 20 64 72 61 77 50 6c 61 74 66 6f 72 | ();....}........void.drawPlatfor |
| d980 | 6d 28 29 20 7b 00 00 00 21 20 20 20 20 69 6e 74 20 68 61 6c 66 20 3d 20 50 4c 41 54 46 4f 52 4d | m().{...!....int.half.=.PLATFORM |
| d9a0 | 5f 53 49 5a 45 20 2f 20 32 3b 00 00 00 28 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 2d | _SIZE./.2;...(....for.(int.i.=.- |
| d9c0 | 68 61 6c 66 3b 20 69 20 3c 20 68 61 6c 66 3b 20 69 2b 2b 29 20 7b 00 00 00 2c 20 20 20 20 20 20 | half;.i.<.half;.i++).{...,...... |
| d9e0 | 20 20 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 2d 68 61 6c 66 3b 20 6a 20 3c 20 68 61 6c 66 3b 20 | ..for.(int.j.=.-half;.j.<.half;. |
| da00 | 6a 2b 2b 29 20 7b 00 00 00 3b 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 43 75 62 65 28 28 | j++).{...;............drawCube(( |
| da20 | 66 6c 6f 61 74 29 69 2c 20 30 2e 30 66 2c 20 28 66 6c 6f 61 74 29 6a 2c 20 67 72 61 73 73 42 6c | float)i,.0.0f,.(float)j,.grassBl |
| da40 | 6f 63 6b 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d | ock);............}........}....} |
| da60 | 00 00 00 00 00 00 00 10 76 6f 69 64 20 64 69 73 70 6c 61 79 28 29 20 7b 00 00 00 37 20 20 20 20 | ........void.display().{...7.... |
| da80 | 67 6c 43 6c 65 61 72 28 47 4c 5f 43 4f 4c 4f 52 5f 42 55 46 46 45 52 5f 42 49 54 20 7c 20 47 4c | glClear(GL_COLOR_BUFFER_BIT.|.GL |
| daa0 | 5f 44 45 50 54 48 5f 42 55 46 46 45 52 5f 42 49 54 29 3b 00 00 00 04 20 20 20 20 00 00 00 1f 20 | _DEPTH_BUFFER_BIT);............. |
| dac0 | 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 | ...glMatrixMode(GL_MODELVIEW);.. |
| dae0 | 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b 00 00 00 04 20 20 20 20 00 | ......glLoadIdentity();......... |
| db00 | 00 00 51 20 20 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 58 20 3d 20 63 61 6d 58 20 2b 20 73 69 6e 66 | ..Q....float.lookX.=.camX.+.sinf |
| db20 | 28 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 20 2a 20 63 6f 73 66 28 70 69 74 | (yaw.*.M_PI./.180.0f).*.cosf(pit |
| db40 | 63 68 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 3b 00 00 00 35 20 20 20 20 66 6c 6f 61 | ch.*.M_PI./.180.0f);...5....floa |
| db60 | 74 20 6c 6f 6f 6b 59 20 3d 20 63 61 6d 59 20 2d 20 73 69 6e 66 28 70 69 74 63 68 20 2a 20 4d 5f | t.lookY.=.camY.-.sinf(pitch.*.M_ |
| db80 | 50 49 20 2f 20 31 38 30 2e 30 66 29 3b 00 00 00 51 20 20 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 5a | PI./.180.0f);...Q....float.lookZ |
| dba0 | 20 3d 20 63 61 6d 5a 20 2d 20 63 6f 73 66 28 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e | .=.camZ.-.cosf(yaw.*.M_PI./.180. |
| dbc0 | 30 66 29 20 2a 20 63 6f 73 66 28 70 69 74 63 68 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 | 0f).*.cosf(pitch.*.M_PI./.180.0f |
| dbe0 | 29 3b 00 00 00 04 20 20 20 20 00 00 00 47 20 20 20 20 67 6c 75 4c 6f 6f 6b 41 74 28 63 61 6d 58 | );...........G....gluLookAt(camX |
| dc00 | 2c 20 63 61 6d 59 2c 20 63 61 6d 5a 2c 20 6c 6f 6f 6b 58 2c 20 6c 6f 6f 6b 59 2c 20 6c 6f 6f 6b | ,.camY,.camZ,.lookX,.lookY,.look |
| dc20 | 5a 2c 20 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 04 20 20 20 20 00 00 00 | Z,.0.0f,.1.0f,.0.0f);........... |
| dc40 | 13 20 20 20 20 64 72 61 77 50 6c 61 74 66 6f 72 6d 28 29 3b 00 00 00 16 20 20 20 20 67 6c 75 74 | .....drawPlatform();........glut |
| dc60 | 53 77 61 70 42 75 66 66 65 72 73 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1c 76 6f 69 64 20 | SwapBuffers();....}........void. |
| dc80 | 72 65 73 68 61 70 65 28 69 6e 74 20 77 2c 20 69 6e 74 20 68 29 20 7b 00 00 00 1b 20 20 20 20 67 | reshape(int.w,.int.h).{........g |
| dca0 | 6c 56 69 65 77 70 6f 72 74 28 30 2c 20 30 2c 20 77 2c 20 68 29 3b 00 00 00 20 20 20 20 20 67 6c | lViewport(0,.0,.w,.h);........gl |
| dcc0 | 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 50 52 4f 4a 45 43 54 49 4f 4e 29 3b 00 00 00 15 20 20 | MatrixMode(GL_PROJECTION);...... |
| dce0 | 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b 00 00 00 4b 20 20 20 20 67 6c 75 50 65 | ..glLoadIdentity();...K....gluPe |
| dd00 | 72 73 70 65 63 74 69 76 65 28 37 35 2e 30 2c 20 28 64 6f 75 62 6c 65 29 77 20 2f 20 28 64 6f 75 | rspective(75.0,.(double)w./.(dou |
| dd20 | 62 6c 65 29 68 2c 20 30 2e 30 35 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 32 2e 30 | ble)h,.0.05,.PLATFORM_SIZE.*.2.0 |
| dd40 | 29 3b 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 | );........glMatrixMode(GL_MODELV |
| dd60 | 49 45 57 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 34 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 44 | IEW);....}.......4void.keyboardD |
| dd80 | 6f 77 6e 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e | own(unsigned.char.key,.int.x,.in |
| dda0 | 74 20 79 29 20 7b 00 00 00 12 20 20 20 20 6b 65 79 73 5b 6b 65 79 5d 20 3d 20 31 3b 00 00 00 1b | t.y).{........keys[key].=.1;.... |
| ddc0 | 20 20 20 20 69 66 20 28 6b 65 79 20 3d 3d 20 32 37 29 20 65 78 69 74 28 30 29 3b 00 00 00 01 7d | ....if.(key.==.27).exit(0);....} |
| dde0 | 00 00 00 00 00 00 00 32 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 55 70 28 75 6e 73 69 67 6e 65 64 | .......2void.keyboardUp(unsigned |
| de00 | 20 63 68 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 12 20 20 | .char.key,.int.x,.int.y).{...... |
| de20 | 20 20 6b 65 79 73 5b 6b 65 79 5d 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1e 76 6f 69 | ..keys[key].=.0;....}........voi |
| de40 | 64 20 6d 6f 75 73 65 4d 6f 76 65 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 2a 20 | d.mouseMove(int.x,.int.y).{...*. |
| de60 | 20 20 20 73 74 61 74 69 63 20 69 6e 74 20 63 65 6e 74 65 72 58 20 3d 20 57 49 4e 44 4f 57 5f 57 | ...static.int.centerX.=.WINDOW_W |
| de80 | 49 44 54 48 20 2f 20 32 3b 00 00 00 2b 20 20 20 20 73 74 61 74 69 63 20 69 6e 74 20 63 65 6e 74 | IDTH./.2;...+....static.int.cent |
| dea0 | 65 72 59 20 3d 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 2f 20 32 3b 00 00 00 04 20 20 20 20 | erY.=.WINDOW_HEIGHT./.2;........ |
| dec0 | 00 00 00 19 20 20 20 20 69 66 20 28 21 6d 6f 75 73 65 43 61 70 74 75 72 65 64 29 20 7b 00 00 00 | ........if.(!mouseCaptured).{... |
| dee0 | 2a 20 20 20 20 20 20 20 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 63 65 6e 74 65 72 58 | *........glutWarpPointer(centerX |
| df00 | 2c 20 63 65 6e 74 65 72 59 29 3b 00 00 00 1a 20 20 20 20 20 20 20 20 6d 6f 75 73 65 43 61 70 74 | ,.centerY);............mouseCapt |
| df20 | 75 72 65 64 20 3d 20 31 3b 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 | ured.=.1;............return;.... |
| df40 | 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 6e 74 20 64 78 20 3d 20 78 20 | ....}................int.dx.=.x. |
| df60 | 2d 20 63 65 6e 74 65 72 58 3b 00 00 00 19 20 20 20 20 69 6e 74 20 64 79 20 3d 20 79 20 2d 20 63 | -.centerX;........int.dy.=.y.-.c |
| df80 | 65 6e 74 65 72 59 3b 00 00 00 04 20 20 20 20 00 00 00 1d 20 20 20 20 69 66 20 28 64 78 20 21 3d | enterY;................if.(dx.!= |
| dfa0 | 20 30 20 7c 7c 20 64 79 20 21 3d 20 30 29 20 7b 00 00 00 1f 20 20 20 20 20 20 20 20 79 61 77 20 | .0.||.dy.!=.0).{............yaw. |
| dfc0 | 2d 3d 20 64 78 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 00 00 21 20 20 20 20 20 20 20 20 70 | -=.dx.*.MOUSE_SENS;...!........p |
| dfe0 | 69 74 63 68 20 2d 3d 20 64 79 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 00 00 08 20 20 20 20 | itch.-=.dy.*.MOUSE_SENS;........ |
| e000 | 20 20 20 20 00 00 00 29 20 20 20 20 20 20 20 20 69 66 20 28 70 69 74 63 68 20 3e 20 38 39 2e 30 | .......)........if.(pitch.>.89.0 |
| e020 | 66 29 20 70 69 74 63 68 20 3d 20 38 39 2e 30 66 3b 00 00 00 2b 20 20 20 20 20 20 20 20 69 66 20 | f).pitch.=.89.0f;...+........if. |
| e040 | 28 70 69 74 63 68 20 3c 20 2d 38 39 2e 30 66 29 20 70 69 74 63 68 20 3d 20 2d 38 39 2e 30 66 3b | (pitch.<.-89.0f).pitch.=.-89.0f; |
| e060 | 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 29 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 79 | ...............)........while.(y |
| e080 | 61 77 20 3c 20 30 2e 30 66 29 20 79 61 77 20 2b 3d 20 33 36 30 2e 30 66 3b 00 00 00 2c 20 20 20 | aw.<.0.0f).yaw.+=.360.0f;...,... |
| e0a0 | 20 20 20 20 20 77 68 69 6c 65 20 28 79 61 77 20 3e 3d 20 33 36 30 2e 30 66 29 20 79 61 77 20 2d | .....while.(yaw.>=.360.0f).yaw.- |
| e0c0 | 3d 20 33 36 30 2e 30 66 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 2a 20 20 20 20 20 20 20 | =.360.0f;...............*....... |
| e0e0 | 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 63 65 6e 74 65 72 58 2c 20 63 65 6e 74 65 72 | .glutWarpPointer(centerX,.center |
| e100 | 59 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 36 76 6f 69 64 20 6d 6f | Y);........}....}.......6void.mo |
| e120 | 75 73 65 43 6c 69 63 6b 28 69 6e 74 20 62 75 74 74 6f 6e 2c 20 69 6e 74 20 73 74 61 74 65 2c 20 | useClick(int.button,.int.state,. |
| e140 | 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 3b 20 20 20 20 69 66 20 28 62 75 74 74 6f | int.x,.int.y).{...;....if.(butto |
| e160 | 6e 20 3d 3d 20 47 4c 55 54 5f 4c 45 46 54 5f 42 55 54 54 4f 4e 20 26 26 20 73 74 61 74 65 20 3d | n.==.GLUT_LEFT_BUTTON.&&.state.= |
| e180 | 3d 20 47 4c 55 54 5f 44 4f 57 4e 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 6d 6f 75 73 65 43 | =.GLUT_DOWN).{............mouseC |
| e1a0 | 61 70 74 75 72 65 64 20 3d 20 30 3b 00 00 00 3d 20 20 20 20 20 20 20 20 67 6c 75 74 57 61 72 70 | aptured.=.0;...=........glutWarp |
| e1c0 | 50 6f 69 6e 74 65 72 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 2f 20 32 2c 20 57 49 4e 44 4f 57 | Pointer(WINDOW_WIDTH./.2,.WINDOW |
| e1e0 | 5f 48 45 49 47 48 54 20 2f 20 32 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | _HEIGHT./.2);........}....}..... |
| e200 | 00 00 0f 76 6f 69 64 20 75 70 64 61 74 65 28 29 20 7b 00 00 00 27 20 20 20 20 66 6c 6f 61 74 20 | ...void.update().{...'....float. |
| e220 | 79 61 77 52 61 64 20 3d 20 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 3b 00 00 00 | yawRad.=.yaw.*.M_PI./.180.0f;... |
| e240 | 22 20 20 20 20 66 6c 6f 61 74 20 66 6f 72 77 61 72 64 58 20 3d 20 73 69 6e 66 28 79 61 77 52 61 | "....float.forwardX.=.sinf(yawRa |
| e260 | 64 29 3b 00 00 00 23 20 20 20 20 66 6c 6f 61 74 20 66 6f 72 77 61 72 64 5a 20 3d 20 2d 63 6f 73 | d);...#....float.forwardZ.=.-cos |
| e280 | 66 28 79 61 77 52 61 64 29 3b 00 00 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 58 20 3d | f(yawRad);........float.rightX.= |
| e2a0 | 20 63 6f 73 66 28 79 61 77 52 61 64 29 3b 00 00 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 | .cosf(yawRad);........float.righ |
| e2c0 | 74 5a 20 3d 20 73 69 6e 66 28 79 61 77 52 61 64 29 3b 00 00 00 04 20 20 20 20 00 00 00 17 20 20 | tZ.=.sinf(yawRad);.............. |
| e2e0 | 20 20 66 6c 6f 61 74 20 73 70 65 65 64 20 3d 20 30 2e 31 66 3b 00 00 00 04 20 20 20 20 00 00 00 | ..float.speed.=.0.1f;........... |
| e300 | 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 77 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 57 27 5d 29 | !....if.(keys['w'].||.keys['W']) |
| e320 | 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 63 61 6d 58 20 2b 3d 20 66 6f 72 77 61 72 64 58 20 2a | .{...!........camX.+=.forwardX.* |
| e340 | 20 73 70 65 65 64 3b 00 00 00 21 20 20 20 20 20 20 20 20 63 61 6d 5a 20 2b 3d 20 66 6f 72 77 61 | .speed;...!........camZ.+=.forwa |
| e360 | 72 64 5a 20 2a 20 73 70 65 65 64 3b 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 | rdZ.*.speed;........}...!....if. |
| e380 | 28 6b 65 79 73 5b 27 73 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 53 27 5d 29 20 7b 00 00 00 21 20 20 | (keys['s'].||.keys['S']).{...!.. |
| e3a0 | 20 20 20 20 20 20 63 61 6d 58 20 2d 3d 20 66 6f 72 77 61 72 64 58 20 2a 20 73 70 65 65 64 3b 00 | ......camX.-=.forwardX.*.speed;. |
| e3c0 | 00 00 21 20 20 20 20 20 20 20 20 63 61 6d 5a 20 2d 3d 20 66 6f 72 77 61 72 64 5a 20 2a 20 73 70 | ..!........camZ.-=.forwardZ.*.sp |
| e3e0 | 65 65 64 3b 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 61 | eed;........}...!....if.(keys['a |
| e400 | 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 41 27 5d 29 20 7b 00 00 00 1f 20 20 20 20 20 20 20 20 63 61 | '].||.keys['A']).{............ca |
| e420 | 6d 58 20 2d 3d 20 72 69 67 68 74 58 20 2a 20 73 70 65 65 64 3b 00 00 00 1f 20 20 20 20 20 20 20 | mX.-=.rightX.*.speed;........... |
| e440 | 20 63 61 6d 5a 20 2d 3d 20 72 69 67 68 74 5a 20 2a 20 73 70 65 65 64 3b 00 00 00 05 20 20 20 20 | .camZ.-=.rightZ.*.speed;........ |
| e460 | 7d 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 64 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 | }...!....if.(keys['d'].||.keys[' |
| e480 | 44 27 5d 29 20 7b 00 00 00 1f 20 20 20 20 20 20 20 20 63 61 6d 58 20 2b 3d 20 72 69 67 68 74 58 | D']).{............camX.+=.rightX |
| e4a0 | 20 2a 20 73 70 65 65 64 3b 00 00 00 1f 20 20 20 20 20 20 20 20 63 61 6d 5a 20 2b 3d 20 72 69 67 | .*.speed;............camZ.+=.rig |
| e4c0 | 68 74 5a 20 2a 20 73 70 65 65 64 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 | htZ.*.speed;........}........... |
| e4e0 | 30 20 20 20 20 66 6c 6f 61 74 20 6c 69 6d 69 74 20 3d 20 28 50 4c 41 54 46 4f 52 4d 5f 53 49 5a | 0....float.limit.=.(PLATFORM_SIZ |
| e500 | 45 20 2f 20 32 2e 30 66 29 20 2d 20 31 2e 35 66 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d | E./.2.0f).-.1.5f;...%....if.(cam |
| e520 | 58 20 3c 20 2d 6c 69 6d 69 74 29 20 63 61 6d 58 20 3d 20 2d 6c 69 6d 69 74 3b 00 00 00 25 20 20 | X.<.-limit).camX.=.-limit;...%.. |
| e540 | 20 20 69 66 20 28 63 61 6d 58 20 3e 20 20 6c 69 6d 69 74 29 20 63 61 6d 58 20 3d 20 20 6c 69 6d | ..if.(camX.>..limit).camX.=..lim |
| e560 | 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 5a 20 3c 20 2d 6c 69 6d 69 74 29 20 63 61 | it;...%....if.(camZ.<.-limit).ca |
| e580 | 6d 5a 20 3d 20 2d 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 5a 20 3e 20 20 | mZ.=.-limit;...%....if.(camZ.>.. |
| e5a0 | 6c 69 6d 69 74 29 20 63 61 6d 5a 20 3d 20 20 6c 69 6d 69 74 3b 00 00 00 01 7d 00 00 00 00 00 00 | limit).camZ.=..limit;....}...... |
| e5c0 | 00 0d 76 6f 69 64 20 69 64 6c 65 28 29 20 7b 00 00 00 0d 20 20 20 20 75 70 64 61 74 65 28 29 3b | ..void.idle().{........update(); |
| e5e0 | 00 00 00 18 20 20 20 20 67 6c 75 74 50 6f 73 74 52 65 64 69 73 70 6c 61 79 28 29 3b 00 00 00 01 | ........glutPostRedisplay();.... |
| e600 | 7d 00 00 00 00 00 00 00 21 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 | }.......!int.main(int.argc,.char |
| e620 | 20 2a 2a 61 72 67 76 29 20 7b 00 00 00 1a 20 20 20 20 67 6c 75 74 49 6e 69 74 28 26 61 72 67 63 | .**argv).{........glutInit(&argc |
| e640 | 2c 20 61 72 67 76 29 3b 00 00 00 3d 20 20 20 20 67 6c 75 74 49 6e 69 74 44 69 73 70 6c 61 79 4d | ,.argv);...=....glutInitDisplayM |
| e660 | 6f 64 65 28 47 4c 55 54 5f 44 4f 55 42 4c 45 20 7c 20 47 4c 55 54 5f 52 47 42 20 7c 20 47 4c 55 | ode(GLUT_DOUBLE.|.GLUT_RGB.|.GLU |
| e680 | 54 5f 44 45 50 54 48 29 3b 00 00 00 34 20 20 20 20 67 6c 75 74 49 6e 69 74 57 69 6e 64 6f 77 53 | T_DEPTH);...4....glutInitWindowS |
| e6a0 | 69 7a 65 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 29 | ize(WINDOW_WIDTH,.WINDOW_HEIGHT) |
| e6c0 | 3b 00 00 00 2c 20 20 20 20 67 6c 75 74 43 72 65 61 74 65 57 69 6e 64 6f 77 28 22 4d 69 6e 65 63 | ;...,....glutCreateWindow("Minec |
| e6e0 | 72 61 66 74 20 50 72 6f 74 6f 74 79 70 65 22 29 3b 00 00 00 00 00 00 00 0d 20 20 20 20 69 6e 69 | raft.Prototype");............ini |
| e700 | 74 47 4c 28 29 3b 00 00 00 00 00 00 00 1d 20 20 20 20 67 6c 75 74 44 69 73 70 6c 61 79 46 75 6e | tGL();............glutDisplayFun |
| e720 | 63 28 64 69 73 70 6c 61 79 29 3b 00 00 00 1d 20 20 20 20 67 6c 75 74 52 65 73 68 61 70 65 46 75 | c(display);........glutReshapeFu |
| e740 | 6e 63 28 72 65 73 68 61 70 65 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 72 64 | nc(reshape);...#....glutKeyboard |
| e760 | 46 75 6e 63 28 6b 65 79 62 6f 61 72 64 44 6f 77 6e 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b | Func(keyboardDown);...#....glutK |
| e780 | 65 79 62 6f 61 72 64 55 70 46 75 6e 63 28 6b 65 79 62 6f 61 72 64 55 70 29 3b 00 00 00 25 20 20 | eyboardUpFunc(keyboardUp);...%.. |
| e7a0 | 20 20 67 6c 75 74 50 61 73 73 69 76 65 4d 6f 74 69 6f 6e 46 75 6e 63 28 6d 6f 75 73 65 4d 6f 76 | ..glutPassiveMotionFunc(mouseMov |
| e7c0 | 65 29 3b 00 00 00 1e 20 20 20 20 67 6c 75 74 4d 6f 75 73 65 46 75 6e 63 28 6d 6f 75 73 65 43 6c | e);........glutMouseFunc(mouseCl |
| e7e0 | 69 63 6b 29 3b 00 00 00 17 20 20 20 20 67 6c 75 74 49 64 6c 65 46 75 6e 63 28 69 64 6c 65 29 3b | ick);........glutIdleFunc(idle); |
| e800 | 00 00 00 04 20 20 20 20 00 00 00 24 20 20 20 20 67 6c 75 74 53 65 74 43 75 72 73 6f 72 28 47 4c | ...........$....glutSetCursor(GL |
| e820 | 55 54 5f 43 55 52 53 4f 52 5f 4e 4f 4e 45 29 3b 00 00 00 39 20 20 20 20 67 6c 75 74 57 61 72 70 | UT_CURSOR_NONE);...9....glutWarp |
| e840 | 50 6f 69 6e 74 65 72 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 2f 20 32 2c 20 57 49 4e 44 4f 57 | Pointer(WINDOW_WIDTH./.2,.WINDOW |
| e860 | 5f 48 45 49 47 48 54 20 2f 20 32 29 3b 00 00 00 00 00 00 00 13 20 20 20 20 67 6c 75 74 4d 61 69 | _HEIGHT./.2);............glutMai |
| e880 | 6e 4c 6f 6f 70 28 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 | nLoop();........return.0;....}5. |
| e8a0 | f5 18 00 00 00 00 00 00 00 00 00 00 00 00 f9 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 | ................................ |
| e8c0 | 00 00 00 00 00 00 dc 19 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 0d 00 00 | ......................5._....... |
| e8e0 | 00 0f 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 | ................................ |
| e900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 f8 96 | ............................j... |
| ea60 | 04 01 00 00 00 0b 00 f5 18 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 18 76 6f 69 | .............................voi |
| ea80 | 64 20 6b 65 79 62 6f 61 72 64 44 6f 77 6e 28 75 6e 73 69 67 6e f5 18 00 00 00 93 00 00 00 00 00 | d.keyboardDown(unsign........... |
| eaa0 | 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 | ................................ |
| eac0 | 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 | ...............5................ |
| eae0 | 00 00 00 00 00 00 00 92 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 | ................................ |
| eb00 | 0f 00 00 00 00 00 00 f5 18 00 00 00 00 92 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 66 00 00 | .............................f.. |
| eb20 | 00 01 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e2 09 00 00 00 00 00 00 35 81 5f | .............................5._ |
| eb40 | d0 00 00 00 0e 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 01 00 00 00 00 00 00 00 | ................................ |
| eb60 | 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ebc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ebe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ec00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ec20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ec40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ec60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ec80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ecc0 | 00 00 00 6a 08 fb 78 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f9 | ...j..x......................... |
| ece0 | 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 47 4c 2f 67 6c 75 74 2e 68 3e 00 00 00 11 23 69 6e 63 | ....#include.<GL/glut.h>....#inc |
| ed00 | 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 | lude.<math.h>....#include.<stdli |
| ed20 | 62 2e 68 3e 00 00 00 00 00 00 00 1b 23 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 5f 57 49 44 54 48 | b.h>........#define.WINDOW_WIDTH |
| ed40 | 20 20 20 31 32 38 30 00 00 00 1a 23 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 | ...1280....#define.WINDOW_HEIGHT |
| ed60 | 20 20 37 32 30 00 00 00 19 23 64 65 66 69 6e 65 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 20 | ..720....#define.PLATFORM_SIZE.. |
| ed80 | 36 30 00 00 00 1b 23 64 65 66 69 6e 65 20 4d 4f 56 45 5f 53 50 45 45 44 20 20 20 20 20 38 2e 30 | 60....#define.MOVE_SPEED.....8.0 |
| eda0 | 66 00 00 00 1b 23 64 65 66 69 6e 65 20 4d 4f 55 53 45 5f 53 45 4e 53 20 20 20 20 20 30 2e 32 66 | f....#define.MOUSE_SENS.....0.2f |
| edc0 | 00 00 00 1c 23 64 65 66 69 6e 65 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 20 20 31 2e 36 32 66 | ....#define.PLAYER_HEIGHT..1.62f |
| ede0 | 00 00 00 00 00 00 00 35 66 6c 6f 61 74 20 63 61 6d 58 20 3d 20 30 2e 30 66 2c 20 63 61 6d 59 20 | .......5float.camX.=.0.0f,.camY. |
| ee00 | 3d 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 2c 20 63 61 6d 5a 20 3d 20 30 2e 30 66 3b 00 00 00 | =.PLAYER_HEIGHT,.camZ.=.0.0f;... |
| ee20 | 1f 66 6c 6f 61 74 20 79 61 77 20 3d 20 30 2e 30 66 2c 20 70 69 74 63 68 20 3d 20 30 2e 30 66 3b | .float.yaw.=.0.0f,.pitch.=.0.0f; |
| ee40 | 00 00 00 0e 69 6e 74 20 6b 65 79 73 5b 32 35 36 5d 3b 00 00 00 16 69 6e 74 20 6d 6f 75 73 65 43 | ....int.keys[256];....int.mouseC |
| ee60 | 61 70 74 75 72 65 64 20 3d 20 30 3b 00 00 00 00 00 00 00 10 74 79 70 65 64 65 66 20 73 74 72 75 | aptured.=.0;........typedef.stru |
| ee80 | 63 74 20 7b 00 00 00 11 20 20 20 20 66 6c 6f 61 74 20 74 6f 70 5b 33 5d 3b 00 00 00 12 20 20 20 | ct.{........float.top[3];....... |
| eea0 | 20 66 6c 6f 61 74 20 73 69 64 65 5b 33 5d 3b 00 00 00 14 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 | .float.side[3];........float.bot |
| eec0 | 74 6f 6d 5b 33 5d 3b 00 00 00 0d 7d 20 42 6c 6f 63 6b 53 74 79 6c 65 3b 00 00 00 00 00 00 00 19 | tom[3];....}.BlockStyle;........ |
| eee0 | 42 6c 6f 63 6b 53 74 79 6c 65 20 67 72 61 73 73 42 6c 6f 63 6b 20 3d 20 7b 00 00 00 1a 20 20 20 | BlockStyle.grassBlock.=.{....... |
| ef00 | 20 7b 30 2e 32 35 66 2c 20 30 2e 37 35 66 2c 20 30 2e 31 35 66 7d 2c 00 00 00 1a 20 20 20 20 7b | .{0.25f,.0.75f,.0.15f},........{ |
| ef20 | 30 2e 35 30 66 2c 20 30 2e 33 35 66 2c 20 30 2e 31 30 66 7d 2c 00 00 00 19 20 20 20 20 7b 30 2e | 0.50f,.0.35f,.0.10f},........{0. |
| ef40 | 34 30 66 2c 20 30 2e 32 35 66 2c 20 30 2e 30 38 66 7d 00 00 00 02 7d 3b 00 00 00 00 00 00 00 0f | 40f,.0.25f,.0.08f}....};........ |
| ef60 | 76 6f 69 64 20 69 6e 69 74 47 4c 28 29 20 7b 00 00 00 2c 20 20 20 20 67 6c 43 6c 65 61 72 43 6f | void.initGL().{...,....glClearCo |
| ef80 | 6c 6f 72 28 30 2e 35 33 66 2c 20 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 66 29 3b 00 | lor(0.53f,.0.81f,.0.98f,.1.0f);. |
| efa0 | 00 00 1c 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 44 45 50 54 48 5f 54 45 53 54 29 3b 00 | .......glEnable(GL_DEPTH_TEST);. |
| efc0 | 00 00 1b 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 43 55 4c 4c 5f 46 41 43 45 29 3b 00 00 | .......glEnable(GL_CULL_FACE);.. |
| efe0 | 00 18 20 20 20 20 67 6c 43 75 6c 6c 46 61 63 65 28 47 4c 5f 42 41 43 4b 29 3b 00 00 00 15 20 20 | ......glCullFace(GL_BACK);...... |
| f000 | 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 46 4f 47 29 3b 00 00 00 23 20 20 20 20 67 6c 46 6f 67 | ..glEnable(GL_FOG);...#....glFog |
| f020 | 69 28 47 4c 5f 46 4f 47 5f 4d 4f 44 45 2c 20 47 4c 5f 4c 49 4e 45 41 52 29 3b 00 00 00 2f 20 20 | i(GL_FOG_MODE,.GL_LINEAR);.../.. |
| f040 | 20 20 67 6c 46 6f 67 66 28 47 4c 5f 46 4f 47 5f 53 54 41 52 54 2c 20 50 4c 41 54 46 4f 52 4d 5f | ..glFogf(GL_FOG_START,.PLATFORM_ |
| f060 | 53 49 5a 45 20 2a 20 30 2e 36 66 29 3b 00 00 00 2d 20 20 20 20 67 6c 46 6f 67 66 28 47 4c 5f 46 | SIZE.*.0.6f);...-....glFogf(GL_F |
| f080 | 4f 47 5f 45 4e 44 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 31 2e 32 66 29 3b 00 00 | OG_END,.PLATFORM_SIZE.*.1.2f);.. |
| f0a0 | 00 33 20 20 20 20 66 6c 6f 61 74 20 66 6f 67 43 6f 6c 6f 72 5b 5d 20 3d 20 7b 30 2e 35 33 66 2c | .3....float.fogColor[].=.{0.53f, |
| f0c0 | 20 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 66 7d 3b 00 00 00 24 20 20 20 20 67 6c 46 | .0.81f,.0.98f,.1.0f};...$....glF |
| f0e0 | 6f 67 66 76 28 47 4c 5f 46 4f 47 5f 43 4f 4c 4f 52 2c 20 66 6f 67 43 6f 6c 6f 72 29 3b 00 00 00 | ogfv(GL_FOG_COLOR,.fogColor);... |
| f100 | 00 00 00 00 31 20 20 20 20 47 4c 66 6c 6f 61 74 20 61 6d 62 69 65 6e 74 5b 5d 20 3d 20 7b 30 2e | ....1....GLfloat.ambient[].=.{0. |
| f120 | 36 66 2c 20 30 2e 36 66 2c 20 30 2e 36 66 2c 20 31 2e 30 66 7d 3b 00 00 00 31 20 20 20 20 47 4c | 6f,.0.6f,.0.6f,.1.0f};...1....GL |
| f140 | 66 6c 6f 61 74 20 64 69 66 66 75 73 65 5b 5d 20 3d 20 7b 30 2e 38 66 2c 20 30 2e 38 66 2c 20 30 | float.diffuse[].=.{0.8f,.0.8f,.0 |
| f160 | 2e 37 66 2c 20 31 2e 30 66 7d 3b 00 00 00 57 20 20 20 20 47 4c 66 6c 6f 61 74 20 6c 69 67 68 74 | .7f,.1.0f};...W....GLfloat.light |
| f180 | 50 6f 73 5b 5d 20 3d 20 7b 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e 30 66 2c 20 50 4c 41 | Pos[].=.{PLATFORM_SIZE/2.0f,.PLA |
| f1a0 | 54 46 4f 52 4d 5f 53 49 5a 45 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e 30 66 2c 20 | TFORM_SIZE,.PLATFORM_SIZE/2.0f,. |
| f1c0 | 31 2e 30 66 7d 3b 00 00 00 00 00 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 | 1.0f};............glEnable(GL_LI |
| f1e0 | 47 48 54 49 4e 47 29 3b 00 00 00 18 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 | GHTING);........glEnable(GL_LIGH |
| f200 | 54 30 29 3b 00 00 00 2e 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 2c | T0);........glLightfv(GL_LIGHT0, |
| f220 | 20 47 4c 5f 41 4d 42 49 45 4e 54 2c 20 61 6d 62 69 65 6e 74 29 3b 00 00 00 2e 20 20 20 20 67 6c | .GL_AMBIENT,.ambient);........gl |
| f240 | 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 44 49 46 46 55 53 45 2c 20 64 | Lightfv(GL_LIGHT0,.GL_DIFFUSE,.d |
| f260 | 69 66 66 75 73 65 29 3b 00 00 00 30 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 | iffuse);...0....glLightfv(GL_LIG |
| f280 | 48 54 30 2c 20 47 4c 5f 50 4f 53 49 54 49 4f 4e 2c 20 6c 69 67 68 74 50 6f 73 29 3b 00 00 00 01 | HT0,.GL_POSITION,.lightPos);.... |
| f2a0 | 7d 00 00 00 00 00 00 00 53 76 6f 69 64 20 64 72 61 77 46 61 63 65 28 66 6c 6f 61 74 20 76 30 5b | }.......Svoid.drawFace(float.v0[ |
| f2c0 | 33 5d 2c 20 66 6c 6f 61 74 20 76 31 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 32 5b 33 5d 2c 20 66 6c | 3],.float.v1[3],.float.v2[3],.fl |
| f2e0 | 6f 61 74 20 76 33 5b 33 5d 2c 20 66 6c 6f 61 74 20 63 6f 6c 6f 72 5b 33 5d 29 20 7b 00 00 00 44 | oat.v3[3],.float.color[3]).{...D |
| f300 | 20 20 20 20 66 6c 6f 61 74 20 64 61 72 6b 65 72 5b 33 5d 20 3d 20 7b 63 6f 6c 6f 72 5b 30 5d 2a | ....float.darker[3].=.{color[0]* |
| f320 | 30 2e 37 66 2c 20 63 6f 6c 6f 72 5b 31 5d 2a 30 2e 37 66 2c 20 63 6f 6c 6f 72 5b 32 5d 2a 30 2e | 0.7f,.color[1]*0.7f,.color[2]*0. |
| f340 | 37 66 7d 3b 00 00 00 04 20 20 20 20 00 00 00 16 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 51 | 7f};................glBegin(GL_Q |
| f360 | 55 41 44 53 29 3b 00 00 00 16 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 76 28 63 6f 6c 6f 72 29 3b | UADS);........glColor3fv(color); |
| f380 | 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 30 29 3b 00 00 00 14 20 20 20 20 | ........glVertex3fv(v0);........ |
| f3a0 | 67 6c 56 65 72 74 65 78 33 66 76 28 76 31 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 | glVertex3fv(v1);........glVertex |
| f3c0 | 33 66 76 28 76 32 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 33 29 3b | 3fv(v2);........glVertex3fv(v3); |
| f3e0 | 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 00 00 00 00 1b 20 20 20 20 67 6c 44 69 | ........glEnd();............glDi |
| f400 | 73 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 16 20 20 20 20 67 6c 4c 69 6e | sable(GL_LIGHTING);........glLin |
| f420 | 65 57 69 64 74 68 28 31 2e 30 66 29 3b 00 00 00 1a 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f | eWidth(1.0f);........glBegin(GL_ |
| f440 | 4c 49 4e 45 5f 4c 4f 4f 50 29 3b 00 00 00 17 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 76 28 64 61 | LINE_LOOP);........glColor3fv(da |
| f460 | 72 6b 65 72 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 30 29 3b 00 00 | rker);........glVertex3fv(v0);.. |
| f480 | 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 31 29 3b 00 00 00 14 20 20 20 20 67 6c | ......glVertex3fv(v1);........gl |
| f4a0 | 56 65 72 74 65 78 33 66 76 28 76 32 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 | Vertex3fv(v2);........glVertex3f |
| f4c0 | 76 28 76 33 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 1a 20 20 20 20 67 6c | v(v3);........glEnd();........gl |
| f4e0 | 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | Enable(GL_LIGHTING);....}....... |
| f500 | 3c 76 6f 69 64 20 64 72 61 77 43 75 62 65 28 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 20 79 2c | <void.drawCube(float.x,.float.y, |
| f520 | 20 66 6c 6f 61 74 20 7a 2c 20 42 6c 6f 63 6b 53 74 79 6c 65 20 73 74 79 6c 65 29 20 7b 00 00 00 | .float.z,.BlockStyle.style).{... |
| f540 | 13 20 20 20 20 67 6c 50 75 73 68 4d 61 74 72 69 78 28 29 3b 00 00 00 1a 20 20 20 20 67 6c 54 72 | .....glPushMatrix();........glTr |
| f560 | 61 6e 73 6c 61 74 65 66 28 78 2c 20 79 2c 20 7a 29 3b 00 00 00 00 00 00 00 17 20 20 20 20 66 6c | anslatef(x,.y,.z);............fl |
| f580 | 6f 61 74 20 74 6f 70 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e | oat.top[4][3].=.{.../........{0. |
| f5a0 | 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e | 0f,.1.0f,.0.0f},.{1.0f,.1.0f,.0. |
| f5c0 | 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 | 0f},............{1.0f,.1.0f,.1.0 |
| f5e0 | 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b | f},.{0.0f,.1.0f,.1.0f}........}; |
| f600 | 00 00 00 1a 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 | ........float.bottom[4][3].=.{.. |
| f620 | 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 31 | ./........{0.0f,.0.0f,.1.0f},.{1 |
| f640 | 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e | .0f,.0.0f,.1.0f},............{1. |
| f660 | 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e | 0f,.0.0f,.0.0f},.{0.0f,.0.0f,.0. |
| f680 | 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 74 20 66 72 6f 6e 74 | 0f}........};........float.front |
| f6a0 | 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 | [4][3].=.{.../........{0.0f,.0.0 |
| f6c0 | 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 00 00 00 | f,.0.0f},.{1.0f,.0.0f,.0.0f},... |
| f6e0 | 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e | .........{1.0f,.1.0f,.0.0f},.{0. |
| f700 | 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 18 20 20 20 | 0f,.1.0f,.0.0f}........};....... |
| f720 | 20 66 6c 6f 61 74 20 62 61 63 6b 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 | .float.back[4][3].=.{.../....... |
| f740 | 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 | .{1.0f,.0.0f,.1.0f},.{0.0f,.0.0f |
| f760 | 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c | ,.1.0f},............{0.0f,.1.0f, |
| f780 | 20 31 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 | .1.0f},.{1.0f,.1.0f,.1.0f}...... |
| f7a0 | 20 20 7d 3b 00 00 00 18 20 20 20 20 66 6c 6f 61 74 20 6c 65 66 74 5b 34 5d 5b 33 5d 20 3d 20 7b | ..};........float.left[4][3].=.{ |
| f7c0 | 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 | .../........{0.0f,.0.0f,.1.0f},. |
| f7e0 | 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b | {0.0f,.0.0f,.0.0f},............{ |
| f800 | 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 | 0.0f,.1.0f,.0.0f},.{0.0f,.1.0f,. |
| f820 | 31 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 74 20 72 69 67 | 1.0f}........};........float.rig |
| f840 | 68 74 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 30 | ht[4][3].=.{.../........{1.0f,.0 |
| f860 | 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 | .0f,.0.0f},.{1.0f,.0.0f,.1.0f},. |
| f880 | 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b | ...........{1.0f,.1.0f,.1.0f},.{ |
| f8a0 | 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 00 00 | 1.0f,.1.0f,.0.0f}........};..... |
| f8c0 | 00 00 38 20 20 20 20 64 72 61 77 46 61 63 65 28 74 6f 70 5b 30 5d 2c 20 74 6f 70 5b 31 5d 2c 20 | ..8....drawFace(top[0],.top[1],. |
| f8e0 | 74 6f 70 5b 32 5d 2c 20 74 6f 70 5b 33 5d 2c 20 73 74 79 6c 65 2e 74 6f 70 29 3b 00 00 00 47 20 | top[2],.top[3],.style.top);...G. |
| f900 | 20 20 20 64 72 61 77 46 61 63 65 28 62 6f 74 74 6f 6d 5b 30 5d 2c 20 62 6f 74 74 6f 6d 5b 31 5d | ...drawFace(bottom[0],.bottom[1] |
| f920 | 2c 20 62 6f 74 74 6f 6d 5b 32 5d 2c 20 62 6f 74 74 6f 6d 5b 33 5d 2c 20 73 74 79 6c 65 2e 62 6f | ,.bottom[2],.bottom[3],.style.bo |
| f940 | 74 74 6f 6d 29 3b 00 00 00 41 20 20 20 20 64 72 61 77 46 61 63 65 28 66 72 6f 6e 74 5b 30 5d 2c | ttom);...A....drawFace(front[0], |
| f960 | 20 66 72 6f 6e 74 5b 31 5d 2c 20 66 72 6f 6e 74 5b 32 5d 2c 20 66 72 6f 6e 74 5b 33 5d 2c 20 73 | .front[1],.front[2],.front[3],.s |
| f980 | 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 3d 20 20 20 20 64 72 61 77 46 61 63 65 28 62 61 63 6b | tyle.side);...=....drawFace(back |
| f9a0 | 5b 30 5d 2c 20 62 61 63 6b 5b 31 5d 2c 20 62 61 63 6b 5b 32 5d 2c 20 62 61 63 6b 5b 33 5d 2c 20 | [0],.back[1],.back[2],.back[3],. |
| f9c0 | 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 3d 20 20 20 20 64 72 61 77 46 61 63 65 28 6c 65 66 | style.side);...=....drawFace(lef |
| f9e0 | 74 5b 30 5d 2c 20 6c 65 66 74 5b 31 5d 2c 20 6c 65 66 74 5b 32 5d 2c 20 6c 65 66 74 5b 33 5d 2c | t[0],.left[1],.left[2],.left[3], |
| fa00 | 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 41 20 20 20 20 64 72 61 77 46 61 63 65 28 72 69 | .style.side);...A....drawFace(ri |
| fa20 | 67 68 74 5b 30 5d 2c 20 72 69 67 68 74 5b 31 5d 2c 20 72 69 67 68 74 5b 32 5d 2c 20 72 69 67 68 | ght[0],.right[1],.right[2],.righ |
| fa40 | 74 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 00 00 00 00 12 20 20 20 20 67 6c | t[3],.style.side);............gl |
| fa60 | 50 6f 70 4d 61 74 72 69 78 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 15 76 6f 69 64 20 64 72 | PopMatrix();....}........void.dr |
| fa80 | 61 77 50 6c 61 74 66 6f 72 6d 28 29 20 7b 00 00 00 21 20 20 20 20 69 6e 74 20 68 61 6c 66 20 3d | awPlatform().{...!....int.half.= |
| faa0 | 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 3b 00 00 00 28 20 20 20 20 66 6f 72 20 28 | .PLATFORM_SIZE./.2;...(....for.( |
| fac0 | 69 6e 74 20 69 20 3d 20 2d 68 61 6c 66 3b 20 69 20 3c 20 68 61 6c 66 3b 20 69 2b 2b 29 20 7b 00 | int.i.=.-half;.i.<.half;.i++).{. |
| fae0 | 00 00 2c 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 2d 68 61 6c 66 3b 20 6a | ..,........for.(int.j.=.-half;.j |
| fb00 | 20 3c 20 68 61 6c 66 3b 20 6a 2b 2b 29 20 7b 00 00 00 3b 20 20 20 20 20 20 20 20 20 20 20 20 64 | .<.half;.j++).{...;............d |
| fb20 | 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 29 69 2c 20 30 2e 30 66 2c 20 28 66 6c 6f 61 74 29 6a | rawCube((float)i,.0.0f,.(float)j |
| fb40 | 2c 20 67 72 61 73 73 42 6c 6f 63 6b 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 | ,.grassBlock);............}..... |
| fb60 | 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 76 6f 69 64 20 64 69 73 70 6c 61 79 28 29 20 | ...}....}........void.display(). |
| fb80 | 7b 00 00 00 37 20 20 20 20 67 6c 43 6c 65 61 72 28 47 4c 5f 43 4f 4c 4f 52 5f 42 55 46 46 45 52 | {...7....glClear(GL_COLOR_BUFFER |
| fba0 | 5f 42 49 54 20 7c 20 47 4c 5f 44 45 50 54 48 5f 42 55 46 46 45 52 5f 42 49 54 29 3b 00 00 00 04 | _BIT.|.GL_DEPTH_BUFFER_BIT);.... |
| fbc0 | 20 20 20 20 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 | ............glMatrixMode(GL_MODE |
| fbe0 | 4c 56 49 45 57 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b | LVIEW);........glLoadIdentity(); |
| fc00 | 00 00 00 04 20 20 20 20 00 00 00 51 20 20 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 58 20 3d 20 63 61 | ...........Q....float.lookX.=.ca |
| fc20 | 6d 58 20 2b 20 73 69 6e 66 28 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 20 2a | mX.+.sinf(yaw.*.M_PI./.180.0f).* |
| fc40 | 20 63 6f 73 66 28 70 69 74 63 68 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 3b 00 00 00 | .cosf(pitch.*.M_PI./.180.0f);... |
| fc60 | 35 20 20 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 59 20 3d 20 63 61 6d 59 20 2b 20 73 69 6e 66 28 70 | 5....float.lookY.=.camY.+.sinf(p |
| fc80 | 69 74 63 68 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 3b 00 00 00 51 20 20 20 20 66 6c | itch.*.M_PI./.180.0f);...Q....fl |
| fca0 | 6f 61 74 20 6c 6f 6f 6b 5a 20 3d 20 63 61 6d 5a 20 2d 20 63 6f 73 66 28 79 61 77 20 2a 20 4d 5f | oat.lookZ.=.camZ.-.cosf(yaw.*.M_ |
| fcc0 | 50 49 20 2f 20 31 38 30 2e 30 66 29 20 2a 20 63 6f 73 66 28 70 69 74 63 68 20 2a 20 4d 5f 50 49 | PI./.180.0f).*.cosf(pitch.*.M_PI |
| fce0 | 20 2f 20 31 38 30 2e 30 66 29 3b 00 00 00 04 20 20 20 20 00 00 00 47 20 20 20 20 67 6c 75 4c 6f | ./.180.0f);...........G....gluLo |
| fd00 | 6f 6b 41 74 28 63 61 6d 58 2c 20 63 61 6d 59 2c 20 63 61 6d 5a 2c 20 6c 6f 6f 6b 58 2c 20 6c 6f | okAt(camX,.camY,.camZ,.lookX,.lo |
| fd20 | 6f 6b 59 2c 20 6c 6f 6f 6b 5a 2c 20 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 | okY,.lookZ,.0.0f,.1.0f,.0.0f);.. |
| fd40 | 00 04 20 20 20 20 00 00 00 13 20 20 20 20 64 72 61 77 50 6c 61 74 66 6f 72 6d 28 29 3b 00 00 00 | ..............drawPlatform();... |
| fd60 | 16 20 20 20 20 67 6c 75 74 53 77 61 70 42 75 66 66 65 72 73 28 29 3b 00 00 00 01 7d 00 00 00 00 | .....glutSwapBuffers();....}.... |
| fd80 | 00 00 00 1c 76 6f 69 64 20 72 65 73 68 61 70 65 28 69 6e 74 20 77 2c 20 69 6e 74 20 68 29 20 7b | ....void.reshape(int.w,.int.h).{ |
| fda0 | 00 00 00 1b 20 20 20 20 67 6c 56 69 65 77 70 6f 72 74 28 30 2c 20 30 2c 20 77 2c 20 68 29 3b 00 | ........glViewport(0,.0,.w,.h);. |
| fdc0 | 00 00 20 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 50 52 4f 4a 45 43 54 49 4f | .......glMatrixMode(GL_PROJECTIO |
| fde0 | 4e 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b 00 00 00 4b | N);........glLoadIdentity();...K |
| fe00 | 20 20 20 20 67 6c 75 50 65 72 73 70 65 63 74 69 76 65 28 37 35 2e 30 2c 20 28 64 6f 75 62 6c 65 | ....gluPerspective(75.0,.(double |
| fe20 | 29 77 20 2f 20 28 64 6f 75 62 6c 65 29 68 2c 20 30 2e 30 35 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 | )w./.(double)h,.0.05,.PLATFORM_S |
| fe40 | 49 5a 45 20 2a 20 32 2e 30 29 3b 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 | IZE.*.2.0);........glMatrixMode( |
| fe60 | 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 34 76 6f 69 64 20 | GL_MODELVIEW);....}.......4void. |
| fe80 | 6b 65 79 62 6f 61 72 64 44 6f 77 6e 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 6b 65 79 2c 20 | keyboardDown(unsigned.char.key,. |
| fea0 | 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 12 20 20 20 20 6b 65 79 73 5b 6b 65 79 5d | int.x,.int.y).{........keys[key] |
| fec0 | 20 3d 20 31 3b 00 00 00 1b 20 20 20 20 69 66 20 28 6b 65 79 20 3d 3d 20 32 37 29 20 65 78 69 74 | .=.1;........if.(key.==.27).exit |
| fee0 | 28 30 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 32 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 55 70 | (0);....}.......2void.keyboardUp |
| ff00 | 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 | (unsigned.char.key,.int.x,.int.y |
| ff20 | 29 20 7b 00 00 00 12 20 20 20 20 6b 65 79 73 5b 6b 65 79 5d 20 3d 20 30 3b 00 00 00 01 7d 00 00 | ).{........keys[key].=.0;....}.. |
| ff40 | 00 00 00 00 00 1e 76 6f 69 64 20 6d 6f 75 73 65 4d 6f 76 65 28 69 6e 74 20 78 2c 20 69 6e 74 20 | ......void.mouseMove(int.x,.int. |
| ff60 | 79 29 20 7b 00 00 00 2a 20 20 20 20 73 74 61 74 69 63 20 69 6e 74 20 63 65 6e 74 65 72 58 20 3d | y).{...*....static.int.centerX.= |
| ff80 | 20 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 2f 20 32 3b 00 00 00 2b 20 20 20 20 73 74 61 74 69 63 | .WINDOW_WIDTH./.2;...+....static |
| ffa0 | 20 69 6e 74 20 63 65 6e 74 65 72 59 20 3d 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 2f 20 32 | .int.centerY.=.WINDOW_HEIGHT./.2 |
| ffc0 | 3b 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 66 20 28 21 6d 6f 75 73 65 43 61 70 74 75 | ;................if.(!mouseCaptu |
| ffe0 | 72 65 64 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 | red).{...*........glutWarpPointe |
| 10000 | 72 28 63 65 6e 74 65 72 58 2c 20 63 65 6e 74 65 72 59 29 3b 00 00 00 1a 20 20 20 20 20 20 20 20 | r(centerX,.centerY);............ |
| 10020 | 6d 6f 75 73 65 43 61 70 74 75 72 65 64 20 3d 20 31 3b 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 | mouseCaptured.=.1;............re |
| 10040 | 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 6e | turn;........}................in |
| 10060 | 74 20 64 78 20 3d 20 78 20 2d 20 63 65 6e 74 65 72 58 3b 00 00 00 19 20 20 20 20 69 6e 74 20 64 | t.dx.=.x.-.centerX;........int.d |
| 10080 | 79 20 3d 20 79 20 2d 20 63 65 6e 74 65 72 59 3b 00 00 00 04 20 20 20 20 00 00 00 1d 20 20 20 20 | y.=.y.-.centerY;................ |
| 100a0 | 69 66 20 28 64 78 20 21 3d 20 30 20 7c 7c 20 64 79 20 21 3d 20 30 29 20 7b 00 00 00 1f 20 20 20 | if.(dx.!=.0.||.dy.!=.0).{....... |
| 100c0 | 20 20 20 20 20 79 61 77 20 2b 3d 20 64 78 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 00 00 21 | .....yaw.+=.dx.*.MOUSE_SENS;...! |
| 100e0 | 20 20 20 20 20 20 20 20 70 69 74 63 68 20 2b 3d 20 64 79 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 | ........pitch.+=.dy.*.MOUSE_SENS |
| 10100 | 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 29 20 20 20 20 20 20 20 20 69 66 20 28 70 69 74 | ;...............)........if.(pit |
| 10120 | 63 68 20 3e 20 38 39 2e 30 66 29 20 70 69 74 63 68 20 3d 20 38 39 2e 30 66 3b 00 00 00 2b 20 20 | ch.>.89.0f).pitch.=.89.0f;...+.. |
| 10140 | 20 20 20 20 20 20 69 66 20 28 70 69 74 63 68 20 3c 20 2d 38 39 2e 30 66 29 20 70 69 74 63 68 20 | ......if.(pitch.<.-89.0f).pitch. |
| 10160 | 3d 20 2d 38 39 2e 30 66 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 29 20 20 20 20 20 20 20 | =.-89.0f;...............)....... |
| 10180 | 20 77 68 69 6c 65 20 28 79 61 77 20 3c 20 30 2e 30 66 29 20 79 61 77 20 2b 3d 20 33 36 30 2e 30 | .while.(yaw.<.0.0f).yaw.+=.360.0 |
| 101a0 | 66 3b 00 00 00 2c 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 79 61 77 20 3e 3d 20 33 36 30 2e | f;...,........while.(yaw.>=.360. |
| 101c0 | 30 66 29 20 79 61 77 20 2d 3d 20 33 36 30 2e 30 66 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 | 0f).yaw.-=.360.0f;.............. |
| 101e0 | 00 2a 20 20 20 20 20 20 20 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 63 65 6e 74 65 72 | .*........glutWarpPointer(center |
| 10200 | 58 2c 20 63 65 6e 74 65 72 59 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 | X,.centerY);........}....}...... |
| 10220 | 00 36 76 6f 69 64 20 6d 6f 75 73 65 43 6c 69 63 6b 28 69 6e 74 20 62 75 74 74 6f 6e 2c 20 69 6e | .6void.mouseClick(int.button,.in |
| 10240 | 74 20 73 74 61 74 65 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 3b 20 20 20 20 | t.state,.int.x,.int.y).{...;.... |
| 10260 | 69 66 20 28 62 75 74 74 6f 6e 20 3d 3d 20 47 4c 55 54 5f 4c 45 46 54 5f 42 55 54 54 4f 4e 20 26 | if.(button.==.GLUT_LEFT_BUTTON.& |
| 10280 | 26 20 73 74 61 74 65 20 3d 3d 20 47 4c 55 54 5f 44 4f 57 4e 29 20 7b 00 00 00 1a 20 20 20 20 20 | &.state.==.GLUT_DOWN).{......... |
| 102a0 | 20 20 20 6d 6f 75 73 65 43 61 70 74 75 72 65 64 20 3d 20 30 3b 00 00 00 3d 20 20 20 20 20 20 20 | ...mouseCaptured.=.0;...=....... |
| 102c0 | 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 2f 20 | .glutWarpPointer(WINDOW_WIDTH./. |
| 102e0 | 32 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 2f 20 32 29 3b 00 00 00 05 20 20 20 20 7d 00 | 2,.WINDOW_HEIGHT./.2);........}. |
| 10300 | 00 00 01 7d 00 00 00 00 00 00 00 0f 76 6f 69 64 20 75 70 64 61 74 65 28 29 20 7b 00 00 00 27 20 | ...}........void.update().{...'. |
| 10320 | 20 20 20 66 6c 6f 61 74 20 79 61 77 52 61 64 20 3d 20 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 | ...float.yawRad.=.yaw.*.M_PI./.1 |
| 10340 | 38 30 2e 30 66 3b 00 00 00 22 20 20 20 20 66 6c 6f 61 74 20 66 6f 72 77 61 72 64 58 20 3d 20 73 | 80.0f;..."....float.forwardX.=.s |
| 10360 | 69 6e 66 28 79 61 77 52 61 64 29 3b 00 00 00 23 20 20 20 20 66 6c 6f 61 74 20 66 6f 72 77 61 72 | inf(yawRad);...#....float.forwar |
| 10380 | 64 5a 20 3d 20 2d 63 6f 73 66 28 79 61 77 52 61 64 29 3b 00 00 00 20 20 20 20 20 66 6c 6f 61 74 | dZ.=.-cosf(yawRad);........float |
| 103a0 | 20 72 69 67 68 74 58 20 3d 20 63 6f 73 66 28 79 61 77 52 61 64 29 3b 00 00 00 20 20 20 20 20 66 | .rightX.=.cosf(yawRad);........f |
| 103c0 | 6c 6f 61 74 20 72 69 67 68 74 5a 20 3d 20 73 69 6e 66 28 79 61 77 52 61 64 29 3b 00 00 00 04 20 | loat.rightZ.=.sinf(yawRad);..... |
| 103e0 | 20 20 20 00 00 00 17 20 20 20 20 66 6c 6f 61 74 20 73 70 65 65 64 20 3d 20 30 2e 31 66 3b 00 00 | ...........float.speed.=.0.1f;.. |
| 10400 | 00 04 20 20 20 20 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 77 27 5d 20 7c 7c 20 6b | .........!....if.(keys['w'].||.k |
| 10420 | 65 79 73 5b 27 57 27 5d 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 63 61 6d 58 20 2b 3d 20 66 | eys['W']).{...!........camX.+=.f |
| 10440 | 6f 72 77 61 72 64 58 20 2a 20 73 70 65 65 64 3b 00 00 00 21 20 20 20 20 20 20 20 20 63 61 6d 5a | orwardX.*.speed;...!........camZ |
| 10460 | 20 2b 3d 20 66 6f 72 77 61 72 64 5a 20 2a 20 73 70 65 65 64 3b 00 00 00 05 20 20 20 20 7d 00 00 | .+=.forwardZ.*.speed;........}.. |
| 10480 | 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 73 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 53 27 5d | .!....if.(keys['s'].||.keys['S'] |
| 104a0 | 29 20 7b 00 00 00 21 20 20 20 20 20 20 20 20 63 61 6d 58 20 2d 3d 20 66 6f 72 77 61 72 64 58 20 | ).{...!........camX.-=.forwardX. |
| 104c0 | 2a 20 73 70 65 65 64 3b 00 00 00 21 20 20 20 20 20 20 20 20 63 61 6d 5a 20 2d 3d 20 66 6f 72 77 | *.speed;...!........camZ.-=.forw |
| 104e0 | 61 72 64 5a 20 2a 20 73 70 65 65 64 3b 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 | ardZ.*.speed;........}...!....if |
| 10500 | 20 28 6b 65 79 73 5b 27 61 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 41 27 5d 29 20 7b 00 00 00 1f 20 | .(keys['a'].||.keys['A']).{..... |
| 10520 | 20 20 20 20 20 20 20 63 61 6d 58 20 2d 3d 20 72 69 67 68 74 58 20 2a 20 73 70 65 65 64 3b 00 00 | .......camX.-=.rightX.*.speed;.. |
| 10540 | 00 1f 20 20 20 20 20 20 20 20 63 61 6d 5a 20 2d 3d 20 72 69 67 68 74 5a 20 2a 20 73 70 65 65 64 | ..........camZ.-=.rightZ.*.speed |
| 10560 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 64 27 5d 20 | ;........}...!....if.(keys['d']. |
| 10580 | 7c 7c 20 6b 65 79 73 5b 27 44 27 5d 29 20 7b 00 00 00 1f 20 20 20 20 20 20 20 20 63 61 6d 58 20 | ||.keys['D']).{............camX. |
| 105a0 | 2b 3d 20 72 69 67 68 74 58 20 2a 20 73 70 65 65 64 3b 00 00 00 1f 20 20 20 20 20 20 20 20 63 61 | +=.rightX.*.speed;............ca |
| 105c0 | 6d 5a 20 2b 3d 20 72 69 67 68 74 5a 20 2a 20 73 70 65 65 64 3b 00 00 00 05 20 20 20 20 7d 00 00 | mZ.+=.rightZ.*.speed;........}.. |
| 105e0 | 00 04 20 20 20 20 00 00 00 30 20 20 20 20 66 6c 6f 61 74 20 6c 69 6d 69 74 20 3d 20 28 50 4c 41 | .........0....float.limit.=.(PLA |
| 10600 | 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 2e 30 66 29 20 2d 20 31 2e 35 66 3b 00 00 00 25 20 20 | TFORM_SIZE./.2.0f).-.1.5f;...%.. |
| 10620 | 20 20 69 66 20 28 63 61 6d 58 20 3c 20 2d 6c 69 6d 69 74 29 20 63 61 6d 58 20 3d 20 2d 6c 69 6d | ..if.(camX.<.-limit).camX.=.-lim |
| 10640 | 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 58 20 3e 20 20 6c 69 6d 69 74 29 20 63 61 | it;...%....if.(camX.>..limit).ca |
| 10660 | 6d 58 20 3d 20 20 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 5a 20 3c 20 2d | mX.=..limit;...%....if.(camZ.<.- |
| 10680 | 6c 69 6d 69 74 29 20 63 61 6d 5a 20 3d 20 2d 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 | limit).camZ.=.-limit;...%....if. |
| 106a0 | 28 63 61 6d 5a 20 3e 20 20 6c 69 6d 69 74 29 20 63 61 6d 5a 20 3d 20 20 6c 69 6d 69 74 3b 00 00 | (camZ.>..limit).camZ.=..limit;.. |
| 106c0 | 00 01 7d 00 00 00 00 00 00 00 0d 76 6f 69 64 20 69 64 6c 65 28 29 20 7b 00 00 00 0d 20 20 20 20 | ..}........void.idle().{........ |
| 106e0 | 75 70 64 61 74 65 28 29 3b 00 00 00 18 20 20 20 20 67 6c 75 74 50 6f 73 74 52 65 64 69 73 70 6c | update();........glutPostRedispl |
| 10700 | 61 79 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 21 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 | ay();....}.......!int.main(int.a |
| 10720 | 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 20 7b 00 00 00 1a 20 20 20 20 67 6c 75 74 49 | rgc,.char.**argv).{........glutI |
| 10740 | 6e 69 74 28 26 61 72 67 63 2c 20 61 72 67 76 29 3b 00 00 00 3d 20 20 20 20 67 6c 75 74 49 6e 69 | nit(&argc,.argv);...=....glutIni |
| 10760 | 74 44 69 73 70 6c 61 79 4d 6f 64 65 28 47 4c 55 54 5f 44 4f 55 42 4c 45 20 7c 20 47 4c 55 54 5f | tDisplayMode(GLUT_DOUBLE.|.GLUT_ |
| 10780 | 52 47 42 20 7c 20 47 4c 55 54 5f 44 45 50 54 48 29 3b 00 00 00 34 20 20 20 20 67 6c 75 74 49 6e | RGB.|.GLUT_DEPTH);...4....glutIn |
| 107a0 | 69 74 57 69 6e 64 6f 77 53 69 7a 65 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 2c 20 57 49 4e 44 4f | itWindowSize(WINDOW_WIDTH,.WINDO |
| 107c0 | 57 5f 48 45 49 47 48 54 29 3b 00 00 00 2c 20 20 20 20 67 6c 75 74 43 72 65 61 74 65 57 69 6e 64 | W_HEIGHT);...,....glutCreateWind |
| 107e0 | 6f 77 28 22 4d 69 6e 65 63 72 61 66 74 20 50 72 6f 74 6f 74 79 70 65 22 29 3b 00 00 00 00 00 00 | ow("Minecraft.Prototype");...... |
| 10800 | 00 0d 20 20 20 20 69 6e 69 74 47 4c 28 29 3b 00 00 00 00 00 00 00 1d 20 20 20 20 67 6c 75 74 44 | ......initGL();............glutD |
| 10820 | 69 73 70 6c 61 79 46 75 6e 63 28 64 69 73 70 6c 61 79 29 3b 00 00 00 1d 20 20 20 20 67 6c 75 74 | isplayFunc(display);........glut |
| 10840 | 52 65 73 68 61 70 65 46 75 6e 63 28 72 65 73 68 61 70 65 29 3b 00 00 00 23 20 20 20 20 67 6c 75 | ReshapeFunc(reshape);...#....glu |
| 10860 | 74 4b 65 79 62 6f 61 72 64 46 75 6e 63 28 6b 65 79 62 6f 61 72 64 44 6f 77 6e 29 3b 00 00 00 23 | tKeyboardFunc(keyboardDown);...# |
| 10880 | 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 72 64 55 70 46 75 6e 63 28 6b 65 79 62 6f 61 72 64 55 | ....glutKeyboardUpFunc(keyboardU |
| 108a0 | 70 29 3b 00 00 00 25 20 20 20 20 67 6c 75 74 50 61 73 73 69 76 65 4d 6f 74 69 6f 6e 46 75 6e 63 | p);...%....glutPassiveMotionFunc |
| 108c0 | 28 6d 6f 75 73 65 4d 6f 76 65 29 3b 00 00 00 1e 20 20 20 20 67 6c 75 74 4d 6f 75 73 65 46 75 6e | (mouseMove);........glutMouseFun |
| 108e0 | 63 28 6d 6f 75 73 65 43 6c 69 63 6b 29 3b 00 00 00 17 20 20 20 20 67 6c 75 74 49 64 6c 65 46 75 | c(mouseClick);........glutIdleFu |
| 10900 | 6e 63 28 69 64 6c 65 29 3b 00 00 00 04 20 20 20 20 00 00 00 24 20 20 20 20 67 6c 75 74 53 65 74 | nc(idle);...........$....glutSet |
| 10920 | 43 75 72 73 6f 72 28 47 4c 55 54 5f 43 55 52 53 4f 52 5f 4e 4f 4e 45 29 3b 00 00 00 39 20 20 20 | Cursor(GLUT_CURSOR_NONE);...9... |
| 10940 | 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 2f 20 | .glutWarpPointer(WINDOW_WIDTH./. |
| 10960 | 32 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 2f 20 32 29 3b 00 00 00 00 00 00 00 13 20 20 | 2,.WINDOW_HEIGHT./.2);.......... |
| 10980 | 20 20 67 6c 75 74 4d 61 69 6e 4c 6f 6f 70 28 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 | ..glutMainLoop();........return. |
| 109a0 | 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 f9 00 00 00 00 00 00 00 01 | 0;....}5........................ |
| 109c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dc 19 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 | ...............................5 |
| 109e0 | 81 5f d0 00 00 00 0f 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 01 00 00 00 00 00 | ._.............................. |
| 10a00 | 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10b60 | 00 00 00 00 00 6a 08 fb 79 04 01 00 00 00 0d 00 f5 18 00 00 01 29 00 00 00 00 00 00 00 00 00 00 | .....j..y............).......... |
| 10b80 | 00 01 00 00 00 33 20 20 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 58 20 3d 20 63 61 6d 58 20 2b 20 73 | .....3....float.lookX.=.camX.+.s |
| 10ba0 | 69 6e 66 28 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 20 f5 18 00 00 01 2a 00 | inf(yaw.*.M_PI./.180.0f)......*. |
| 10bc0 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 96 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 10be0 | 01 20 f5 18 00 00 00 97 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10c00 | 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 | ............................5... |
| 10c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 96 00 00 00 01 00 00 00 00 00 00 00 | ................................ |
| 10c40 | 00 00 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 96 00 00 00 01 00 | ................................ |
| 10c60 | 00 00 00 00 00 00 00 00 00 00 93 00 00 00 33 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 | ..............3................. |
| 10c80 | 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 29 01 00 00 33 00 00 00 00 00 00 00 00 00 00 00 | ................)...3........... |
| 10ca0 | 9b 00 00 00 01 00 00 00 f8 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 | ................................ |
| 10cc0 | 35 81 5f d0 00 00 00 10 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 11 00 00 01 b4 00 00 00 16 | 5._............................. |
| 10ce0 | 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10e20 | 00 00 00 00 01 b4 00 00 00 16 00 00 00 00 00 00 01 b4 00 00 00 28 00 00 00 00 00 00 00 76 00 00 | .....................(.......v.. |
| 10e40 | 00 28 00 00 00 00 6a 08 fb e5 04 01 00 00 00 0e 00 f5 18 00 00 01 b3 00 00 01 b5 00 00 01 c5 00 | .(....j......................... |
| 10e60 | 00 00 01 00 00 00 2c 20 20 20 20 67 6c 75 74 43 72 65 61 74 65 57 69 6e 64 6f 77 28 22 4d 69 6e | ......,....glutCreateWindow("Min |
| 10e80 | 65 63 72 61 66 74 20 50 72 6f 74 6f 74 79 70 65 22 29 3b 35 81 f5 18 00 00 00 00 b3 01 00 00 16 | ecraft.Prototype");5............ |
| 10ea0 | 00 00 00 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 61 2e 00 00 00 00 00 00 13 00 00 00 00 | ...................a............ |
| 10ec0 | 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 11 00 00 00 13 00 00 00 00 00 00 00 00 00 | ...........5._.................. |
| 10ee0 | 00 00 12 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 fc 73 04 01 00 00 00 00 00 f5 18 00 00 | .................j..s........... |
| 11060 | 00 00 00 00 00 02 00 00 00 00 00 00 01 c5 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 47 4c 2f 67 | ..................#include.<GL/g |
| 11080 | 6c 75 74 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 13 23 | lut.h>....#include.<math.h>....# |
| 110a0 | 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c | include.<stdlib.h>....#include.< |
| 110c0 | 74 69 6d 65 2e 68 3e 00 00 00 00 00 00 00 1b 23 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 5f 57 49 | time.h>........#define.WINDOW_WI |
| 110e0 | 44 54 48 20 20 20 31 32 38 30 00 00 00 1a 23 64 65 66 69 6e 65 20 57 49 4e 44 4f 57 5f 48 45 49 | DTH...1280....#define.WINDOW_HEI |
| 11100 | 47 48 54 20 20 37 32 30 00 00 00 19 23 64 65 66 69 6e 65 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a | GHT..720....#define.PLATFORM_SIZ |
| 11120 | 45 20 20 38 30 00 00 00 1b 23 64 65 66 69 6e 65 20 4d 4f 56 45 5f 53 50 45 45 44 20 20 20 20 20 | E..80....#define.MOVE_SPEED..... |
| 11140 | 36 2e 30 66 00 00 00 1c 23 64 65 66 69 6e 65 20 53 50 52 49 4e 54 5f 53 50 45 45 44 20 20 20 31 | 6.0f....#define.SPRINT_SPEED...1 |
| 11160 | 30 2e 30 66 00 00 00 1b 23 64 65 66 69 6e 65 20 4d 4f 55 53 45 5f 53 45 4e 53 20 20 20 20 20 30 | 0.0f....#define.MOUSE_SENS.....0 |
| 11180 | 2e 32 66 00 00 00 1c 23 64 65 66 69 6e 65 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 20 20 31 2e | .2f....#define.PLAYER_HEIGHT..1. |
| 111a0 | 36 32 66 00 00 00 1c 23 64 65 66 69 6e 65 20 47 52 41 56 49 54 59 20 20 20 20 20 20 20 20 31 35 | 62f....#define.GRAVITY........15 |
| 111c0 | 2e 30 66 00 00 00 1b 23 64 65 66 69 6e 65 20 4a 55 4d 50 5f 46 4f 52 43 45 20 20 20 20 20 37 2e | .0f....#define.JUMP_FORCE.....7. |
| 111e0 | 30 66 00 00 00 00 00 00 00 35 66 6c 6f 61 74 20 63 61 6d 58 20 3d 20 30 2e 30 66 2c 20 63 61 6d | 0f.......5float.camX.=.0.0f,.cam |
| 11200 | 59 20 3d 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 2c 20 63 61 6d 5a 20 3d 20 30 2e 30 66 3b 00 | Y.=.PLAYER_HEIGHT,.camZ.=.0.0f;. |
| 11220 | 00 00 17 66 6c 6f 61 74 20 76 65 6c 6f 63 69 74 79 59 20 3d 20 30 2e 30 66 3b 00 00 00 1f 66 6c | ...float.velocityY.=.0.0f;....fl |
| 11240 | 6f 61 74 20 79 61 77 20 3d 20 30 2e 30 66 2c 20 70 69 74 63 68 20 3d 20 30 2e 30 66 3b 00 00 00 | oat.yaw.=.0.0f,.pitch.=.0.0f;... |
| 11260 | 0e 69 6e 74 20 6b 65 79 73 5b 32 35 36 5d 3b 00 00 00 16 69 6e 74 20 6d 6f 75 73 65 43 61 70 74 | .int.keys[256];....int.mouseCapt |
| 11280 | 75 72 65 64 20 3d 20 30 3b 00 00 00 13 69 6e 74 20 69 73 4f 6e 47 72 6f 75 6e 64 20 3d 20 31 3b | ured.=.0;....int.isOnGround.=.1; |
| 112a0 | 00 00 00 00 00 00 00 32 66 6c 6f 61 74 20 74 65 72 72 61 69 6e 48 65 69 67 68 74 5b 50 4c 41 54 | .......2float.terrainHeight[PLAT |
| 112c0 | 46 4f 52 4d 5f 53 49 5a 45 5d 5b 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 5d 3b 00 00 00 00 00 00 | FORM_SIZE][PLATFORM_SIZE];...... |
| 112e0 | 00 10 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 00 00 00 11 20 20 20 20 66 6c 6f 61 74 20 | ..typedef.struct.{........float. |
| 11300 | 74 6f 70 5b 33 5d 3b 00 00 00 12 20 20 20 20 66 6c 6f 61 74 20 73 69 64 65 5b 33 5d 3b 00 00 00 | top[3];........float.side[3];... |
| 11320 | 14 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 5b 33 5d 3b 00 00 00 0d 7d 20 42 6c 6f 63 6b | .....float.bottom[3];....}.Block |
| 11340 | 53 74 79 6c 65 3b 00 00 00 00 00 00 00 19 42 6c 6f 63 6b 53 74 79 6c 65 20 67 72 61 73 73 42 6c | Style;........BlockStyle.grassBl |
| 11360 | 6f 63 6b 20 3d 20 7b 00 00 00 1a 20 20 20 20 7b 30 2e 32 35 66 2c 20 30 2e 37 35 66 2c 20 30 2e | ock.=.{........{0.25f,.0.75f,.0. |
| 11380 | 31 35 66 7d 2c 00 00 00 1a 20 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e 33 35 66 2c 20 30 2e 31 30 | 15f},........{0.50f,.0.35f,.0.10 |
| 113a0 | 66 7d 2c 00 00 00 19 20 20 20 20 7b 30 2e 34 30 66 2c 20 30 2e 32 35 66 2c 20 30 2e 30 38 66 7d | f},........{0.40f,.0.25f,.0.08f} |
| 113c0 | 00 00 00 02 7d 3b 00 00 00 00 00 00 00 19 42 6c 6f 63 6b 53 74 79 6c 65 20 73 74 6f 6e 65 42 6c | ....};........BlockStyle.stoneBl |
| 113e0 | 6f 63 6b 20 3d 20 7b 00 00 00 1a 20 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e 35 30 66 2c 20 30 2e | ock.=.{........{0.50f,.0.50f,.0. |
| 11400 | 35 30 66 7d 2c 00 00 00 1a 20 20 20 20 7b 30 2e 34 35 66 2c 20 30 2e 34 35 66 2c 20 30 2e 34 35 | 50f},........{0.45f,.0.45f,.0.45 |
| 11420 | 66 7d 2c 00 00 00 19 20 20 20 20 7b 30 2e 33 35 66 2c 20 30 2e 33 35 66 2c 20 30 2e 33 35 66 7d | f},........{0.35f,.0.35f,.0.35f} |
| 11440 | 00 00 00 02 7d 3b 00 00 00 00 00 00 00 18 42 6c 6f 63 6b 53 74 79 6c 65 20 64 69 72 74 42 6c 6f | ....};........BlockStyle.dirtBlo |
| 11460 | 63 6b 20 3d 20 7b 00 00 00 1a 20 20 20 20 7b 30 2e 35 35 66 2c 20 30 2e 34 30 66 2c 20 30 2e 32 | ck.=.{........{0.55f,.0.40f,.0.2 |
| 11480 | 30 66 7d 2c 00 00 00 1a 20 20 20 20 7b 30 2e 35 30 66 2c 20 30 2e 33 35 66 2c 20 30 2e 31 38 66 | 0f},........{0.50f,.0.35f,.0.18f |
| 114a0 | 7d 2c 00 00 00 19 20 20 20 20 7b 30 2e 34 30 66 2c 20 30 2e 32 38 66 2c 20 30 2e 31 35 66 7d 00 | },........{0.40f,.0.28f,.0.15f}. |
| 114c0 | 00 00 02 7d 3b 00 00 00 00 00 00 00 18 42 6c 6f 63 6b 53 74 79 6c 65 20 73 61 6e 64 42 6c 6f 63 | ...};........BlockStyle.sandBloc |
| 114e0 | 6b 20 3d 20 7b 00 00 00 1a 20 20 20 20 7b 30 2e 38 35 66 2c 20 30 2e 38 30 66 2c 20 30 2e 35 30 | k.=.{........{0.85f,.0.80f,.0.50 |
| 11500 | 66 7d 2c 00 00 00 1a 20 20 20 20 7b 30 2e 37 35 66 2c 20 30 2e 37 30 66 2c 20 30 2e 34 30 66 7d | f},........{0.75f,.0.70f,.0.40f} |
| 11520 | 2c 00 00 00 19 20 20 20 20 7b 30 2e 36 35 66 2c 20 30 2e 36 30 66 2c 20 30 2e 33 35 66 7d 00 00 | ,........{0.65f,.0.60f,.0.35f}.. |
| 11540 | 00 02 7d 3b 00 00 00 00 00 00 00 1b 66 6c 6f 61 74 20 6e 6f 69 73 65 28 69 6e 74 20 78 2c 20 69 | ..};........float.noise(int.x,.i |
| 11560 | 6e 74 20 79 29 20 7b 00 00 00 17 20 20 20 20 69 6e 74 20 6e 20 3d 20 78 20 2b 20 79 20 2a 20 35 | nt.y).{........int.n.=.x.+.y.*.5 |
| 11580 | 37 3b 00 00 00 16 20 20 20 20 6e 20 3d 20 28 6e 20 3c 3c 20 31 33 29 20 5e 20 6e 3b 00 00 00 5f | 7;........n.=.(n.<<.13).^.n;..._ |
| 115a0 | 20 20 20 20 72 65 74 75 72 6e 20 28 31 2e 30 66 20 2d 20 28 28 6e 20 2a 20 28 6e 20 2a 20 6e 20 | ....return.(1.0f.-.((n.*.(n.*.n. |
| 115c0 | 2a 20 31 35 37 33 31 20 2b 20 37 38 39 32 32 31 29 20 2b 20 31 33 37 36 33 31 32 35 38 39 29 20 | *.15731.+.789221).+.1376312589). |
| 115e0 | 26 20 30 78 37 66 66 66 66 66 66 66 29 20 2f 20 31 30 37 33 37 34 31 38 32 34 2e 30 66 29 3b 00 | &.0x7fffffff)./.1073741824.0f);. |
| 11600 | 00 00 01 7d 00 00 00 00 00 00 00 21 66 6c 6f 61 74 20 73 6d 6f 6f 74 68 4e 6f 69 73 65 28 69 6e | ...}.......!float.smoothNoise(in |
| 11620 | 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 64 20 20 20 20 66 6c 6f 61 74 20 63 6f 72 6e 65 | t.x,.int.y).{...d....float.corne |
| 11640 | 72 73 20 3d 20 28 6e 6f 69 73 65 28 78 2d 31 2c 20 79 2d 31 29 20 2b 20 6e 6f 69 73 65 28 78 2b | rs.=.(noise(x-1,.y-1).+.noise(x+ |
| 11660 | 31 2c 20 79 2d 31 29 20 2b 20 6e 6f 69 73 65 28 78 2d 31 2c 20 79 2b 31 29 20 2b 20 6e 6f 69 73 | 1,.y-1).+.noise(x-1,.y+1).+.nois |
| 11680 | 65 28 78 2b 31 2c 20 79 2b 31 29 29 20 2f 20 31 36 2e 30 66 3b 00 00 00 59 20 20 20 20 66 6c 6f | e(x+1,.y+1))./.16.0f;...Y....flo |
| 116a0 | 61 74 20 73 69 64 65 73 20 3d 20 28 6e 6f 69 73 65 28 78 2d 31 2c 20 79 29 20 2b 20 6e 6f 69 73 | at.sides.=.(noise(x-1,.y).+.nois |
| 116c0 | 65 28 78 2b 31 2c 20 79 29 20 2b 20 6e 6f 69 73 65 28 78 2c 20 79 2d 31 29 20 2b 20 6e 6f 69 73 | e(x+1,.y).+.noise(x,.y-1).+.nois |
| 116e0 | 65 28 78 2c 20 79 2b 31 29 29 20 2f 20 38 2e 30 66 3b 00 00 00 26 20 20 20 20 66 6c 6f 61 74 20 | e(x,.y+1))./.8.0f;...&....float. |
| 11700 | 63 65 6e 74 65 72 20 3d 20 6e 6f 69 73 65 28 78 2c 20 79 29 20 2f 20 34 2e 30 66 3b 00 00 00 24 | center.=.noise(x,.y)./.4.0f;...$ |
| 11720 | 20 20 20 20 72 65 74 75 72 6e 20 63 6f 72 6e 65 72 73 20 2b 20 73 69 64 65 73 20 2b 20 63 65 6e | ....return.corners.+.sides.+.cen |
| 11740 | 74 65 72 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2b 66 6c 6f 61 74 20 69 6e 74 65 72 70 6f 6c 61 | ter;....}.......+float.interpola |
| 11760 | 74 65 64 4e 6f 69 73 65 28 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 20 79 29 20 7b 00 00 00 16 | tedNoise(float.x,.float.y).{.... |
| 11780 | 20 20 20 20 69 6e 74 20 69 6e 74 58 20 3d 20 28 69 6e 74 29 78 3b 00 00 00 1b 20 20 20 20 66 6c | ....int.intX.=.(int)x;........fl |
| 117a0 | 6f 61 74 20 66 72 61 63 58 20 3d 20 78 20 2d 20 69 6e 74 58 3b 00 00 00 16 20 20 20 20 69 6e 74 | oat.fracX.=.x.-.intX;........int |
| 117c0 | 20 69 6e 74 59 20 3d 20 28 69 6e 74 29 79 3b 00 00 00 1b 20 20 20 20 66 6c 6f 61 74 20 66 72 61 | .intY.=.(int)y;........float.fra |
| 117e0 | 63 59 20 3d 20 79 20 2d 20 69 6e 74 59 3b 00 00 00 04 20 20 20 20 00 00 00 27 20 20 20 20 66 6c | cY.=.y.-.intY;...........'....fl |
| 11800 | 6f 61 74 20 76 31 20 3d 20 73 6d 6f 6f 74 68 4e 6f 69 73 65 28 69 6e 74 58 2c 20 69 6e 74 59 29 | oat.v1.=.smoothNoise(intX,.intY) |
| 11820 | 3b 00 00 00 2b 20 20 20 20 66 6c 6f 61 74 20 76 32 20 3d 20 73 6d 6f 6f 74 68 4e 6f 69 73 65 28 | ;...+....float.v2.=.smoothNoise( |
| 11840 | 69 6e 74 58 20 2b 20 31 2c 20 69 6e 74 59 29 3b 00 00 00 2b 20 20 20 20 66 6c 6f 61 74 20 76 33 | intX.+.1,.intY);...+....float.v3 |
| 11860 | 20 3d 20 73 6d 6f 6f 74 68 4e 6f 69 73 65 28 69 6e 74 58 2c 20 69 6e 74 59 20 2b 20 31 29 3b 00 | .=.smoothNoise(intX,.intY.+.1);. |
| 11880 | 00 00 2f 20 20 20 20 66 6c 6f 61 74 20 76 34 20 3d 20 73 6d 6f 6f 74 68 4e 6f 69 73 65 28 69 6e | ../....float.v4.=.smoothNoise(in |
| 118a0 | 74 58 20 2b 20 31 2c 20 69 6e 74 59 20 2b 20 31 29 3b 00 00 00 04 20 20 20 20 00 00 00 26 20 20 | tX.+.1,.intY.+.1);...........&.. |
| 118c0 | 20 20 66 6c 6f 61 74 20 69 31 20 3d 20 76 31 20 2b 20 28 76 32 20 2d 20 76 31 29 20 2a 20 66 72 | ..float.i1.=.v1.+.(v2.-.v1).*.fr |
| 118e0 | 61 63 58 3b 00 00 00 26 20 20 20 20 66 6c 6f 61 74 20 69 32 20 3d 20 76 33 20 2b 20 28 76 34 20 | acX;...&....float.i2.=.v3.+.(v4. |
| 11900 | 2d 20 76 33 29 20 2a 20 66 72 61 63 58 3b 00 00 00 04 20 20 20 20 00 00 00 22 20 20 20 20 72 65 | -.v3).*.fracX;..........."....re |
| 11920 | 74 75 72 6e 20 69 31 20 2b 20 28 69 32 20 2d 20 69 31 29 20 2a 20 66 72 61 63 59 3b 00 00 00 01 | turn.i1.+.(i2.-.i1).*.fracY;.... |
| 11940 | 7d 00 00 00 00 00 00 00 26 66 6c 6f 61 74 20 67 65 74 54 65 72 72 61 69 6e 48 65 69 67 68 74 28 | }.......&float.getTerrainHeight( |
| 11960 | 69 6e 74 20 78 2c 20 69 6e 74 20 7a 29 20 7b 00 00 00 18 20 20 20 20 66 6c 6f 61 74 20 73 63 61 | int.x,.int.z).{........float.sca |
| 11980 | 6c 65 20 3d 20 30 2e 30 33 66 3b 00 00 00 42 20 20 20 20 66 6c 6f 61 74 20 68 65 69 67 68 74 20 | le.=.0.03f;...B....float.height. |
| 119a0 | 3d 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 4e 6f 69 73 65 28 78 20 2a 20 73 63 61 6c 65 2c 20 7a | =.interpolatedNoise(x.*.scale,.z |
| 119c0 | 20 2a 20 73 63 61 6c 65 29 20 2a 20 36 2e 30 66 3b 00 00 00 45 20 20 20 20 68 65 69 67 68 74 20 | .*.scale).*.6.0f;...E....height. |
| 119e0 | 2b 3d 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 4e 6f 69 73 65 28 78 20 2a 20 73 63 61 6c 65 20 2a | +=.interpolatedNoise(x.*.scale.* |
| 11a00 | 20 32 2c 20 7a 20 2a 20 73 63 61 6c 65 20 2a 20 32 29 20 2a 20 33 2e 30 66 3b 00 00 00 45 20 20 | .2,.z.*.scale.*.2).*.3.0f;...E.. |
| 11a20 | 20 20 68 65 69 67 68 74 20 2b 3d 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 4e 6f 69 73 65 28 78 20 | ..height.+=.interpolatedNoise(x. |
| 11a40 | 2a 20 73 63 61 6c 65 20 2a 20 34 2c 20 7a 20 2a 20 73 63 61 6c 65 20 2a 20 34 29 20 2a 20 31 2e | *.scale.*.4,.z.*.scale.*.4).*.1. |
| 11a60 | 35 66 3b 00 00 00 04 20 20 20 20 00 00 00 43 20 20 20 20 66 6c 6f 61 74 20 64 69 73 74 46 72 6f | 5f;...........C....float.distFro |
| 11a80 | 6d 43 65 6e 74 65 72 20 3d 20 73 71 72 74 66 28 78 2a 78 20 2b 20 7a 2a 7a 29 20 2f 20 28 50 4c | mCenter.=.sqrtf(x*x.+.z*z)./.(PL |
| 11aa0 | 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e 30 66 29 3b 00 00 00 20 20 20 20 20 69 66 20 28 64 69 | ATFORM_SIZE/2.0f);........if.(di |
| 11ac0 | 73 74 46 72 6f 6d 43 65 6e 74 65 72 20 3e 20 30 2e 37 66 29 20 7b 00 00 00 32 20 20 20 20 20 20 | stFromCenter.>.0.7f).{...2...... |
| 11ae0 | 20 20 68 65 69 67 68 74 20 2d 3d 20 28 64 69 73 74 46 72 6f 6d 43 65 6e 74 65 72 20 2d 20 30 2e | ..height.-=.(distFromCenter.-.0. |
| 11b00 | 37 66 29 20 2a 20 31 30 2e 30 66 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 | 7f).*.10.0f;........}........... |
| 11b20 | 12 20 20 20 20 72 65 74 75 72 6e 20 68 65 69 67 68 74 3b 00 00 00 01 7d 00 00 00 00 00 00 00 18 | .....return.height;....}........ |
| 11b40 | 76 6f 69 64 20 67 65 6e 65 72 61 74 65 54 65 72 72 61 69 6e 28 29 20 7b 00 00 00 21 20 20 20 20 | void.generateTerrain().{...!.... |
| 11b60 | 69 6e 74 20 68 61 6c 66 20 3d 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 3b 00 00 00 | int.half.=.PLATFORM_SIZE./.2;... |
| 11b80 | 2d 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 50 4c 41 54 46 4f 52 | -....for.(int.i.=.0;.i.<.PLATFOR |
| 11ba0 | 4d 5f 53 49 5a 45 3b 20 69 2b 2b 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 | M_SIZE;.i++).{...1........for.(i |
| 11bc0 | 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 3b 20 6a 2b 2b | nt.j.=.0;.j.<.PLATFORM_SIZE;.j++ |
| 11be0 | 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 77 6f 72 6c 64 58 20 3d 20 | ).{..."............int.worldX.=. |
| 11c00 | 69 20 2d 20 68 61 6c 66 3b 00 00 00 22 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 77 6f 72 | i.-.half;..."............int.wor |
| 11c20 | 6c 64 5a 20 3d 20 6a 20 2d 20 68 61 6c 66 3b 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 20 74 | ldZ.=.j.-.half;...C............t |
| 11c40 | 65 72 72 61 69 6e 48 65 69 67 68 74 5b 69 5d 5b 6a 5d 20 3d 20 67 65 74 54 65 72 72 61 69 6e 48 | errainHeight[i][j].=.getTerrainH |
| 11c60 | 65 69 67 68 74 28 77 6f 72 6c 64 58 2c 20 77 6f 72 6c 64 5a 29 3b 00 00 00 09 20 20 20 20 20 20 | eight(worldX,.worldZ);.......... |
| 11c80 | 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 2d 66 6c 6f 61 74 20 67 | ..}........}....}.......-float.g |
| 11ca0 | 65 74 48 65 69 67 68 74 41 74 50 6f 73 69 74 69 6f 6e 28 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 | etHeightAtPosition(float.x,.floa |
| 11cc0 | 74 20 7a 29 20 7b 00 00 00 21 20 20 20 20 69 6e 74 20 68 61 6c 66 20 3d 20 50 4c 41 54 46 4f 52 | t.z).{...!....int.half.=.PLATFOR |
| 11ce0 | 4d 5f 53 49 5a 45 20 2f 20 32 3b 00 00 00 20 20 20 20 20 69 6e 74 20 67 72 69 64 58 20 3d 20 28 | M_SIZE./.2;........int.gridX.=.( |
| 11d00 | 69 6e 74 29 28 78 20 2b 20 68 61 6c 66 29 3b 00 00 00 20 20 20 20 20 69 6e 74 20 67 72 69 64 5a | int)(x.+.half);........int.gridZ |
| 11d20 | 20 3d 20 28 69 6e 74 29 28 7a 20 2b 20 68 61 6c 66 29 3b 00 00 00 04 20 20 20 20 00 00 00 5d 20 | .=.(int)(z.+.half);...........]. |
| 11d40 | 20 20 20 69 66 20 28 67 72 69 64 58 20 3c 20 30 20 7c 7c 20 67 72 69 64 58 20 3e 3d 20 50 4c 41 | ...if.(gridX.<.0.||.gridX.>=.PLA |
| 11d60 | 54 46 4f 52 4d 5f 53 49 5a 45 20 2d 20 31 20 7c 7c 20 67 72 69 64 5a 20 3c 20 30 20 7c 7c 20 67 | TFORM_SIZE.-.1.||.gridZ.<.0.||.g |
| 11d80 | 72 69 64 5a 20 3e 3d 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2d 20 31 29 20 7b 00 00 00 14 | ridZ.>=.PLATFORM_SIZE.-.1).{.... |
| 11da0 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 2e 30 66 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | ........return.0.0f;........}... |
| 11dc0 | 04 20 20 20 20 00 00 00 25 20 20 20 20 66 6c 6f 61 74 20 66 72 61 63 58 20 3d 20 28 78 20 2b 20 | ........%....float.fracX.=.(x.+. |
| 11de0 | 68 61 6c 66 29 20 2d 20 67 72 69 64 58 3b 00 00 00 25 20 20 20 20 66 6c 6f 61 74 20 66 72 61 63 | half).-.gridX;...%....float.frac |
| 11e00 | 5a 20 3d 20 28 7a 20 2b 20 68 61 6c 66 29 20 2d 20 67 72 69 64 5a 3b 00 00 00 04 20 20 20 20 00 | Z.=.(z.+.half).-.gridZ;......... |
| 11e20 | 00 00 2c 20 20 20 20 66 6c 6f 61 74 20 68 30 30 20 3d 20 74 65 72 72 61 69 6e 48 65 69 67 68 74 | ..,....float.h00.=.terrainHeight |
| 11e40 | 5b 67 72 69 64 58 5d 5b 67 72 69 64 5a 5d 3b 00 00 00 2e 20 20 20 20 66 6c 6f 61 74 20 68 31 30 | [gridX][gridZ];........float.h10 |
| 11e60 | 20 3d 20 74 65 72 72 61 69 6e 48 65 69 67 68 74 5b 67 72 69 64 58 2b 31 5d 5b 67 72 69 64 5a 5d | .=.terrainHeight[gridX+1][gridZ] |
| 11e80 | 3b 00 00 00 2e 20 20 20 20 66 6c 6f 61 74 20 68 30 31 20 3d 20 74 65 72 72 61 69 6e 48 65 69 67 | ;........float.h01.=.terrainHeig |
| 11ea0 | 68 74 5b 67 72 69 64 58 5d 5b 67 72 69 64 5a 2b 31 5d 3b 00 00 00 30 20 20 20 20 66 6c 6f 61 74 | ht[gridX][gridZ+1];...0....float |
| 11ec0 | 20 68 31 31 20 3d 20 74 65 72 72 61 69 6e 48 65 69 67 68 74 5b 67 72 69 64 58 2b 31 5d 5b 67 72 | .h11.=.terrainHeight[gridX+1][gr |
| 11ee0 | 69 64 5a 2b 31 5d 3b 00 00 00 04 20 20 20 20 00 00 00 29 20 20 20 20 66 6c 6f 61 74 20 68 30 20 | idZ+1];...........)....float.h0. |
| 11f00 | 3d 20 68 30 30 20 2b 20 28 68 31 30 20 2d 20 68 30 30 29 20 2a 20 66 72 61 63 58 3b 00 00 00 29 | =.h00.+.(h10.-.h00).*.fracX;...) |
| 11f20 | 20 20 20 20 66 6c 6f 61 74 20 68 31 20 3d 20 68 30 31 20 2b 20 28 68 31 31 20 2d 20 68 30 31 29 | ....float.h1.=.h01.+.(h11.-.h01) |
| 11f40 | 20 2a 20 66 72 61 63 58 3b 00 00 00 04 20 20 20 20 00 00 00 22 20 20 20 20 72 65 74 75 72 6e 20 | .*.fracX;..........."....return. |
| 11f60 | 68 30 20 2b 20 28 68 31 20 2d 20 68 30 29 20 2a 20 66 72 61 63 5a 3b 00 00 00 01 7d 00 00 00 00 | h0.+.(h1.-.h0).*.fracZ;....}.... |
| 11f80 | 00 00 00 0f 76 6f 69 64 20 69 6e 69 74 47 4c 28 29 20 7b 00 00 00 2c 20 20 20 20 67 6c 43 6c 65 | ....void.initGL().{...,....glCle |
| 11fa0 | 61 72 43 6f 6c 6f 72 28 30 2e 35 33 66 2c 20 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 | arColor(0.53f,.0.81f,.0.98f,.1.0 |
| 11fc0 | 66 29 3b 00 00 00 1c 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 44 45 50 54 48 5f 54 45 53 | f);........glEnable(GL_DEPTH_TES |
| 11fe0 | 54 29 3b 00 00 00 1b 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 43 55 4c 4c 5f 46 41 43 45 | T);........glEnable(GL_CULL_FACE |
| 12000 | 29 3b 00 00 00 18 20 20 20 20 67 6c 43 75 6c 6c 46 61 63 65 28 47 4c 5f 42 41 43 4b 29 3b 00 00 | );........glCullFace(GL_BACK);.. |
| 12020 | 00 15 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 46 4f 47 29 3b 00 00 00 23 20 20 20 20 67 | ......glEnable(GL_FOG);...#....g |
| 12040 | 6c 46 6f 67 69 28 47 4c 5f 46 4f 47 5f 4d 4f 44 45 2c 20 47 4c 5f 4c 49 4e 45 41 52 29 3b 00 00 | lFogi(GL_FOG_MODE,.GL_LINEAR);.. |
| 12060 | 00 2f 20 20 20 20 67 6c 46 6f 67 66 28 47 4c 5f 46 4f 47 5f 53 54 41 52 54 2c 20 50 4c 41 54 46 | ./....glFogf(GL_FOG_START,.PLATF |
| 12080 | 4f 52 4d 5f 53 49 5a 45 20 2a 20 30 2e 36 66 29 3b 00 00 00 2d 20 20 20 20 67 6c 46 6f 67 66 28 | ORM_SIZE.*.0.6f);...-....glFogf( |
| 120a0 | 47 4c 5f 46 4f 47 5f 45 4e 44 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 31 2e 33 66 | GL_FOG_END,.PLATFORM_SIZE.*.1.3f |
| 120c0 | 29 3b 00 00 00 33 20 20 20 20 66 6c 6f 61 74 20 66 6f 67 43 6f 6c 6f 72 5b 5d 20 3d 20 7b 30 2e | );...3....float.fogColor[].=.{0. |
| 120e0 | 35 33 66 2c 20 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 66 7d 3b 00 00 00 24 20 20 20 | 53f,.0.81f,.0.98f,.1.0f};...$... |
| 12100 | 20 67 6c 46 6f 67 66 76 28 47 4c 5f 46 4f 47 5f 43 4f 4c 4f 52 2c 20 66 6f 67 43 6f 6c 6f 72 29 | .glFogfv(GL_FOG_COLOR,.fogColor) |
| 12120 | 3b 00 00 00 00 00 00 00 31 20 20 20 20 47 4c 66 6c 6f 61 74 20 61 6d 62 69 65 6e 74 5b 5d 20 3d | ;.......1....GLfloat.ambient[].= |
| 12140 | 20 7b 30 2e 36 66 2c 20 30 2e 36 66 2c 20 30 2e 36 66 2c 20 31 2e 30 66 7d 3b 00 00 00 31 20 20 | .{0.6f,.0.6f,.0.6f,.1.0f};...1.. |
| 12160 | 20 20 47 4c 66 6c 6f 61 74 20 64 69 66 66 75 73 65 5b 5d 20 3d 20 7b 30 2e 38 66 2c 20 30 2e 38 | ..GLfloat.diffuse[].=.{0.8f,.0.8 |
| 12180 | 66 2c 20 30 2e 37 66 2c 20 31 2e 30 66 7d 3b 00 00 00 57 20 20 20 20 47 4c 66 6c 6f 61 74 20 6c | f,.0.7f,.1.0f};...W....GLfloat.l |
| 121a0 | 69 67 68 74 50 6f 73 5b 5d 20 3d 20 7b 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e 30 66 2c | ightPos[].=.{PLATFORM_SIZE/2.0f, |
| 121c0 | 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 2f 32 2e | .PLATFORM_SIZE,.PLATFORM_SIZE/2. |
| 121e0 | 30 66 2c 20 31 2e 30 66 7d 3b 00 00 00 00 00 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 | 0f,.1.0f};............glEnable(G |
| 12200 | 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 18 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f | L_LIGHTING);........glEnable(GL_ |
| 12220 | 4c 49 47 48 54 30 29 3b 00 00 00 2e 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 | LIGHT0);........glLightfv(GL_LIG |
| 12240 | 48 54 30 2c 20 47 4c 5f 41 4d 42 49 45 4e 54 2c 20 61 6d 62 69 65 6e 74 29 3b 00 00 00 2e 20 20 | HT0,.GL_AMBIENT,.ambient);...... |
| 12260 | 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 44 49 46 46 55 53 | ..glLightfv(GL_LIGHT0,.GL_DIFFUS |
| 12280 | 45 2c 20 64 69 66 66 75 73 65 29 3b 00 00 00 30 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c | E,.diffuse);...0....glLightfv(GL |
| 122a0 | 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 50 4f 53 49 54 49 4f 4e 2c 20 6c 69 67 68 74 50 6f 73 29 3b | _LIGHT0,.GL_POSITION,.lightPos); |
| 122c0 | 00 00 00 01 7d 00 00 00 00 00 00 00 53 76 6f 69 64 20 64 72 61 77 46 61 63 65 28 66 6c 6f 61 74 | ....}.......Svoid.drawFace(float |
| 122e0 | 20 76 30 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 31 5b 33 5d 2c 20 66 6c 6f 61 74 20 76 32 5b 33 5d | .v0[3],.float.v1[3],.float.v2[3] |
| 12300 | 2c 20 66 6c 6f 61 74 20 76 33 5b 33 5d 2c 20 66 6c 6f 61 74 20 63 6f 6c 6f 72 5b 33 5d 29 20 7b | ,.float.v3[3],.float.color[3]).{ |
| 12320 | 00 00 00 44 20 20 20 20 66 6c 6f 61 74 20 64 61 72 6b 65 72 5b 33 5d 20 3d 20 7b 63 6f 6c 6f 72 | ...D....float.darker[3].=.{color |
| 12340 | 5b 30 5d 2a 30 2e 37 66 2c 20 63 6f 6c 6f 72 5b 31 5d 2a 30 2e 37 66 2c 20 63 6f 6c 6f 72 5b 32 | [0]*0.7f,.color[1]*0.7f,.color[2 |
| 12360 | 5d 2a 30 2e 37 66 7d 3b 00 00 00 04 20 20 20 20 00 00 00 16 20 20 20 20 67 6c 42 65 67 69 6e 28 | ]*0.7f};................glBegin( |
| 12380 | 47 4c 5f 51 55 41 44 53 29 3b 00 00 00 16 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 76 28 63 6f 6c | GL_QUADS);........glColor3fv(col |
| 123a0 | 6f 72 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 30 29 3b 00 00 00 14 | or);........glVertex3fv(v0);.... |
| 123c0 | 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 31 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 | ....glVertex3fv(v1);........glVe |
| 123e0 | 72 74 65 78 33 66 76 28 76 32 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 | rtex3fv(v2);........glVertex3fv( |
| 12400 | 76 33 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 00 00 00 00 1b 20 20 20 20 | v3);........glEnd();............ |
| 12420 | 67 6c 44 69 73 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 16 20 20 20 20 67 | glDisable(GL_LIGHTING);........g |
| 12440 | 6c 4c 69 6e 65 57 69 64 74 68 28 31 2e 30 66 29 3b 00 00 00 1a 20 20 20 20 67 6c 42 65 67 69 6e | lLineWidth(1.0f);........glBegin |
| 12460 | 28 47 4c 5f 4c 49 4e 45 5f 4c 4f 4f 50 29 3b 00 00 00 17 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 | (GL_LINE_LOOP);........glColor3f |
| 12480 | 76 28 64 61 72 6b 65 72 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 30 | v(darker);........glVertex3fv(v0 |
| 124a0 | 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 31 29 3b 00 00 00 14 20 20 | );........glVertex3fv(v1);...... |
| 124c0 | 20 20 67 6c 56 65 72 74 65 78 33 66 76 28 76 32 29 3b 00 00 00 14 20 20 20 20 67 6c 56 65 72 74 | ..glVertex3fv(v2);........glVert |
| 124e0 | 65 78 33 66 76 28 76 33 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 1a 20 20 | ex3fv(v3);........glEnd();...... |
| 12500 | 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 01 7d 00 00 00 | ..glEnable(GL_LIGHTING);....}... |
| 12520 | 00 00 00 00 3c 76 6f 69 64 20 64 72 61 77 43 75 62 65 28 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 | ....<void.drawCube(float.x,.floa |
| 12540 | 74 20 79 2c 20 66 6c 6f 61 74 20 7a 2c 20 42 6c 6f 63 6b 53 74 79 6c 65 20 73 74 79 6c 65 29 20 | t.y,.float.z,.BlockStyle.style). |
| 12560 | 7b 00 00 00 13 20 20 20 20 67 6c 50 75 73 68 4d 61 74 72 69 78 28 29 3b 00 00 00 1a 20 20 20 20 | {........glPushMatrix();........ |
| 12580 | 67 6c 54 72 61 6e 73 6c 61 74 65 66 28 78 2c 20 79 2c 20 7a 29 3b 00 00 00 00 00 00 00 17 20 20 | glTranslatef(x,.y,.z);.......... |
| 125a0 | 20 20 66 6c 6f 61 74 20 74 6f 70 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 | ..float.top[4][3].=.{.../....... |
| 125c0 | 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 | .{0.0f,.1.0f,.0.0f},.{1.0f,.1.0f |
| 125e0 | 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c | ,.0.0f},............{1.0f,.1.0f, |
| 12600 | 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 | .1.0f},.{0.0f,.1.0f,.1.0f}...... |
| 12620 | 20 20 7d 3b 00 00 00 1a 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 5b 34 5d 5b 33 5d 20 3d | ..};........float.bottom[4][3].= |
| 12640 | 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d | .{.../........{0.0f,.0.0f,.1.0f} |
| 12660 | 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 | ,.{1.0f,.0.0f,.1.0f},........... |
| 12680 | 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 | .{1.0f,.0.0f,.0.0f},.{0.0f,.0.0f |
| 126a0 | 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 74 20 66 | ,.0.0f}........};........float.f |
| 126c0 | 72 6f 6e 74 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c | ront[4][3].=.{.../........{0.0f, |
| 126e0 | 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d | .0.0f,.0.0f},.{1.0f,.0.0f,.0.0f} |
| 12700 | 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c | ,............{1.0f,.1.0f,.0.0f}, |
| 12720 | 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 | .{0.0f,.1.0f,.0.0f}........};... |
| 12740 | 18 20 20 20 20 66 6c 6f 61 74 20 62 61 63 6b 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 | .....float.back[4][3].=.{.../... |
| 12760 | 20 20 20 20 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 | .....{1.0f,.0.0f,.1.0f},.{0.0f,. |
| 12780 | 30 2e 30 66 2c 20 31 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 31 | 0.0f,.1.0f},............{0.0f,.1 |
| 127a0 | 2e 30 66 2c 20 31 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 7d 00 00 | .0f,.1.0f},.{1.0f,.1.0f,.1.0f}.. |
| 127c0 | 00 06 20 20 20 20 7d 3b 00 00 00 18 20 20 20 20 66 6c 6f 61 74 20 6c 65 66 74 5b 34 5d 5b 33 5d | ......};........float.left[4][3] |
| 127e0 | 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 | .=.{.../........{0.0f,.0.0f,.1.0 |
| 12800 | 66 7d 2c 20 7b 30 2e 30 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 00 00 00 2e 20 20 20 20 20 | f},.{0.0f,.0.0f,.0.0f},......... |
| 12820 | 20 20 20 7b 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 30 2e 30 66 2c 20 31 2e | ...{0.0f,.1.0f,.0.0f},.{0.0f,.1. |
| 12840 | 30 66 2c 20 31 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 19 20 20 20 20 66 6c 6f 61 74 | 0f,.1.0f}........};........float |
| 12860 | 20 72 69 67 68 74 5b 34 5d 5b 33 5d 20 3d 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 7b 31 2e 30 | .right[4][3].=.{.../........{1.0 |
| 12880 | 66 2c 20 30 2e 30 66 2c 20 30 2e 30 66 7d 2c 20 7b 31 2e 30 66 2c 20 30 2e 30 66 2c 20 31 2e 30 | f,.0.0f,.0.0f},.{1.0f,.0.0f,.1.0 |
| 128a0 | 66 7d 2c 00 00 00 2e 20 20 20 20 20 20 20 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 | f},............{1.0f,.1.0f,.1.0f |
| 128c0 | 7d 2c 20 7b 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 7d 00 00 00 06 20 20 20 20 7d 3b 00 | },.{1.0f,.1.0f,.0.0f}........};. |
| 128e0 | 00 00 00 00 00 00 38 20 20 20 20 64 72 61 77 46 61 63 65 28 74 6f 70 5b 30 5d 2c 20 74 6f 70 5b | ......8....drawFace(top[0],.top[ |
| 12900 | 31 5d 2c 20 74 6f 70 5b 32 5d 2c 20 74 6f 70 5b 33 5d 2c 20 73 74 79 6c 65 2e 74 6f 70 29 3b 00 | 1],.top[2],.top[3],.style.top);. |
| 12920 | 00 00 47 20 20 20 20 64 72 61 77 46 61 63 65 28 62 6f 74 74 6f 6d 5b 30 5d 2c 20 62 6f 74 74 6f | ..G....drawFace(bottom[0],.botto |
| 12940 | 6d 5b 31 5d 2c 20 62 6f 74 74 6f 6d 5b 32 5d 2c 20 62 6f 74 74 6f 6d 5b 33 5d 2c 20 73 74 79 6c | m[1],.bottom[2],.bottom[3],.styl |
| 12960 | 65 2e 62 6f 74 74 6f 6d 29 3b 00 00 00 41 20 20 20 20 64 72 61 77 46 61 63 65 28 66 72 6f 6e 74 | e.bottom);...A....drawFace(front |
| 12980 | 5b 30 5d 2c 20 66 72 6f 6e 74 5b 31 5d 2c 20 66 72 6f 6e 74 5b 32 5d 2c 20 66 72 6f 6e 74 5b 33 | [0],.front[1],.front[2],.front[3 |
| 129a0 | 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 3d 20 20 20 20 64 72 61 77 46 61 63 65 28 | ],.style.side);...=....drawFace( |
| 129c0 | 62 61 63 6b 5b 30 5d 2c 20 62 61 63 6b 5b 31 5d 2c 20 62 61 63 6b 5b 32 5d 2c 20 62 61 63 6b 5b | back[0],.back[1],.back[2],.back[ |
| 129e0 | 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 3d 20 20 20 20 64 72 61 77 46 61 63 65 | 3],.style.side);...=....drawFace |
| 12a00 | 28 6c 65 66 74 5b 30 5d 2c 20 6c 65 66 74 5b 31 5d 2c 20 6c 65 66 74 5b 32 5d 2c 20 6c 65 66 74 | (left[0],.left[1],.left[2],.left |
| 12a20 | 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 41 20 20 20 20 64 72 61 77 46 61 63 | [3],.style.side);...A....drawFac |
| 12a40 | 65 28 72 69 67 68 74 5b 30 5d 2c 20 72 69 67 68 74 5b 31 5d 2c 20 72 69 67 68 74 5b 32 5d 2c 20 | e(right[0],.right[1],.right[2],. |
| 12a60 | 72 69 67 68 74 5b 33 5d 2c 20 73 74 79 6c 65 2e 73 69 64 65 29 3b 00 00 00 00 00 00 00 12 20 20 | right[3],.style.side);.......... |
| 12a80 | 20 20 67 6c 50 6f 70 4d 61 74 72 69 78 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 15 76 6f 69 | ..glPopMatrix();....}........voi |
| 12aa0 | 64 20 64 72 61 77 50 6c 61 74 66 6f 72 6d 28 29 20 7b 00 00 00 21 20 20 20 20 69 6e 74 20 68 61 | d.drawPlatform().{...!....int.ha |
| 12ac0 | 6c 66 20 3d 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 3b 00 00 00 04 20 20 20 20 00 | lf.=.PLATFORM_SIZE./.2;......... |
| 12ae0 | 00 00 2d 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 50 4c 41 54 46 | ..-....for.(int.i.=.0;.i.<.PLATF |
| 12b00 | 4f 52 4d 5f 53 49 5a 45 3b 20 69 2b 2b 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 66 6f 72 20 | ORM_SIZE;.i++).{...1........for. |
| 12b20 | 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 3b 20 6a | (int.j.=.0;.j.<.PLATFORM_SIZE;.j |
| 12b40 | 2b 2b 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 77 6f 72 6c 64 58 20 | ++).{..."............int.worldX. |
| 12b60 | 3d 20 69 20 2d 20 68 61 6c 66 3b 00 00 00 22 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 77 | =.i.-.half;..."............int.w |
| 12b80 | 6f 72 6c 64 5a 20 3d 20 6a 20 2d 20 68 61 6c 66 3b 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 | orldZ.=.j.-.half;.../........... |
| 12ba0 | 20 66 6c 6f 61 74 20 68 65 69 67 68 74 20 3d 20 74 65 72 72 61 69 6e 48 65 69 67 68 74 5b 69 5d | .float.height.=.terrainHeight[i] |
| 12bc0 | 5b 6a 5d 3b 00 00 00 0c 20 20 20 20 20 20 20 20 20 20 20 20 00 00 00 31 20 20 20 20 20 20 20 20 | [j];...................1........ |
| 12be0 | 20 20 20 20 69 6e 74 20 62 61 73 65 48 65 69 67 68 74 20 3d 20 28 69 6e 74 29 66 6c 6f 6f 72 66 | ....int.baseHeight.=.(int)floorf |
| 12c00 | 28 68 65 69 67 68 74 29 3b 00 00 00 0c 20 20 20 20 20 20 20 20 20 20 20 20 00 00 00 3f 20 20 20 | (height);...................?... |
| 12c20 | 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 62 61 73 65 48 65 69 67 68 74 | .........for.(int.y.=.baseHeight |
| 12c40 | 20 2d 20 33 3b 20 79 20 3c 20 62 61 73 65 48 65 69 67 68 74 3b 20 79 2b 2b 29 20 7b 00 00 00 29 | .-.3;.y.<.baseHeight;.y++).{...) |
| 12c60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 79 20 3c 20 62 61 73 65 48 65 69 67 | ................if.(y.<.baseHeig |
| 12c80 | 68 74 20 2d 20 31 29 20 7b 00 00 00 51 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ht.-.1).{...Q................... |
| 12ca0 | 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 29 77 6f 72 6c 64 58 2c 20 28 66 6c 6f 61 74 29 | .drawCube((float)worldX,.(float) |
| 12cc0 | 79 2c 20 28 66 6c 6f 61 74 29 77 6f 72 6c 64 5a 2c 20 73 74 6f 6e 65 42 6c 6f 63 6b 29 3b 00 00 | y,.(float)worldZ,.stoneBlock);.. |
| 12ce0 | 00 18 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 50 20 20 | ..................}.else.{...P.. |
| 12d00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 | ..................drawCube((floa |
| 12d20 | 74 29 77 6f 72 6c 64 58 2c 20 28 66 6c 6f 61 74 29 79 2c 20 28 66 6c 6f 61 74 29 77 6f 72 6c 64 | t)worldX,.(float)y,.(float)world |
| 12d40 | 5a 2c 20 64 69 72 74 42 6c 6f 63 6b 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Z,.dirtBlock);.................. |
| 12d60 | 20 20 7d 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0c 20 20 20 20 20 20 20 20 | ..}................}............ |
| 12d80 | 20 20 20 20 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 68 65 69 67 68 74 20 3c | ....................if.(height.< |
| 12da0 | 20 31 2e 30 66 29 20 7b 00 00 00 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 | .1.0f).{...N................draw |
| 12dc0 | 43 75 62 65 28 28 66 6c 6f 61 74 29 77 6f 72 6c 64 58 2c 20 62 61 73 65 48 65 69 67 68 74 2c 20 | Cube((float)worldX,.baseHeight,. |
| 12de0 | 28 66 6c 6f 61 74 29 77 6f 72 6c 64 5a 2c 20 73 61 6e 64 42 6c 6f 63 6b 29 3b 00 00 00 14 20 20 | (float)worldZ,.sandBlock);...... |
| 12e00 | 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 4f 20 20 20 20 20 20 20 20 20 20 | ..........}.else.{...O.......... |
| 12e20 | 20 20 20 20 20 20 64 72 61 77 43 75 62 65 28 28 66 6c 6f 61 74 29 77 6f 72 6c 64 58 2c 20 62 61 | ......drawCube((float)worldX,.ba |
| 12e40 | 73 65 48 65 69 67 68 74 2c 20 28 66 6c 6f 61 74 29 77 6f 72 6c 64 5a 2c 20 67 72 61 73 73 42 6c | seHeight,.(float)worldZ,.grassBl |
| 12e60 | 6f 63 6b 29 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 20 20 | ock);................}.......... |
| 12e80 | 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 16 76 6f 69 64 20 64 72 | ..}........}....}........void.dr |
| 12ea0 | 61 77 43 72 6f 73 73 68 61 69 72 28 29 20 7b 00 00 00 20 20 20 20 20 67 6c 4d 61 74 72 69 78 4d | awCrosshair().{........glMatrixM |
| 12ec0 | 6f 64 65 28 47 4c 5f 50 52 4f 4a 45 43 54 49 4f 4e 29 3b 00 00 00 13 20 20 20 20 67 6c 50 75 73 | ode(GL_PROJECTION);........glPus |
| 12ee0 | 68 4d 61 74 72 69 78 28 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 | hMatrix();........glLoadIdentity |
| 12f00 | 28 29 3b 00 00 00 36 20 20 20 20 67 6c 4f 72 74 68 6f 28 30 2c 20 57 49 4e 44 4f 57 5f 57 49 44 | ();...6....glOrtho(0,.WINDOW_WID |
| 12f20 | 54 48 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 2c 20 30 2c 20 2d 31 2c 20 31 29 3b 00 00 00 | TH,.WINDOW_HEIGHT,.0,.-1,.1);... |
| 12f40 | 04 20 20 20 20 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 | .............glMatrixMode(GL_MOD |
| 12f60 | 45 4c 56 49 45 57 29 3b 00 00 00 13 20 20 20 20 67 6c 50 75 73 68 4d 61 74 72 69 78 28 29 3b 00 | ELVIEW);........glPushMatrix();. |
| 12f80 | 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b 00 00 00 04 20 20 20 20 | .......glLoadIdentity();........ |
| 12fa0 | 00 00 00 1b 20 20 20 20 67 6c 44 69 73 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 | ........glDisable(GL_LIGHTING);. |
| 12fc0 | 00 00 1d 20 20 20 20 67 6c 44 69 73 61 62 6c 65 28 47 4c 5f 44 45 50 54 48 5f 54 45 53 54 29 3b | .......glDisable(GL_DEPTH_TEST); |
| 12fe0 | 00 00 00 04 20 20 20 20 00 00 00 1e 20 20 20 20 69 6e 74 20 63 78 20 3d 20 57 49 4e 44 4f 57 5f | ................int.cx.=.WINDOW_ |
| 13000 | 57 49 44 54 48 20 2f 20 32 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 63 79 20 3d 20 57 49 4e 44 4f | WIDTH./.2;........int.cy.=.WINDO |
| 13020 | 57 5f 48 45 49 47 48 54 20 2f 20 32 3b 00 00 00 12 20 20 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 | W_HEIGHT./.2;........int.size.=. |
| 13040 | 31 35 3b 00 00 00 10 20 20 20 20 69 6e 74 20 67 61 70 20 3d 20 35 3b 00 00 00 04 20 20 20 20 00 | 15;........int.gap.=.5;......... |
| 13060 | 00 00 26 20 20 20 20 67 6c 43 6f 6c 6f 72 34 66 28 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 | ..&....glColor4f(1.0f,.1.0f,.1.0 |
| 13080 | 66 2c 20 30 2e 38 66 29 3b 00 00 00 16 20 20 20 20 67 6c 4c 69 6e 65 57 69 64 74 68 28 32 2e 30 | f,.0.8f);........glLineWidth(2.0 |
| 130a0 | 66 29 3b 00 00 00 04 20 20 20 20 00 00 00 16 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 4c 49 | f);................glBegin(GL_LI |
| 130c0 | 4e 45 53 29 3b 00 00 00 1e 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 20 2d 20 73 69 7a | NES);........glVertex2i(cx.-.siz |
| 130e0 | 65 2c 20 63 79 29 3b 00 00 00 1d 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 20 2d 20 67 | e,.cy);........glVertex2i(cx.-.g |
| 13100 | 61 70 2c 20 63 79 29 3b 00 00 00 1d 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 20 2b 20 | ap,.cy);........glVertex2i(cx.+. |
| 13120 | 67 61 70 2c 20 63 79 29 3b 00 00 00 1e 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 20 2b | gap,.cy);........glVertex2i(cx.+ |
| 13140 | 20 73 69 7a 65 2c 20 63 79 29 3b 00 00 00 1e 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 | .size,.cy);........glVertex2i(cx |
| 13160 | 2c 20 63 79 20 2d 20 73 69 7a 65 29 3b 00 00 00 1d 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 | ,.cy.-.size);........glVertex2i( |
| 13180 | 63 78 2c 20 63 79 20 2d 20 67 61 70 29 3b 00 00 00 1d 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 | cx,.cy.-.gap);........glVertex2i |
| 131a0 | 28 63 78 2c 20 63 79 20 2b 20 67 61 70 29 3b 00 00 00 1e 20 20 20 20 67 6c 56 65 72 74 65 78 32 | (cx,.cy.+.gap);........glVertex2 |
| 131c0 | 69 28 63 78 2c 20 63 79 20 2b 20 73 69 7a 65 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 | i(cx,.cy.+.size);........glEnd() |
| 131e0 | 3b 00 00 00 04 20 20 20 20 00 00 00 16 20 20 20 20 67 6c 50 6f 69 6e 74 53 69 7a 65 28 32 2e 30 | ;................glPointSize(2.0 |
| 13200 | 66 29 3b 00 00 00 17 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 50 4f 49 4e 54 53 29 3b 00 00 | f);........glBegin(GL_POINTS);.. |
| 13220 | 00 17 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 2c 20 63 79 29 3b 00 00 00 0c 20 20 20 | ......glVertex2i(cx,.cy);....... |
| 13240 | 20 67 6c 45 6e 64 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 1c 20 20 20 20 67 6c 45 6e 61 62 6c | .glEnd();................glEnabl |
| 13260 | 65 28 47 4c 5f 44 45 50 54 48 5f 54 45 53 54 29 3b 00 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c | e(GL_DEPTH_TEST);........glEnabl |
| 13280 | 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 04 20 20 20 20 00 00 00 20 20 20 20 20 67 | e(GL_LIGHTING);................g |
| 132a0 | 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 50 52 4f 4a 45 43 54 49 4f 4e 29 3b 00 00 00 12 20 | lMatrixMode(GL_PROJECTION);..... |
| 132c0 | 20 20 20 67 6c 50 6f 70 4d 61 74 72 69 78 28 29 3b 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 | ...glPopMatrix();........glMatri |
| 132e0 | 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 00 12 20 20 20 20 67 6c 50 6f | xMode(GL_MODELVIEW);........glPo |
| 13300 | 70 4d 61 74 72 69 78 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 10 76 6f 69 64 20 64 69 73 70 | pMatrix();....}........void.disp |
| 13320 | 6c 61 79 28 29 20 7b 00 00 00 37 20 20 20 20 67 6c 43 6c 65 61 72 28 47 4c 5f 43 4f 4c 4f 52 5f | lay().{...7....glClear(GL_COLOR_ |
| 13340 | 42 55 46 46 45 52 5f 42 49 54 20 7c 20 47 4c 5f 44 45 50 54 48 5f 42 55 46 46 45 52 5f 42 49 54 | BUFFER_BIT.|.GL_DEPTH_BUFFER_BIT |
| 13360 | 29 3b 00 00 00 04 20 20 20 20 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 | );................glMatrixMode(G |
| 13380 | 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 | L_MODELVIEW);........glLoadIdent |
| 133a0 | 69 74 79 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 51 20 20 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b | ity();...........Q....float.look |
| 133c0 | 58 20 3d 20 63 61 6d 58 20 2b 20 73 69 6e 66 28 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 | X.=.camX.+.sinf(yaw.*.M_PI./.180 |
| 133e0 | 2e 30 66 29 20 2a 20 63 6f 73 66 28 70 69 74 63 68 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 | .0f).*.cosf(pitch.*.M_PI./.180.0 |
| 13400 | 66 29 3b 00 00 00 35 20 20 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 59 20 3d 20 63 61 6d 59 20 2b 20 | f);...5....float.lookY.=.camY.+. |
| 13420 | 73 69 6e 66 28 70 69 74 63 68 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 3b 00 00 00 51 | sinf(pitch.*.M_PI./.180.0f);...Q |
| 13440 | 20 20 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 5a 20 3d 20 63 61 6d 5a 20 2d 20 63 6f 73 66 28 79 61 | ....float.lookZ.=.camZ.-.cosf(ya |
| 13460 | 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 20 2a 20 63 6f 73 66 28 70 69 74 63 68 20 | w.*.M_PI./.180.0f).*.cosf(pitch. |
| 13480 | 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 3b 00 00 00 04 20 20 20 20 00 00 00 47 20 20 20 | *.M_PI./.180.0f);...........G... |
| 134a0 | 20 67 6c 75 4c 6f 6f 6b 41 74 28 63 61 6d 58 2c 20 63 61 6d 59 2c 20 63 61 6d 5a 2c 20 6c 6f 6f | .gluLookAt(camX,.camY,.camZ,.loo |
| 134c0 | 6b 58 2c 20 6c 6f 6f 6b 59 2c 20 6c 6f 6f 6b 5a 2c 20 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e | kX,.lookY,.lookZ,.0.0f,.1.0f,.0. |
| 134e0 | 30 66 29 3b 00 00 00 04 20 20 20 20 00 00 00 13 20 20 20 20 64 72 61 77 50 6c 61 74 66 6f 72 6d | 0f);................drawPlatform |
| 13500 | 28 29 3b 00 00 00 14 20 20 20 20 64 72 61 77 43 72 6f 73 73 68 61 69 72 28 29 3b 00 00 00 04 20 | ();........drawCrosshair();..... |
| 13520 | 20 20 20 00 00 00 16 20 20 20 20 67 6c 75 74 53 77 61 70 42 75 66 66 65 72 73 28 29 3b 00 00 00 | ...........glutSwapBuffers();... |
| 13540 | 01 7d 00 00 00 00 00 00 00 1c 76 6f 69 64 20 72 65 73 68 61 70 65 28 69 6e 74 20 77 2c 20 69 6e | .}........void.reshape(int.w,.in |
| 13560 | 74 20 68 29 20 7b 00 00 00 1b 20 20 20 20 67 6c 56 69 65 77 70 6f 72 74 28 30 2c 20 30 2c 20 77 | t.h).{........glViewport(0,.0,.w |
| 13580 | 2c 20 68 29 3b 00 00 00 20 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 50 52 4f | ,.h);........glMatrixMode(GL_PRO |
| 135a0 | 4a 45 43 54 49 4f 4e 29 3b 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 | JECTION);........glLoadIdentity( |
| 135c0 | 29 3b 00 00 00 4b 20 20 20 20 67 6c 75 50 65 72 73 70 65 63 74 69 76 65 28 37 35 2e 30 2c 20 28 | );...K....gluPerspective(75.0,.( |
| 135e0 | 64 6f 75 62 6c 65 29 77 20 2f 20 28 64 6f 75 62 6c 65 29 68 2c 20 30 2e 30 35 2c 20 50 4c 41 54 | double)w./.(double)h,.0.05,.PLAT |
| 13600 | 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 32 2e 30 29 3b 00 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 | FORM_SIZE.*.2.0);........glMatri |
| 13620 | 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | xMode(GL_MODELVIEW);....}....... |
| 13640 | 34 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 44 6f 77 6e 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 | 4void.keyboardDown(unsigned.char |
| 13660 | 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 12 20 20 20 20 6b 65 79 | .key,.int.x,.int.y).{........key |
| 13680 | 73 5b 6b 65 79 5d 20 3d 20 31 3b 00 00 00 1b 20 20 20 20 69 66 20 28 6b 65 79 20 3d 3d 20 32 37 | s[key].=.1;........if.(key.==.27 |
| 136a0 | 29 20 65 78 69 74 28 30 29 3b 00 00 00 15 20 20 20 20 69 66 20 28 6b 65 79 20 3d 3d 20 27 20 27 | ).exit(0);........if.(key.==.'.' |
| 136c0 | 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 69 66 20 28 69 73 4f 6e 47 72 6f 75 6e 64 29 20 7b | ).{............if.(isOnGround).{ |
| 136e0 | 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 76 65 6c 6f 63 69 74 79 59 20 3d 20 4a 55 4d 50 | ...#............velocityY.=.JUMP |
| 13700 | 5f 46 4f 52 43 45 3b 00 00 00 1b 20 20 20 20 20 20 20 20 20 20 20 20 69 73 4f 6e 47 72 6f 75 6e | _FORCE;................isOnGroun |
| 13720 | 64 20 3d 20 30 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 | d.=.0;............}........}.... |
| 13740 | 7d 00 00 00 00 00 00 00 32 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 55 70 28 75 6e 73 69 67 6e 65 | }.......2void.keyboardUp(unsigne |
| 13760 | 64 20 63 68 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 12 20 | d.char.key,.int.x,.int.y).{..... |
| 13780 | 20 20 20 6b 65 79 73 5b 6b 65 79 5d 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1e 76 6f | ...keys[key].=.0;....}........vo |
| 137a0 | 69 64 20 6d 6f 75 73 65 4d 6f 76 65 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 2a | id.mouseMove(int.x,.int.y).{...* |
| 137c0 | 20 20 20 20 73 74 61 74 69 63 20 69 6e 74 20 63 65 6e 74 65 72 58 20 3d 20 57 49 4e 44 4f 57 5f | ....static.int.centerX.=.WINDOW_ |
| 137e0 | 57 49 44 54 48 20 2f 20 32 3b 00 00 00 2b 20 20 20 20 73 74 61 74 69 63 20 69 6e 74 20 63 65 6e | WIDTH./.2;...+....static.int.cen |
| 13800 | 74 65 72 59 20 3d 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 2f 20 32 3b 00 00 00 04 20 20 20 | terY.=.WINDOW_HEIGHT./.2;....... |
| 13820 | 20 00 00 00 19 20 20 20 20 69 66 20 28 21 6d 6f 75 73 65 43 61 70 74 75 72 65 64 29 20 7b 00 00 | .........if.(!mouseCaptured).{.. |
| 13840 | 00 2a 20 20 20 20 20 20 20 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 63 65 6e 74 65 72 | .*........glutWarpPointer(center |
| 13860 | 58 2c 20 63 65 6e 74 65 72 59 29 3b 00 00 00 1a 20 20 20 20 20 20 20 20 6d 6f 75 73 65 43 61 70 | X,.centerY);............mouseCap |
| 13880 | 74 75 72 65 64 20 3d 20 31 3b 00 00 00 0f 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 | tured.=.1;............return;... |
| 138a0 | 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 6e 74 20 64 78 20 3d 20 78 | .....}................int.dx.=.x |
| 138c0 | 20 2d 20 63 65 6e 74 65 72 58 3b 00 00 00 19 20 20 20 20 69 6e 74 20 64 79 20 3d 20 79 20 2d 20 | .-.centerX;........int.dy.=.y.-. |
| 138e0 | 63 65 6e 74 65 72 59 3b 00 00 00 04 20 20 20 20 00 00 00 1d 20 20 20 20 69 66 20 28 64 78 20 21 | centerY;................if.(dx.! |
| 13900 | 3d 20 30 20 7c 7c 20 64 79 20 21 3d 20 30 29 20 7b 00 00 00 1f 20 20 20 20 20 20 20 20 79 61 77 | =.0.||.dy.!=.0).{............yaw |
| 13920 | 20 2b 3d 20 64 78 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 00 00 21 20 20 20 20 20 20 20 20 | .+=.dx.*.MOUSE_SENS;...!........ |
| 13940 | 70 69 74 63 68 20 2b 3d 20 64 79 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 3b 00 00 00 08 20 20 20 | pitch.+=.dy.*.MOUSE_SENS;....... |
| 13960 | 20 20 20 20 20 00 00 00 29 20 20 20 20 20 20 20 20 69 66 20 28 70 69 74 63 68 20 3e 20 38 39 2e | ........)........if.(pitch.>.89. |
| 13980 | 30 66 29 20 70 69 74 63 68 20 3d 20 38 39 2e 30 66 3b 00 00 00 2b 20 20 20 20 20 20 20 20 69 66 | 0f).pitch.=.89.0f;...+........if |
| 139a0 | 20 28 70 69 74 63 68 20 3c 20 2d 38 39 2e 30 66 29 20 70 69 74 63 68 20 3d 20 2d 38 39 2e 30 66 | .(pitch.<.-89.0f).pitch.=.-89.0f |
| 139c0 | 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 29 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 | ;...............)........while.( |
| 139e0 | 79 61 77 20 3c 20 30 2e 30 66 29 20 79 61 77 20 2b 3d 20 33 36 30 2e 30 66 3b 00 00 00 2c 20 20 | yaw.<.0.0f).yaw.+=.360.0f;...,.. |
| 13a00 | 20 20 20 20 20 20 77 68 69 6c 65 20 28 79 61 77 20 3e 3d 20 33 36 30 2e 30 66 29 20 79 61 77 20 | ......while.(yaw.>=.360.0f).yaw. |
| 13a20 | 2d 3d 20 33 36 30 2e 30 66 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 2a 20 20 20 20 20 20 | -=.360.0f;...............*...... |
| 13a40 | 20 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 63 65 6e 74 65 72 58 2c 20 63 65 6e 74 65 | ..glutWarpPointer(centerX,.cente |
| 13a60 | 72 59 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 36 76 6f 69 64 20 6d | rY);........}....}.......6void.m |
| 13a80 | 6f 75 73 65 43 6c 69 63 6b 28 69 6e 74 20 62 75 74 74 6f 6e 2c 20 69 6e 74 20 73 74 61 74 65 2c | ouseClick(int.button,.int.state, |
| 13aa0 | 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 3b 20 20 20 20 69 66 20 28 62 75 74 74 | .int.x,.int.y).{...;....if.(butt |
| 13ac0 | 6f 6e 20 3d 3d 20 47 4c 55 54 5f 4c 45 46 54 5f 42 55 54 54 4f 4e 20 26 26 20 73 74 61 74 65 20 | on.==.GLUT_LEFT_BUTTON.&&.state. |
| 13ae0 | 3d 3d 20 47 4c 55 54 5f 44 4f 57 4e 29 20 7b 00 00 00 1a 20 20 20 20 20 20 20 20 6d 6f 75 73 65 | ==.GLUT_DOWN).{............mouse |
| 13b00 | 43 61 70 74 75 72 65 64 20 3d 20 30 3b 00 00 00 3d 20 20 20 20 20 20 20 20 67 6c 75 74 57 61 72 | Captured.=.0;...=........glutWar |
| 13b20 | 70 50 6f 69 6e 74 65 72 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 2f 20 32 2c 20 57 49 4e 44 4f | pPointer(WINDOW_WIDTH./.2,.WINDO |
| 13b40 | 57 5f 48 45 49 47 48 54 20 2f 20 32 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 | W_HEIGHT./.2);........}....}.... |
| 13b60 | 00 00 00 1e 76 6f 69 64 20 75 70 64 61 74 65 28 66 6c 6f 61 74 20 64 65 6c 74 61 54 69 6d 65 29 | ....void.update(float.deltaTime) |
| 13b80 | 20 7b 00 00 00 27 20 20 20 20 66 6c 6f 61 74 20 79 61 77 52 61 64 20 3d 20 79 61 77 20 2a 20 4d | .{...'....float.yawRad.=.yaw.*.M |
| 13ba0 | 5f 50 49 20 2f 20 31 38 30 2e 30 66 3b 00 00 00 22 20 20 20 20 66 6c 6f 61 74 20 66 6f 72 77 61 | _PI./.180.0f;..."....float.forwa |
| 13bc0 | 72 64 58 20 3d 20 73 69 6e 66 28 79 61 77 52 61 64 29 3b 00 00 00 23 20 20 20 20 66 6c 6f 61 74 | rdX.=.sinf(yawRad);...#....float |
| 13be0 | 20 66 6f 72 77 61 72 64 5a 20 3d 20 2d 63 6f 73 66 28 79 61 77 52 61 64 29 3b 00 00 00 20 20 20 | .forwardZ.=.-cosf(yawRad);...... |
| 13c00 | 20 20 66 6c 6f 61 74 20 72 69 67 68 74 58 20 3d 20 63 6f 73 66 28 79 61 77 52 61 64 29 3b 00 00 | ..float.rightX.=.cosf(yawRad);.. |
| 13c20 | 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 5a 20 3d 20 73 69 6e 66 28 79 61 77 52 61 64 | ......float.rightZ.=.sinf(yawRad |
| 13c40 | 29 3b 00 00 00 04 20 20 20 20 00 00 00 1d 20 20 20 20 66 6c 6f 61 74 20 73 70 65 65 64 20 3d 20 | );................float.speed.=. |
| 13c60 | 4d 4f 56 45 5f 53 50 45 45 44 3b 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 71 27 5d | MOVE_SPEED;...!....if.(keys['q'] |
| 13c80 | 20 7c 7c 20 6b 65 79 73 5b 27 51 27 5d 29 20 7b 00 00 00 1d 20 20 20 20 20 20 20 20 73 70 65 65 | .||.keys['Q']).{............spee |
| 13ca0 | 64 20 3d 20 53 50 52 49 4e 54 5f 53 50 45 45 44 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 | d.=.SPRINT_SPEED;........}...... |
| 13cc0 | 20 20 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 77 27 5d 20 7c 7c 20 6b 65 79 73 5b | .....!....if.(keys['w'].||.keys[ |
| 13ce0 | 27 57 27 5d 29 20 7b 00 00 00 2d 20 20 20 20 20 20 20 20 63 61 6d 58 20 2b 3d 20 66 6f 72 77 61 | 'W']).{...-........camX.+=.forwa |
| 13d00 | 72 64 58 20 2a 20 73 70 65 65 64 20 2a 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 00 2d 20 20 20 20 | rdX.*.speed.*.deltaTime;...-.... |
| 13d20 | 20 20 20 20 63 61 6d 5a 20 2b 3d 20 66 6f 72 77 61 72 64 5a 20 2a 20 73 70 65 65 64 20 2a 20 64 | ....camZ.+=.forwardZ.*.speed.*.d |
| 13d40 | 65 6c 74 61 54 69 6d 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 | eltaTime;........}...!....if.(ke |
| 13d60 | 79 73 5b 27 73 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 53 27 5d 29 20 7b 00 00 00 2d 20 20 20 20 20 | ys['s'].||.keys['S']).{...-..... |
| 13d80 | 20 20 20 63 61 6d 58 20 2d 3d 20 66 6f 72 77 61 72 64 58 20 2a 20 73 70 65 65 64 20 2a 20 64 65 | ...camX.-=.forwardX.*.speed.*.de |
| 13da0 | 6c 74 61 54 69 6d 65 3b 00 00 00 2d 20 20 20 20 20 20 20 20 63 61 6d 5a 20 2d 3d 20 66 6f 72 77 | ltaTime;...-........camZ.-=.forw |
| 13dc0 | 61 72 64 5a 20 2a 20 73 70 65 65 64 20 2a 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 00 05 20 20 20 | ardZ.*.speed.*.deltaTime;....... |
| 13de0 | 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 61 27 5d 20 7c 7c 20 6b 65 79 73 5b | .}...!....if.(keys['a'].||.keys[ |
| 13e00 | 27 41 27 5d 29 20 7b 00 00 00 2b 20 20 20 20 20 20 20 20 63 61 6d 58 20 2d 3d 20 72 69 67 68 74 | 'A']).{...+........camX.-=.right |
| 13e20 | 58 20 2a 20 73 70 65 65 64 20 2a 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 00 2b 20 20 20 20 20 20 | X.*.speed.*.deltaTime;...+...... |
| 13e40 | 20 20 63 61 6d 5a 20 2d 3d 20 72 69 67 68 74 5a 20 2a 20 73 70 65 65 64 20 2a 20 64 65 6c 74 61 | ..camZ.-=.rightZ.*.speed.*.delta |
| 13e60 | 54 69 6d 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 | Time;........}...!....if.(keys[' |
| 13e80 | 64 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 44 27 5d 29 20 7b 00 00 00 2b 20 20 20 20 20 20 20 20 63 | d'].||.keys['D']).{...+........c |
| 13ea0 | 61 6d 58 20 2b 3d 20 72 69 67 68 74 58 20 2a 20 73 70 65 65 64 20 2a 20 64 65 6c 74 61 54 69 6d | amX.+=.rightX.*.speed.*.deltaTim |
| 13ec0 | 65 3b 00 00 00 2b 20 20 20 20 20 20 20 20 63 61 6d 5a 20 2b 3d 20 72 69 67 68 74 5a 20 2a 20 73 | e;...+........camZ.+=.rightZ.*.s |
| 13ee0 | 70 65 65 64 20 2a 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 | peed.*.deltaTime;........}...... |
| 13f00 | 20 20 00 00 00 25 20 20 20 20 76 65 6c 6f 63 69 74 79 59 20 2d 3d 20 47 52 41 56 49 54 59 20 2a | .....%....velocityY.-=.GRAVITY.* |
| 13f20 | 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 00 22 20 20 20 20 63 61 6d 59 20 2b 3d 20 76 65 6c 6f 63 | .deltaTime;..."....camY.+=.veloc |
| 13f40 | 69 74 79 59 20 2a 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 00 04 20 20 20 20 00 00 00 40 20 20 20 | ityY.*.deltaTime;...........@... |
| 13f60 | 20 66 6c 6f 61 74 20 67 72 6f 75 6e 64 48 65 69 67 68 74 20 3d 20 67 65 74 48 65 69 67 68 74 41 | .float.groundHeight.=.getHeightA |
| 13f80 | 74 50 6f 73 69 74 69 6f 6e 28 63 61 6d 58 2c 20 63 61 6d 5a 29 20 2b 20 31 2e 30 66 3b 00 00 00 | tPosition(camX,.camZ).+.1.0f;... |
| 13fa0 | 1f 20 20 20 20 69 66 20 28 63 61 6d 59 20 3c 3d 20 67 72 6f 75 6e 64 48 65 69 67 68 74 29 20 7b | .....if.(camY.<=.groundHeight).{ |
| 13fc0 | 00 00 00 1c 20 20 20 20 20 20 20 20 63 61 6d 59 20 3d 20 67 72 6f 75 6e 64 48 65 69 67 68 74 3b | ............camY.=.groundHeight; |
| 13fe0 | 00 00 00 19 20 20 20 20 20 20 20 20 76 65 6c 6f 63 69 74 79 59 20 3d 20 30 2e 30 66 3b 00 00 00 | ............velocityY.=.0.0f;... |
| 14000 | 17 20 20 20 20 20 20 20 20 69 73 4f 6e 47 72 6f 75 6e 64 20 3d 20 31 3b 00 00 00 05 20 20 20 20 | .........isOnGround.=.1;........ |
| 14020 | 7d 00 00 00 04 20 20 20 20 00 00 00 30 20 20 20 20 66 6c 6f 61 74 20 6c 69 6d 69 74 20 3d 20 28 | }...........0....float.limit.=.( |
| 14040 | 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 2e 30 66 29 20 2d 20 32 2e 30 66 3b 00 00 00 | PLATFORM_SIZE./.2.0f).-.2.0f;... |
| 14060 | 25 20 20 20 20 69 66 20 28 63 61 6d 58 20 3c 20 2d 6c 69 6d 69 74 29 20 63 61 6d 58 20 3d 20 2d | %....if.(camX.<.-limit).camX.=.- |
| 14080 | 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 58 20 3e 20 20 6c 69 6d 69 74 29 | limit;...%....if.(camX.>..limit) |
| 140a0 | 20 63 61 6d 58 20 3d 20 20 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 5a 20 | .camX.=..limit;...%....if.(camZ. |
| 140c0 | 3c 20 2d 6c 69 6d 69 74 29 20 63 61 6d 5a 20 3d 20 2d 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 | <.-limit).camZ.=.-limit;...%.... |
| 140e0 | 69 66 20 28 63 61 6d 5a 20 3e 20 20 6c 69 6d 69 74 29 20 63 61 6d 5a 20 3d 20 20 6c 69 6d 69 74 | if.(camZ.>..limit).camZ.=..limit |
| 14100 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0d 76 6f 69 64 20 69 64 6c 65 28 29 20 7b 00 00 00 1c 20 | ;....}........void.idle().{..... |
| 14120 | 20 20 20 73 74 61 74 69 63 20 69 6e 74 20 6c 61 73 74 54 69 6d 65 20 3d 20 30 3b 00 00 00 29 20 | ...static.int.lastTime.=.0;...). |
| 14140 | 20 20 20 69 6e 74 20 6e 6f 77 20 3d 20 67 6c 75 74 47 65 74 28 47 4c 55 54 5f 45 4c 41 50 53 45 | ...int.now.=.glutGet(GLUT_ELAPSE |
| 14160 | 44 5f 54 49 4d 45 29 3b 00 00 00 31 20 20 20 20 66 6c 6f 61 74 20 64 65 6c 74 61 54 69 6d 65 20 | D_TIME);...1....float.deltaTime. |
| 14180 | 3d 20 28 6e 6f 77 20 2d 20 6c 61 73 74 54 69 6d 65 29 20 2f 20 31 30 30 30 2e 30 66 3b 00 00 00 | =.(now.-.lastTime)./.1000.0f;... |
| 141a0 | 13 20 20 20 20 6c 61 73 74 54 69 6d 65 20 3d 20 6e 6f 77 3b 00 00 00 04 20 20 20 20 00 00 00 2b | .....lastTime.=.now;...........+ |
| 141c0 | 20 20 20 20 69 66 20 28 64 65 6c 74 61 54 69 6d 65 20 3e 20 30 2e 31 66 29 20 64 65 6c 74 61 54 | ....if.(deltaTime.>.0.1f).deltaT |
| 141e0 | 69 6d 65 20 3d 20 30 2e 31 66 3b 00 00 00 2e 20 20 20 20 69 66 20 28 64 65 6c 74 61 54 69 6d 65 | ime.=.0.1f;........if.(deltaTime |
| 14200 | 20 3c 3d 20 30 2e 30 66 29 20 64 65 6c 74 61 54 69 6d 65 20 3d 20 30 2e 30 31 36 66 3b 00 00 00 | .<=.0.0f).deltaTime.=.0.016f;... |
| 14220 | 04 20 20 20 20 00 00 00 16 20 20 20 20 75 70 64 61 74 65 28 64 65 6c 74 61 54 69 6d 65 29 3b 00 | .............update(deltaTime);. |
| 14240 | 00 00 18 20 20 20 20 67 6c 75 74 50 6f 73 74 52 65 64 69 73 70 6c 61 79 28 29 3b 00 00 00 01 7d | .......glutPostRedisplay();....} |
| 14260 | 00 00 00 00 00 00 00 21 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 | .......!int.main(int.argc,.char. |
| 14280 | 2a 2a 61 72 67 76 29 20 7b 00 00 00 16 20 20 20 20 73 72 61 6e 64 28 74 69 6d 65 28 4e 55 4c 4c | **argv).{........srand(time(NULL |
| 142a0 | 29 29 3b 00 00 00 16 20 20 20 20 67 65 6e 65 72 61 74 65 54 65 72 72 61 69 6e 28 29 3b 00 00 00 | ));........generateTerrain();... |
| 142c0 | 04 20 20 20 20 00 00 00 4f 20 20 20 20 66 6c 6f 61 74 20 73 74 61 72 74 48 65 69 67 68 74 20 3d | ........O....float.startHeight.= |
| 142e0 | 20 67 65 74 48 65 69 67 68 74 41 74 50 6f 73 69 74 69 6f 6e 28 30 2e 30 66 2c 20 30 2e 30 66 29 | .getHeightAtPosition(0.0f,.0.0f) |
| 14300 | 20 2b 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 20 2b 20 31 2e 30 66 3b 00 00 00 17 20 20 20 20 | .+.PLAYER_HEIGHT.+.1.0f;........ |
| 14320 | 63 61 6d 59 20 3d 20 73 74 61 72 74 48 65 69 67 68 74 3b 00 00 00 04 20 20 20 20 00 00 00 1a 20 | camY.=.startHeight;............. |
| 14340 | 20 20 20 67 6c 75 74 49 6e 69 74 28 26 61 72 67 63 2c 20 61 72 67 76 29 3b 00 00 00 3d 20 20 20 | ...glutInit(&argc,.argv);...=... |
| 14360 | 20 67 6c 75 74 49 6e 69 74 44 69 73 70 6c 61 79 4d 6f 64 65 28 47 4c 55 54 5f 44 4f 55 42 4c 45 | .glutInitDisplayMode(GLUT_DOUBLE |
| 14380 | 20 7c 20 47 4c 55 54 5f 52 47 42 20 7c 20 47 4c 55 54 5f 44 45 50 54 48 29 3b 00 00 00 34 20 20 | .|.GLUT_RGB.|.GLUT_DEPTH);...4.. |
| 143a0 | 20 20 67 6c 75 74 49 6e 69 74 57 69 6e 64 6f 77 53 69 7a 65 28 57 49 4e 44 4f 57 5f 57 49 44 54 | ..glutInitWindowSize(WINDOW_WIDT |
| 143c0 | 48 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 29 3b 00 00 00 19 20 20 20 20 67 6c 75 74 43 72 | H,.WINDOW_HEIGHT);........glutCr |
| 143e0 | 65 61 74 65 57 69 6e 64 6f 77 28 22 22 29 3b 00 00 00 00 00 00 00 0d 20 20 20 20 69 6e 69 74 47 | eateWindow("");............initG |
| 14400 | 4c 28 29 3b 00 00 00 00 00 00 00 1d 20 20 20 20 67 6c 75 74 44 69 73 70 6c 61 79 46 75 6e 63 28 | L();............glutDisplayFunc( |
| 14420 | 64 69 73 70 6c 61 79 29 3b 00 00 00 1d 20 20 20 20 67 6c 75 74 52 65 73 68 61 70 65 46 75 6e 63 | display);........glutReshapeFunc |
| 14440 | 28 72 65 73 68 61 70 65 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 72 64 46 75 | (reshape);...#....glutKeyboardFu |
| 14460 | 6e 63 28 6b 65 79 62 6f 61 72 64 44 6f 77 6e 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 | nc(keyboardDown);...#....glutKey |
| 14480 | 62 6f 61 72 64 55 70 46 75 6e 63 28 6b 65 79 62 6f 61 72 64 55 70 29 3b 00 00 00 25 20 20 20 20 | boardUpFunc(keyboardUp);...%.... |
| 144a0 | 67 6c 75 74 50 61 73 73 69 76 65 4d 6f 74 69 6f 6e 46 75 6e 63 28 6d 6f 75 73 65 4d 6f 76 65 29 | glutPassiveMotionFunc(mouseMove) |
| 144c0 | 3b 00 00 00 1e 20 20 20 20 67 6c 75 74 4d 6f 75 73 65 46 75 6e 63 28 6d 6f 75 73 65 43 6c 69 63 | ;........glutMouseFunc(mouseClic |
| 144e0 | 6b 29 3b 00 00 00 17 20 20 20 20 67 6c 75 74 49 64 6c 65 46 75 6e 63 28 69 64 6c 65 29 3b 00 00 | k);........glutIdleFunc(idle);.. |
| 14500 | 00 04 20 20 20 20 00 00 00 24 20 20 20 20 67 6c 75 74 53 65 74 43 75 72 73 6f 72 28 47 4c 55 54 | .........$....glutSetCursor(GLUT |
| 14520 | 5f 43 55 52 53 4f 52 5f 4e 4f 4e 45 29 3b 00 00 00 39 20 20 20 20 67 6c 75 74 57 61 72 70 50 6f | _CURSOR_NONE);...9....glutWarpPo |
| 14540 | 69 6e 74 65 72 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 2f 20 32 2c 20 57 49 4e 44 4f 57 5f 48 | inter(WINDOW_WIDTH./.2,.WINDOW_H |
| 14560 | 45 49 47 48 54 20 2f 20 32 29 3b 00 00 00 00 00 00 00 13 20 20 20 20 67 6c 75 74 4d 61 69 6e 4c | EIGHT./.2);............glutMainL |
| 14580 | 6f 6f 70 28 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 | oop();........return.0;....}5... |
| 145a0 | 00 00 00 00 00 00 00 00 00 00 00 00 c5 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 145c0 | 00 00 00 00 df 2f 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 12 00 00 00 14 | ...../..............5._......... |
| 145e0 | 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 | ................................ |
| 14600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 146a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 146c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 146e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 fc 74 04 01 | ..........................j..t.. |
| 14760 | 00 00 00 10 00 f5 18 00 00 01 b1 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0e 20 20 20 20 67 | ...............................g |
| 14780 | 6c 75 74 4b 65 79 62 6f 61 f5 18 00 00 01 b2 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 | lutKeyboa....................... |
| 147a0 | 15 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 05 20 20 20 20 67 f5 18 00 00 01 16 00 00 00 00 | .....................g.......... |
| 147c0 | 00 00 00 00 00 00 00 00 f5 18 00 00 00 8b 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 20 20 | ................................ |
| 147e0 | f5 18 00 00 00 8c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14800 | 00 00 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 | ..........................5..... |
| 14820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8b 00 00 00 02 00 00 00 00 00 00 00 00 00 | ................................ |
| 14840 | 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 8b 00 00 00 02 00 00 00 | ................................ |
| 14860 | 00 00 00 00 00 00 00 00 8a 00 00 00 05 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14880 | ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 15 01 00 00 05 00 00 00 00 00 00 00 00 00 00 00 9c 00 | ................................ |
| 148a0 | 00 00 0e 00 00 00 f8 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 | ................................ |
| 148c0 | 00 00 00 00 b1 01 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 01 00 00 00 f7 2f 00 00 | ............................./.. |
| 148e0 | 00 00 00 00 00 00 00 00 00 00 00 00 fb 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 13 00 00 00 15 | ....................5._......... |
| 14900 | 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 | ................................ |
| 14920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 149a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 149c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 149e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 fd d2 04 01 | ..........................j..... |
| 14a80 | 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 bc 00 00 00 14 23 69 6e 63 6c | ...........................#incl |
| 14aa0 | 75 64 65 20 3c 47 4c 2f 67 6c 75 74 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 | ude.<GL/glut.h>....#include.<mat |
| 14ac0 | 68 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 11 23 | h.h>....#include.<stdlib.h>....# |
| 14ae0 | 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 00 00 00 00 1b 23 64 65 66 69 6e 65 20 | include.<time.h>........#define. |
| 14b00 | 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 20 20 31 30 32 34 00 00 00 1a 23 64 65 66 69 6e 65 20 57 | WINDOW_WIDTH...1024....#define.W |
| 14b20 | 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 20 37 36 38 00 00 00 19 23 64 65 66 69 6e 65 20 50 4c 41 | INDOW_HEIGHT..768....#define.PLA |
| 14b40 | 54 46 4f 52 4d 5f 53 49 5a 45 20 20 36 30 00 00 00 1a 23 64 65 66 69 6e 65 20 52 45 4e 44 45 52 | TFORM_SIZE..60....#define.RENDER |
| 14b60 | 5f 44 49 53 54 41 4e 43 45 20 34 30 00 00 00 1b 23 64 65 66 69 6e 65 20 4d 4f 56 45 5f 53 50 45 | _DISTANCE.40....#define.MOVE_SPE |
| 14b80 | 45 44 20 20 20 20 20 38 2e 30 66 00 00 00 1c 23 64 65 66 69 6e 65 20 53 50 52 49 4e 54 5f 53 50 | ED.....8.0f....#define.SPRINT_SP |
| 14ba0 | 45 45 44 20 20 20 31 33 2e 30 66 00 00 00 1b 23 64 65 66 69 6e 65 20 4d 4f 55 53 45 5f 53 45 4e | EED...13.0f....#define.MOUSE_SEN |
| 14bc0 | 53 20 20 20 20 20 30 2e 32 66 00 00 00 1c 23 64 65 66 69 6e 65 20 50 4c 41 59 45 52 5f 48 45 49 | S.....0.2f....#define.PLAYER_HEI |
| 14be0 | 47 48 54 20 20 31 2e 36 32 66 00 00 00 1c 23 64 65 66 69 6e 65 20 47 52 41 56 49 54 59 20 20 20 | GHT..1.62f....#define.GRAVITY... |
| 14c00 | 20 20 20 20 20 32 30 2e 30 66 00 00 00 1b 23 64 65 66 69 6e 65 20 4a 55 4d 50 5f 46 4f 52 43 45 | .....20.0f....#define.JUMP_FORCE |
| 14c20 | 20 20 20 20 20 38 2e 30 66 00 00 00 00 00 00 00 35 66 6c 6f 61 74 20 63 61 6d 58 20 3d 20 30 2e | .....8.0f.......5float.camX.=.0. |
| 14c40 | 30 66 2c 20 63 61 6d 59 20 3d 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 2c 20 63 61 6d 5a 20 3d | 0f,.camY.=.PLAYER_HEIGHT,.camZ.= |
| 14c60 | 20 30 2e 30 66 3b 00 00 00 17 66 6c 6f 61 74 20 76 65 6c 6f 63 69 74 79 59 20 3d 20 30 2e 30 66 | .0.0f;....float.velocityY.=.0.0f |
| 14c80 | 3b 00 00 00 1f 66 6c 6f 61 74 20 79 61 77 20 3d 20 30 2e 30 66 2c 20 70 69 74 63 68 20 3d 20 30 | ;....float.yaw.=.0.0f,.pitch.=.0 |
| 14ca0 | 2e 30 66 3b 00 00 00 0e 69 6e 74 20 6b 65 79 73 5b 32 35 36 5d 3b 00 00 00 16 69 6e 74 20 6d 6f | .0f;....int.keys[256];....int.mo |
| 14cc0 | 75 73 65 43 61 70 74 75 72 65 64 20 3d 20 30 3b 00 00 00 13 69 6e 74 20 69 73 4f 6e 47 72 6f 75 | useCaptured.=.0;....int.isOnGrou |
| 14ce0 | 6e 64 20 3d 20 31 3b 00 00 00 00 00 00 00 32 66 6c 6f 61 74 20 74 65 72 72 61 69 6e 48 65 69 67 | nd.=.1;.......2float.terrainHeig |
| 14d00 | 68 74 5b 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 5d 5b 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 5d | ht[PLATFORM_SIZE][PLATFORM_SIZE] |
| 14d20 | 3b 00 00 00 18 69 6e 74 20 64 69 73 70 6c 61 79 4c 69 73 74 42 61 73 65 20 3d 20 30 3b 00 00 00 | ;....int.displayListBase.=.0;... |
| 14d40 | 00 00 00 00 10 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 00 00 00 12 20 20 20 20 66 6c 6f | .....typedef.struct.{........flo |
| 14d60 | 61 74 20 72 2c 20 67 2c 20 62 3b 00 00 00 08 7d 20 43 6f 6c 6f 72 3b 00 00 00 00 00 00 00 27 43 | at.r,.g,.b;....}.Color;.......'C |
| 14d80 | 6f 6c 6f 72 20 67 72 61 73 73 54 6f 70 20 3d 20 7b 30 2e 32 35 66 2c 20 30 2e 37 35 66 2c 20 30 | olor.grassTop.=.{0.25f,.0.75f,.0 |
| 14da0 | 2e 31 35 66 7d 3b 00 00 00 28 43 6f 6c 6f 72 20 67 72 61 73 73 53 69 64 65 20 3d 20 7b 30 2e 35 | .15f};...(Color.grassSide.=.{0.5 |
| 14dc0 | 30 66 2c 20 30 2e 33 35 66 2c 20 30 2e 31 30 66 7d 3b 00 00 00 2a 43 6f 6c 6f 72 20 67 72 61 73 | 0f,.0.35f,.0.10f};...*Color.gras |
| 14de0 | 73 42 6f 74 74 6f 6d 20 3d 20 7b 30 2e 34 30 66 2c 20 30 2e 32 35 66 2c 20 30 2e 30 38 66 7d 3b | sBottom.=.{0.40f,.0.25f,.0.08f}; |
| 14e00 | 00 00 00 27 43 6f 6c 6f 72 20 73 74 6f 6e 65 54 6f 70 20 3d 20 7b 30 2e 35 30 66 2c 20 30 2e 35 | ...'Color.stoneTop.=.{0.50f,.0.5 |
| 14e20 | 30 66 2c 20 30 2e 35 30 66 7d 3b 00 00 00 28 43 6f 6c 6f 72 20 73 74 6f 6e 65 53 69 64 65 20 3d | 0f,.0.50f};...(Color.stoneSide.= |
| 14e40 | 20 7b 30 2e 34 35 66 2c 20 30 2e 34 35 66 2c 20 30 2e 34 35 66 7d 3b 00 00 00 2a 43 6f 6c 6f 72 | .{0.45f,.0.45f,.0.45f};...*Color |
| 14e60 | 20 73 74 6f 6e 65 42 6f 74 74 6f 6d 20 3d 20 7b 30 2e 33 35 66 2c 20 30 2e 33 35 66 2c 20 30 2e | .stoneBottom.=.{0.35f,.0.35f,.0. |
| 14e80 | 33 35 66 7d 3b 00 00 00 26 43 6f 6c 6f 72 20 64 69 72 74 54 6f 70 20 3d 20 7b 30 2e 35 35 66 2c | 35f};...&Color.dirtTop.=.{0.55f, |
| 14ea0 | 20 30 2e 34 30 66 2c 20 30 2e 32 30 66 7d 3b 00 00 00 27 43 6f 6c 6f 72 20 64 69 72 74 53 69 64 | .0.40f,.0.20f};...'Color.dirtSid |
| 14ec0 | 65 20 3d 20 7b 30 2e 35 30 66 2c 20 30 2e 33 35 66 2c 20 30 2e 31 38 66 7d 3b 00 00 00 29 43 6f | e.=.{0.50f,.0.35f,.0.18f};...)Co |
| 14ee0 | 6c 6f 72 20 64 69 72 74 42 6f 74 74 6f 6d 20 3d 20 7b 30 2e 34 30 66 2c 20 30 2e 32 38 66 2c 20 | lor.dirtBottom.=.{0.40f,.0.28f,. |
| 14f00 | 30 2e 31 35 66 7d 3b 00 00 00 26 43 6f 6c 6f 72 20 73 61 6e 64 54 6f 70 20 3d 20 7b 30 2e 38 35 | 0.15f};...&Color.sandTop.=.{0.85 |
| 14f20 | 66 2c 20 30 2e 38 30 66 2c 20 30 2e 35 30 66 7d 3b 00 00 00 27 43 6f 6c 6f 72 20 73 61 6e 64 53 | f,.0.80f,.0.50f};...'Color.sandS |
| 14f40 | 69 64 65 20 3d 20 7b 30 2e 37 35 66 2c 20 30 2e 37 30 66 2c 20 30 2e 34 30 66 7d 3b 00 00 00 29 | ide.=.{0.75f,.0.70f,.0.40f};...) |
| 14f60 | 43 6f 6c 6f 72 20 73 61 6e 64 42 6f 74 74 6f 6d 20 3d 20 7b 30 2e 36 35 66 2c 20 30 2e 36 30 66 | Color.sandBottom.=.{0.65f,.0.60f |
| 14f80 | 2c 20 30 2e 33 35 66 7d 3b 00 00 00 00 00 00 00 1b 66 6c 6f 61 74 20 6e 6f 69 73 65 28 69 6e 74 | ,.0.35f};........float.noise(int |
| 14fa0 | 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 17 20 20 20 20 69 6e 74 20 6e 20 3d 20 78 20 2b 20 | .x,.int.y).{........int.n.=.x.+. |
| 14fc0 | 79 20 2a 20 35 37 3b 00 00 00 16 20 20 20 20 6e 20 3d 20 28 6e 20 3c 3c 20 31 33 29 20 5e 20 6e | y.*.57;........n.=.(n.<<.13).^.n |
| 14fe0 | 3b 00 00 00 5f 20 20 20 20 72 65 74 75 72 6e 20 28 31 2e 30 66 20 2d 20 28 28 6e 20 2a 20 28 6e | ;..._....return.(1.0f.-.((n.*.(n |
| 15000 | 20 2a 20 6e 20 2a 20 31 35 37 33 31 20 2b 20 37 38 39 32 32 31 29 20 2b 20 31 33 37 36 33 31 32 | .*.n.*.15731.+.789221).+.1376312 |
| 15020 | 35 38 39 29 20 26 20 30 78 37 66 66 66 66 66 66 66 29 20 2f 20 31 30 37 33 37 34 31 38 32 34 2e | 589).&.0x7fffffff)./.1073741824. |
| 15040 | 30 66 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 21 66 6c 6f 61 74 20 73 6d 6f 6f 74 68 4e 6f 69 | 0f);....}.......!float.smoothNoi |
| 15060 | 73 65 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 64 20 20 20 20 66 6c 6f 61 74 20 | se(int.x,.int.y).{...d....float. |
| 15080 | 63 6f 72 6e 65 72 73 20 3d 20 28 6e 6f 69 73 65 28 78 2d 31 2c 20 79 2d 31 29 20 2b 20 6e 6f 69 | corners.=.(noise(x-1,.y-1).+.noi |
| 150a0 | 73 65 28 78 2b 31 2c 20 79 2d 31 29 20 2b 20 6e 6f 69 73 65 28 78 2d 31 2c 20 79 2b 31 29 20 2b | se(x+1,.y-1).+.noise(x-1,.y+1).+ |
| 150c0 | 20 6e 6f 69 73 65 28 78 2b 31 2c 20 79 2b 31 29 29 20 2f 20 31 36 2e 30 66 3b 00 00 00 59 20 20 | .noise(x+1,.y+1))./.16.0f;...Y.. |
| 150e0 | 20 20 66 6c 6f 61 74 20 73 69 64 65 73 20 3d 20 28 6e 6f 69 73 65 28 78 2d 31 2c 20 79 29 20 2b | ..float.sides.=.(noise(x-1,.y).+ |
| 15100 | 20 6e 6f 69 73 65 28 78 2b 31 2c 20 79 29 20 2b 20 6e 6f 69 73 65 28 78 2c 20 79 2d 31 29 20 2b | .noise(x+1,.y).+.noise(x,.y-1).+ |
| 15120 | 20 6e 6f 69 73 65 28 78 2c 20 79 2b 31 29 29 20 2f 20 38 2e 30 66 3b 00 00 00 26 20 20 20 20 66 | .noise(x,.y+1))./.8.0f;...&....f |
| 15140 | 6c 6f 61 74 20 63 65 6e 74 65 72 20 3d 20 6e 6f 69 73 65 28 78 2c 20 79 29 20 2f 20 34 2e 30 66 | loat.center.=.noise(x,.y)./.4.0f |
| 15160 | 3b 00 00 00 24 20 20 20 20 72 65 74 75 72 6e 20 63 6f 72 6e 65 72 73 20 2b 20 73 69 64 65 73 20 | ;...$....return.corners.+.sides. |
| 15180 | 2b 20 63 65 6e 74 65 72 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2b 66 6c 6f 61 74 20 69 6e 74 65 | +.center;....}.......+float.inte |
| 151a0 | 72 70 6f 6c 61 74 65 64 4e 6f 69 73 65 28 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 20 79 29 20 | rpolatedNoise(float.x,.float.y). |
| 151c0 | 7b 00 00 00 16 20 20 20 20 69 6e 74 20 69 6e 74 58 20 3d 20 28 69 6e 74 29 78 3b 00 00 00 1b 20 | {........int.intX.=.(int)x;..... |
| 151e0 | 20 20 20 66 6c 6f 61 74 20 66 72 61 63 58 20 3d 20 78 20 2d 20 69 6e 74 58 3b 00 00 00 16 20 20 | ...float.fracX.=.x.-.intX;...... |
| 15200 | 20 20 69 6e 74 20 69 6e 74 59 20 3d 20 28 69 6e 74 29 79 3b 00 00 00 1b 20 20 20 20 66 6c 6f 61 | ..int.intY.=.(int)y;........floa |
| 15220 | 74 20 66 72 61 63 59 20 3d 20 79 20 2d 20 69 6e 74 59 3b 00 00 00 04 20 20 20 20 00 00 00 27 20 | t.fracY.=.y.-.intY;...........'. |
| 15240 | 20 20 20 66 6c 6f 61 74 20 76 31 20 3d 20 73 6d 6f 6f 74 68 4e 6f 69 73 65 28 69 6e 74 58 2c 20 | ...float.v1.=.smoothNoise(intX,. |
| 15260 | 69 6e 74 59 29 3b 00 00 00 2b 20 20 20 20 66 6c 6f 61 74 20 76 32 20 3d 20 73 6d 6f 6f 74 68 4e | intY);...+....float.v2.=.smoothN |
| 15280 | 6f 69 73 65 28 69 6e 74 58 20 2b 20 31 2c 20 69 6e 74 59 29 3b 00 00 00 2b 20 20 20 20 66 6c 6f | oise(intX.+.1,.intY);...+....flo |
| 152a0 | 61 74 20 76 33 20 3d 20 73 6d 6f 6f 74 68 4e 6f 69 73 65 28 69 6e 74 58 2c 20 69 6e 74 59 20 2b | at.v3.=.smoothNoise(intX,.intY.+ |
| 152c0 | 20 31 29 3b 00 00 00 2f 20 20 20 20 66 6c 6f 61 74 20 76 34 20 3d 20 73 6d 6f 6f 74 68 4e 6f 69 | .1);.../....float.v4.=.smoothNoi |
| 152e0 | 73 65 28 69 6e 74 58 20 2b 20 31 2c 20 69 6e 74 59 20 2b 20 31 29 3b 00 00 00 04 20 20 20 20 00 | se(intX.+.1,.intY.+.1);......... |
| 15300 | 00 00 26 20 20 20 20 66 6c 6f 61 74 20 69 31 20 3d 20 76 31 20 2b 20 28 76 32 20 2d 20 76 31 29 | ..&....float.i1.=.v1.+.(v2.-.v1) |
| 15320 | 20 2a 20 66 72 61 63 58 3b 00 00 00 26 20 20 20 20 66 6c 6f 61 74 20 69 32 20 3d 20 76 33 20 2b | .*.fracX;...&....float.i2.=.v3.+ |
| 15340 | 20 28 76 34 20 2d 20 76 33 29 20 2a 20 66 72 61 63 58 3b 00 00 00 04 20 20 20 20 00 00 00 22 20 | .(v4.-.v3).*.fracX;...........". |
| 15360 | 20 20 20 72 65 74 75 72 6e 20 69 31 20 2b 20 28 69 32 20 2d 20 69 31 29 20 2a 20 66 72 61 63 59 | ...return.i1.+.(i2.-.i1).*.fracY |
| 15380 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 66 6c 6f 61 74 20 67 65 74 54 65 72 72 61 69 6e 48 65 | ;....}.......&float.getTerrainHe |
| 153a0 | 69 67 68 74 28 69 6e 74 20 78 2c 20 69 6e 74 20 7a 29 20 7b 00 00 00 18 20 20 20 20 66 6c 6f 61 | ight(int.x,.int.z).{........floa |
| 153c0 | 74 20 73 63 61 6c 65 20 3d 20 30 2e 30 34 66 3b 00 00 00 42 20 20 20 20 66 6c 6f 61 74 20 68 65 | t.scale.=.0.04f;...B....float.he |
| 153e0 | 69 67 68 74 20 3d 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 4e 6f 69 73 65 28 78 20 2a 20 73 63 61 | ight.=.interpolatedNoise(x.*.sca |
| 15400 | 6c 65 2c 20 7a 20 2a 20 73 63 61 6c 65 29 20 2a 20 35 2e 30 66 3b 00 00 00 45 20 20 20 20 68 65 | le,.z.*.scale).*.5.0f;...E....he |
| 15420 | 69 67 68 74 20 2b 3d 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 4e 6f 69 73 65 28 78 20 2a 20 73 63 | ight.+=.interpolatedNoise(x.*.sc |
| 15440 | 61 6c 65 20 2a 20 32 2c 20 7a 20 2a 20 73 63 61 6c 65 20 2a 20 32 29 20 2a 20 32 2e 35 66 3b 00 | ale.*.2,.z.*.scale.*.2).*.2.5f;. |
| 15460 | 00 00 04 20 20 20 20 00 00 00 43 20 20 20 20 66 6c 6f 61 74 20 64 69 73 74 46 72 6f 6d 43 65 6e | ..........C....float.distFromCen |
| 15480 | 74 65 72 20 3d 20 73 71 72 74 66 28 78 2a 78 20 2b 20 7a 2a 7a 29 20 2f 20 28 50 4c 41 54 46 4f | ter.=.sqrtf(x*x.+.z*z)./.(PLATFO |
| 154a0 | 52 4d 5f 53 49 5a 45 2f 32 2e 30 66 29 3b 00 00 00 20 20 20 20 20 69 66 20 28 64 69 73 74 46 72 | RM_SIZE/2.0f);........if.(distFr |
| 154c0 | 6f 6d 43 65 6e 74 65 72 20 3e 20 30 2e 37 66 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 68 65 | omCenter.>.0.7f).{...1........he |
| 154e0 | 69 67 68 74 20 2d 3d 20 28 64 69 73 74 46 72 6f 6d 43 65 6e 74 65 72 20 2d 20 30 2e 37 66 29 20 | ight.-=.(distFromCenter.-.0.7f). |
| 15500 | 2a 20 38 2e 30 66 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 12 20 20 20 20 | *.8.0f;........}................ |
| 15520 | 72 65 74 75 72 6e 20 68 65 69 67 68 74 3b 00 00 00 01 7d 00 00 00 00 00 00 00 18 76 6f 69 64 20 | return.height;....}........void. |
| 15540 | 67 65 6e 65 72 61 74 65 54 65 72 72 61 69 6e 28 29 20 7b 00 00 00 21 20 20 20 20 69 6e 74 20 68 | generateTerrain().{...!....int.h |
| 15560 | 61 6c 66 20 3d 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 3b 00 00 00 2d 20 20 20 20 | alf.=.PLATFORM_SIZE./.2;...-.... |
| 15580 | 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a | for.(int.i.=.0;.i.<.PLATFORM_SIZ |
| 155a0 | 45 3b 20 69 2b 2b 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 6a 20 | E;.i++).{...1........for.(int.j. |
| 155c0 | 3d 20 30 3b 20 6a 20 3c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 3b 20 6a 2b 2b 29 20 7b 00 00 | =.0;.j.<.PLATFORM_SIZE;.j++).{.. |
| 155e0 | 00 22 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 77 6f 72 6c 64 58 20 3d 20 69 20 2d 20 68 | ."............int.worldX.=.i.-.h |
| 15600 | 61 6c 66 3b 00 00 00 22 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 77 6f 72 6c 64 5a 20 3d | alf;..."............int.worldZ.= |
| 15620 | 20 6a 20 2d 20 68 61 6c 66 3b 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 20 74 65 72 72 61 69 | .j.-.half;...C............terrai |
| 15640 | 6e 48 65 69 67 68 74 5b 69 5d 5b 6a 5d 20 3d 20 67 65 74 54 65 72 72 61 69 6e 48 65 69 67 68 74 | nHeight[i][j].=.getTerrainHeight |
| 15660 | 28 77 6f 72 6c 64 58 2c 20 77 6f 72 6c 64 5a 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 | (worldX,.worldZ);............}.. |
| 15680 | 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 2d 66 6c 6f 61 74 20 67 65 74 48 65 69 | ......}....}.......-float.getHei |
| 156a0 | 67 68 74 41 74 50 6f 73 69 74 69 6f 6e 28 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 20 7a 29 20 | ghtAtPosition(float.x,.float.z). |
| 156c0 | 7b 00 00 00 21 20 20 20 20 69 6e 74 20 68 61 6c 66 20 3d 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a | {...!....int.half.=.PLATFORM_SIZ |
| 156e0 | 45 20 2f 20 32 3b 00 00 00 20 20 20 20 20 69 6e 74 20 67 72 69 64 58 20 3d 20 28 69 6e 74 29 28 | E./.2;........int.gridX.=.(int)( |
| 15700 | 78 20 2b 20 68 61 6c 66 29 3b 00 00 00 20 20 20 20 20 69 6e 74 20 67 72 69 64 5a 20 3d 20 28 69 | x.+.half);........int.gridZ.=.(i |
| 15720 | 6e 74 29 28 7a 20 2b 20 68 61 6c 66 29 3b 00 00 00 04 20 20 20 20 00 00 00 5d 20 20 20 20 69 66 | nt)(z.+.half);...........]....if |
| 15740 | 20 28 67 72 69 64 58 20 3c 20 30 20 7c 7c 20 67 72 69 64 58 20 3e 3d 20 50 4c 41 54 46 4f 52 4d | .(gridX.<.0.||.gridX.>=.PLATFORM |
| 15760 | 5f 53 49 5a 45 20 2d 20 31 20 7c 7c 20 67 72 69 64 5a 20 3c 20 30 20 7c 7c 20 67 72 69 64 5a 20 | _SIZE.-.1.||.gridZ.<.0.||.gridZ. |
| 15780 | 3e 3d 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2d 20 31 29 20 7b 00 00 00 14 20 20 20 20 20 | >=.PLATFORM_SIZE.-.1).{......... |
| 157a0 | 20 20 20 72 65 74 75 72 6e 20 30 2e 30 66 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 | ...return.0.0f;........}........ |
| 157c0 | 00 00 00 25 20 20 20 20 66 6c 6f 61 74 20 66 72 61 63 58 20 3d 20 28 78 20 2b 20 68 61 6c 66 29 | ...%....float.fracX.=.(x.+.half) |
| 157e0 | 20 2d 20 67 72 69 64 58 3b 00 00 00 25 20 20 20 20 66 6c 6f 61 74 20 66 72 61 63 5a 20 3d 20 28 | .-.gridX;...%....float.fracZ.=.( |
| 15800 | 7a 20 2b 20 68 61 6c 66 29 20 2d 20 67 72 69 64 5a 3b 00 00 00 04 20 20 20 20 00 00 00 2c 20 20 | z.+.half).-.gridZ;...........,.. |
| 15820 | 20 20 66 6c 6f 61 74 20 68 30 30 20 3d 20 74 65 72 72 61 69 6e 48 65 69 67 68 74 5b 67 72 69 64 | ..float.h00.=.terrainHeight[grid |
| 15840 | 58 5d 5b 67 72 69 64 5a 5d 3b 00 00 00 2e 20 20 20 20 66 6c 6f 61 74 20 68 31 30 20 3d 20 74 65 | X][gridZ];........float.h10.=.te |
| 15860 | 72 72 61 69 6e 48 65 69 67 68 74 5b 67 72 69 64 58 2b 31 5d 5b 67 72 69 64 5a 5d 3b 00 00 00 2e | rrainHeight[gridX+1][gridZ];.... |
| 15880 | 20 20 20 20 66 6c 6f 61 74 20 68 30 31 20 3d 20 74 65 72 72 61 69 6e 48 65 69 67 68 74 5b 67 72 | ....float.h01.=.terrainHeight[gr |
| 158a0 | 69 64 58 5d 5b 67 72 69 64 5a 2b 31 5d 3b 00 00 00 30 20 20 20 20 66 6c 6f 61 74 20 68 31 31 20 | idX][gridZ+1];...0....float.h11. |
| 158c0 | 3d 20 74 65 72 72 61 69 6e 48 65 69 67 68 74 5b 67 72 69 64 58 2b 31 5d 5b 67 72 69 64 5a 2b 31 | =.terrainHeight[gridX+1][gridZ+1 |
| 158e0 | 5d 3b 00 00 00 04 20 20 20 20 00 00 00 29 20 20 20 20 66 6c 6f 61 74 20 68 30 20 3d 20 68 30 30 | ];...........)....float.h0.=.h00 |
| 15900 | 20 2b 20 28 68 31 30 20 2d 20 68 30 30 29 20 2a 20 66 72 61 63 58 3b 00 00 00 29 20 20 20 20 66 | .+.(h10.-.h00).*.fracX;...)....f |
| 15920 | 6c 6f 61 74 20 68 31 20 3d 20 68 30 31 20 2b 20 28 68 31 31 20 2d 20 68 30 31 29 20 2a 20 66 72 | loat.h1.=.h01.+.(h11.-.h01).*.fr |
| 15940 | 61 63 58 3b 00 00 00 04 20 20 20 20 00 00 00 22 20 20 20 20 72 65 74 75 72 6e 20 68 30 20 2b 20 | acX;..........."....return.h0.+. |
| 15960 | 28 68 31 20 2d 20 68 30 29 20 2a 20 66 72 61 63 5a 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0f 76 | (h1.-.h0).*.fracZ;....}........v |
| 15980 | 6f 69 64 20 69 6e 69 74 47 4c 28 29 20 7b 00 00 00 2c 20 20 20 20 67 6c 43 6c 65 61 72 43 6f 6c | oid.initGL().{...,....glClearCol |
| 159a0 | 6f 72 28 30 2e 35 33 66 2c 20 30 2e 38 31 66 2c 20 30 2e 39 38 66 2c 20 31 2e 30 66 29 3b 00 00 | or(0.53f,.0.81f,.0.98f,.1.0f);.. |
| 159c0 | 00 1c 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 44 45 50 54 48 5f 54 45 53 54 29 3b 00 00 | ......glEnable(GL_DEPTH_TEST);.. |
| 159e0 | 00 1a 20 20 20 20 67 6c 53 68 61 64 65 4d 6f 64 65 6c 28 47 4c 5f 46 4c 41 54 29 3b 00 00 00 04 | ......glShadeModel(GL_FLAT);.... |
| 15a00 | 20 20 20 20 00 00 00 31 20 20 20 20 47 4c 66 6c 6f 61 74 20 61 6d 62 69 65 6e 74 5b 5d 20 3d 20 | .......1....GLfloat.ambient[].=. |
| 15a20 | 7b 30 2e 37 66 2c 20 30 2e 37 66 2c 20 30 2e 37 66 2c 20 31 2e 30 66 7d 3b 00 00 00 31 20 20 20 | {0.7f,.0.7f,.0.7f,.1.0f};...1... |
| 15a40 | 20 47 4c 66 6c 6f 61 74 20 64 69 66 66 75 73 65 5b 5d 20 3d 20 7b 30 2e 39 66 2c 20 30 2e 39 66 | .GLfloat.diffuse[].=.{0.9f,.0.9f |
| 15a60 | 2c 20 30 2e 38 66 2c 20 31 2e 30 66 7d 3b 00 00 00 34 20 20 20 20 47 4c 66 6c 6f 61 74 20 6c 69 | ,.0.8f,.1.0f};...4....GLfloat.li |
| 15a80 | 67 68 74 50 6f 73 5b 5d 20 3d 20 7b 30 2e 30 66 2c 20 31 30 30 2e 30 66 2c 20 30 2e 30 66 2c 20 | ghtPos[].=.{0.0f,.100.0f,.0.0f,. |
| 15aa0 | 31 2e 30 66 7d 3b 00 00 00 00 00 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 | 1.0f};............glEnable(GL_LI |
| 15ac0 | 47 48 54 49 4e 47 29 3b 00 00 00 18 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 | GHTING);........glEnable(GL_LIGH |
| 15ae0 | 54 30 29 3b 00 00 00 2e 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 2c | T0);........glLightfv(GL_LIGHT0, |
| 15b00 | 20 47 4c 5f 41 4d 42 49 45 4e 54 2c 20 61 6d 62 69 65 6e 74 29 3b 00 00 00 2e 20 20 20 20 67 6c | .GL_AMBIENT,.ambient);........gl |
| 15b20 | 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 48 54 30 2c 20 47 4c 5f 44 49 46 46 55 53 45 2c 20 64 | Lightfv(GL_LIGHT0,.GL_DIFFUSE,.d |
| 15b40 | 69 66 66 75 73 65 29 3b 00 00 00 30 20 20 20 20 67 6c 4c 69 67 68 74 66 76 28 47 4c 5f 4c 49 47 | iffuse);...0....glLightfv(GL_LIG |
| 15b60 | 48 54 30 2c 20 47 4c 5f 50 4f 53 49 54 49 4f 4e 2c 20 6c 69 67 68 74 50 6f 73 29 3b 00 00 00 20 | HT0,.GL_POSITION,.lightPos);.... |
| 15b80 | 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 43 4f 4c 4f 52 5f 4d 41 54 45 52 49 41 4c 29 3b | ....glEnable(GL_COLOR_MATERIAL); |
| 15ba0 | 00 00 00 36 20 20 20 20 67 6c 43 6f 6c 6f 72 4d 61 74 65 72 69 61 6c 28 47 4c 5f 46 52 4f 4e 54 | ...6....glColorMaterial(GL_FRONT |
| 15bc0 | 2c 20 47 4c 5f 41 4d 42 49 45 4e 54 5f 41 4e 44 5f 44 49 46 46 55 53 45 29 3b 00 00 00 01 7d 00 | ,.GL_AMBIENT_AND_DIFFUSE);....}. |
| 15be0 | 00 00 00 00 00 00 48 76 6f 69 64 20 64 72 61 77 42 6c 6f 63 6b 46 61 63 65 28 66 6c 6f 61 74 20 | ......Hvoid.drawBlockFace(float. |
| 15c00 | 78 2c 20 66 6c 6f 61 74 20 79 2c 20 66 6c 6f 61 74 20 7a 2c 20 66 6c 6f 61 74 20 73 69 7a 65 2c | x,.float.y,.float.z,.float.size, |
| 15c20 | 20 43 6f 6c 6f 72 20 63 6f 6c 6f 72 29 20 7b 00 00 00 1a 20 20 20 20 66 6c 6f 61 74 20 73 20 3d | .Color.color).{........float.s.= |
| 15c40 | 20 73 69 7a 65 20 2f 20 32 2e 30 66 3b 00 00 00 04 20 20 20 20 00 00 00 29 20 20 20 20 67 6c 43 | .size./.2.0f;...........)....glC |
| 15c60 | 6f 6c 6f 72 33 66 28 63 6f 6c 6f 72 2e 72 2c 20 63 6f 6c 6f 72 2e 67 2c 20 63 6f 6c 6f 72 2e 62 | olor3f(color.r,.color.g,.color.b |
| 15c80 | 29 3b 00 00 00 04 20 20 20 20 00 00 00 16 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 51 55 41 | );................glBegin(GL_QUA |
| 15ca0 | 44 53 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 20 2d 20 73 2c 20 79 20 | DS);...$....glVertex3f(x.-.s,.y. |
| 15cc0 | 2b 20 73 2c 20 7a 20 2d 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 | +.s,.z.-.s);...$....glVertex3f(x |
| 15ce0 | 20 2b 20 73 2c 20 79 20 2b 20 73 2c 20 7a 20 2d 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 | .+.s,.y.+.s,.z.-.s);...$....glVe |
| 15d00 | 72 74 65 78 33 66 28 78 20 2b 20 73 2c 20 79 20 2b 20 73 2c 20 7a 20 2b 20 73 29 3b 00 00 00 24 | rtex3f(x.+.s,.y.+.s,.z.+.s);...$ |
| 15d20 | 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 20 2d 20 73 2c 20 79 20 2b 20 73 2c 20 7a 20 2b | ....glVertex3f(x.-.s,.y.+.s,.z.+ |
| 15d40 | 20 73 29 3b 00 00 00 04 20 20 20 20 00 00 00 24 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 | .s);...........$....glVertex3f(x |
| 15d60 | 20 2d 20 73 2c 20 79 20 2d 20 73 2c 20 7a 20 2b 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 | .-.s,.y.-.s,.z.+.s);...$....glVe |
| 15d80 | 72 74 65 78 33 66 28 78 20 2b 20 73 2c 20 79 20 2d 20 73 2c 20 7a 20 2b 20 73 29 3b 00 00 00 24 | rtex3f(x.+.s,.y.-.s,.z.+.s);...$ |
| 15da0 | 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 20 2b 20 73 2c 20 79 20 2d 20 73 2c 20 7a 20 2d | ....glVertex3f(x.+.s,.y.-.s,.z.- |
| 15dc0 | 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 20 2d 20 73 2c 20 79 20 | .s);...$....glVertex3f(x.-.s,.y. |
| 15de0 | 2d 20 73 2c 20 7a 20 2d 20 73 29 3b 00 00 00 04 20 20 20 20 00 00 00 24 20 20 20 20 67 6c 56 65 | -.s,.z.-.s);...........$....glVe |
| 15e00 | 72 74 65 78 33 66 28 78 20 2d 20 73 2c 20 79 20 2d 20 73 2c 20 7a 20 2d 20 73 29 3b 00 00 00 24 | rtex3f(x.-.s,.y.-.s,.z.-.s);...$ |
| 15e20 | 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 20 2b 20 73 2c 20 79 20 2d 20 73 2c 20 7a 20 2d | ....glVertex3f(x.+.s,.y.-.s,.z.- |
| 15e40 | 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 20 2b 20 73 2c 20 79 20 | .s);...$....glVertex3f(x.+.s,.y. |
| 15e60 | 2b 20 73 2c 20 7a 20 2d 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 | +.s,.z.-.s);...$....glVertex3f(x |
| 15e80 | 20 2d 20 73 2c 20 79 20 2b 20 73 2c 20 7a 20 2d 20 73 29 3b 00 00 00 04 20 20 20 20 00 00 00 24 | .-.s,.y.+.s,.z.-.s);...........$ |
| 15ea0 | 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 20 2b 20 73 2c 20 79 20 2d 20 73 2c 20 7a 20 2b | ....glVertex3f(x.+.s,.y.-.s,.z.+ |
| 15ec0 | 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 20 2d 20 73 2c 20 79 20 | .s);...$....glVertex3f(x.-.s,.y. |
| 15ee0 | 2d 20 73 2c 20 7a 20 2b 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 | -.s,.z.+.s);...$....glVertex3f(x |
| 15f00 | 20 2d 20 73 2c 20 79 20 2b 20 73 2c 20 7a 20 2b 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 | .-.s,.y.+.s,.z.+.s);...$....glVe |
| 15f20 | 72 74 65 78 33 66 28 78 20 2b 20 73 2c 20 79 20 2b 20 73 2c 20 7a 20 2b 20 73 29 3b 00 00 00 04 | rtex3f(x.+.s,.y.+.s,.z.+.s);.... |
| 15f40 | 20 20 20 20 00 00 00 24 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 20 2d 20 73 2c 20 79 20 | .......$....glVertex3f(x.-.s,.y. |
| 15f60 | 2d 20 73 2c 20 7a 20 2b 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 | -.s,.z.+.s);...$....glVertex3f(x |
| 15f80 | 20 2d 20 73 2c 20 79 20 2d 20 73 2c 20 7a 20 2d 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 | .-.s,.y.-.s,.z.-.s);...$....glVe |
| 15fa0 | 72 74 65 78 33 66 28 78 20 2d 20 73 2c 20 79 20 2b 20 73 2c 20 7a 20 2d 20 73 29 3b 00 00 00 24 | rtex3f(x.-.s,.y.+.s,.z.-.s);...$ |
| 15fc0 | 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 20 2d 20 73 2c 20 79 20 2b 20 73 2c 20 7a 20 2b | ....glVertex3f(x.-.s,.y.+.s,.z.+ |
| 15fe0 | 20 73 29 3b 00 00 00 04 20 20 20 20 00 00 00 24 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 | .s);...........$....glVertex3f(x |
| 16000 | 20 2b 20 73 2c 20 79 20 2d 20 73 2c 20 7a 20 2d 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 | .+.s,.y.-.s,.z.-.s);...$....glVe |
| 16020 | 72 74 65 78 33 66 28 78 20 2b 20 73 2c 20 79 20 2d 20 73 2c 20 7a 20 2b 20 73 29 3b 00 00 00 24 | rtex3f(x.+.s,.y.-.s,.z.+.s);...$ |
| 16040 | 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 20 2b 20 73 2c 20 79 20 2b 20 73 2c 20 7a 20 2b | ....glVertex3f(x.+.s,.y.+.s,.z.+ |
| 16060 | 20 73 29 3b 00 00 00 24 20 20 20 20 67 6c 56 65 72 74 65 78 33 66 28 78 20 2b 20 73 2c 20 79 20 | .s);...$....glVertex3f(x.+.s,.y. |
| 16080 | 2b 20 73 2c 20 7a 20 2d 20 73 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 01 | +.s,.z.-.s);........glEnd();.... |
| 160a0 | 7d 00 00 00 00 00 00 00 15 76 6f 69 64 20 64 72 61 77 50 6c 61 74 66 6f 72 6d 28 29 20 7b 00 00 | }........void.drawPlatform().{.. |
| 160c0 | 00 21 20 20 20 20 69 6e 74 20 68 61 6c 66 20 3d 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f | .!....int.half.=.PLATFORM_SIZE./ |
| 160e0 | 20 32 3b 00 00 00 26 20 20 20 20 69 6e 74 20 63 61 6d 47 72 69 64 58 20 3d 20 28 69 6e 74 29 28 | .2;...&....int.camGridX.=.(int)( |
| 16100 | 63 61 6d 58 20 2b 20 68 61 6c 66 29 3b 00 00 00 26 20 20 20 20 69 6e 74 20 63 61 6d 47 72 69 64 | camX.+.half);...&....int.camGrid |
| 16120 | 5a 20 3d 20 28 69 6e 74 29 28 63 61 6d 5a 20 2b 20 68 61 6c 66 29 3b 00 00 00 04 20 20 20 20 00 | Z.=.(int)(camZ.+.half);......... |
| 16140 | 00 00 2d 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 50 4c 41 54 46 | ..-....for.(int.i.=.0;.i.<.PLATF |
| 16160 | 4f 52 4d 5f 53 49 5a 45 3b 20 69 2b 2b 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 66 6f 72 20 | ORM_SIZE;.i++).{...1........for. |
| 16180 | 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 3b 20 6a | (int.j.=.0;.j.<.PLATFORM_SIZE;.j |
| 161a0 | 2b 2b 29 20 7b 00 00 00 5d 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 62 73 28 69 20 2d | ++).{...]............if.(abs(i.- |
| 161c0 | 20 63 61 6d 47 72 69 64 58 29 20 3e 20 52 45 4e 44 45 52 5f 44 49 53 54 41 4e 43 45 20 7c 7c 20 | .camGridX).>.RENDER_DISTANCE.||. |
| 161e0 | 61 62 73 28 6a 20 2d 20 63 61 6d 47 72 69 64 5a 29 20 3e 20 52 45 4e 44 45 52 5f 44 49 53 54 41 | abs(j.-.camGridZ).>.RENDER_DISTA |
| 16200 | 4e 43 45 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e | NCE).{....................contin |
| 16220 | 75 65 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0c 20 20 20 20 20 20 20 20 | ue;................}............ |
| 16240 | 20 20 20 20 00 00 00 22 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 77 6f 72 6c 64 58 20 3d | ......."............int.worldX.= |
| 16260 | 20 69 20 2d 20 68 61 6c 66 3b 00 00 00 22 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 77 6f | .i.-.half;..."............int.wo |
| 16280 | 72 6c 64 5a 20 3d 20 6a 20 2d 20 68 61 6c 66 3b 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 20 | rldZ.=.j.-.half;.../............ |
| 162a0 | 66 6c 6f 61 74 20 68 65 69 67 68 74 20 3d 20 74 65 72 72 61 69 6e 48 65 69 67 68 74 5b 69 5d 5b | float.height.=.terrainHeight[i][ |
| 162c0 | 6a 5d 3b 00 00 00 31 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 62 61 73 65 48 65 69 67 68 | j];...1............int.baseHeigh |
| 162e0 | 74 20 3d 20 28 69 6e 74 29 66 6c 6f 6f 72 66 28 68 65 69 67 68 74 29 3b 00 00 00 0c 20 20 20 20 | t.=.(int)floorf(height);........ |
| 16300 | 20 20 20 20 20 20 20 20 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6c 6f 72 20 74 6f | ...........3............Color.to |
| 16320 | 70 43 6f 6c 6f 72 2c 20 73 69 64 65 43 6f 6c 6f 72 2c 20 62 6f 74 74 6f 6d 43 6f 6c 6f 72 3b 00 | pColor,.sideColor,.bottomColor;. |
| 16340 | 00 00 0c 20 20 20 20 20 20 20 20 20 20 20 20 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 69 | ...............................i |
| 16360 | 66 20 28 68 65 69 67 68 74 20 3c 20 31 2e 30 66 29 20 7b 00 00 00 23 20 20 20 20 20 20 20 20 20 | f.(height.<.1.0f).{...#......... |
| 16380 | 20 20 20 20 20 20 20 74 6f 70 43 6f 6c 6f 72 20 3d 20 73 61 6e 64 54 6f 70 3b 00 00 00 25 20 20 | .......topColor.=.sandTop;...%.. |
| 163a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 64 65 43 6f 6c 6f 72 20 3d 20 73 61 6e 64 53 69 | ..............sideColor.=.sandSi |
| 163c0 | 64 65 3b 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 74 74 6f 6d 43 6f 6c | de;...)................bottomCol |
| 163e0 | 6f 72 20 3d 20 73 61 6e 64 42 6f 74 74 6f 6d 3b 00 00 00 14 20 20 20 20 20 20 20 20 20 20 20 20 | or.=.sandBottom;................ |
| 16400 | 7d 20 65 6c 73 65 20 7b 00 00 00 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 70 43 | }.else.{...$................topC |
| 16420 | 6f 6c 6f 72 20 3d 20 67 72 61 73 73 54 6f 70 3b 00 00 00 26 20 20 20 20 20 20 20 20 20 20 20 20 | olor.=.grassTop;...&............ |
| 16440 | 20 20 20 20 73 69 64 65 43 6f 6c 6f 72 20 3d 20 67 72 61 73 73 53 69 64 65 3b 00 00 00 2a 20 20 | ....sideColor.=.grassSide;...*.. |
| 16460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 74 74 6f 6d 43 6f 6c 6f 72 20 3d 20 67 72 61 73 | ..............bottomColor.=.gras |
| 16480 | 73 42 6f 74 74 6f 6d 3b 00 00 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0c 20 20 20 | sBottom;................}....... |
| 164a0 | 20 20 20 20 20 20 20 20 20 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e | ............?............for.(in |
| 164c0 | 74 20 79 20 3d 20 62 61 73 65 48 65 69 67 68 74 20 2d 20 32 3b 20 79 20 3c 20 62 61 73 65 48 65 | t.y.=.baseHeight.-.2;.y.<.baseHe |
| 164e0 | 69 67 68 74 3b 20 79 2b 2b 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ight;.y++).{...*................ |
| 16500 | 69 66 20 28 79 20 3d 3d 20 62 61 73 65 48 65 69 67 68 74 20 2d 20 31 29 20 7b 00 00 00 2d 20 20 | if.(y.==.baseHeight.-.1).{...-.. |
| 16520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 62 78 20 3d 20 77 6f 72 | ..................float.bx.=.wor |
| 16540 | 6c 64 58 20 2b 20 30 2e 35 66 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ldX.+.0.5f;...(................. |
| 16560 | 20 20 20 66 6c 6f 61 74 20 62 79 20 3d 20 79 20 2b 20 30 2e 35 66 3b 00 00 00 2d 20 20 20 20 20 | ...float.by.=.y.+.0.5f;...-..... |
| 16580 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 62 7a 20 3d 20 77 6f 72 6c 64 5a | ...............float.bz.=.worldZ |
| 165a0 | 20 2b 20 30 2e 35 66 3b 00 00 00 14 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .+.0.5f;........................ |
| 165c0 | 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 43 6f 6c 6f 72 33 | ...?....................glColor3 |
| 165e0 | 66 28 64 69 72 74 54 6f 70 2e 72 2c 20 64 69 72 74 54 6f 70 2e 67 2c 20 64 69 72 74 54 6f 70 2e | f(dirtTop.r,.dirtTop.g,.dirtTop. |
| 16600 | 62 29 3b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 50 75 73 | b);...#....................glPus |
| 16620 | 68 4d 61 74 72 69 78 28 29 3b 00 00 00 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | hMatrix();...-.................. |
| 16640 | 20 20 67 6c 54 72 61 6e 73 6c 61 74 65 66 28 62 78 2c 20 62 79 2c 20 62 7a 29 3b 00 00 00 28 20 | ..glTranslatef(bx,.by,.bz);...(. |
| 16660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 53 6f 6c 69 64 43 75 62 65 | ...................glutSolidCube |
| 16680 | 28 31 2e 30 66 29 3b 00 00 00 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 | (1.0f);..."....................g |
| 166a0 | 6c 50 6f 70 4d 61 74 72 69 78 28 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lPopMatrix();................... |
| 166c0 | 20 7d 20 65 6c 73 65 20 7b 00 00 00 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .}.else.{...-................... |
| 166e0 | 20 66 6c 6f 61 74 20 62 78 20 3d 20 77 6f 72 6c 64 58 20 2b 20 30 2e 35 66 3b 00 00 00 28 20 20 | .float.bx.=.worldX.+.0.5f;...(.. |
| 16700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 62 79 20 3d 20 79 20 2b | ..................float.by.=.y.+ |
| 16720 | 20 30 2e 35 66 3b 00 00 00 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c | .0.5f;...-....................fl |
| 16740 | 6f 61 74 20 62 7a 20 3d 20 77 6f 72 6c 64 5a 20 2b 20 30 2e 35 66 3b 00 00 00 14 20 20 20 20 20 | oat.bz.=.worldZ.+.0.5f;......... |
| 16760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..................B............. |
| 16780 | 20 20 20 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 28 73 74 6f 6e 65 54 6f 70 2e 72 2c 20 73 74 6f | .......glColor3f(stoneTop.r,.sto |
| 167a0 | 6e 65 54 6f 70 2e 67 2c 20 73 74 6f 6e 65 54 6f 70 2e 62 29 3b 00 00 00 23 20 20 20 20 20 20 20 | neTop.g,.stoneTop.b);...#....... |
| 167c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 50 75 73 68 4d 61 74 72 69 78 28 29 3b 00 00 00 2d | .............glPushMatrix();...- |
| 167e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 54 72 61 6e 73 6c 61 74 65 66 | ....................glTranslatef |
| 16800 | 28 62 78 2c 20 62 79 2c 20 62 7a 29 3b 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (bx,.by,.bz);...(............... |
| 16820 | 20 20 20 20 20 67 6c 75 74 53 6f 6c 69 64 43 75 62 65 28 31 2e 30 66 29 3b 00 00 00 22 20 20 20 | .....glutSolidCube(1.0f);..."... |
| 16840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 50 6f 70 4d 61 74 72 69 78 28 29 3b 00 | .................glPopMatrix();. |
| 16860 | 00 00 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 0d 20 20 20 20 20 20 20 20 | ...................}............ |
| 16880 | 20 20 20 20 7d 00 00 00 0c 20 20 20 20 20 20 20 20 20 20 20 20 00 00 00 25 20 20 20 20 20 20 20 | ....}...................%....... |
| 168a0 | 20 20 20 20 20 66 6c 6f 61 74 20 62 78 20 3d 20 77 6f 72 6c 64 58 20 2b 20 30 2e 35 66 3b 00 00 | .....float.bx.=.worldX.+.0.5f;.. |
| 168c0 | 00 29 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 62 79 20 3d 20 62 61 73 65 48 65 69 | .)............float.by.=.baseHei |
| 168e0 | 67 68 74 20 2b 20 30 2e 35 66 3b 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 | ght.+.0.5f;...%............float |
| 16900 | 20 62 7a 20 3d 20 77 6f 72 6c 64 5a 20 2b 20 30 2e 35 66 3b 00 00 00 0c 20 20 20 20 20 20 20 20 | .bz.=.worldZ.+.0.5f;............ |
| 16920 | 20 20 20 20 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 43 6f 6c 6f 72 33 66 28 74 6f | .......:............glColor3f(to |
| 16940 | 70 43 6f 6c 6f 72 2e 72 2c 20 74 6f 70 43 6f 6c 6f 72 2e 67 2c 20 74 6f 70 43 6f 6c 6f 72 2e 62 | pColor.r,.topColor.g,.topColor.b |
| 16960 | 29 3b 00 00 00 1b 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 50 75 73 68 4d 61 74 72 69 78 28 29 | );................glPushMatrix() |
| 16980 | 3b 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 54 72 61 6e 73 6c 61 74 65 66 28 62 78 | ;...%............glTranslatef(bx |
| 169a0 | 2c 20 62 79 2c 20 62 7a 29 3b 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 53 6f | ,.by,.bz);................glutSo |
| 169c0 | 6c 69 64 43 75 62 65 28 31 2e 30 66 29 3b 00 00 00 1a 20 20 20 20 20 20 20 20 20 20 20 20 67 6c | lidCube(1.0f);................gl |
| 169e0 | 50 6f 70 4d 61 74 72 69 78 28 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 | PopMatrix();............}....... |
| 16a00 | 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 16 76 6f 69 64 20 64 72 61 77 43 72 6f 73 73 68 61 69 | .}....}........void.drawCrosshai |
| 16a20 | 72 28 29 20 7b 00 00 00 20 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 50 52 4f | r().{........glMatrixMode(GL_PRO |
| 16a40 | 4a 45 43 54 49 4f 4e 29 3b 00 00 00 13 20 20 20 20 67 6c 50 75 73 68 4d 61 74 72 69 78 28 29 3b | JECTION);........glPushMatrix(); |
| 16a60 | 00 00 00 15 20 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b 00 00 00 36 20 20 20 | ........glLoadIdentity();...6... |
| 16a80 | 20 67 6c 4f 72 74 68 6f 28 30 2c 20 57 49 4e 44 4f 57 5f 57 49 44 54 48 2c 20 57 49 4e 44 4f 57 | .glOrtho(0,.WINDOW_WIDTH,.WINDOW |
| 16aa0 | 5f 48 45 49 47 48 54 2c 20 30 2c 20 2d 31 2c 20 31 29 3b 00 00 00 04 20 20 20 20 00 00 00 1f 20 | _HEIGHT,.0,.-1,.1);............. |
| 16ac0 | 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 | ...glMatrixMode(GL_MODELVIEW);.. |
| 16ae0 | 00 13 20 20 20 20 67 6c 50 75 73 68 4d 61 74 72 69 78 28 29 3b 00 00 00 15 20 20 20 20 67 6c 4c | ......glPushMatrix();........glL |
| 16b00 | 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 1b 20 20 20 20 67 6c | oadIdentity();................gl |
| 16b20 | 44 69 73 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 1d 20 20 20 20 67 6c 44 | Disable(GL_LIGHTING);........glD |
| 16b40 | 69 73 61 62 6c 65 28 47 4c 5f 44 45 50 54 48 5f 54 45 53 54 29 3b 00 00 00 04 20 20 20 20 00 00 | isable(GL_DEPTH_TEST);.......... |
| 16b60 | 00 1e 20 20 20 20 69 6e 74 20 63 78 20 3d 20 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 2f 20 32 3b | ......int.cx.=.WINDOW_WIDTH./.2; |
| 16b80 | 00 00 00 1f 20 20 20 20 69 6e 74 20 63 79 20 3d 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 2f | ........int.cy.=.WINDOW_HEIGHT./ |
| 16ba0 | 20 32 3b 00 00 00 12 20 20 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 31 32 3b 00 00 00 10 20 20 20 | .2;........int.size.=.12;....... |
| 16bc0 | 20 69 6e 74 20 67 61 70 20 3d 20 34 3b 00 00 00 04 20 20 20 20 00 00 00 26 20 20 20 20 67 6c 43 | .int.gap.=.4;...........&....glC |
| 16be0 | 6f 6c 6f 72 34 66 28 31 2e 30 66 2c 20 31 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 39 66 29 3b 00 | olor4f(1.0f,.1.0f,.1.0f,.0.9f);. |
| 16c00 | 00 00 16 20 20 20 20 67 6c 4c 69 6e 65 57 69 64 74 68 28 32 2e 30 66 29 3b 00 00 00 04 20 20 20 | .......glLineWidth(2.0f);....... |
| 16c20 | 20 00 00 00 16 20 20 20 20 67 6c 42 65 67 69 6e 28 47 4c 5f 4c 49 4e 45 53 29 3b 00 00 00 1e 20 | .........glBegin(GL_LINES);..... |
| 16c40 | 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 20 2d 20 73 69 7a 65 2c 20 63 79 29 3b 00 00 00 | ...glVertex2i(cx.-.size,.cy);... |
| 16c60 | 1d 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 20 2d 20 67 61 70 2c 20 63 79 29 3b 00 00 | .....glVertex2i(cx.-.gap,.cy);.. |
| 16c80 | 00 1d 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 20 2b 20 67 61 70 2c 20 63 79 29 3b 00 | ......glVertex2i(cx.+.gap,.cy);. |
| 16ca0 | 00 00 1e 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 20 2b 20 73 69 7a 65 2c 20 63 79 29 | .......glVertex2i(cx.+.size,.cy) |
| 16cc0 | 3b 00 00 00 1e 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 2c 20 63 79 20 2d 20 73 69 7a | ;........glVertex2i(cx,.cy.-.siz |
| 16ce0 | 65 29 3b 00 00 00 1d 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 2c 20 63 79 20 2d 20 67 | e);........glVertex2i(cx,.cy.-.g |
| 16d00 | 61 70 29 3b 00 00 00 1d 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 2c 20 63 79 20 2b 20 | ap);........glVertex2i(cx,.cy.+. |
| 16d20 | 67 61 70 29 3b 00 00 00 1e 20 20 20 20 67 6c 56 65 72 74 65 78 32 69 28 63 78 2c 20 63 79 20 2b | gap);........glVertex2i(cx,.cy.+ |
| 16d40 | 20 73 69 7a 65 29 3b 00 00 00 0c 20 20 20 20 67 6c 45 6e 64 28 29 3b 00 00 00 04 20 20 20 20 00 | .size);........glEnd();......... |
| 16d60 | 00 00 1c 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 44 45 50 54 48 5f 54 45 53 54 29 3b 00 | .......glEnable(GL_DEPTH_TEST);. |
| 16d80 | 00 00 1a 20 20 20 20 67 6c 45 6e 61 62 6c 65 28 47 4c 5f 4c 49 47 48 54 49 4e 47 29 3b 00 00 00 | .......glEnable(GL_LIGHTING);... |
| 16da0 | 04 20 20 20 20 00 00 00 20 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 50 52 4f | .............glMatrixMode(GL_PRO |
| 16dc0 | 4a 45 43 54 49 4f 4e 29 3b 00 00 00 12 20 20 20 20 67 6c 50 6f 70 4d 61 74 72 69 78 28 29 3b 00 | JECTION);........glPopMatrix();. |
| 16de0 | 00 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 | .......glMatrixMode(GL_MODELVIEW |
| 16e00 | 29 3b 00 00 00 12 20 20 20 20 67 6c 50 6f 70 4d 61 74 72 69 78 28 29 3b 00 00 00 01 7d 00 00 00 | );........glPopMatrix();....}... |
| 16e20 | 00 00 00 00 10 76 6f 69 64 20 64 69 73 70 6c 61 79 28 29 20 7b 00 00 00 37 20 20 20 20 67 6c 43 | .....void.display().{...7....glC |
| 16e40 | 6c 65 61 72 28 47 4c 5f 43 4f 4c 4f 52 5f 42 55 46 46 45 52 5f 42 49 54 20 7c 20 47 4c 5f 44 45 | lear(GL_COLOR_BUFFER_BIT.|.GL_DE |
| 16e60 | 50 54 48 5f 42 55 46 46 45 52 5f 42 49 54 29 3b 00 00 00 04 20 20 20 20 00 00 00 1f 20 20 20 20 | PTH_BUFFER_BIT);................ |
| 16e80 | 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 3b 00 00 00 15 20 | glMatrixMode(GL_MODELVIEW);..... |
| 16ea0 | 20 20 20 67 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 51 | ...glLoadIdentity();...........Q |
| 16ec0 | 20 20 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 58 20 3d 20 63 61 6d 58 20 2b 20 73 69 6e 66 28 79 61 | ....float.lookX.=.camX.+.sinf(ya |
| 16ee0 | 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 20 2a 20 63 6f 73 66 28 70 69 74 63 68 20 | w.*.M_PI./.180.0f).*.cosf(pitch. |
| 16f00 | 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 3b 00 00 00 35 20 20 20 20 66 6c 6f 61 74 20 6c | *.M_PI./.180.0f);...5....float.l |
| 16f20 | 6f 6f 6b 59 20 3d 20 63 61 6d 59 20 2b 20 73 69 6e 66 28 70 69 74 63 68 20 2a 20 4d 5f 50 49 20 | ookY.=.camY.+.sinf(pitch.*.M_PI. |
| 16f40 | 2f 20 31 38 30 2e 30 66 29 3b 00 00 00 51 20 20 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 5a 20 3d 20 | /.180.0f);...Q....float.lookZ.=. |
| 16f60 | 63 61 6d 5a 20 2d 20 63 6f 73 66 28 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 | camZ.-.cosf(yaw.*.M_PI./.180.0f) |
| 16f80 | 20 2a 20 63 6f 73 66 28 70 69 74 63 68 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 3b 00 | .*.cosf(pitch.*.M_PI./.180.0f);. |
| 16fa0 | 00 00 04 20 20 20 20 00 00 00 47 20 20 20 20 67 6c 75 4c 6f 6f 6b 41 74 28 63 61 6d 58 2c 20 63 | ..........G....gluLookAt(camX,.c |
| 16fc0 | 61 6d 59 2c 20 63 61 6d 5a 2c 20 6c 6f 6f 6b 58 2c 20 6c 6f 6f 6b 59 2c 20 6c 6f 6f 6b 5a 2c 20 | amY,.camZ,.lookX,.lookY,.lookZ,. |
| 16fe0 | 30 2e 30 66 2c 20 31 2e 30 66 2c 20 30 2e 30 66 29 3b 00 00 00 04 20 20 20 20 00 00 00 13 20 20 | 0.0f,.1.0f,.0.0f);.............. |
| 17000 | 20 20 64 72 61 77 50 6c 61 74 66 6f 72 6d 28 29 3b 00 00 00 14 20 20 20 20 64 72 61 77 43 72 6f | ..drawPlatform();........drawCro |
| 17020 | 73 73 68 61 69 72 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 16 20 20 20 20 67 6c 75 74 53 77 61 | sshair();................glutSwa |
| 17040 | 70 42 75 66 66 65 72 73 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 1c 76 6f 69 64 20 72 65 73 | pBuffers();....}........void.res |
| 17060 | 68 61 70 65 28 69 6e 74 20 77 2c 20 69 6e 74 20 68 29 20 7b 00 00 00 1b 20 20 20 20 67 6c 56 69 | hape(int.w,.int.h).{........glVi |
| 17080 | 65 77 70 6f 72 74 28 30 2c 20 30 2c 20 77 2c 20 68 29 3b 00 00 00 20 20 20 20 20 67 6c 4d 61 74 | ewport(0,.0,.w,.h);........glMat |
| 170a0 | 72 69 78 4d 6f 64 65 28 47 4c 5f 50 52 4f 4a 45 43 54 49 4f 4e 29 3b 00 00 00 15 20 20 20 20 67 | rixMode(GL_PROJECTION);........g |
| 170c0 | 6c 4c 6f 61 64 49 64 65 6e 74 69 74 79 28 29 3b 00 00 00 4a 20 20 20 20 67 6c 75 50 65 72 73 70 | lLoadIdentity();...J....gluPersp |
| 170e0 | 65 63 74 69 76 65 28 37 35 2e 30 2c 20 28 64 6f 75 62 6c 65 29 77 20 2f 20 28 64 6f 75 62 6c 65 | ective(75.0,.(double)w./.(double |
| 17100 | 29 68 2c 20 30 2e 31 2c 20 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2a 20 32 2e 30 29 3b 00 00 | )h,.0.1,.PLATFORM_SIZE.*.2.0);.. |
| 17120 | 00 1f 20 20 20 20 67 6c 4d 61 74 72 69 78 4d 6f 64 65 28 47 4c 5f 4d 4f 44 45 4c 56 49 45 57 29 | ......glMatrixMode(GL_MODELVIEW) |
| 17140 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 34 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 44 6f 77 6e 28 | ;....}.......4void.keyboardDown( |
| 17160 | 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 | unsigned.char.key,.int.x,.int.y) |
| 17180 | 20 7b 00 00 00 12 20 20 20 20 6b 65 79 73 5b 6b 65 79 5d 20 3d 20 31 3b 00 00 00 1b 20 20 20 20 | .{........keys[key].=.1;........ |
| 171a0 | 69 66 20 28 6b 65 79 20 3d 3d 20 32 37 29 20 65 78 69 74 28 30 29 3b 00 00 00 15 20 20 20 20 69 | if.(key.==.27).exit(0);........i |
| 171c0 | 66 20 28 6b 65 79 20 3d 3d 20 27 20 27 29 20 7b 00 00 00 19 20 20 20 20 20 20 20 20 69 66 20 28 | f.(key.==.'.').{............if.( |
| 171e0 | 69 73 4f 6e 47 72 6f 75 6e 64 29 20 7b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 76 65 6c | isOnGround).{...#............vel |
| 17200 | 6f 63 69 74 79 59 20 3d 20 4a 55 4d 50 5f 46 4f 52 43 45 3b 00 00 00 1b 20 20 20 20 20 20 20 20 | ocityY.=.JUMP_FORCE;............ |
| 17220 | 20 20 20 20 69 73 4f 6e 47 72 6f 75 6e 64 20 3d 20 30 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d | ....isOnGround.=.0;............} |
| 17240 | 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 32 76 6f 69 64 20 6b 65 79 62 6f | ........}....}.......2void.keybo |
| 17260 | 61 72 64 55 70 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 | ardUp(unsigned.char.key,.int.x,. |
| 17280 | 69 6e 74 20 79 29 20 7b 00 00 00 12 20 20 20 20 6b 65 79 73 5b 6b 65 79 5d 20 3d 20 30 3b 00 00 | int.y).{........keys[key].=.0;.. |
| 172a0 | 00 01 7d 00 00 00 00 00 00 00 1e 76 6f 69 64 20 6d 6f 75 73 65 4d 6f 76 65 28 69 6e 74 20 78 2c | ..}........void.mouseMove(int.x, |
| 172c0 | 20 69 6e 74 20 79 29 20 7b 00 00 00 2a 20 20 20 20 73 74 61 74 69 63 20 69 6e 74 20 63 65 6e 74 | .int.y).{...*....static.int.cent |
| 172e0 | 65 72 58 20 3d 20 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 2f 20 32 3b 00 00 00 2b 20 20 20 20 73 | erX.=.WINDOW_WIDTH./.2;...+....s |
| 17300 | 74 61 74 69 63 20 69 6e 74 20 63 65 6e 74 65 72 59 20 3d 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 | tatic.int.centerY.=.WINDOW_HEIGH |
| 17320 | 54 20 2f 20 32 3b 00 00 00 04 20 20 20 20 00 00 00 19 20 20 20 20 69 66 20 28 21 6d 6f 75 73 65 | T./.2;................if.(!mouse |
| 17340 | 43 61 70 74 75 72 65 64 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 67 6c 75 74 57 61 72 70 50 | Captured).{...*........glutWarpP |
| 17360 | 6f 69 6e 74 65 72 28 63 65 6e 74 65 72 58 2c 20 63 65 6e 74 65 72 59 29 3b 00 00 00 1a 20 20 20 | ointer(centerX,.centerY);....... |
| 17380 | 20 20 20 20 20 6d 6f 75 73 65 43 61 70 74 75 72 65 64 20 3d 20 31 3b 00 00 00 0f 20 20 20 20 20 | .....mouseCaptured.=.1;......... |
| 173a0 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 19 20 | ...return;........}............. |
| 173c0 | 20 20 20 69 6e 74 20 64 78 20 3d 20 78 20 2d 20 63 65 6e 74 65 72 58 3b 00 00 00 19 20 20 20 20 | ...int.dx.=.x.-.centerX;........ |
| 173e0 | 69 6e 74 20 64 79 20 3d 20 79 20 2d 20 63 65 6e 74 65 72 59 3b 00 00 00 04 20 20 20 20 00 00 00 | int.dy.=.y.-.centerY;........... |
| 17400 | 1d 20 20 20 20 69 66 20 28 64 78 20 21 3d 20 30 20 7c 7c 20 64 79 20 21 3d 20 30 29 20 7b 00 00 | .....if.(dx.!=.0.||.dy.!=.0).{.. |
| 17420 | 00 1f 20 20 20 20 20 20 20 20 79 61 77 20 2b 3d 20 64 78 20 2a 20 4d 4f 55 53 45 5f 53 45 4e 53 | ..........yaw.+=.dx.*.MOUSE_SENS |
| 17440 | 3b 00 00 00 21 20 20 20 20 20 20 20 20 70 69 74 63 68 20 2b 3d 20 64 79 20 2a 20 4d 4f 55 53 45 | ;...!........pitch.+=.dy.*.MOUSE |
| 17460 | 5f 53 45 4e 53 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 29 20 20 20 20 20 20 20 20 69 66 | _SENS;...............)........if |
| 17480 | 20 28 70 69 74 63 68 20 3e 20 38 39 2e 30 66 29 20 70 69 74 63 68 20 3d 20 38 39 2e 30 66 3b 00 | .(pitch.>.89.0f).pitch.=.89.0f;. |
| 174a0 | 00 00 2b 20 20 20 20 20 20 20 20 69 66 20 28 70 69 74 63 68 20 3c 20 2d 38 39 2e 30 66 29 20 70 | ..+........if.(pitch.<.-89.0f).p |
| 174c0 | 69 74 63 68 20 3d 20 2d 38 39 2e 30 66 3b 00 00 00 08 20 20 20 20 20 20 20 20 00 00 00 29 20 20 | itch.=.-89.0f;...............).. |
| 174e0 | 20 20 20 20 20 20 77 68 69 6c 65 20 28 79 61 77 20 3c 20 30 2e 30 66 29 20 79 61 77 20 2b 3d 20 | ......while.(yaw.<.0.0f).yaw.+=. |
| 17500 | 33 36 30 2e 30 66 3b 00 00 00 2c 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 79 61 77 20 3e 3d | 360.0f;...,........while.(yaw.>= |
| 17520 | 20 33 36 30 2e 30 66 29 20 79 61 77 20 2d 3d 20 33 36 30 2e 30 66 3b 00 00 00 08 20 20 20 20 20 | .360.0f).yaw.-=.360.0f;......... |
| 17540 | 20 20 20 00 00 00 2a 20 20 20 20 20 20 20 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 63 | ......*........glutWarpPointer(c |
| 17560 | 65 6e 74 65 72 58 2c 20 63 65 6e 74 65 72 59 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 | enterX,.centerY);........}....}. |
| 17580 | 00 00 00 00 00 00 36 76 6f 69 64 20 6d 6f 75 73 65 43 6c 69 63 6b 28 69 6e 74 20 62 75 74 74 6f | ......6void.mouseClick(int.butto |
| 175a0 | 6e 2c 20 69 6e 74 20 73 74 61 74 65 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 00 00 00 | n,.int.state,.int.x,.int.y).{... |
| 175c0 | 3b 20 20 20 20 69 66 20 28 62 75 74 74 6f 6e 20 3d 3d 20 47 4c 55 54 5f 4c 45 46 54 5f 42 55 54 | ;....if.(button.==.GLUT_LEFT_BUT |
| 175e0 | 54 4f 4e 20 26 26 20 73 74 61 74 65 20 3d 3d 20 47 4c 55 54 5f 44 4f 57 4e 29 20 7b 00 00 00 1a | TON.&&.state.==.GLUT_DOWN).{.... |
| 17600 | 20 20 20 20 20 20 20 20 6d 6f 75 73 65 43 61 70 74 75 72 65 64 20 3d 20 30 3b 00 00 00 3d 20 20 | ........mouseCaptured.=.0;...=.. |
| 17620 | 20 20 20 20 20 20 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 57 49 4e 44 4f 57 5f 57 49 44 | ......glutWarpPointer(WINDOW_WID |
| 17640 | 54 48 20 2f 20 32 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 20 2f 20 32 29 3b 00 00 00 05 20 | TH./.2,.WINDOW_HEIGHT./.2);..... |
| 17660 | 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1e 76 6f 69 64 20 75 70 64 61 74 65 28 66 6c 6f | ...}....}........void.update(flo |
| 17680 | 61 74 20 64 65 6c 74 61 54 69 6d 65 29 20 7b 00 00 00 27 20 20 20 20 66 6c 6f 61 74 20 79 61 77 | at.deltaTime).{...'....float.yaw |
| 176a0 | 52 61 64 20 3d 20 79 61 77 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 3b 00 00 00 22 20 20 | Rad.=.yaw.*.M_PI./.180.0f;...".. |
| 176c0 | 20 20 66 6c 6f 61 74 20 66 6f 72 77 61 72 64 58 20 3d 20 73 69 6e 66 28 79 61 77 52 61 64 29 3b | ..float.forwardX.=.sinf(yawRad); |
| 176e0 | 00 00 00 23 20 20 20 20 66 6c 6f 61 74 20 66 6f 72 77 61 72 64 5a 20 3d 20 2d 63 6f 73 66 28 79 | ...#....float.forwardZ.=.-cosf(y |
| 17700 | 61 77 52 61 64 29 3b 00 00 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 58 20 3d 20 63 6f | awRad);........float.rightX.=.co |
| 17720 | 73 66 28 79 61 77 52 61 64 29 3b 00 00 00 20 20 20 20 20 66 6c 6f 61 74 20 72 69 67 68 74 5a 20 | sf(yawRad);........float.rightZ. |
| 17740 | 3d 20 73 69 6e 66 28 79 61 77 52 61 64 29 3b 00 00 00 04 20 20 20 20 00 00 00 1d 20 20 20 20 66 | =.sinf(yawRad);................f |
| 17760 | 6c 6f 61 74 20 73 70 65 65 64 20 3d 20 4d 4f 56 45 5f 53 50 45 45 44 3b 00 00 00 21 20 20 20 20 | loat.speed.=.MOVE_SPEED;...!.... |
| 17780 | 69 66 20 28 6b 65 79 73 5b 27 71 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 51 27 5d 29 20 7b 00 00 00 | if.(keys['q'].||.keys['Q']).{... |
| 177a0 | 1d 20 20 20 20 20 20 20 20 73 70 65 65 64 20 3d 20 53 50 52 49 4e 54 5f 53 50 45 45 44 3b 00 00 | .........speed.=.SPRINT_SPEED;.. |
| 177c0 | 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b | ......}...........!....if.(keys[ |
| 177e0 | 27 77 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 57 27 5d 29 20 7b 00 00 00 2d 20 20 20 20 20 20 20 20 | 'w'].||.keys['W']).{...-........ |
| 17800 | 63 61 6d 58 20 2b 3d 20 66 6f 72 77 61 72 64 58 20 2a 20 73 70 65 65 64 20 2a 20 64 65 6c 74 61 | camX.+=.forwardX.*.speed.*.delta |
| 17820 | 54 69 6d 65 3b 00 00 00 2d 20 20 20 20 20 20 20 20 63 61 6d 5a 20 2b 3d 20 66 6f 72 77 61 72 64 | Time;...-........camZ.+=.forward |
| 17840 | 5a 20 2a 20 73 70 65 65 64 20 2a 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 00 05 20 20 20 20 7d 00 | Z.*.speed.*.deltaTime;........}. |
| 17860 | 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b 27 73 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 53 27 | ..!....if.(keys['s'].||.keys['S' |
| 17880 | 5d 29 20 7b 00 00 00 2d 20 20 20 20 20 20 20 20 63 61 6d 58 20 2d 3d 20 66 6f 72 77 61 72 64 58 | ]).{...-........camX.-=.forwardX |
| 178a0 | 20 2a 20 73 70 65 65 64 20 2a 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 00 2d 20 20 20 20 20 20 20 | .*.speed.*.deltaTime;...-....... |
| 178c0 | 20 63 61 6d 5a 20 2d 3d 20 66 6f 72 77 61 72 64 5a 20 2a 20 73 70 65 65 64 20 2a 20 64 65 6c 74 | .camZ.-=.forwardZ.*.speed.*.delt |
| 178e0 | 61 54 69 6d 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 6b 65 79 73 5b | aTime;........}...!....if.(keys[ |
| 17900 | 27 61 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 41 27 5d 29 20 7b 00 00 00 2b 20 20 20 20 20 20 20 20 | 'a'].||.keys['A']).{...+........ |
| 17920 | 63 61 6d 58 20 2d 3d 20 72 69 67 68 74 58 20 2a 20 73 70 65 65 64 20 2a 20 64 65 6c 74 61 54 69 | camX.-=.rightX.*.speed.*.deltaTi |
| 17940 | 6d 65 3b 00 00 00 2b 20 20 20 20 20 20 20 20 63 61 6d 5a 20 2d 3d 20 72 69 67 68 74 5a 20 2a 20 | me;...+........camZ.-=.rightZ.*. |
| 17960 | 73 70 65 65 64 20 2a 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 | speed.*.deltaTime;........}...!. |
| 17980 | 20 20 20 69 66 20 28 6b 65 79 73 5b 27 64 27 5d 20 7c 7c 20 6b 65 79 73 5b 27 44 27 5d 29 20 7b | ...if.(keys['d'].||.keys['D']).{ |
| 179a0 | 00 00 00 2b 20 20 20 20 20 20 20 20 63 61 6d 58 20 2b 3d 20 72 69 67 68 74 58 20 2a 20 73 70 65 | ...+........camX.+=.rightX.*.spe |
| 179c0 | 65 64 20 2a 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 00 2b 20 20 20 20 20 20 20 20 63 61 6d 5a 20 | ed.*.deltaTime;...+........camZ. |
| 179e0 | 2b 3d 20 72 69 67 68 74 5a 20 2a 20 73 70 65 65 64 20 2a 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 | +=.rightZ.*.speed.*.deltaTime;.. |
| 17a00 | 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 25 20 20 20 20 76 65 6c 6f 63 69 74 79 59 | ......}...........%....velocityY |
| 17a20 | 20 2d 3d 20 47 52 41 56 49 54 59 20 2a 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 00 22 20 20 20 20 | .-=.GRAVITY.*.deltaTime;...".... |
| 17a40 | 63 61 6d 59 20 2b 3d 20 76 65 6c 6f 63 69 74 79 59 20 2a 20 64 65 6c 74 61 54 69 6d 65 3b 00 00 | camY.+=.velocityY.*.deltaTime;.. |
| 17a60 | 00 04 20 20 20 20 00 00 00 40 20 20 20 20 66 6c 6f 61 74 20 67 72 6f 75 6e 64 48 65 69 67 68 74 | .........@....float.groundHeight |
| 17a80 | 20 3d 20 67 65 74 48 65 69 67 68 74 41 74 50 6f 73 69 74 69 6f 6e 28 63 61 6d 58 2c 20 63 61 6d | .=.getHeightAtPosition(camX,.cam |
| 17aa0 | 5a 29 20 2b 20 31 2e 30 66 3b 00 00 00 1f 20 20 20 20 69 66 20 28 63 61 6d 59 20 3c 3d 20 67 72 | Z).+.1.0f;........if.(camY.<=.gr |
| 17ac0 | 6f 75 6e 64 48 65 69 67 68 74 29 20 7b 00 00 00 1c 20 20 20 20 20 20 20 20 63 61 6d 59 20 3d 20 | oundHeight).{............camY.=. |
| 17ae0 | 67 72 6f 75 6e 64 48 65 69 67 68 74 3b 00 00 00 19 20 20 20 20 20 20 20 20 76 65 6c 6f 63 69 74 | groundHeight;............velocit |
| 17b00 | 79 59 20 3d 20 30 2e 30 66 3b 00 00 00 17 20 20 20 20 20 20 20 20 69 73 4f 6e 47 72 6f 75 6e 64 | yY.=.0.0f;............isOnGround |
| 17b20 | 20 3d 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 30 20 20 20 20 66 6c | .=.1;........}...........0....fl |
| 17b40 | 6f 61 74 20 6c 69 6d 69 74 20 3d 20 28 50 4c 41 54 46 4f 52 4d 5f 53 49 5a 45 20 2f 20 32 2e 30 | oat.limit.=.(PLATFORM_SIZE./.2.0 |
| 17b60 | 66 29 20 2d 20 32 2e 30 66 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 58 20 3c 20 2d 6c 69 | f).-.2.0f;...%....if.(camX.<.-li |
| 17b80 | 6d 69 74 29 20 63 61 6d 58 20 3d 20 2d 6c 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 | mit).camX.=.-limit;...%....if.(c |
| 17ba0 | 61 6d 58 20 3e 20 20 6c 69 6d 69 74 29 20 63 61 6d 58 20 3d 20 20 6c 69 6d 69 74 3b 00 00 00 25 | amX.>..limit).camX.=..limit;...% |
| 17bc0 | 20 20 20 20 69 66 20 28 63 61 6d 5a 20 3c 20 2d 6c 69 6d 69 74 29 20 63 61 6d 5a 20 3d 20 2d 6c | ....if.(camZ.<.-limit).camZ.=.-l |
| 17be0 | 69 6d 69 74 3b 00 00 00 25 20 20 20 20 69 66 20 28 63 61 6d 5a 20 3e 20 20 6c 69 6d 69 74 29 20 | imit;...%....if.(camZ.>..limit). |
| 17c00 | 63 61 6d 5a 20 3d 20 20 6c 69 6d 69 74 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0d 76 6f 69 64 20 | camZ.=..limit;....}........void. |
| 17c20 | 69 64 6c 65 28 29 20 7b 00 00 00 1c 20 20 20 20 73 74 61 74 69 63 20 69 6e 74 20 6c 61 73 74 54 | idle().{........static.int.lastT |
| 17c40 | 69 6d 65 20 3d 20 30 3b 00 00 00 29 20 20 20 20 69 6e 74 20 6e 6f 77 20 3d 20 67 6c 75 74 47 65 | ime.=.0;...)....int.now.=.glutGe |
| 17c60 | 74 28 47 4c 55 54 5f 45 4c 41 50 53 45 44 5f 54 49 4d 45 29 3b 00 00 00 31 20 20 20 20 66 6c 6f | t(GLUT_ELAPSED_TIME);...1....flo |
| 17c80 | 61 74 20 64 65 6c 74 61 54 69 6d 65 20 3d 20 28 6e 6f 77 20 2d 20 6c 61 73 74 54 69 6d 65 29 20 | at.deltaTime.=.(now.-.lastTime). |
| 17ca0 | 2f 20 31 30 30 30 2e 30 66 3b 00 00 00 13 20 20 20 20 6c 61 73 74 54 69 6d 65 20 3d 20 6e 6f 77 | /.1000.0f;........lastTime.=.now |
| 17cc0 | 3b 00 00 00 04 20 20 20 20 00 00 00 2d 20 20 20 20 69 66 20 28 64 65 6c 74 61 54 69 6d 65 20 3e | ;...........-....if.(deltaTime.> |
| 17ce0 | 20 30 2e 30 35 66 29 20 64 65 6c 74 61 54 69 6d 65 20 3d 20 30 2e 30 35 66 3b 00 00 00 2e 20 20 | .0.05f).deltaTime.=.0.05f;...... |
| 17d00 | 20 20 69 66 20 28 64 65 6c 74 61 54 69 6d 65 20 3c 3d 20 30 2e 30 66 29 20 64 65 6c 74 61 54 69 | ..if.(deltaTime.<=.0.0f).deltaTi |
| 17d20 | 6d 65 20 3d 20 30 2e 30 31 36 66 3b 00 00 00 04 20 20 20 20 00 00 00 16 20 20 20 20 75 70 64 61 | me.=.0.016f;................upda |
| 17d40 | 74 65 28 64 65 6c 74 61 54 69 6d 65 29 3b 00 00 00 18 20 20 20 20 67 6c 75 74 50 6f 73 74 52 65 | te(deltaTime);........glutPostRe |
| 17d60 | 64 69 73 70 6c 61 79 28 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 21 69 6e 74 20 6d 61 69 6e 28 | display();....}.......!int.main( |
| 17d80 | 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 20 7b 00 00 00 16 20 20 20 20 | int.argc,.char.**argv).{........ |
| 17da0 | 73 72 61 6e 64 28 74 69 6d 65 28 4e 55 4c 4c 29 29 3b 00 00 00 16 20 20 20 20 67 65 6e 65 72 61 | srand(time(NULL));........genera |
| 17dc0 | 74 65 54 65 72 72 61 69 6e 28 29 3b 00 00 00 04 20 20 20 20 00 00 00 4f 20 20 20 20 66 6c 6f 61 | teTerrain();...........O....floa |
| 17de0 | 74 20 73 74 61 72 74 48 65 69 67 68 74 20 3d 20 67 65 74 48 65 69 67 68 74 41 74 50 6f 73 69 74 | t.startHeight.=.getHeightAtPosit |
| 17e00 | 69 6f 6e 28 30 2e 30 66 2c 20 30 2e 30 66 29 20 2b 20 50 4c 41 59 45 52 5f 48 45 49 47 48 54 20 | ion(0.0f,.0.0f).+.PLAYER_HEIGHT. |
| 17e20 | 2b 20 31 2e 30 66 3b 00 00 00 17 20 20 20 20 63 61 6d 59 20 3d 20 73 74 61 72 74 48 65 69 67 68 | +.1.0f;........camY.=.startHeigh |
| 17e40 | 74 3b 00 00 00 04 20 20 20 20 00 00 00 1a 20 20 20 20 67 6c 75 74 49 6e 69 74 28 26 61 72 67 63 | t;................glutInit(&argc |
| 17e60 | 2c 20 61 72 67 76 29 3b 00 00 00 3d 20 20 20 20 67 6c 75 74 49 6e 69 74 44 69 73 70 6c 61 79 4d | ,.argv);...=....glutInitDisplayM |
| 17e80 | 6f 64 65 28 47 4c 55 54 5f 44 4f 55 42 4c 45 20 7c 20 47 4c 55 54 5f 52 47 42 20 7c 20 47 4c 55 | ode(GLUT_DOUBLE.|.GLUT_RGB.|.GLU |
| 17ea0 | 54 5f 44 45 50 54 48 29 3b 00 00 00 34 20 20 20 20 67 6c 75 74 49 6e 69 74 57 69 6e 64 6f 77 53 | T_DEPTH);...4....glutInitWindowS |
| 17ec0 | 69 7a 65 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 2c 20 57 49 4e 44 4f 57 5f 48 45 49 47 48 54 29 | ize(WINDOW_WIDTH,.WINDOW_HEIGHT) |
| 17ee0 | 3b 00 00 00 2c 20 20 20 20 67 6c 75 74 43 72 65 61 74 65 57 69 6e 64 6f 77 28 22 4d 69 6e 65 63 | ;...,....glutCreateWindow("Minec |
| 17f00 | 72 61 66 74 20 50 72 6f 74 6f 74 79 70 65 22 29 3b 00 00 00 00 00 00 00 0d 20 20 20 20 69 6e 69 | raft.Prototype");............ini |
| 17f20 | 74 47 4c 28 29 3b 00 00 00 00 00 00 00 1d 20 20 20 20 67 6c 75 74 44 69 73 70 6c 61 79 46 75 6e | tGL();............glutDisplayFun |
| 17f40 | 63 28 64 69 73 70 6c 61 79 29 3b 00 00 00 1d 20 20 20 20 67 6c 75 74 52 65 73 68 61 70 65 46 75 | c(display);........glutReshapeFu |
| 17f60 | 6e 63 28 72 65 73 68 61 70 65 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b 65 79 62 6f 61 72 64 | nc(reshape);...#....glutKeyboard |
| 17f80 | 46 75 6e 63 28 6b 65 79 62 6f 61 72 64 44 6f 77 6e 29 3b 00 00 00 23 20 20 20 20 67 6c 75 74 4b | Func(keyboardDown);...#....glutK |
| 17fa0 | 65 79 62 6f 61 72 64 55 70 46 75 6e 63 28 6b 65 79 62 6f 61 72 64 55 70 29 3b 00 00 00 25 20 20 | eyboardUpFunc(keyboardUp);...%.. |
| 17fc0 | 20 20 67 6c 75 74 50 61 73 73 69 76 65 4d 6f 74 69 6f 6e 46 75 6e 63 28 6d 6f 75 73 65 4d 6f 76 | ..glutPassiveMotionFunc(mouseMov |
| 17fe0 | 65 29 3b 00 00 00 1e 20 20 20 20 67 6c 75 74 4d 6f 75 73 65 46 75 6e 63 28 6d 6f 75 73 65 43 6c | e);........glutMouseFunc(mouseCl |
| 18000 | 69 63 6b 29 3b 00 00 00 17 20 20 20 20 67 6c 75 74 49 64 6c 65 46 75 6e 63 28 69 64 6c 65 29 3b | ick);........glutIdleFunc(idle); |
| 18020 | 00 00 00 04 20 20 20 20 00 00 00 24 20 20 20 20 67 6c 75 74 53 65 74 43 75 72 73 6f 72 28 47 4c | ...........$....glutSetCursor(GL |
| 18040 | 55 54 5f 43 55 52 53 4f 52 5f 4e 4f 4e 45 29 3b 00 00 00 39 20 20 20 20 67 6c 75 74 57 61 72 70 | UT_CURSOR_NONE);...9....glutWarp |
| 18060 | 50 6f 69 6e 74 65 72 28 57 49 4e 44 4f 57 5f 57 49 44 54 48 20 2f 20 32 2c 20 57 49 4e 44 4f 57 | Pointer(WINDOW_WIDTH./.2,.WINDOW |
| 18080 | 5f 48 45 49 47 48 54 20 2f 20 32 29 3b 00 00 00 00 00 00 00 13 20 20 20 20 67 6c 75 74 4d 61 69 | _HEIGHT./.2);............glutMai |
| 180a0 | 6e 4c 6f 6f 70 28 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 | nLoop();........return.0;....}5. |
| 180c0 | f5 18 00 00 00 00 00 00 00 00 00 00 00 00 bc 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 | ................................ |
| 180e0 | 00 00 00 00 00 00 f3 30 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 14 00 00 | .......0..............5._....... |
| 18100 | 00 16 00 00 00 00 00 00 00 00 00 00 00 15 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 | ................................ |
| 18120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 181a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 181c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 181e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 08 fd d3 | ............................j... |
| 18280 | 04 01 00 00 00 12 00 f5 18 00 00 01 c5 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 20 20 20 | ................................ |
| 182a0 | 20 67 6c 75 74 49 6e 69 74 57 69 6e 64 6f 77 53 69 7a 65 28 57 49 f5 18 00 00 01 c6 00 00 00 00 | .glutInitWindowSize(WI.......... |
| 182c0 | 00 00 00 00 00 00 00 00 f5 18 00 00 01 24 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 3e 20 20 | .............$...............>.. |
| 182e0 | 20 20 66 6c 6f 61 74 20 6c 6f 6f 6b 5a 20 3d 20 63 61 6d 5a 20 2d 20 63 6f 73 66 28 79 61 77 20 | ..float.lookZ.=.camZ.-.cosf(yaw. |
| 18300 | 2a 20 4d 5f 50 49 20 2f 20 31 38 30 2e 30 66 29 20 2a 20 63 6f 73 66 28 70 69 74 63 f5 18 00 00 | *.M_PI./.180.0f).*.cosf(pitc.... |
| 18320 | 01 25 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 01 | .%.............................. |
| 18340 | 00 00 00 1e 20 20 20 20 67 6c 43 6f 6c 6f 72 4d 61 74 65 72 69 61 6c 28 47 4c 5f 46 52 4f 4e 54 | ........glColorMaterial(GL_FRONT |
| 18360 | 2c 20 f5 18 00 00 00 93 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 | ,............................... |
| 18380 | 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 | ............................5... |
| 183a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 92 00 00 00 1e 00 00 00 00 00 00 00 | ................................ |
| 183c0 | 00 00 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 92 00 00 00 1e 00 | ................................ |
| 183e0 | 00 00 00 00 00 00 00 00 00 00 92 00 00 00 3e 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 | ..............>................. |
| 18400 | 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 24 01 00 00 3e 00 00 00 00 00 00 00 00 00 00 00 | ................$...>........... |
| 18420 | a1 00 00 00 19 00 00 00 f8 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 | ................................ |
| 18440 | f5 18 00 00 00 00 c5 01 00 00 19 00 00 00 00 00 00 00 00 00 00 00 12 00 00 00 01 00 00 00 f7 2f | .............................../ |
| 18460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c2 01 00 00 00 00 00 00 35 81 5f d0 00 00 00 15 00 00 | ......................5._....... |
| 18480 | 00 17 00 00 00 00 00 00 00 00 00 00 00 16 00 00 01 c7 00 00 00 16 00 00 00 00 ff ff ff ff 00 01 | ................................ |
| 184a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 184c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 184e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 185a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 185c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 c7 00 00 00 16 | ................................ |
| 185e0 | 00 00 00 00 00 00 01 c7 00 00 00 28 00 00 00 00 00 00 00 76 00 00 00 28 00 00 00 00 6a 08 fe 1b | ...........(.......v...(....j... |
| 18600 | 04 01 00 00 00 00 00 f5 18 00 00 01 c6 00 00 01 c8 00 00 01 d8 00 00 00 01 00 00 00 2c 20 20 20 | ............................,... |
| 18620 | 20 67 6c 75 74 43 72 65 61 74 65 57 69 6e 64 6f 77 28 22 4d 69 6e 65 63 72 61 66 74 20 50 72 6f | .glutCreateWindow("Minecraft.Pro |
| 18640 | 74 6f 74 79 70 65 22 29 3b 35 81 f5 18 00 00 00 00 c6 01 00 00 16 00 00 00 00 00 00 00 13 00 00 | totype");5...................... |
| 18660 | 00 00 00 00 00 00 00 00 00 29 30 00 00 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........)0..................... |
| 18680 | 00 35 81 5f d0 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 00 00 01 c7 00 00 00 | .5._............................ |
| 186a0 | 16 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 186c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 186e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 187a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 187c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 187e0 | 00 00 00 00 00 01 c7 00 00 00 16 00 00 00 00 00 00 01 c7 00 00 00 28 00 00 00 00 00 00 00 76 00 | ......................(.......v. |
| 18800 | 00 00 28 00 00 00 00 6a 08 fe 1d 04 01 00 00 00 14 00 f5 18 00 00 01 c6 00 00 01 c8 00 00 01 d8 | ..(....j........................ |
| 18820 | 00 00 00 01 00 00 00 19 20 20 20 20 67 6c 75 74 43 72 65 61 74 65 57 69 6e 64 6f 77 28 22 22 29 | ............glutCreateWindow("") |
| 18840 | 3b 35 81 f5 18 00 00 00 00 c6 01 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 | ;5.............................. |
| 18860 | 00 29 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 35 81 e7 aa | .)0......................5... |