diff --git a/bin/Scene/Objects/Book.class b/bin/Scene/Objects/Book.class
index e43f597..fcaf6a1 100644
Binary files a/bin/Scene/Objects/Book.class and b/bin/Scene/Objects/Book.class differ
diff --git a/bin/Scene/Objects/BookTable.class b/bin/Scene/Objects/BookTable.class
new file mode 100644
index 0000000..3fd47a9
Binary files /dev/null and b/bin/Scene/Objects/BookTable.class differ
diff --git a/bin/Scene/Objects/Cube.class b/bin/Scene/Objects/Cube.class
index 3da7804..e447981 100644
Binary files a/bin/Scene/Objects/Cube.class and b/bin/Scene/Objects/Cube.class differ
diff --git a/bin/Scene/Objects/Ground.class b/bin/Scene/Objects/Ground.class
index 007df05..dd28b34 100644
Binary files a/bin/Scene/Objects/Ground.class and b/bin/Scene/Objects/Ground.class differ
diff --git a/bin/Scene/Objects/Player.class b/bin/Scene/Objects/Player.class
index bb2346a..7084acf 100644
Binary files a/bin/Scene/Objects/Player.class and b/bin/Scene/Objects/Player.class differ
diff --git a/bin/Scene/Objects/Table.class b/bin/Scene/Objects/Table.class
deleted file mode 100644
index 860e77d..0000000
Binary files a/bin/Scene/Objects/Table.class and /dev/null differ
diff --git a/bin/Scene/Objects/TheMostImportantImage.class b/bin/Scene/Objects/TheMostImportantImage.class
index 72c6016..b68f624 100644
Binary files a/bin/Scene/Objects/TheMostImportantImage.class and b/bin/Scene/Objects/TheMostImportantImage.class differ
diff --git a/bin/Scene/Objects/VideoTriggerBox.class b/bin/Scene/Objects/VideoTriggerBox.class
new file mode 100644
index 0000000..694d1ef
Binary files /dev/null and b/bin/Scene/Objects/VideoTriggerBox.class differ
diff --git a/bin/Scene/Scene$1.class b/bin/Scene/Scene$1.class
index fe9dfda..143955a 100644
Binary files a/bin/Scene/Scene$1.class and b/bin/Scene/Scene$1.class differ
diff --git a/bin/Scene/Scene$2.class b/bin/Scene/Scene$2.class
index fbb834d..4123a7e 100644
Binary files a/bin/Scene/Scene$2.class and b/bin/Scene/Scene$2.class differ
diff --git a/bin/Scene/Scene$3.class b/bin/Scene/Scene$3.class
index 4aca60d..3236a2b 100644
Binary files a/bin/Scene/Scene$3.class and b/bin/Scene/Scene$3.class differ
diff --git a/bin/Scene/Scene$4.class b/bin/Scene/Scene$4.class
index 4099fb7..6a9954b 100644
Binary files a/bin/Scene/Scene$4.class and b/bin/Scene/Scene$4.class differ
diff --git a/bin/Scene/Scene$5.class b/bin/Scene/Scene$5.class
index 34d59c9..b022e61 100644
Binary files a/bin/Scene/Scene$5.class and b/bin/Scene/Scene$5.class differ
diff --git a/bin/Scene/Scene.class b/bin/Scene/Scene.class
index f1ac20b..665a6a8 100644
Binary files a/bin/Scene/Scene.class and b/bin/Scene/Scene.class differ
diff --git a/bin/Scene/base/ParticleEmitter$Particle.class b/bin/Scene/base/ParticleEmitter$Particle.class
index dfe130c..e5068ca 100644
Binary files a/bin/Scene/base/ParticleEmitter$Particle.class and b/bin/Scene/base/ParticleEmitter$Particle.class differ
diff --git a/bin/Scene/base/ParticleEmitter.class b/bin/Scene/base/ParticleEmitter.class
index 08a7cb5..70e480b 100644
Binary files a/bin/Scene/base/ParticleEmitter.class and b/bin/Scene/base/ParticleEmitter.class differ
diff --git a/bin/Scene/base/ParticleEmitterBuilder.class b/bin/Scene/base/ParticleEmitterBuilder.class
index 2c2dca0..df91554 100644
Binary files a/bin/Scene/base/ParticleEmitterBuilder.class and b/bin/Scene/base/ParticleEmitterBuilder.class differ
diff --git a/bin/base/obj/BufferTools.class b/bin/base/obj/BufferTools.class
deleted file mode 100644
index 0f6d914..0000000
Binary files a/bin/base/obj/BufferTools.class and /dev/null differ
diff --git a/bin/base/obj/Model$Face.class b/bin/base/obj/Model$Face.class
index 857447a..2f2b36c 100644
Binary files a/bin/base/obj/Model$Face.class and b/bin/base/obj/Model$Face.class differ
diff --git a/bin/base/obj/Model$Material.class b/bin/base/obj/Model$Material.class
index 51c4b28..c618791 100644
Binary files a/bin/base/obj/Model$Material.class and b/bin/base/obj/Model$Material.class differ
diff --git a/bin/base/obj/OBJLoader.class b/bin/base/obj/OBJLoader.class
index ff5ea4b..6021c65 100644
Binary files a/bin/base/obj/OBJLoader.class and b/bin/base/obj/OBJLoader.class differ
diff --git a/bin/main/Camera.class b/bin/main/Camera.class
index 4a4d4f2..3740f0b 100644
Binary files a/bin/main/Camera.class and b/bin/main/Camera.class differ
diff --git a/bin/main/Engine.class b/bin/main/Engine.class
index 7a3f330..16f25af 100644
Binary files a/bin/main/Engine.class and b/bin/main/Engine.class differ
diff --git a/bin/main/Main$1.class b/bin/main/Main$1.class
index ae6bc22..5dc1e38 100644
Binary files a/bin/main/Main$1.class and b/bin/main/Main$1.class differ
diff --git a/bin/main/Main$2.class b/bin/main/Main$2.class
index ce01aa0..94eb7e7 100644
Binary files a/bin/main/Main$2.class and b/bin/main/Main$2.class differ
diff --git a/bin/main/Main$3.class b/bin/main/Main$3.class
index 113ccf5..a7a236e 100644
Binary files a/bin/main/Main$3.class and b/bin/main/Main$3.class differ
diff --git a/bin/main/Main.class b/bin/main/Main.class
index 7729378..a80d242 100644
Binary files a/bin/main/Main.class and b/bin/main/Main.class differ
diff --git a/bin/main/MainWindow.class b/bin/main/MainWindow.class
deleted file mode 100644
index b556f01..0000000
Binary files a/bin/main/MainWindow.class and /dev/null differ
diff --git a/bin/main/TextureLoader.class b/bin/main/TextureLoader.class
index a269dcd..fe86e2d 100644
Binary files a/bin/main/TextureLoader.class and b/bin/main/TextureLoader.class differ
diff --git a/hs_err_pid96255.log b/hs_err_pid96255.log
new file mode 100644
index 0000000..c26b5bf
--- /dev/null
+++ b/hs_err_pid96255.log
@@ -0,0 +1,601 @@
+#
+# A fatal error has been detected by the Java Runtime Environment:
+#
+# SIGILL (0x4) at pc=0x00007fff2307e2f8, pid=96255, tid=0x0000000000000103
+#
+# JRE version: Java(TM) SE Runtime Environment (8.0_271-b09) (build 1.8.0_271-b09)
+# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.271-b09 mixed mode bsd-amd64 compressed oops)
+# Problematic frame:
+# C [AppKit+0x3eb2f8] -[NSApplication _crashOnException:]+0x15b
+#
+# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
+#
+# If you would like to submit a bug report, please visit:
+# http://bugreport.java.com/bugreport/crash.jsp
+# The crash happened outside the Java Virtual Machine in native code.
+# See problematic frame for where to report the bug.
+#
+
+--------------- T H R E A D ---------------
+
+Current thread (0x00007f8939878000): JavaThread "AppKit Thread" daemon [_thread_in_native, id=259, stack(0x00007ffeed71f000,0x00007ffeedf1f000)]
+
+siginfo: si_signo: 4 (SIGILL), si_code: 1 (ILL_ILLOPC), si_addr: 0x00007fff2307e2f8
+
+Registers:
+RAX=0x00007f893a14d400, RBX=0x00007fff20271800, RCX=0x9e6501a10a710000, RDX=0x0000000000000e01
+RSP=0x00007ffeedf198b0, RBP=0x00007ffeedf198e0, RSI=0x0000000000000e8d, RDI=0x00007ffeedf19450
+R8 =0x000000000000008d, R9 =0x00007ffeedf18e90, R10=0x00007f893938fc70, R11=0x00007f893a14e28d
+R12=0x00007f893700d068, R13=0x00007f8936c2d420, R14=0x00007f893932a8b0, R15=0x00007fff7bad039d
+RIP=0x00007fff2307e2f8, EFLAGS=0x0000000000010202, ERR=0x0000000000000000
+ TRAPNO=0x0000000000000006
+
+Top of Stack: (sp=0x00007ffeedf198b0)
+0x00007ffeedf198b0: 3932b32008420102 0000000000007f89
+0x00007ffeedf198c0: 4089e00000000000 00007f8939332bc0
+0x00007ffeedf198d0: 00007f8936c2d4f0 00007f8936c2d420
+0x00007ffeedf198e0: 00007ffeedf19a20 00007fff22e56aa8
+0x00007ffeedf198f0: 0000000000000000 0000000000000000
+0x00007ffeedf19900: 0000000000000001 0000000000000003
+0x00007ffeedf19910: 0000000000000000 0000000000001400
+0x00007ffeedf19920: 0000000000000000 0000000000000001
+0x00007ffeedf19930: 0000000101d05a00 0000000101d06e00
+0x00007ffeedf19940: 0000000000000001 0000000000000001
+0x00007ffeedf19950: 00007f893935b070 0000000000000001
+0x00007ffeedf19960: 0000000000000010 0000000101d06e00
+0x00007ffeedf19970: 00007ffeedf19a00 00007fff201ff663
+0x00007ffeedf19980: 0000000101d03080 00000002398781f8
+0x00007ffeedf19990: 0000000000000003 00007f893935b080
+0x00007ffeedf199a0: 0000000201d03080 0000000000000003
+0x00007ffeedf199b0: 0000000000000001 00007f8939300000
+0x00007ffeedf199c0: 00007f893935b070 0000000101d03080
+0x00007ffeedf199d0: 0000000101d06e00 0000000000000002
+0x00007ffeedf199e0: 0000000101d06e00 0000000000000003
+0x00007ffeedf199f0: 9e6501a10a710000 00007f8936c2d4c0
+0x00007ffeedf19a00: 00007f893700d068 00007f8936c2d420
+0x00007ffeedf19a10: 0000000000000002 00007f8936c2d420
+0x00007ffeedf19a20: 00007ffeedf19a50 00007fff235ac332
+0x00007ffeedf19a30: 00007f8936c2d4c0 00007fff204cc1c3
+0x00007ffeedf19a40: 0000000000000002 0000000000000000
+0x00007ffeedf19a50: 00007ffeedf19a60 00007fff204cbd01
+0x00007ffeedf19a60: 00007ffeedf19b20 00007fff204cbb95
+0x00007ffeedf19a70: 00007f8936c2d420 0000000000000020
+0x00007ffeedf19a80: 00007fff801119a8 00007fff204cba28
+0x00007ffeedf19a90: 00007f8936c113b0 0000000500002d8a
+0x00007ffeedf19aa0: 00007ffeedf19a90 00007ffeedf19a70
+
+Instructions: (pc=0x00007fff2307e2f8)
+0x00007fff2307e2d8: 48 89 c7 ff 15 2f e8 25 64 48 8b 35 80 83 a3 5d
+0x00007fff2307e2e8: 48 89 c7 ff 15 1f e8 25 64 48 89 05 e8 66 a9 5d
+0x00007fff2307e2f8: 0f 0b 48 89 c7 e8 e2 6c 7b 00 31 ff 31 f6 31 c0
+0x00007fff2307e308: e8 6a 13 e2 ff e8 02 6d 7b 00 0f 0b 48 89 c3 e8
+
+Register to memory mapping:
+
+RAX=0x00007f893a14d400 is an unknown value
+RBX=0x00007fff20271800: objc_msgSend+0 in /usr/lib/libobjc.A.dylib at 0x00007fff2026b000
+RCX=0x9e6501a10a710000 is an unknown value
+RDX=0x0000000000000e01 is an unknown value
+RSP=0x00007ffeedf198b0 is pointing into the stack for thread: 0x00007f8939878000
+RBP=0x00007ffeedf198e0 is pointing into the stack for thread: 0x00007f8939878000
+RSI=0x0000000000000e8d is an unknown value
+RDI=0x00007ffeedf19450 is pointing into the stack for thread: 0x00007f8939878000
+R8 =0x000000000000008d is an unknown value
+R9 =0x00007ffeedf18e90 is pointing into the stack for thread: 0x00007f8939878000
+R10=0x00007f893938fc70 is an unknown value
+R11=0x00007f893a14e28d is an unknown value
+R12=0x00007f893700d068 is an unknown value
+R13=0x00007f8936c2d420 is an unknown value
+R14=0x00007f893932a8b0 is an unknown value
+R15=0x00007fff7bad039d: GCC_except_table772+0x5b82fa8d in /usr/lib/libobjc.A.dylib at 0x00007fff2026b000
+
+
+Stack: [0x00007ffeed71f000,0x00007ffeedf1f000], sp=0x00007ffeedf198b0, free space=8170k
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+C [AppKit+0x3eb2f8] -[NSApplication _crashOnException:]+0x15b
+C [AppKit+0x1c3aa8] __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke+0x359
+C [AppKit+0x919332] ___NSRunLoopObserverCreateWithHandler_block_invoke+0x29
+C [CoreFoundation+0x80d01] __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__+0x17
+C [CoreFoundation+0x80b95] __CFRunLoopDoObservers+0x21f
+C [CoreFoundation+0x80028] __CFRunLoopRun+0x349
+C [CoreFoundation+0x7f61c] CFRunLoopRunSpecific+0x233
+C [HIToolbox+0x30a83] RunCurrentEventLoopInMode+0x124
+C [HIToolbox+0x307e5] ReceiveNextEventCommon+0x24b
+C [HIToolbox+0x30583] _BlockUntilNextEventMatchingListInModeWithFilter+0x46
+C [AppKit+0x3f172] _DPSNextEvent+0x360
+C [AppKit+0x3d945] -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]+0x554
+C [libosxapp.dylib+0x2ab8] -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:]+0x79
+C [AppKit+0x2fc69] -[NSApplication run]+0x24a
+C [libosxapp.dylib+0x28fd] +[NSApplicationAWT runAWTLoopWithApp:]+0xde
+C [libawt_lwawt.dylib+0x45ecd] -[AWTStarter starter:]+0x365
+C [Foundation+0x80b81] __NSThreadPerformPerform+0xcc
+C [CoreFoundation+0x8194c] __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__+0x11
+C [CoreFoundation+0x818b4] __CFRunLoopDoSource0+0xb4
+C [CoreFoundation+0x81634] __CFRunLoopDoSources0+0xf2
+C [CoreFoundation+0x8005c] __CFRunLoopRun+0x37d
+C [CoreFoundation+0x7f61c] CFRunLoopRunSpecific+0x233
+C [java+0x5282] CreateExecutionEnvironment+0x37e
+C [java+0x17ae] JLI_Launch+0x75e
+C [java+0x7be9] main+0x44
+C [libdyld.dylib+0x15f3d] start+0x1
+C 0x0000000000000007
+
+
+--------------- P R O C E S S ---------------
+
+Java Threads: ( => current thread )
+ 0x00007f89388ba800 JavaThread "AWT-Shutdown" [_thread_blocked, id=33819, stack(0x0000700004a53000,0x0000700004b53000)]
+=>0x00007f8939878000 JavaThread "AppKit Thread" daemon [_thread_in_native, id=259, stack(0x00007ffeed71f000,0x00007ffeedf1f000)]
+ 0x00007f8938859800 JavaThread "Service Thread" daemon [_thread_blocked, id=39939, stack(0x000070000484d000,0x000070000494d000)]
+ 0x00007f893981a000 JavaThread "C1 CompilerThread11" daemon [_thread_blocked, id=24323, stack(0x000070000474a000,0x000070000484a000)]
+ 0x00007f893a051000 JavaThread "C1 CompilerThread10" daemon [_thread_blocked, id=23811, stack(0x0000700004647000,0x0000700004747000)]
+ 0x00007f8939811000 JavaThread "C1 CompilerThread9" daemon [_thread_blocked, id=23555, stack(0x0000700004544000,0x0000700004644000)]
+ 0x00007f8937943800 JavaThread "C1 CompilerThread8" daemon [_thread_blocked, id=40963, stack(0x0000700004441000,0x0000700004541000)]
+ 0x00007f893a048000 JavaThread "C2 CompilerThread7" daemon [_thread_blocked, id=41475, stack(0x000070000433e000,0x000070000443e000)]
+ 0x00007f8939810800 JavaThread "C2 CompilerThread6" daemon [_thread_blocked, id=23299, stack(0x000070000423b000,0x000070000433b000)]
+ 0x00007f8938828800 JavaThread "C2 CompilerThread5" daemon [_thread_blocked, id=23043, stack(0x0000700004138000,0x0000700004238000)]
+ 0x00007f8937943000 JavaThread "C2 CompilerThread4" daemon [_thread_blocked, id=42243, stack(0x0000700004035000,0x0000700004135000)]
+ 0x00007f893980f000 JavaThread "C2 CompilerThread3" daemon [_thread_blocked, id=42499, stack(0x0000700003f32000,0x0000700004032000)]
+ 0x00007f8937942000 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=42755, stack(0x0000700003e2f000,0x0000700003f2f000)]
+ 0x00007f8937011000 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=43267, stack(0x0000700003d2c000,0x0000700003e2c000)]
+ 0x00007f893a00f800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=21763, stack(0x0000700003c29000,0x0000700003d29000)]
+ 0x00007f8937940800 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=16131, stack(0x0000700003b26000,0x0000700003c26000)]
+ 0x00007f8938041800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=16387, stack(0x0000700003a23000,0x0000700003b23000)]
+ 0x00007f893780b800 JavaThread "Finalizer" daemon [_thread_blocked, id=17923, stack(0x000070000381a000,0x000070000391a000)]
+ 0x00007f8938820000 JavaThread "Reference Handler" daemon [_thread_blocked, id=18435, stack(0x0000700003717000,0x0000700003817000)]
+ 0x00007f8937009000 JavaThread "main" [_thread_in_vm, id=3843, stack(0x00007000027ea000,0x00007000028ea000)]
+
+Other Threads:
+ 0x00007f893881d800 VMThread [stack: 0x0000700003614000,0x0000700003714000] [id=18947]
+ 0x00007f893e008800 WatcherThread [stack: 0x0000700004950000,0x0000700004a50000] [id=39427]
+
+VM state:not at safepoint (normal execution)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+heap address: 0x00000006c0000000, size: 4096 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
+Narrow klass base: 0x0000000000000000, Narrow klass shift: 3
+Compressed class space size: 1073741824 Address: 0x00000007c0000000
+
+Heap:
+ PSYoungGen total 76288K, used 15765K [0x000000076ab00000, 0x0000000770000000, 0x00000007c0000000)
+ eden space 65536K, 24% used [0x000000076ab00000,0x000000076ba65548,0x000000076eb00000)
+ from space 10752K, 0% used [0x000000076f580000,0x000000076f580000,0x0000000770000000)
+ to space 10752K, 0% used [0x000000076eb00000,0x000000076eb00000,0x000000076f580000)
+ ParOldGen total 175104K, used 0K [0x00000006c0000000, 0x00000006cab00000, 0x000000076ab00000)
+ object space 175104K, 0% used [0x00000006c0000000,0x00000006c0000000,0x00000006cab00000)
+ Metaspace used 6057K, capacity 6227K, committed 6400K, reserved 1056768K
+ class space used 647K, capacity 729K, committed 768K, reserved 1048576K
+
+Card table byte_map: [0x000000011a606000,0x000000011ae07000] byte_map_base: 0x0000000117006000
+
+Marking Bits: (ParMarkBitMap*) 0x000000010a729768
+ Begin Bits: [0x000000011b35d000, 0x000000011f35d000)
+ End Bits: [0x000000011f35d000, 0x000000012335d000)
+
+Polling page: 0x0000000101d63000
+
+CodeCache: size=245760Kb used=3723Kb max_used=3734Kb free=242036Kb
+ bounds [0x000000010b246000, 0x000000010b5f6000, 0x000000011a246000]
+ total_blobs=729 nmethods=423 adapters=217
+ compilation: enabled
+
+Compilation events (10 events):
+Event: 0.531 Thread 0x00007f893a051000 nmethod 417 0x000000010b5dde90 code [0x000000010b5de000, 0x000000010b5de188]
+Event: 0.531 Thread 0x00007f8937943800 nmethod 420 0x000000010b5e0c50 code [0x000000010b5e0e40, 0x000000010b5e1998]
+Event: 0.531 Thread 0x00007f8939811000 nmethod 419 0x000000010b5e1fd0 code [0x000000010b5e2200, 0x000000010b5e3078]
+Event: 0.532 Thread 0x00007f893a051000 422 3 java.nio.Buffer::remaining (10 bytes)
+Event: 0.532 Thread 0x00007f8937943800 421 3 java.lang.Integer::valueOf (32 bytes)
+Event: 0.532 Thread 0x00007f893a051000 nmethod 422 0x000000010b5dd790 code [0x000000010b5dd8e0, 0x000000010b5dda30]
+Event: 0.532 Thread 0x00007f8937943800 nmethod 421 0x000000010b5dd110 code [0x000000010b5dd2a0, 0x000000010b5dd5f0]
+Event: 0.533 Thread 0x00007f893981a000 nmethod 418 0x000000010b5e3710 code [0x000000010b5e3bc0, 0x000000010b5e6d08]
+Event: 0.534 Thread 0x00007f893980f000 423 4 java.util.concurrent.ConcurrentHashMap::setTabAt (19 bytes)
+Event: 0.534 Thread 0x00007f893980f000 nmethod 423 0x000000010b5ebd50 code [0x000000010b5ebe80, 0x000000010b5ebef8]
+
+GC Heap History (0 events):
+No events
+
+Deoptimization events (0 events):
+No events
+
+Classes redefined (0 events):
+No events
+
+Internal exceptions (10 events):
+Event: 0.032 Thread 0x00007f8937009000 Exception (0x000000076ab07cc0) thrown at [/jenkins/workspace/8-2-build-macosx-x86_64/jdk8u271/605/hotspot/src/s
+Event: 0.032 Thread 0x00007f8937009000 Exception (0x000000076ab07fa8) thrown at [/jenkins/workspace/8-2-build-macosx-x86_64/jdk8u271/605/hotspot/src/share/vm/prims/jni.
+Event: 0.136 Thread 0x00007f8937009000 Exception (0x000000076b1f2b00) thrown at [/jenkins/workspace/8-2-build-macosx-x86_64/jdk8u271/605/hotspot/src/share/vm/prims/jvm.cpp, line 1512]
+Event: 0.136 Thread 0x00007f8937009000 Exception (0x000000076b1f2d10) thrown at [/jenkins/workspace/8-2-build-macosx-x86_64/jdk8u271/605/hotspot/src/share/vm/prims/jvm.cpp, line 1512]
+Event: 0.136 Thread 0x00007f8937009000 Exception (0x000000076b1f6228) thrown at [/jenkins/workspace/8-2-build-macosx-x86_64/jdk8u271/605/hotspot/src/share/vm/prims/jvm.cpp, line 1512]
+Event: 0.136 Thread 0x00007f8937009000 Exception (0x000000076b1f6438) thrown at [/jenkins/workspace/8-2-build-macosx-x86_64/jdk8u271/605/hotspot/src/share/vm/prims/jvm.cpp, line 1512]
+Event: 0.176 Thread 0x00007f8937009000 Exception (0x000000076b47b648) thrown at [/jenkins/workspace/8-2-build-macosx-x86_64/jdk8u271/605/hotspot/src/share/vm/prims/methodHandles.cpp, line 1169]
+Event: 0.178 Thread 0x00007f8937009000 Exception (0x000000076b4898e0) thrown at [/jenkins/workspace/8-2-build-macosx-x86_64/jdk8u271/605/hotspot/src/share/vm/prims/methodHandles.cpp, line 1169]
+Event: 0.477 Thread 0x00007f8937009000 Exception (0x000000076b52eb10) thrown at [/jenkins/workspace/8-2-build-macosx-x86_64/jdk8u271/605/hotspot/src/share/vm/prims/jni.cpp, line 710]
+Event: 0.477 Thread 0x00007f8937009000 Exception (0x000000076b52f698) thrown at [/jenkins/workspace/8-2-build-macosx-x86_64/jdk8u271/605/hotspot/src/share/vm/prims/jni.cpp, line 710]
+
+Events (10 events):
+Event: 0.533 loading class org/lwjgl/opengl/MacOSXContextImplementation
+Event: 0.533 loading class org/lwjgl/opengl/MacOSXContextImplementation done
+Event: 0.533 loading class org/lwjgl/opengl/GLContext
+Event: 0.533 loading class org/lwjgl/opengl/GLContext done
+Event: 0.533 loading class java/lang/NumberFormatException
+Event: 0.533 loading class java/lang/NumberFormatException done
+Event: 0.534 loading class org/lwjgl/opengl/GLContext$CapabilitiesCacheEntry
+Event: 0.534 loading class org/lwjgl/opengl/GLContext$CapabilitiesCacheEntry done
+Event: 0.537 loading class org/lwjgl/opengl/ContextCapabilities
+Event: 0.537 loading class org/lwjgl/opengl/ContextCapabilities done
+
+
+Dynamic libraries:
+0x00007fff34f1d000 /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
+0x00007fff22262000 /System/Library/Frameworks/Security.framework/Versions/A/Security
+0x00007fff33125000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
+0x00007fff2a4e4000 /usr/lib/libz.1.dylib
+0x00007fff2a5ac000 /usr/lib/libSystem.B.dylib
+0x00007fff2044b000 /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
+0x00007fff211fa000 /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
+0x00007fff2026b000 /usr/lib/libobjc.A.dylib
+0x00007fff22c93000 /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
+0x00007fff25b57000 /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
+0x00007fff239df000 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation
+0x00007fff2fbdf000 /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
+0x00007fff289f0000 /System/Library/PrivateFrameworks/XCTTargetBootstrap.framework/Versions/A/XCTTargetBootstrap
+0x00007fff2b6d5000 /usr/lib/libspindump.dylib
+0x00007fff23c2e000 /System/Library/Frameworks/UniformTypeIdentifiers.framework/Versions/A/UniformTypeIdentifiers
+0x00007fff271f4000 /usr/lib/libapp_launch_measurement.dylib
+0x00007fff271f7000 /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout
+0x00007fff28357000 /System/Library/Frameworks/Metal.framework/Versions/A/Metal
+0x00007fff2904d000 /usr/lib/liblangid.dylib
+0x00007fff289f4000 /System/Library/PrivateFrameworks/CoreSVG.framework/Versions/A/CoreSVG
+0x00007fff24c6e000 /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight
+0x00007fff24fd4000 /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
+0x00007fff30106000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
+0x00007fff2b113000 /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
+0x00007fff2833b000 /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
+0x00007fff264df000 /usr/lib/libDiagnosticMessagesClient.dylib
+0x00007fff289dc000 /System/Library/PrivateFrameworks/DFRFoundation.framework/Versions/A/DFRFoundation
+0x00007fff225ba000 /usr/lib/libicucore.A.dylib
+0x00007fff2cc1e000 /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
+0x00007fff2bea6000 /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
+0x00007fff24be1000 /usr/lib/libMobileGestalt.dylib
+0x00007fff286e0000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
+0x00007fff26c39000 /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
+0x00007fff2fc17000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
+0x00007fff26f59000 /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
+0x00007fff21bd0000 /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
+0x00007fff265ca000 /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
+0x00007fff2baa3000 /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
+0x00007fff2be9d000 /System/Library/PrivateFrameworks/InternationalSupport.framework/Versions/A/InternationalSupport
+0x00007fff24be0000 /usr/lib/libenergytrace.dylib
+0x00007fff22b8a000 /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
+0x00007fff2ff4a000 /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
+0x00007fff27186000 /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
+0x00007fff6bab5000 /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
+0x00007fff2bf21000 /System/Library/PrivateFrameworks/UserActivity.framework/Versions/A/UserActivity
+0x00007fff2565e000 /System/Library/Frameworks/ColorSync.framework/Versions/A/ColorSync
+0x00007fff28c5b000 /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
+0x00007fff219ea000 /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
+0x00007fff28a1e000 /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
+0x00007fff2a5b2000 /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking
+0x00007fff2723f000 /usr/lib/libxml2.2.dylib
+0x00007fff20331000 /usr/lib/libc++.1.dylib
+0x00007fff2a823000 /usr/lib/libcompression.dylib
+0x00007fff2bdcf000 /System/Library/PrivateFrameworks/TextureIO.framework/Versions/A/TextureIO
+0x00007fff2ae52000 /usr/lib/libate.dylib
+0x00007fff2a5a6000 /usr/lib/system/libcache.dylib
+0x00007fff2a562000 /usr/lib/system/libcommonCrypto.dylib
+0x00007fff2a58c000 /usr/lib/system/libcompiler_rt.dylib
+0x00007fff2a581000 /usr/lib/system/libcopyfile.dylib
+0x00007fff2015b000 /usr/lib/system/libcorecrypto.dylib
+0x00007fff20226000 /usr/lib/system/libdispatch.dylib
+0x00007fff203d9000 /usr/lib/system/libdyld.dylib
+0x00007fff2a59d000 /usr/lib/system/libkeymgr.dylib
+0x00007fff2d9b5000 /usr/lib/system/liblaunch.dylib
+0x00007fff2a540000 /usr/lib/system/libmacho.dylib
+0x00007fff29d38000 /usr/lib/system/libquarantine.dylib
+0x00007fff2a59a000 /usr/lib/system/libremovefile.dylib
+0x00007fff24c3e000 /usr/lib/system/libsystem_asl.dylib
+0x00007fff2010b000 /usr/lib/system/libsystem_blocks.dylib
+0x00007fff202a8000 /usr/lib/system/libsystem_c.dylib
+0x00007fff2a594000 /usr/lib/system/libsystem_collections.dylib
+0x00007fff2903e000 /usr/lib/system/libsystem_configuration.dylib
+0x00007fff2832a000 /usr/lib/system/libsystem_containermanager.dylib
+0x00007fff2a2e3000 /usr/lib/system/libsystem_coreservices.dylib
+0x00007fff2281a000 /usr/lib/system/libsystem_darwin.dylib
+0x00007fff2a59e000 /usr/lib/system/libsystem_dnssd.dylib
+0x00007fff202a5000 /usr/lib/system/libsystem_featureflags.dylib
+0x00007fff2041f000 /usr/lib/system/libsystem_info.dylib
+0x00007fff2a4f7000 /usr/lib/system/libsystem_m.dylib
+0x00007fff201f9000 /usr/lib/system/libsystem_malloc.dylib
+0x00007fff24bd1000 /usr/lib/system/libsystem_networkextension.dylib
+0x00007fff22c39000 /usr/lib/system/libsystem_notify.dylib
+0x00007fff2fe4c000 /usr/lib/system/libsystem_product_info_filter.dylib
+0x00007fff29042000 /usr/lib/system/libsystem_sandbox.dylib
+0x00007fff2a597000 /usr/lib/system/libsystem_secinit.dylib
+0x00007fff2039d000 /usr/lib/system/libsystem_kernel.dylib
+0x00007fff20415000 /usr/lib/system/libsystem_platform.dylib
+0x00007fff203cd000 /usr/lib/system/libsystem_pthread.dylib
+0x00007fff2631b000 /usr/lib/system/libsystem_symptoms.dylib
+0x00007fff20143000 /usr/lib/system/libsystem_trace.dylib
+0x00007fff2a56e000 /usr/lib/system/libunwind.dylib
+0x00007fff2010d000 /usr/lib/system/libxpc.dylib
+0x00007fff20387000 /usr/lib/libc++abi.dylib
+0x00007fff2a579000 /usr/lib/liboah.dylib
+0x00007fff2ac37000 /usr/lib/liblzma.5.dylib
+0x00007fff20f0e000 /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
+0x00007fff2a5ae000 /usr/lib/libfakelink.dylib
+0x00007fff24732000 /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
+0x00007fff2a6ee000 /usr/lib/libarchive.2.dylib
+0x00007fff20f8c000 /usr/lib/libCRFSuite.dylib
+0x00007fff29d5f000 /usr/lib/libbsm.0.dylib
+0x00007fff240ab000 /usr/lib/libnetwork.dylib
+0x00007fff2a5b3000 /usr/lib/libpcap.A.dylib
+0x00007fff26314000 /usr/lib/libdns_services.dylib
+0x00007fff2ac50000 /usr/lib/libcoretls_cfhelpers.dylib
+0x00007fff2a7ed000 /usr/lib/libapple_nghttp2.dylib
+0x00007fff2a546000 /usr/lib/system/libkxld.dylib
+0x00007fff25f8d000 /usr/lib/libsqlite3.dylib
+0x00007fff2a2c6000 /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
+0x00007fff29d47000 /usr/lib/libcoretls.dylib
+0x00007fff2a81e000 /usr/lib/libpam.2.dylib
+0x00007fff2ad4e000 /usr/lib/libxar.1.dylib
+0x00007fff29049000 /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo
+0x00007fff29989000 /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer
+0x00007fff2a2d6000 /usr/lib/libbz2.1.0.dylib
+0x00007fff2a5eb000 /usr/lib/libiconv.2.dylib
+0x00007fff2a53f000 /usr/lib/libcharset.1.dylib
+0x00007fff271c2000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
+0x00007fff22824000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
+0x00007fff2652f000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
+0x00007fff2a2e8000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
+0x00007fff2a760000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
+0x00007fff2629f000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
+0x00007fff208e9000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
+0x00007fff2abe7000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
+0x00007fff271cf000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
+0x00007fff29d3b000 /usr/lib/libCheckFix.dylib
+0x00007fff24c55000 /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
+0x00007fff2904f000 /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
+0x00007fff264e2000 /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities
+0x00007fff20fc1000 /usr/lib/libmecabra.dylib
+0x00007fff2a045000 /System/Library/Frameworks/MLCompute.framework/Versions/A/MLCompute
+0x00007fff29d70000 /usr/lib/libmecab.dylib
+0x00007fff29dba000 /usr/lib/libgermantok.dylib
+0x00007fff2a7c8000 /usr/lib/libThaiTokenizer.dylib
+0x00007fff2ad89000 /usr/lib/libChineseTokenizer.dylib
+0x00007fff2a81c000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/MetalPerformanceShaders
+0x00007fff265d1000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
+0x00007fff2ff24000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
+0x00007fff2ad94000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
+0x00007fff297a4000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
+0x00007fff20bf4000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
+0x00007fff2a849000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
+0x00007fff29dc0000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
+0x00007fff2a805000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
+0x00007fff2a843000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
+0x00007fff290fb000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
+0x00007fff20e9f000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib
+0x00007fff28fd7000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSCore.framework/Versions/A/MPSCore
+0x00007fff2a235000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSImage.framework/Versions/A/MPSImage
+0x00007fff29dd6000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNeuralNetwork.framework/Versions/A/MPSNeuralNetwork
+0x00007fff2a1a7000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSMatrix.framework/Versions/A/MPSMatrix
+0x00007fff29ff5000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSRayIntersector.framework/Versions/A/MPSRayIntersector
+0x00007fff2a1de000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNDArray.framework/Versions/A/MPSNDArray
+0x00007fff20b1f000 /System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/MetalTools
+0x00007fff29047000 /System/Library/PrivateFrameworks/AggregateDictionary.framework/Versions/A/AggregateDictionary
+0x00007fff264af000 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics
+0x00007fff2a7ca000 /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce
+0x00007fff2834d000 /System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
+0x00007fff6baa9000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
+0x00007fff21559000 /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
+0x00007fff29977000 /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
+0x00007fff290f4000 /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData
+0x00007fff20e51000 /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon
+0x00007fff2a6dc000 /usr/lib/libcmph.dylib
+0x00007fff271a2000 /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
+0x00007fff27192000 /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
+0x00007fff2ac52000 /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS
+0x00007fff29c9d000 /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
+0x00007fff2ad5c000 /usr/lib/libutil.dylib
+0x00007fff22b4f000 /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore
+0x00007fff29d33000 /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
+0x00007fff2ad60000 /usr/lib/libxslt.1.dylib
+0x00007fff29d29000 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement
+0x00007fff2bd19000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
+0x00007fff2bd23000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
+0x00007fff2bc6d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
+0x00007fff2bc94000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
+0x00007fff2bd78000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
+0x00007fff2b9bf000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
+0x00007fff2b0db000 /usr/lib/libexpat.1.dylib
+0x00007fff2b975000 /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
+0x00007fff28583000 /System/Library/PrivateFrameworks/FontServices.framework/libFontParser.dylib
+0x00007fff26256000 /System/Library/PrivateFrameworks/RunningBoardServices.framework/Versions/A/RunningBoardServices
+0x00007fff2ba9f000 /System/Library/PrivateFrameworks/WatchdogClient.framework/Versions/A/WatchdogClient
+0x00007fff21642000 /System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay
+0x00007fff28498000 /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia
+0x00007fff27322000 /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
+0x00007fff2bada000 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox
+0x00007fff261d6000 /System/Library/PrivateFrameworks/BaseBoard.framework/Versions/A/BaseBoard
+0x00007fff2b21f000 /System/Library/PrivateFrameworks/PersistentConnection.framework/Versions/A/PersistentConnection
+0x00007fff25f77000 /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer
+0x00007fff261be000 /System/Library/PrivateFrameworks/CommonUtilities.framework/Versions/A/CommonUtilities
+0x00007fff2b938000 /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
+0x00007fff2bd11000 /System/Library/PrivateFrameworks/GPUWrangler.framework/Versions/A/GPUWrangler
+0x00007fff2bcf4000 /System/Library/PrivateFrameworks/IOPresentment.framework/Versions/A/IOPresentment
+0x00007fff2bd1d000 /System/Library/PrivateFrameworks/DSExternalDisplay.framework/Versions/A/DSExternalDisplay
+0x00007fff2bd7d000 /System/Library/PrivateFrameworks/CMCaptureCore.framework/Versions/A/CMCaptureCore
+0x00007fff2b6bb000 /System/Library/PrivateFrameworks/AppServerSupport.framework/Versions/A/AppServerSupport
+0x00007fff2d758000 /System/Library/PrivateFrameworks/perfdata.framework/Versions/A/perfdata
+0x00007fff29c8c000 /System/Library/PrivateFrameworks/AssertionServices.framework/Versions/A/AssertionServices
+0x00007fff21779000 /System/Library/PrivateFrameworks/AudioToolboxCore.framework/Versions/A/AudioToolboxCore
+0x00007fff2847b000 /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk
+0x00007fff3cc04000 /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy
+0x00007fff2aeea000 /usr/lib/libIOReport.dylib
+0x00007fff2cf94000 /usr/lib/libSMC.dylib
+0x00007fff2bc39000 /usr/lib/libAudioToolboxUtility.dylib
+0x00007fff3d561000 /usr/lib/libmis.dylib
+0x00007fff6bb05000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
+0x00007fff6bac8000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
+0x00007fff6bcd6000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
+0x00007fff6bad1000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
+0x00007fff6bac5000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
+0x00007fff6bab0000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
+0x00007fff6d120000 /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
+0x00007fff2b248000 /System/Library/PrivateFrameworks/GraphVisualizer.framework/Versions/A/GraphVisualizer
+0x00007fff2b257000 /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
+0x00007fff2b673000 /System/Library/PrivateFrameworks/OTSVG.framework/Versions/A/OTSVG
+0x00007fff26f17000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
+0x00007fff2b6c2000 /System/Library/PrivateFrameworks/FontServices.framework/libhvf.dylib
+0x00007fff2b087000 /System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
+0x00007fff2cddc000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
+0x00007fff2d0ef000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy
+0x00007fff25755000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
+0x00007fff2d0d4000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
+0x00007fff2bd87000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
+0x00007fff2d0f7000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
+0x00007fff2cdcc000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
+0x00007fff2bd48000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATSUI.framework/Versions/A/ATSUI
+0x00007fff2d074000 /usr/lib/libcups.2.dylib
+0x00007fff2d0e4000 /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
+0x00007fff2d773000 /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
+0x00007fff2d783000 /System/Library/Frameworks/GSS.framework/Versions/A/GSS
+0x00007fff2ce49000 /usr/lib/libresolv.9.dylib
+0x00007fff2b6d8000 /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
+0x00007fff3343a000 /System/Library/Frameworks/Kerberos.framework/Versions/A/Libraries/libHeimdalProxy.dylib
+0x00007fff26323000 /System/Library/Frameworks/Network.framework/Versions/A/Network
+0x00007fff2b0f4000 /usr/lib/libheimdal-asn1.dylib
+0x00007fff2d7d4000 /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
+0x00007fff27370000 /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
+0x00007fff2cd53000 /System/Library/PrivateFrameworks/AudioSession.framework/Versions/A/AudioSession
+0x00007fff2cdb9000 /usr/lib/libAudioStatistics.dylib
+0x00007fff2b180000 /System/Library/PrivateFrameworks/MediaExperience.framework/Versions/A/MediaExperience
+0x00007fff2cbec000 /System/Library/PrivateFrameworks/AudioSession.framework/libSessionUtility.dylib
+0x00007fff2d764000 /usr/lib/libperfcheck.dylib
+0x00007fff2d103000 /System/Library/PrivateFrameworks/AudioResourceArbitration.framework/Versions/A/AudioResourceArbitration
+0x00007fff2b0fe000 /System/Library/PrivateFrameworks/IconFoundation.framework/Versions/A/IconFoundation
+0x00007fff2fc07000 /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore
+0x000000010a000000 /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/server/libjvm.dylib
+0x0000000101d1f000 /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/libverify.dylib
+0x0000000101d30000 /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/libjava.dylib
+0x0000000101d64000 /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/libinstrument.dylib
+0x0000000101dd3000 /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/libzip.dylib
+0x0000000101fd5000 /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/libnet.dylib
+0x000000010aff7000 /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/libawt.dylib
+0x000000012624d000 /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/libmlib_image.dylib
+0x00007fff6ea55000 /System/Library/Frameworks/JavaNativeFoundation.framework/Versions/A/JavaNativeFoundation
+0x00007fff6ea61000 /System/Library/Frameworks/JavaRuntimeSupport.framework/Versions/A/JavaRuntimeSupport
+0x00007fff3c94e000 /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
+0x00007fff31a78000 /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
+0x00007fff363e5000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
+0x00007fff32ecf000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
+0x00007fff363e9000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
+0x00007fff363b9000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
+0x00007fff363e1000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
+0x00007fff3c94a000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
+0x00007fff363dd000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
+0x00007fff31a3c000 /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
+0x000000012630c000 /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/libawt_lwawt.dylib
+0x000000010b097000 /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/libosxapp.dylib
+0x00007fff3bf65000 /System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling
+0x00007fff22b10000 /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
+0x00007fff30f8e000 /System/Library/Frameworks/FileProvider.framework/Versions/A/FileProvider
+0x00007fff26141000 /System/Library/Frameworks/Accounts.framework/Versions/A/Accounts
+0x00007fff310de000 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
+0x00007fff309ae000 /System/Library/PrivateFrameworks/SymptomDiagnosticReporter.framework/Versions/A/SymptomDiagnosticReporter
+0x00007fff23c41000 /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
+0x00007fff22c45000 /usr/lib/libsandbox.1.dylib
+0x00007fff2739b000 /System/Library/PrivateFrameworks/UserManagement.framework/Versions/A/UserManagement
+0x00007fff29c69000 /System/Library/PrivateFrameworks/MobileKeyBag.framework/Versions/A/MobileKeyBag
+0x00007fff344bd000 /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary
+0x00007fff2e197000 /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
+0x00007fff32a3c000 /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
+0x00007fff2a316000 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/AuthKit
+0x00007fff29a67000 /System/Library/PrivateFrameworks/CoreUtils.framework/Versions/A/CoreUtils
+0x00007fff29994000 /System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN
+0x00007fff2e2e3000 /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
+0x00007fff32aa0000 /System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi
+0x00007fff2d85a000 /System/Library/PrivateFrameworks/CorePhoneNumbers.framework/Versions/A/CorePhoneNumbers
+0x00007fff30ab5000 /System/Library/PrivateFrameworks/DiskManagement.framework/Versions/A/DiskManagement
+0x00007fff309cb000 /System/Library/PrivateFrameworks/AppleIDAuthSupport.framework/Versions/A/AppleIDAuthSupport
+0x00007fff2d83a000 /System/Library/PrivateFrameworks/KeychainCircle.framework/Versions/A/KeychainCircle
+0x00007fff30a81000 /System/Library/PrivateFrameworks/MediaKit.framework/Versions/A/MediaKit
+0x00007fff309d8000 /System/Library/Frameworks/DiscRecording.framework/Versions/A/DiscRecording
+0x00007fff2affb000 /usr/lib/libCoreStorage.dylib
+0x00007fff32edb000 /usr/lib/libcsfde.dylib
+0x00007fff2e41e000 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Versions/A/ProtectedCloudStorage
+0x00007fff32ed3000 /System/Library/PrivateFrameworks/EFILogin.framework/Versions/A/EFILogin
+0x00007fff334ed000 /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
+0x00007fff30948000 /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
+0x00007fff2aff3000 /usr/lib/libMatch.1.dylib
+0x00007fff437d5000 /System/Library/CoreServices/RawCamera.bundle/Contents/MacOS/RawCamera
+0x00007fff2d7e5000 /System/Library/PrivateFrameworks/MobileAsset.framework/Versions/A/MobileAsset
+0x00007fff33511000 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/StreamingZip
+0x00007fff2bf7f000 /System/Library/Frameworks/MediaToolbox.framework/Versions/A/MediaToolbox
+0x00007fff30f60000 /System/Library/PrivateFrameworks/CoreAVCHD.framework/Versions/A/CoreAVCHD
+0x00007fff30147000 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/MediaAccessibility
+0x00007fff30f5c000 /System/Library/PrivateFrameworks/Mangrove.framework/Versions/A/Mangrove
+0x00007fff30153000 /System/Library/PrivateFrameworks/AlgosScoreFramework.framework/Versions/A/AlgosScoreFramework
+0x00007fff3194a000 /System/Library/PrivateFrameworks/AppleVPA.framework/Versions/A/AppleVPA
+0x00007fff30ba1000 /System/Library/PrivateFrameworks/CoreAUC.framework/Versions/A/CoreAUC
+0x00007fff41228000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/Libraries/libCGInterfaces.dylib
+0x0000000128cb6000 /usr/lib/libobjc-trampolines.dylib
+0x00007fff2709a000 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/ViewBridge
+0x00007fff2b799000 /System/Library/PrivateFrameworks/login.framework/Versions/A/login
+0x000000012b540000 /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/libfontmanager.dylib
+0x000000012b5a1000 /Users/yuyangwang/Desktop/Programs_In_BDIC/Stage 3 Semester 1/Computer Graphic/project1/liblwjgl.dylib
+0x0000000129af3000 /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/libjawt.dylib
+0x00007fff6bce1000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/GLEngine.bundle/GLEngine
+0x00007fff6bb42000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
+0x00007fff5eec5000 /System/Library/Extensions/AppleIntelKBLGraphicsGLDriver.bundle/Contents/MacOS/AppleIntelKBLGraphicsGLDriver
+0x00007fff4631b000 /System/Library/PrivateFrameworks/GPUSupport.framework/Versions/A/Libraries/libGPUSupportMercury.dylib
+0x000000012b623000 /System/Library/Extensions/AMDRadeonX4000GLDriver.bundle/Contents/MacOS/AMDRadeonX4000GLDriver
+0x00007fff6e022000 /System/Library/Extensions/AMDRadeonX4000GLDriver.bundle/Contents/MacOS/ATIRadeonX4000SCLib.dylib
+0x00007fff5e12d000 /System/Library/Extensions/AMDShared.bundle/Contents/PlugIns/libSC.dylib
+0x00007fff6be5f000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/GLRendererFloat.bundle/GLRendererFloat
+
+VM Arguments:
+jvm_args: -Dvisualvm.id=162482929458374 -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=60875:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8
+java_command: main.Main
+java_class_path (initial): /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
+PATH=/opt/MonkeyDev/bin:/Users/yuyangwang/opt/anaconda3/bin:/Users/yuyangwang/opt/anaconda3/condabin:/Users/yuyangwang/.autojump/bin:/Users/yuyangwang/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/Library/TeX/texbin:/usr/local/share/dotnet:/opt/X11/bin:~/.dotnet/tools:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Wireshark.app/Contents/MacOS:/Users/yuyangwang/flutter/bin
+SHELL=/bin/zsh
+
+Signal Handlers:
+SIGSEGV: [libjvm.dylib+0x5a0dcb], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO
+SIGBUS: [libjvm.dylib+0x5a0dcb], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGFPE: [libjvm.dylib+0x491731], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGPIPE: [libjvm.dylib+0x491731], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGXFSZ: [libjvm.dylib+0x491731], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGILL: [libjvm.dylib+0x491731], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGUSR1: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
+SIGUSR2: [libjvm.dylib+0x49202a], sa_mask[0]=00100000000000000000000000000000, sa_flags=SA_RESTART|SA_SIGINFO
+SIGHUP: [libjvm.dylib+0x490239], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGINT: [libjvm.dylib+0x490239], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGTERM: [libjvm.dylib+0x490239], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGQUIT: [libjvm.dylib+0x490239], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+
+
+--------------- S Y S T E M ---------------
+
+OS:Bsduname:Darwin 20.6.0 Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:31 PDT 2021; root:xnu-7195.141.2~5/RELEASE_X86_64 x86_64
+rlimit: STACK 8192k, CORE 0k, NPROC 2784, NOFILE 10240, AS infinity
+load average:2.29 2.32 2.48
+
+CPU:total 16 (initial active 16) (8 cores per cpu, 2 threads per core) family 6 model 158 stepping 13, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx
+
+Memory: 4k page, physical 16777216k(1306204k free)
+
+/proc/meminfo:
+
+
+vm_info: Java HotSpot(TM) 64-Bit Server VM (25.271-b09) for bsd-amd64 JRE (1.8.0_271-b09), built on Sep 16 2020 16:54:38 by "java_re" with gcc 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.11.45.5)
+
+time: Mon Nov 8 20:11:40 2021
+timezone: CST
+elapsed time: 0.553706 seconds (0d 0h 0m 0s)
+
diff --git a/res/debug.png b/res/debug.png
new file mode 100644
index 0000000..8643d0a
Binary files /dev/null and b/res/debug.png differ
diff --git a/res/end_portal_frame_top.png b/res/end_portal_frame_top.png
new file mode 100644
index 0000000..ced8caf
Binary files /dev/null and b/res/end_portal_frame_top.png differ
diff --git a/res/video/video1.png b/res/video/video1.png
index fe4e9ca..6789dce 100644
Binary files a/res/video/video1.png and b/res/video/video1.png differ
diff --git a/res/video/video10.png b/res/video/video10.png
index fe4e9ca..2c20727 100644
Binary files a/res/video/video10.png and b/res/video/video10.png differ
diff --git a/res/video/video100.png b/res/video/video100.png
index 6cbe6ac..30bc246 100644
Binary files a/res/video/video100.png and b/res/video/video100.png differ
diff --git a/res/video/video101.png b/res/video/video101.png
index e37177d..8d62aa6 100644
Binary files a/res/video/video101.png and b/res/video/video101.png differ
diff --git a/res/video/video102.png b/res/video/video102.png
index 67d65d8..39467da 100644
Binary files a/res/video/video102.png and b/res/video/video102.png differ
diff --git a/res/video/video103.png b/res/video/video103.png
index f318183..007387b 100644
Binary files a/res/video/video103.png and b/res/video/video103.png differ
diff --git a/res/video/video104.png b/res/video/video104.png
index ba980cc..facaf30 100644
Binary files a/res/video/video104.png and b/res/video/video104.png differ
diff --git a/res/video/video105.png b/res/video/video105.png
index 55ef015..d89fe9f 100644
Binary files a/res/video/video105.png and b/res/video/video105.png differ
diff --git a/res/video/video106.png b/res/video/video106.png
index e5a8007..eb5fdd5 100644
Binary files a/res/video/video106.png and b/res/video/video106.png differ
diff --git a/res/video/video107.png b/res/video/video107.png
index a286432..7fcc45b 100644
Binary files a/res/video/video107.png and b/res/video/video107.png differ
diff --git a/res/video/video108.png b/res/video/video108.png
index 4ed9581..0a0554d 100644
Binary files a/res/video/video108.png and b/res/video/video108.png differ
diff --git a/res/video/video109.png b/res/video/video109.png
index aeb9127..2208c80 100644
Binary files a/res/video/video109.png and b/res/video/video109.png differ
diff --git a/res/video/video11.png b/res/video/video11.png
index fe4e9ca..2dda1ce 100644
Binary files a/res/video/video11.png and b/res/video/video11.png differ
diff --git a/res/video/video110.png b/res/video/video110.png
index 0988bb3..10dfe8c 100644
Binary files a/res/video/video110.png and b/res/video/video110.png differ
diff --git a/res/video/video111.png b/res/video/video111.png
index 54c8f8d..dc18bd8 100644
Binary files a/res/video/video111.png and b/res/video/video111.png differ
diff --git a/res/video/video112.png b/res/video/video112.png
index 99a0a24..c19eaee 100644
Binary files a/res/video/video112.png and b/res/video/video112.png differ
diff --git a/res/video/video113.png b/res/video/video113.png
index 374000f..a9f1926 100644
Binary files a/res/video/video113.png and b/res/video/video113.png differ
diff --git a/res/video/video114.png b/res/video/video114.png
index b094242..0cefdfe 100644
Binary files a/res/video/video114.png and b/res/video/video114.png differ
diff --git a/res/video/video115.png b/res/video/video115.png
index 8323807..f88e866 100644
Binary files a/res/video/video115.png and b/res/video/video115.png differ
diff --git a/res/video/video116.png b/res/video/video116.png
index b8ac590..09cbf24 100644
Binary files a/res/video/video116.png and b/res/video/video116.png differ
diff --git a/res/video/video117.png b/res/video/video117.png
index b1fc35b..f562008 100644
Binary files a/res/video/video117.png and b/res/video/video117.png differ
diff --git a/res/video/video118.png b/res/video/video118.png
index 71ff2c1..c4176e2 100644
Binary files a/res/video/video118.png and b/res/video/video118.png differ
diff --git a/res/video/video119.png b/res/video/video119.png
index 7ba7410..0ba5d3e 100644
Binary files a/res/video/video119.png and b/res/video/video119.png differ
diff --git a/res/video/video12.png b/res/video/video12.png
index fe4e9ca..6cbe6ac 100644
Binary files a/res/video/video12.png and b/res/video/video12.png differ
diff --git a/res/video/video120.png b/res/video/video120.png
index 5b4be9b..1511052 100644
Binary files a/res/video/video120.png and b/res/video/video120.png differ
diff --git a/res/video/video121.png b/res/video/video121.png
index d15049d..2fb8cc1 100644
Binary files a/res/video/video121.png and b/res/video/video121.png differ
diff --git a/res/video/video122.png b/res/video/video122.png
index 871cf63..8987013 100644
Binary files a/res/video/video122.png and b/res/video/video122.png differ
diff --git a/res/video/video123.png b/res/video/video123.png
index d4ba35f..7a598c1 100644
Binary files a/res/video/video123.png and b/res/video/video123.png differ
diff --git a/res/video/video124.png b/res/video/video124.png
index e0f0d58..c4ec482 100644
Binary files a/res/video/video124.png and b/res/video/video124.png differ
diff --git a/res/video/video125.png b/res/video/video125.png
index 2c66566..ee48203 100644
Binary files a/res/video/video125.png and b/res/video/video125.png differ
diff --git a/res/video/video126.png b/res/video/video126.png
index efc1915..e8902b4 100644
Binary files a/res/video/video126.png and b/res/video/video126.png differ
diff --git a/res/video/video127.png b/res/video/video127.png
index 55f4429..27b3b35 100644
Binary files a/res/video/video127.png and b/res/video/video127.png differ
diff --git a/res/video/video128.png b/res/video/video128.png
index 80cf187..672bfae 100644
Binary files a/res/video/video128.png and b/res/video/video128.png differ
diff --git a/res/video/video129.png b/res/video/video129.png
index d96a25d..4b2331a 100644
Binary files a/res/video/video129.png and b/res/video/video129.png differ
diff --git a/res/video/video13.png b/res/video/video13.png
index fe4e9ca..e37177d 100644
Binary files a/res/video/video13.png and b/res/video/video13.png differ
diff --git a/res/video/video130.png b/res/video/video130.png
index 5055656..9994b14 100644
Binary files a/res/video/video130.png and b/res/video/video130.png differ
diff --git a/res/video/video131.png b/res/video/video131.png
index c6fc720..2cba755 100644
Binary files a/res/video/video131.png and b/res/video/video131.png differ
diff --git a/res/video/video132.png b/res/video/video132.png
index 0f4ef4f..39cc860 100644
Binary files a/res/video/video132.png and b/res/video/video132.png differ
diff --git a/res/video/video133.png b/res/video/video133.png
index 7f4bd82..d2821ca 100644
Binary files a/res/video/video133.png and b/res/video/video133.png differ
diff --git a/res/video/video134.png b/res/video/video134.png
index 4837333..9a4fe2d 100644
Binary files a/res/video/video134.png and b/res/video/video134.png differ
diff --git a/res/video/video135.png b/res/video/video135.png
index 0a1c800..11aba5e 100644
Binary files a/res/video/video135.png and b/res/video/video135.png differ
diff --git a/res/video/video136.png b/res/video/video136.png
index ade2962..2af6626 100644
Binary files a/res/video/video136.png and b/res/video/video136.png differ
diff --git a/res/video/video137.png b/res/video/video137.png
index 12c135c..ad88ef3 100644
Binary files a/res/video/video137.png and b/res/video/video137.png differ
diff --git a/res/video/video138.png b/res/video/video138.png
index e5d3c19..0a48780 100644
Binary files a/res/video/video138.png and b/res/video/video138.png differ
diff --git a/res/video/video139.png b/res/video/video139.png
index 8a38394..164bc32 100644
Binary files a/res/video/video139.png and b/res/video/video139.png differ
diff --git a/res/video/video14.png b/res/video/video14.png
index fe4e9ca..67d65d8 100644
Binary files a/res/video/video14.png and b/res/video/video14.png differ
diff --git a/res/video/video140.png b/res/video/video140.png
index 0763987..85ff3b4 100644
Binary files a/res/video/video140.png and b/res/video/video140.png differ
diff --git a/res/video/video141.png b/res/video/video141.png
index 3543b5b..804b3bd 100644
Binary files a/res/video/video141.png and b/res/video/video141.png differ
diff --git a/res/video/video142.png b/res/video/video142.png
index 3e6d859..22e56ba 100644
Binary files a/res/video/video142.png and b/res/video/video142.png differ
diff --git a/res/video/video143.png b/res/video/video143.png
index 92abfe6..a8dac2c 100644
Binary files a/res/video/video143.png and b/res/video/video143.png differ
diff --git a/res/video/video144.png b/res/video/video144.png
index e7cfbf1..1841ca4 100644
Binary files a/res/video/video144.png and b/res/video/video144.png differ
diff --git a/res/video/video145.png b/res/video/video145.png
index de4cc0e..d9af2c3 100644
Binary files a/res/video/video145.png and b/res/video/video145.png differ
diff --git a/res/video/video146.png b/res/video/video146.png
index e9c8c2a..bfe0305 100644
Binary files a/res/video/video146.png and b/res/video/video146.png differ
diff --git a/res/video/video147.png b/res/video/video147.png
index c7c8663..8a8de7e 100644
Binary files a/res/video/video147.png and b/res/video/video147.png differ
diff --git a/res/video/video148.png b/res/video/video148.png
index 43a3fcb..a5e2e39 100644
Binary files a/res/video/video148.png and b/res/video/video148.png differ
diff --git a/res/video/video149.png b/res/video/video149.png
index cb66038..91fa962 100644
Binary files a/res/video/video149.png and b/res/video/video149.png differ
diff --git a/res/video/video15.png b/res/video/video15.png
index fe4e9ca..f318183 100644
Binary files a/res/video/video15.png and b/res/video/video15.png differ
diff --git a/res/video/video150.png b/res/video/video150.png
index 93b5229..9106026 100644
Binary files a/res/video/video150.png and b/res/video/video150.png differ
diff --git a/res/video/video151.png b/res/video/video151.png
index 8602da1..d39fdff 100644
Binary files a/res/video/video151.png and b/res/video/video151.png differ
diff --git a/res/video/video152.png b/res/video/video152.png
index f64add4..b36c21e 100644
Binary files a/res/video/video152.png and b/res/video/video152.png differ
diff --git a/res/video/video153.png b/res/video/video153.png
index ad42062..52e225c 100644
Binary files a/res/video/video153.png and b/res/video/video153.png differ
diff --git a/res/video/video154.png b/res/video/video154.png
index 5499505..b18ee55 100644
Binary files a/res/video/video154.png and b/res/video/video154.png differ
diff --git a/res/video/video155.png b/res/video/video155.png
index a02c0b6..55a55d9 100644
Binary files a/res/video/video155.png and b/res/video/video155.png differ
diff --git a/res/video/video156.png b/res/video/video156.png
index 30bd5b7..08d1ef1 100644
Binary files a/res/video/video156.png and b/res/video/video156.png differ
diff --git a/res/video/video157.png b/res/video/video157.png
index 8b29d15..4685dea 100644
Binary files a/res/video/video157.png and b/res/video/video157.png differ
diff --git a/res/video/video158.png b/res/video/video158.png
index ae4120f..09e4d33 100644
Binary files a/res/video/video158.png and b/res/video/video158.png differ
diff --git a/res/video/video159.png b/res/video/video159.png
index 40f61d0..f2fe81d 100644
Binary files a/res/video/video159.png and b/res/video/video159.png differ
diff --git a/res/video/video16.png b/res/video/video16.png
index fe4e9ca..ba980cc 100644
Binary files a/res/video/video16.png and b/res/video/video16.png differ
diff --git a/res/video/video160.png b/res/video/video160.png
index efea186..a945ff9 100644
Binary files a/res/video/video160.png and b/res/video/video160.png differ
diff --git a/res/video/video161.png b/res/video/video161.png
index 3bd3d9a..4b83736 100644
Binary files a/res/video/video161.png and b/res/video/video161.png differ
diff --git a/res/video/video162.png b/res/video/video162.png
index d30a436..a3136b2 100644
Binary files a/res/video/video162.png and b/res/video/video162.png differ
diff --git a/res/video/video163.png b/res/video/video163.png
index 58f6cab..4ab3a8e 100644
Binary files a/res/video/video163.png and b/res/video/video163.png differ
diff --git a/res/video/video164.png b/res/video/video164.png
index b0fe9ee..6110f56 100644
Binary files a/res/video/video164.png and b/res/video/video164.png differ
diff --git a/res/video/video165.png b/res/video/video165.png
index d2fc00e..671a90b 100644
Binary files a/res/video/video165.png and b/res/video/video165.png differ
diff --git a/res/video/video166.png b/res/video/video166.png
index 1f3c8fb..c90f7f4 100644
Binary files a/res/video/video166.png and b/res/video/video166.png differ
diff --git a/res/video/video167.png b/res/video/video167.png
index 3db09de..58ec5a6 100644
Binary files a/res/video/video167.png and b/res/video/video167.png differ
diff --git a/res/video/video168.png b/res/video/video168.png
index c515d7d..f64b11e 100644
Binary files a/res/video/video168.png and b/res/video/video168.png differ
diff --git a/res/video/video169.png b/res/video/video169.png
index 8f9d200..3cb2a5d 100644
Binary files a/res/video/video169.png and b/res/video/video169.png differ
diff --git a/res/video/video17.png b/res/video/video17.png
index fe4e9ca..55ef015 100644
Binary files a/res/video/video17.png and b/res/video/video17.png differ
diff --git a/res/video/video170.png b/res/video/video170.png
index 2f351be..7c1825b 100644
Binary files a/res/video/video170.png and b/res/video/video170.png differ
diff --git a/res/video/video171.png b/res/video/video171.png
index b9d2251..494d743 100644
Binary files a/res/video/video171.png and b/res/video/video171.png differ
diff --git a/res/video/video172.png b/res/video/video172.png
index 44f0903..d440873 100644
Binary files a/res/video/video172.png and b/res/video/video172.png differ
diff --git a/res/video/video173.png b/res/video/video173.png
index a131e7b..617bcad 100644
Binary files a/res/video/video173.png and b/res/video/video173.png differ
diff --git a/res/video/video174.png b/res/video/video174.png
index 40f48ce..f57899c 100644
Binary files a/res/video/video174.png and b/res/video/video174.png differ
diff --git a/res/video/video175.png b/res/video/video175.png
index 00b3be9..de50f2f 100644
Binary files a/res/video/video175.png and b/res/video/video175.png differ
diff --git a/res/video/video176.png b/res/video/video176.png
index f9de64b..ae0ee23 100644
Binary files a/res/video/video176.png and b/res/video/video176.png differ
diff --git a/res/video/video177.png b/res/video/video177.png
index 22ee786..2cdaddf 100644
Binary files a/res/video/video177.png and b/res/video/video177.png differ
diff --git a/res/video/video178.png b/res/video/video178.png
index 3243713..486a2ed 100644
Binary files a/res/video/video178.png and b/res/video/video178.png differ
diff --git a/res/video/video179.png b/res/video/video179.png
index c0e6fd3..1273584 100644
Binary files a/res/video/video179.png and b/res/video/video179.png differ
diff --git a/res/video/video18.png b/res/video/video18.png
index fe4e9ca..e5a8007 100644
Binary files a/res/video/video18.png and b/res/video/video18.png differ
diff --git a/res/video/video180.png b/res/video/video180.png
index 91e52e9..eb42e5c 100644
Binary files a/res/video/video180.png and b/res/video/video180.png differ
diff --git a/res/video/video181.png b/res/video/video181.png
index 3f5a645..15f4a20 100644
Binary files a/res/video/video181.png and b/res/video/video181.png differ
diff --git a/res/video/video182.png b/res/video/video182.png
index 3632d7f..d8881c0 100644
Binary files a/res/video/video182.png and b/res/video/video182.png differ
diff --git a/res/video/video183.png b/res/video/video183.png
index 98b7761..3d81f45 100644
Binary files a/res/video/video183.png and b/res/video/video183.png differ
diff --git a/res/video/video184.png b/res/video/video184.png
index 32252fa..a531e44 100644
Binary files a/res/video/video184.png and b/res/video/video184.png differ
diff --git a/res/video/video185.png b/res/video/video185.png
index 7a70e3d..03ef449 100644
Binary files a/res/video/video185.png and b/res/video/video185.png differ
diff --git a/res/video/video186.png b/res/video/video186.png
index a5bb95f..790db26 100644
Binary files a/res/video/video186.png and b/res/video/video186.png differ
diff --git a/res/video/video187.png b/res/video/video187.png
index aa0be53..c1aa08f 100644
Binary files a/res/video/video187.png and b/res/video/video187.png differ
diff --git a/res/video/video188.png b/res/video/video188.png
index 30bc246..3606431 100644
Binary files a/res/video/video188.png and b/res/video/video188.png differ
diff --git a/res/video/video189.png b/res/video/video189.png
index 8d62aa6..19af129 100644
Binary files a/res/video/video189.png and b/res/video/video189.png differ
diff --git a/res/video/video19.png b/res/video/video19.png
index fe4e9ca..a286432 100644
Binary files a/res/video/video19.png and b/res/video/video19.png differ
diff --git a/res/video/video190.png b/res/video/video190.png
index 39467da..4cb72cd 100644
Binary files a/res/video/video190.png and b/res/video/video190.png differ
diff --git a/res/video/video191.png b/res/video/video191.png
index 007387b..dc86533 100644
Binary files a/res/video/video191.png and b/res/video/video191.png differ
diff --git a/res/video/video192.png b/res/video/video192.png
index facaf30..d5f9aa5 100644
Binary files a/res/video/video192.png and b/res/video/video192.png differ
diff --git a/res/video/video193.png b/res/video/video193.png
index d89fe9f..f2fa6dc 100644
Binary files a/res/video/video193.png and b/res/video/video193.png differ
diff --git a/res/video/video194.png b/res/video/video194.png
index eb5fdd5..ac6c27b 100644
Binary files a/res/video/video194.png and b/res/video/video194.png differ
diff --git a/res/video/video195.png b/res/video/video195.png
index 7fcc45b..939e24f 100644
Binary files a/res/video/video195.png and b/res/video/video195.png differ
diff --git a/res/video/video196.png b/res/video/video196.png
index 0a0554d..c7f1132 100644
Binary files a/res/video/video196.png and b/res/video/video196.png differ
diff --git a/res/video/video197.png b/res/video/video197.png
index 2208c80..a18963b 100644
Binary files a/res/video/video197.png and b/res/video/video197.png differ
diff --git a/res/video/video198.png b/res/video/video198.png
index 10dfe8c..3cd0835 100644
Binary files a/res/video/video198.png and b/res/video/video198.png differ
diff --git a/res/video/video199.png b/res/video/video199.png
index dc18bd8..dd24965 100644
Binary files a/res/video/video199.png and b/res/video/video199.png differ
diff --git a/res/video/video2.png b/res/video/video2.png
index fe4e9ca..0af0a55 100644
Binary files a/res/video/video2.png and b/res/video/video2.png differ
diff --git a/res/video/video20.png b/res/video/video20.png
index fe4e9ca..4ed9581 100644
Binary files a/res/video/video20.png and b/res/video/video20.png differ
diff --git a/res/video/video200.png b/res/video/video200.png
index c19eaee..beddc98 100644
Binary files a/res/video/video200.png and b/res/video/video200.png differ
diff --git a/res/video/video201.png b/res/video/video201.png
index a9f1926..ceb3c6f 100644
Binary files a/res/video/video201.png and b/res/video/video201.png differ
diff --git a/res/video/video202.png b/res/video/video202.png
index 0cefdfe..e23aa71 100644
Binary files a/res/video/video202.png and b/res/video/video202.png differ
diff --git a/res/video/video203.png b/res/video/video203.png
index f88e866..e46c389 100644
Binary files a/res/video/video203.png and b/res/video/video203.png differ
diff --git a/res/video/video204.png b/res/video/video204.png
index 09cbf24..71b50d9 100644
Binary files a/res/video/video204.png and b/res/video/video204.png differ
diff --git a/res/video/video205.png b/res/video/video205.png
index f562008..d525c8f 100644
Binary files a/res/video/video205.png and b/res/video/video205.png differ
diff --git a/res/video/video206.png b/res/video/video206.png
index c4176e2..6850e45 100644
Binary files a/res/video/video206.png and b/res/video/video206.png differ
diff --git a/res/video/video207.png b/res/video/video207.png
index 0ba5d3e..31b579e 100644
Binary files a/res/video/video207.png and b/res/video/video207.png differ
diff --git a/res/video/video208.png b/res/video/video208.png
index 1511052..905974a 100644
Binary files a/res/video/video208.png and b/res/video/video208.png differ
diff --git a/res/video/video209.png b/res/video/video209.png
index 2fb8cc1..995cf8e 100644
Binary files a/res/video/video209.png and b/res/video/video209.png differ
diff --git a/res/video/video21.png b/res/video/video21.png
index fe4e9ca..aeb9127 100644
Binary files a/res/video/video21.png and b/res/video/video21.png differ
diff --git a/res/video/video210.png b/res/video/video210.png
index 8987013..345f5f4 100644
Binary files a/res/video/video210.png and b/res/video/video210.png differ
diff --git a/res/video/video211.png b/res/video/video211.png
index 7a598c1..30315bb 100644
Binary files a/res/video/video211.png and b/res/video/video211.png differ
diff --git a/res/video/video212.png b/res/video/video212.png
index c4ec482..f3dbe6c 100644
Binary files a/res/video/video212.png and b/res/video/video212.png differ
diff --git a/res/video/video213.png b/res/video/video213.png
index ee48203..259e49a 100644
Binary files a/res/video/video213.png and b/res/video/video213.png differ
diff --git a/res/video/video214.png b/res/video/video214.png
index e8902b4..e0c6406 100644
Binary files a/res/video/video214.png and b/res/video/video214.png differ
diff --git a/res/video/video215.png b/res/video/video215.png
index 27b3b35..0410287 100644
Binary files a/res/video/video215.png and b/res/video/video215.png differ
diff --git a/res/video/video216.png b/res/video/video216.png
index 672bfae..ac56d26 100644
Binary files a/res/video/video216.png and b/res/video/video216.png differ
diff --git a/res/video/video217.png b/res/video/video217.png
index 4b2331a..4869db5 100644
Binary files a/res/video/video217.png and b/res/video/video217.png differ
diff --git a/res/video/video218.png b/res/video/video218.png
index 9994b14..93db5c1 100644
Binary files a/res/video/video218.png and b/res/video/video218.png differ
diff --git a/res/video/video219.png b/res/video/video219.png
index 2cba755..be49790 100644
Binary files a/res/video/video219.png and b/res/video/video219.png differ
diff --git a/res/video/video22.png b/res/video/video22.png
index fe4e9ca..0988bb3 100644
Binary files a/res/video/video22.png and b/res/video/video22.png differ
diff --git a/res/video/video220.png b/res/video/video220.png
index 39cc860..92e2eca 100644
Binary files a/res/video/video220.png and b/res/video/video220.png differ
diff --git a/res/video/video221.png b/res/video/video221.png
index d2821ca..63dbf7e 100644
Binary files a/res/video/video221.png and b/res/video/video221.png differ
diff --git a/res/video/video222.png b/res/video/video222.png
index 9a4fe2d..ec8ba9a 100644
Binary files a/res/video/video222.png and b/res/video/video222.png differ
diff --git a/res/video/video223.png b/res/video/video223.png
index 11aba5e..0643f05 100644
Binary files a/res/video/video223.png and b/res/video/video223.png differ
diff --git a/res/video/video224.png b/res/video/video224.png
index 2af6626..d6570cd 100644
Binary files a/res/video/video224.png and b/res/video/video224.png differ
diff --git a/res/video/video225.png b/res/video/video225.png
index ad88ef3..003c4f9 100644
Binary files a/res/video/video225.png and b/res/video/video225.png differ
diff --git a/res/video/video226.png b/res/video/video226.png
index 0a48780..4872c96 100644
Binary files a/res/video/video226.png and b/res/video/video226.png differ
diff --git a/res/video/video227.png b/res/video/video227.png
index 164bc32..dd9f743 100644
Binary files a/res/video/video227.png and b/res/video/video227.png differ
diff --git a/res/video/video228.png b/res/video/video228.png
index 85ff3b4..1381ffc 100644
Binary files a/res/video/video228.png and b/res/video/video228.png differ
diff --git a/res/video/video229.png b/res/video/video229.png
index 804b3bd..8c1b6b4 100644
Binary files a/res/video/video229.png and b/res/video/video229.png differ
diff --git a/res/video/video23.png b/res/video/video23.png
index fe4e9ca..54c8f8d 100644
Binary files a/res/video/video23.png and b/res/video/video23.png differ
diff --git a/res/video/video230.png b/res/video/video230.png
index 22e56ba..370fa2d 100644
Binary files a/res/video/video230.png and b/res/video/video230.png differ
diff --git a/res/video/video231.png b/res/video/video231.png
index a8dac2c..903d47f 100644
Binary files a/res/video/video231.png and b/res/video/video231.png differ
diff --git a/res/video/video232.png b/res/video/video232.png
index 1841ca4..bc0b9f9 100644
Binary files a/res/video/video232.png and b/res/video/video232.png differ
diff --git a/res/video/video233.png b/res/video/video233.png
index d9af2c3..7a33683 100644
Binary files a/res/video/video233.png and b/res/video/video233.png differ
diff --git a/res/video/video234.png b/res/video/video234.png
index bfe0305..e4bc8ef 100644
Binary files a/res/video/video234.png and b/res/video/video234.png differ
diff --git a/res/video/video235.png b/res/video/video235.png
index 8a8de7e..29516e4 100644
Binary files a/res/video/video235.png and b/res/video/video235.png differ
diff --git a/res/video/video236.png b/res/video/video236.png
index a5e2e39..785b5d7 100644
Binary files a/res/video/video236.png and b/res/video/video236.png differ
diff --git a/res/video/video237.png b/res/video/video237.png
index 91fa962..d0362ac 100644
Binary files a/res/video/video237.png and b/res/video/video237.png differ
diff --git a/res/video/video238.png b/res/video/video238.png
index 9106026..5cc8c1f 100644
Binary files a/res/video/video238.png and b/res/video/video238.png differ
diff --git a/res/video/video239.png b/res/video/video239.png
index d39fdff..3598ed1 100644
Binary files a/res/video/video239.png and b/res/video/video239.png differ
diff --git a/res/video/video24.png b/res/video/video24.png
index fe4e9ca..99a0a24 100644
Binary files a/res/video/video24.png and b/res/video/video24.png differ
diff --git a/res/video/video240.png b/res/video/video240.png
index b36c21e..3101001 100644
Binary files a/res/video/video240.png and b/res/video/video240.png differ
diff --git a/res/video/video241.png b/res/video/video241.png
index 52e225c..e46c0d7 100644
Binary files a/res/video/video241.png and b/res/video/video241.png differ
diff --git a/res/video/video242.png b/res/video/video242.png
index b18ee55..cd2a0a1 100644
Binary files a/res/video/video242.png and b/res/video/video242.png differ
diff --git a/res/video/video243.png b/res/video/video243.png
index 55a55d9..a86fee1 100644
Binary files a/res/video/video243.png and b/res/video/video243.png differ
diff --git a/res/video/video244.png b/res/video/video244.png
index 08d1ef1..75dca16 100644
Binary files a/res/video/video244.png and b/res/video/video244.png differ
diff --git a/res/video/video245.png b/res/video/video245.png
index 4685dea..496114a 100644
Binary files a/res/video/video245.png and b/res/video/video245.png differ
diff --git a/res/video/video246.png b/res/video/video246.png
index 09e4d33..3c75d03 100644
Binary files a/res/video/video246.png and b/res/video/video246.png differ
diff --git a/res/video/video247.png b/res/video/video247.png
index f2fe81d..2b93727 100644
Binary files a/res/video/video247.png and b/res/video/video247.png differ
diff --git a/res/video/video248.png b/res/video/video248.png
index a945ff9..902ba9f 100644
Binary files a/res/video/video248.png and b/res/video/video248.png differ
diff --git a/res/video/video249.png b/res/video/video249.png
index 4b83736..4ed687a 100644
Binary files a/res/video/video249.png and b/res/video/video249.png differ
diff --git a/res/video/video25.png b/res/video/video25.png
index fe4e9ca..374000f 100644
Binary files a/res/video/video25.png and b/res/video/video25.png differ
diff --git a/res/video/video250.png b/res/video/video250.png
index a3136b2..dbf58b0 100644
Binary files a/res/video/video250.png and b/res/video/video250.png differ
diff --git a/res/video/video251.png b/res/video/video251.png
index 4ab3a8e..50bd36e 100644
Binary files a/res/video/video251.png and b/res/video/video251.png differ
diff --git a/res/video/video252.png b/res/video/video252.png
index 6110f56..51ba575 100644
Binary files a/res/video/video252.png and b/res/video/video252.png differ
diff --git a/res/video/video253.png b/res/video/video253.png
index 671a90b..e1a58e6 100644
Binary files a/res/video/video253.png and b/res/video/video253.png differ
diff --git a/res/video/video254.png b/res/video/video254.png
index c90f7f4..28e1130 100644
Binary files a/res/video/video254.png and b/res/video/video254.png differ
diff --git a/res/video/video255.png b/res/video/video255.png
index 58ec5a6..0918fcd 100644
Binary files a/res/video/video255.png and b/res/video/video255.png differ
diff --git a/res/video/video256.png b/res/video/video256.png
index f64b11e..8520aa2 100644
Binary files a/res/video/video256.png and b/res/video/video256.png differ
diff --git a/res/video/video257.png b/res/video/video257.png
index 3cb2a5d..41186fe 100644
Binary files a/res/video/video257.png and b/res/video/video257.png differ
diff --git a/res/video/video258.png b/res/video/video258.png
index 7c1825b..9ebb852 100644
Binary files a/res/video/video258.png and b/res/video/video258.png differ
diff --git a/res/video/video259.png b/res/video/video259.png
index 494d743..72f0ba9 100644
Binary files a/res/video/video259.png and b/res/video/video259.png differ
diff --git a/res/video/video26.png b/res/video/video26.png
index fe4e9ca..b094242 100644
Binary files a/res/video/video26.png and b/res/video/video26.png differ
diff --git a/res/video/video260.png b/res/video/video260.png
index d440873..373e16d 100644
Binary files a/res/video/video260.png and b/res/video/video260.png differ
diff --git a/res/video/video261.png b/res/video/video261.png
index 617bcad..01ecea9 100644
Binary files a/res/video/video261.png and b/res/video/video261.png differ
diff --git a/res/video/video262.png b/res/video/video262.png
index f57899c..8912a59 100644
Binary files a/res/video/video262.png and b/res/video/video262.png differ
diff --git a/res/video/video263.png b/res/video/video263.png
index de50f2f..07656cd 100644
Binary files a/res/video/video263.png and b/res/video/video263.png differ
diff --git a/res/video/video264.png b/res/video/video264.png
index ae0ee23..280858a 100644
Binary files a/res/video/video264.png and b/res/video/video264.png differ
diff --git a/res/video/video265.png b/res/video/video265.png
index 2cdaddf..2537c21 100644
Binary files a/res/video/video265.png and b/res/video/video265.png differ
diff --git a/res/video/video266.png b/res/video/video266.png
index 486a2ed..b5db81b 100644
Binary files a/res/video/video266.png and b/res/video/video266.png differ
diff --git a/res/video/video267.png b/res/video/video267.png
index 1273584..2b90cf2 100644
Binary files a/res/video/video267.png and b/res/video/video267.png differ
diff --git a/res/video/video268.png b/res/video/video268.png
index eb42e5c..15ba010 100644
Binary files a/res/video/video268.png and b/res/video/video268.png differ
diff --git a/res/video/video269.png b/res/video/video269.png
index 15f4a20..c04e401 100644
Binary files a/res/video/video269.png and b/res/video/video269.png differ
diff --git a/res/video/video27.png b/res/video/video27.png
index fe4e9ca..8323807 100644
Binary files a/res/video/video27.png and b/res/video/video27.png differ
diff --git a/res/video/video270.png b/res/video/video270.png
index d8881c0..74ada39 100644
Binary files a/res/video/video270.png and b/res/video/video270.png differ
diff --git a/res/video/video271.png b/res/video/video271.png
index 3d81f45..b0d8c02 100644
Binary files a/res/video/video271.png and b/res/video/video271.png differ
diff --git a/res/video/video272.png b/res/video/video272.png
index a531e44..a40e9e3 100644
Binary files a/res/video/video272.png and b/res/video/video272.png differ
diff --git a/res/video/video273.png b/res/video/video273.png
index 03ef449..f15d2ab 100644
Binary files a/res/video/video273.png and b/res/video/video273.png differ
diff --git a/res/video/video274.png b/res/video/video274.png
index 790db26..785f520 100644
Binary files a/res/video/video274.png and b/res/video/video274.png differ
diff --git a/res/video/video275.png b/res/video/video275.png
index c1aa08f..9a89097 100644
Binary files a/res/video/video275.png and b/res/video/video275.png differ
diff --git a/res/video/video276.png b/res/video/video276.png
index 3606431..02ac400 100644
Binary files a/res/video/video276.png and b/res/video/video276.png differ
diff --git a/res/video/video277.png b/res/video/video277.png
index 19af129..823ad31 100644
Binary files a/res/video/video277.png and b/res/video/video277.png differ
diff --git a/res/video/video278.png b/res/video/video278.png
index 4cb72cd..0428378 100644
Binary files a/res/video/video278.png and b/res/video/video278.png differ
diff --git a/res/video/video279.png b/res/video/video279.png
index dc86533..ea479c8 100644
Binary files a/res/video/video279.png and b/res/video/video279.png differ
diff --git a/res/video/video28.png b/res/video/video28.png
index fe4e9ca..b8ac590 100644
Binary files a/res/video/video28.png and b/res/video/video28.png differ
diff --git a/res/video/video280.png b/res/video/video280.png
index d5f9aa5..66e2b3a 100644
Binary files a/res/video/video280.png and b/res/video/video280.png differ
diff --git a/res/video/video281.png b/res/video/video281.png
index f2fa6dc..009dc58 100644
Binary files a/res/video/video281.png and b/res/video/video281.png differ
diff --git a/res/video/video282.png b/res/video/video282.png
index ac6c27b..f91c58d 100644
Binary files a/res/video/video282.png and b/res/video/video282.png differ
diff --git a/res/video/video283.png b/res/video/video283.png
index 939e24f..2204a89 100644
Binary files a/res/video/video283.png and b/res/video/video283.png differ
diff --git a/res/video/video284.png b/res/video/video284.png
index c7f1132..4d46fd4 100644
Binary files a/res/video/video284.png and b/res/video/video284.png differ
diff --git a/res/video/video285.png b/res/video/video285.png
index a18963b..24756df 100644
Binary files a/res/video/video285.png and b/res/video/video285.png differ
diff --git a/res/video/video286.png b/res/video/video286.png
index 3cd0835..4cf80b6 100644
Binary files a/res/video/video286.png and b/res/video/video286.png differ
diff --git a/res/video/video287.png b/res/video/video287.png
index dd24965..f2b2de8 100644
Binary files a/res/video/video287.png and b/res/video/video287.png differ
diff --git a/res/video/video288.png b/res/video/video288.png
index beddc98..7d58ce4 100644
Binary files a/res/video/video288.png and b/res/video/video288.png differ
diff --git a/res/video/video289.png b/res/video/video289.png
index ceb3c6f..b1d61d2 100644
Binary files a/res/video/video289.png and b/res/video/video289.png differ
diff --git a/res/video/video29.png b/res/video/video29.png
index fe4e9ca..b1fc35b 100644
Binary files a/res/video/video29.png and b/res/video/video29.png differ
diff --git a/res/video/video290.png b/res/video/video290.png
index e23aa71..2109765 100644
Binary files a/res/video/video290.png and b/res/video/video290.png differ
diff --git a/res/video/video291.png b/res/video/video291.png
index e46c389..0f44bcb 100644
Binary files a/res/video/video291.png and b/res/video/video291.png differ
diff --git a/res/video/video292.png b/res/video/video292.png
index 71b50d9..3fa0999 100644
Binary files a/res/video/video292.png and b/res/video/video292.png differ
diff --git a/res/video/video293.png b/res/video/video293.png
index d525c8f..0b650af 100644
Binary files a/res/video/video293.png and b/res/video/video293.png differ
diff --git a/res/video/video294.png b/res/video/video294.png
index 6850e45..ba728b6 100644
Binary files a/res/video/video294.png and b/res/video/video294.png differ
diff --git a/res/video/video295.png b/res/video/video295.png
index 31b579e..88c536e 100644
Binary files a/res/video/video295.png and b/res/video/video295.png differ
diff --git a/res/video/video296.png b/res/video/video296.png
index 905974a..46bf803 100644
Binary files a/res/video/video296.png and b/res/video/video296.png differ
diff --git a/res/video/video297.png b/res/video/video297.png
index 995cf8e..1961dec 100644
Binary files a/res/video/video297.png and b/res/video/video297.png differ
diff --git a/res/video/video298.png b/res/video/video298.png
index 345f5f4..56b8bdd 100644
Binary files a/res/video/video298.png and b/res/video/video298.png differ
diff --git a/res/video/video299.png b/res/video/video299.png
index 30315bb..2cd90e5 100644
Binary files a/res/video/video299.png and b/res/video/video299.png differ
diff --git a/res/video/video3.png b/res/video/video3.png
index fe4e9ca..752a100 100644
Binary files a/res/video/video3.png and b/res/video/video3.png differ
diff --git a/res/video/video30.png b/res/video/video30.png
index fe4e9ca..71ff2c1 100644
Binary files a/res/video/video30.png and b/res/video/video30.png differ
diff --git a/res/video/video300.png b/res/video/video300.png
index f3dbe6c..8bf3139 100644
Binary files a/res/video/video300.png and b/res/video/video300.png differ
diff --git a/res/video/video301.png b/res/video/video301.png
index 259e49a..34fb539 100644
Binary files a/res/video/video301.png and b/res/video/video301.png differ
diff --git a/res/video/video302.png b/res/video/video302.png
index e0c6406..25fdf06 100644
Binary files a/res/video/video302.png and b/res/video/video302.png differ
diff --git a/res/video/video303.png b/res/video/video303.png
index 0410287..0e83fc9 100644
Binary files a/res/video/video303.png and b/res/video/video303.png differ
diff --git a/res/video/video304.png b/res/video/video304.png
index ac56d26..6f59ad2 100644
Binary files a/res/video/video304.png and b/res/video/video304.png differ
diff --git a/res/video/video305.png b/res/video/video305.png
index 4869db5..c83bb39 100644
Binary files a/res/video/video305.png and b/res/video/video305.png differ
diff --git a/res/video/video306.png b/res/video/video306.png
index 93db5c1..ff00edc 100644
Binary files a/res/video/video306.png and b/res/video/video306.png differ
diff --git a/res/video/video307.png b/res/video/video307.png
index be49790..30d1852 100644
Binary files a/res/video/video307.png and b/res/video/video307.png differ
diff --git a/res/video/video308.png b/res/video/video308.png
index 92e2eca..c3a4a3b 100644
Binary files a/res/video/video308.png and b/res/video/video308.png differ
diff --git a/res/video/video309.png b/res/video/video309.png
index 63dbf7e..4c46c66 100644
Binary files a/res/video/video309.png and b/res/video/video309.png differ
diff --git a/res/video/video31.png b/res/video/video31.png
index fe4e9ca..7ba7410 100644
Binary files a/res/video/video31.png and b/res/video/video31.png differ
diff --git a/res/video/video310.png b/res/video/video310.png
index ec8ba9a..248eb6a 100644
Binary files a/res/video/video310.png and b/res/video/video310.png differ
diff --git a/res/video/video311.png b/res/video/video311.png
index 0643f05..e20b09b 100644
Binary files a/res/video/video311.png and b/res/video/video311.png differ
diff --git a/res/video/video312.png b/res/video/video312.png
index d6570cd..fb278b8 100644
Binary files a/res/video/video312.png and b/res/video/video312.png differ
diff --git a/res/video/video313.png b/res/video/video313.png
index 003c4f9..33a4e97 100644
Binary files a/res/video/video313.png and b/res/video/video313.png differ
diff --git a/res/video/video314.png b/res/video/video314.png
index 4872c96..0c3a44e 100644
Binary files a/res/video/video314.png and b/res/video/video314.png differ
diff --git a/res/video/video315.png b/res/video/video315.png
index dd9f743..76abe58 100644
Binary files a/res/video/video315.png and b/res/video/video315.png differ
diff --git a/res/video/video316.png b/res/video/video316.png
index 1381ffc..6ec58a9 100644
Binary files a/res/video/video316.png and b/res/video/video316.png differ
diff --git a/res/video/video317.png b/res/video/video317.png
index 8c1b6b4..088a5fd 100644
Binary files a/res/video/video317.png and b/res/video/video317.png differ
diff --git a/res/video/video318.png b/res/video/video318.png
index 370fa2d..5c8b91c 100644
Binary files a/res/video/video318.png and b/res/video/video318.png differ
diff --git a/res/video/video319.png b/res/video/video319.png
index 903d47f..04dfd30 100644
Binary files a/res/video/video319.png and b/res/video/video319.png differ
diff --git a/res/video/video32.png b/res/video/video32.png
index fe4e9ca..5b4be9b 100644
Binary files a/res/video/video32.png and b/res/video/video32.png differ
diff --git a/res/video/video320.png b/res/video/video320.png
index bc0b9f9..1ad7612 100644
Binary files a/res/video/video320.png and b/res/video/video320.png differ
diff --git a/res/video/video321.png b/res/video/video321.png
index 7a33683..8f5d1e7 100644
Binary files a/res/video/video321.png and b/res/video/video321.png differ
diff --git a/res/video/video322.png b/res/video/video322.png
index e4bc8ef..0a5f40a 100644
Binary files a/res/video/video322.png and b/res/video/video322.png differ
diff --git a/res/video/video323.png b/res/video/video323.png
index 29516e4..a5dda56 100644
Binary files a/res/video/video323.png and b/res/video/video323.png differ
diff --git a/res/video/video324.png b/res/video/video324.png
index 785b5d7..c3a87bf 100644
Binary files a/res/video/video324.png and b/res/video/video324.png differ
diff --git a/res/video/video325.png b/res/video/video325.png
index d0362ac..234cc3e 100644
Binary files a/res/video/video325.png and b/res/video/video325.png differ
diff --git a/res/video/video326.png b/res/video/video326.png
index 5cc8c1f..c077fba 100644
Binary files a/res/video/video326.png and b/res/video/video326.png differ
diff --git a/res/video/video327.png b/res/video/video327.png
index 3598ed1..9df19c1 100644
Binary files a/res/video/video327.png and b/res/video/video327.png differ
diff --git a/res/video/video328.png b/res/video/video328.png
index 3101001..90345b5 100644
Binary files a/res/video/video328.png and b/res/video/video328.png differ
diff --git a/res/video/video329.png b/res/video/video329.png
index e46c0d7..e8422d1 100644
Binary files a/res/video/video329.png and b/res/video/video329.png differ
diff --git a/res/video/video33.png b/res/video/video33.png
index fe4e9ca..d15049d 100644
Binary files a/res/video/video33.png and b/res/video/video33.png differ
diff --git a/res/video/video330.png b/res/video/video330.png
index cd2a0a1..77fad3a 100644
Binary files a/res/video/video330.png and b/res/video/video330.png differ
diff --git a/res/video/video331.png b/res/video/video331.png
index a86fee1..ede3f82 100644
Binary files a/res/video/video331.png and b/res/video/video331.png differ
diff --git a/res/video/video332.png b/res/video/video332.png
index 75dca16..04081e4 100644
Binary files a/res/video/video332.png and b/res/video/video332.png differ
diff --git a/res/video/video333.png b/res/video/video333.png
index 496114a..0da9528 100644
Binary files a/res/video/video333.png and b/res/video/video333.png differ
diff --git a/res/video/video334.png b/res/video/video334.png
index 3c75d03..9d3b951 100644
Binary files a/res/video/video334.png and b/res/video/video334.png differ
diff --git a/res/video/video335.png b/res/video/video335.png
index 2b93727..4990621 100644
Binary files a/res/video/video335.png and b/res/video/video335.png differ
diff --git a/res/video/video336.png b/res/video/video336.png
index 902ba9f..aff4fdd 100644
Binary files a/res/video/video336.png and b/res/video/video336.png differ
diff --git a/res/video/video337.png b/res/video/video337.png
index 4ed687a..77c18ef 100644
Binary files a/res/video/video337.png and b/res/video/video337.png differ
diff --git a/res/video/video338.png b/res/video/video338.png
index dbf58b0..0f01dac 100644
Binary files a/res/video/video338.png and b/res/video/video338.png differ
diff --git a/res/video/video339.png b/res/video/video339.png
index 50bd36e..f68b017 100644
Binary files a/res/video/video339.png and b/res/video/video339.png differ
diff --git a/res/video/video34.png b/res/video/video34.png
index fe4e9ca..871cf63 100644
Binary files a/res/video/video34.png and b/res/video/video34.png differ
diff --git a/res/video/video340.png b/res/video/video340.png
index 51ba575..ac0a962 100644
Binary files a/res/video/video340.png and b/res/video/video340.png differ
diff --git a/res/video/video341.png b/res/video/video341.png
index e1a58e6..a6bd0ad 100644
Binary files a/res/video/video341.png and b/res/video/video341.png differ
diff --git a/res/video/video342.png b/res/video/video342.png
index 28e1130..2b279a2 100644
Binary files a/res/video/video342.png and b/res/video/video342.png differ
diff --git a/res/video/video343.png b/res/video/video343.png
index 0918fcd..ef2c067 100644
Binary files a/res/video/video343.png and b/res/video/video343.png differ
diff --git a/res/video/video344.png b/res/video/video344.png
index 8520aa2..708e5b0 100644
Binary files a/res/video/video344.png and b/res/video/video344.png differ
diff --git a/res/video/video345.png b/res/video/video345.png
index 41186fe..59778e8 100644
Binary files a/res/video/video345.png and b/res/video/video345.png differ
diff --git a/res/video/video346.png b/res/video/video346.png
index 9ebb852..33b645c 100644
Binary files a/res/video/video346.png and b/res/video/video346.png differ
diff --git a/res/video/video347.png b/res/video/video347.png
index 72f0ba9..71ffa74 100644
Binary files a/res/video/video347.png and b/res/video/video347.png differ
diff --git a/res/video/video348.png b/res/video/video348.png
index 373e16d..eb44bab 100644
Binary files a/res/video/video348.png and b/res/video/video348.png differ
diff --git a/res/video/video349.png b/res/video/video349.png
index 01ecea9..2ea4c27 100644
Binary files a/res/video/video349.png and b/res/video/video349.png differ
diff --git a/res/video/video35.png b/res/video/video35.png
index fe4e9ca..d4ba35f 100644
Binary files a/res/video/video35.png and b/res/video/video35.png differ
diff --git a/res/video/video350.png b/res/video/video350.png
index 8912a59..6d9932a 100644
Binary files a/res/video/video350.png and b/res/video/video350.png differ
diff --git a/res/video/video351.png b/res/video/video351.png
index 07656cd..42ca32f 100644
Binary files a/res/video/video351.png and b/res/video/video351.png differ
diff --git a/res/video/video352.png b/res/video/video352.png
index 280858a..c12cb23 100644
Binary files a/res/video/video352.png and b/res/video/video352.png differ
diff --git a/res/video/video353.png b/res/video/video353.png
index 2537c21..0a0e085 100644
Binary files a/res/video/video353.png and b/res/video/video353.png differ
diff --git a/res/video/video354.png b/res/video/video354.png
index b5db81b..020a6b1 100644
Binary files a/res/video/video354.png and b/res/video/video354.png differ
diff --git a/res/video/video355.png b/res/video/video355.png
index 2b90cf2..1901150 100644
Binary files a/res/video/video355.png and b/res/video/video355.png differ
diff --git a/res/video/video356.png b/res/video/video356.png
index 15ba010..1981200 100644
Binary files a/res/video/video356.png and b/res/video/video356.png differ
diff --git a/res/video/video357.png b/res/video/video357.png
index c04e401..8a7e434 100644
Binary files a/res/video/video357.png and b/res/video/video357.png differ
diff --git a/res/video/video358.png b/res/video/video358.png
index 74ada39..d52e027 100644
Binary files a/res/video/video358.png and b/res/video/video358.png differ
diff --git a/res/video/video359.png b/res/video/video359.png
index b0d8c02..1058241 100644
Binary files a/res/video/video359.png and b/res/video/video359.png differ
diff --git a/res/video/video36.png b/res/video/video36.png
index fe4e9ca..e0f0d58 100644
Binary files a/res/video/video36.png and b/res/video/video36.png differ
diff --git a/res/video/video360.png b/res/video/video360.png
index a40e9e3..3c16524 100644
Binary files a/res/video/video360.png and b/res/video/video360.png differ
diff --git a/res/video/video361.png b/res/video/video361.png
index f15d2ab..81a9b00 100644
Binary files a/res/video/video361.png and b/res/video/video361.png differ
diff --git a/res/video/video362.png b/res/video/video362.png
index 785f520..f443fc8 100644
Binary files a/res/video/video362.png and b/res/video/video362.png differ
diff --git a/res/video/video363.png b/res/video/video363.png
index 9a89097..50eebd7 100644
Binary files a/res/video/video363.png and b/res/video/video363.png differ
diff --git a/res/video/video364.png b/res/video/video364.png
index 02ac400..f443fc8 100644
Binary files a/res/video/video364.png and b/res/video/video364.png differ
diff --git a/res/video/video365.png b/res/video/video365.png
index 823ad31..81a9b00 100644
Binary files a/res/video/video365.png and b/res/video/video365.png differ
diff --git a/res/video/video366.png b/res/video/video366.png
index 0428378..049a977 100644
Binary files a/res/video/video366.png and b/res/video/video366.png differ
diff --git a/res/video/video367.png b/res/video/video367.png
index ea479c8..506b48f 100644
Binary files a/res/video/video367.png and b/res/video/video367.png differ
diff --git a/res/video/video368.png b/res/video/video368.png
index 66e2b3a..049a977 100644
Binary files a/res/video/video368.png and b/res/video/video368.png differ
diff --git a/res/video/video369.png b/res/video/video369.png
index 009dc58..81a9b00 100644
Binary files a/res/video/video369.png and b/res/video/video369.png differ
diff --git a/res/video/video37.png b/res/video/video37.png
index fe4e9ca..2c66566 100644
Binary files a/res/video/video37.png and b/res/video/video37.png differ
diff --git a/res/video/video370.png b/res/video/video370.png
index f91c58d..6e3b3fc 100644
Binary files a/res/video/video370.png and b/res/video/video370.png differ
diff --git a/res/video/video371.png b/res/video/video371.png
index 2204a89..d3a2a3e 100644
Binary files a/res/video/video371.png and b/res/video/video371.png differ
diff --git a/res/video/video372.png b/res/video/video372.png
index 4d46fd4..d68f618 100644
Binary files a/res/video/video372.png and b/res/video/video372.png differ
diff --git a/res/video/video373.png b/res/video/video373.png
index 24756df..73f1f98 100644
Binary files a/res/video/video373.png and b/res/video/video373.png differ
diff --git a/res/video/video374.png b/res/video/video374.png
index 4cf80b6..cfcab7a 100644
Binary files a/res/video/video374.png and b/res/video/video374.png differ
diff --git a/res/video/video375.png b/res/video/video375.png
index f2b2de8..c359195 100644
Binary files a/res/video/video375.png and b/res/video/video375.png differ
diff --git a/res/video/video376.png b/res/video/video376.png
index 7d58ce4..b452472 100644
Binary files a/res/video/video376.png and b/res/video/video376.png differ
diff --git a/res/video/video377.png b/res/video/video377.png
index b1d61d2..e4f6afb 100644
Binary files a/res/video/video377.png and b/res/video/video377.png differ
diff --git a/res/video/video378.png b/res/video/video378.png
index 2109765..0267d52 100644
Binary files a/res/video/video378.png and b/res/video/video378.png differ
diff --git a/res/video/video379.png b/res/video/video379.png
index 0f44bcb..febfd60 100644
Binary files a/res/video/video379.png and b/res/video/video379.png differ
diff --git a/res/video/video38.png b/res/video/video38.png
index fe4e9ca..efc1915 100644
Binary files a/res/video/video38.png and b/res/video/video38.png differ
diff --git a/res/video/video380.png b/res/video/video380.png
index 3fa0999..cb9af82 100644
Binary files a/res/video/video380.png and b/res/video/video380.png differ
diff --git a/res/video/video381.png b/res/video/video381.png
index 0b650af..bf544f1 100644
Binary files a/res/video/video381.png and b/res/video/video381.png differ
diff --git a/res/video/video382.png b/res/video/video382.png
index ba728b6..c434a9a 100644
Binary files a/res/video/video382.png and b/res/video/video382.png differ
diff --git a/res/video/video383.png b/res/video/video383.png
index 88c536e..a8a663b 100644
Binary files a/res/video/video383.png and b/res/video/video383.png differ
diff --git a/res/video/video384.png b/res/video/video384.png
index 46bf803..e95a8ed 100644
Binary files a/res/video/video384.png and b/res/video/video384.png differ
diff --git a/res/video/video385.png b/res/video/video385.png
index 1961dec..582f2e8 100644
Binary files a/res/video/video385.png and b/res/video/video385.png differ
diff --git a/res/video/video386.png b/res/video/video386.png
index 56b8bdd..173f849 100644
Binary files a/res/video/video386.png and b/res/video/video386.png differ
diff --git a/res/video/video387.png b/res/video/video387.png
index 2cd90e5..52cf037 100644
Binary files a/res/video/video387.png and b/res/video/video387.png differ
diff --git a/res/video/video388.png b/res/video/video388.png
index 8bf3139..69f08ea 100644
Binary files a/res/video/video388.png and b/res/video/video388.png differ
diff --git a/res/video/video389.png b/res/video/video389.png
index 34fb539..c0487ca 100644
Binary files a/res/video/video389.png and b/res/video/video389.png differ
diff --git a/res/video/video39.png b/res/video/video39.png
index fe4e9ca..55f4429 100644
Binary files a/res/video/video39.png and b/res/video/video39.png differ
diff --git a/res/video/video390.png b/res/video/video390.png
index 25fdf06..8e36e6e 100644
Binary files a/res/video/video390.png and b/res/video/video390.png differ
diff --git a/res/video/video391.png b/res/video/video391.png
index 0e83fc9..01994b2 100644
Binary files a/res/video/video391.png and b/res/video/video391.png differ
diff --git a/res/video/video392.png b/res/video/video392.png
index 6f59ad2..4d9eff9 100644
Binary files a/res/video/video392.png and b/res/video/video392.png differ
diff --git a/res/video/video393.png b/res/video/video393.png
index c83bb39..9c56b0c 100644
Binary files a/res/video/video393.png and b/res/video/video393.png differ
diff --git a/res/video/video394.png b/res/video/video394.png
index ff00edc..779436f 100644
Binary files a/res/video/video394.png and b/res/video/video394.png differ
diff --git a/res/video/video395.png b/res/video/video395.png
index 30d1852..c640c36 100644
Binary files a/res/video/video395.png and b/res/video/video395.png differ
diff --git a/res/video/video396.png b/res/video/video396.png
index c3a4a3b..e4a9bf3 100644
Binary files a/res/video/video396.png and b/res/video/video396.png differ
diff --git a/res/video/video397.png b/res/video/video397.png
index 4c46c66..3f41c90 100644
Binary files a/res/video/video397.png and b/res/video/video397.png differ
diff --git a/res/video/video398.png b/res/video/video398.png
index 248eb6a..17be3cd 100644
Binary files a/res/video/video398.png and b/res/video/video398.png differ
diff --git a/res/video/video399.png b/res/video/video399.png
index e20b09b..e5f6880 100644
Binary files a/res/video/video399.png and b/res/video/video399.png differ
diff --git a/res/video/video4.png b/res/video/video4.png
index fe4e9ca..defa6dc 100644
Binary files a/res/video/video4.png and b/res/video/video4.png differ
diff --git a/res/video/video40.png b/res/video/video40.png
index fe4e9ca..80cf187 100644
Binary files a/res/video/video40.png and b/res/video/video40.png differ
diff --git a/res/video/video400.png b/res/video/video400.png
index fb278b8..d47acad 100644
Binary files a/res/video/video400.png and b/res/video/video400.png differ
diff --git a/res/video/video401.png b/res/video/video401.png
index 33a4e97..10386bc 100644
Binary files a/res/video/video401.png and b/res/video/video401.png differ
diff --git a/res/video/video402.png b/res/video/video402.png
index 0c3a44e..5852d4f 100644
Binary files a/res/video/video402.png and b/res/video/video402.png differ
diff --git a/res/video/video403.png b/res/video/video403.png
index 76abe58..36e404d 100644
Binary files a/res/video/video403.png and b/res/video/video403.png differ
diff --git a/res/video/video404.png b/res/video/video404.png
index 6ec58a9..ac29c73 100644
Binary files a/res/video/video404.png and b/res/video/video404.png differ
diff --git a/res/video/video405.png b/res/video/video405.png
index 088a5fd..5d7b110 100644
Binary files a/res/video/video405.png and b/res/video/video405.png differ
diff --git a/res/video/video406.png b/res/video/video406.png
index 5c8b91c..8d68765 100644
Binary files a/res/video/video406.png and b/res/video/video406.png differ
diff --git a/res/video/video407.png b/res/video/video407.png
index 04dfd30..f75589f 100644
Binary files a/res/video/video407.png and b/res/video/video407.png differ
diff --git a/res/video/video408.png b/res/video/video408.png
index 1ad7612..800e67e 100644
Binary files a/res/video/video408.png and b/res/video/video408.png differ
diff --git a/res/video/video409.png b/res/video/video409.png
index 8f5d1e7..d07b8a8 100644
Binary files a/res/video/video409.png and b/res/video/video409.png differ
diff --git a/res/video/video41.png b/res/video/video41.png
index fe4e9ca..d96a25d 100644
Binary files a/res/video/video41.png and b/res/video/video41.png differ
diff --git a/res/video/video410.png b/res/video/video410.png
index 0a5f40a..318d8dc 100644
Binary files a/res/video/video410.png and b/res/video/video410.png differ
diff --git a/res/video/video411.png b/res/video/video411.png
index a5dda56..5489a88 100644
Binary files a/res/video/video411.png and b/res/video/video411.png differ
diff --git a/res/video/video412.png b/res/video/video412.png
index c3a87bf..f381f5c 100644
Binary files a/res/video/video412.png and b/res/video/video412.png differ
diff --git a/res/video/video413.png b/res/video/video413.png
index 234cc3e..f7d797d 100644
Binary files a/res/video/video413.png and b/res/video/video413.png differ
diff --git a/res/video/video414.png b/res/video/video414.png
index c077fba..d73ebd7 100644
Binary files a/res/video/video414.png and b/res/video/video414.png differ
diff --git a/res/video/video415.png b/res/video/video415.png
index 9df19c1..f0300af 100644
Binary files a/res/video/video415.png and b/res/video/video415.png differ
diff --git a/res/video/video416.png b/res/video/video416.png
index 90345b5..b68a411 100644
Binary files a/res/video/video416.png and b/res/video/video416.png differ
diff --git a/res/video/video417.png b/res/video/video417.png
index e8422d1..da07d64 100644
Binary files a/res/video/video417.png and b/res/video/video417.png differ
diff --git a/res/video/video418.png b/res/video/video418.png
index 77fad3a..472794b 100644
Binary files a/res/video/video418.png and b/res/video/video418.png differ
diff --git a/res/video/video419.png b/res/video/video419.png
index ede3f82..c9c8a95 100644
Binary files a/res/video/video419.png and b/res/video/video419.png differ
diff --git a/res/video/video42.png b/res/video/video42.png
index fe4e9ca..5055656 100644
Binary files a/res/video/video42.png and b/res/video/video42.png differ
diff --git a/res/video/video420.png b/res/video/video420.png
index 04081e4..40e0597 100644
Binary files a/res/video/video420.png and b/res/video/video420.png differ
diff --git a/res/video/video421.png b/res/video/video421.png
index 0da9528..726205f 100644
Binary files a/res/video/video421.png and b/res/video/video421.png differ
diff --git a/res/video/video422.png b/res/video/video422.png
index 9d3b951..5a058d4 100644
Binary files a/res/video/video422.png and b/res/video/video422.png differ
diff --git a/res/video/video423.png b/res/video/video423.png
index 4990621..96052d6 100644
Binary files a/res/video/video423.png and b/res/video/video423.png differ
diff --git a/res/video/video424.png b/res/video/video424.png
index aff4fdd..883ab19 100644
Binary files a/res/video/video424.png and b/res/video/video424.png differ
diff --git a/res/video/video425.png b/res/video/video425.png
index 77c18ef..bcc1be9 100644
Binary files a/res/video/video425.png and b/res/video/video425.png differ
diff --git a/res/video/video426.png b/res/video/video426.png
index 0f01dac..ef1753a 100644
Binary files a/res/video/video426.png and b/res/video/video426.png differ
diff --git a/res/video/video427.png b/res/video/video427.png
index f68b017..02d5668 100644
Binary files a/res/video/video427.png and b/res/video/video427.png differ
diff --git a/res/video/video428.png b/res/video/video428.png
index ac0a962..4b82824 100644
Binary files a/res/video/video428.png and b/res/video/video428.png differ
diff --git a/res/video/video429.png b/res/video/video429.png
index a6bd0ad..9c0f911 100644
Binary files a/res/video/video429.png and b/res/video/video429.png differ
diff --git a/res/video/video43.png b/res/video/video43.png
index fe4e9ca..c6fc720 100644
Binary files a/res/video/video43.png and b/res/video/video43.png differ
diff --git a/res/video/video430.png b/res/video/video430.png
index 2b279a2..7710bdc 100644
Binary files a/res/video/video430.png and b/res/video/video430.png differ
diff --git a/res/video/video431.png b/res/video/video431.png
index ef2c067..3a210c9 100644
Binary files a/res/video/video431.png and b/res/video/video431.png differ
diff --git a/res/video/video432.png b/res/video/video432.png
index 708e5b0..b465a60 100644
Binary files a/res/video/video432.png and b/res/video/video432.png differ
diff --git a/res/video/video433.png b/res/video/video433.png
index 59778e8..f59bbc1 100644
Binary files a/res/video/video433.png and b/res/video/video433.png differ
diff --git a/res/video/video434.png b/res/video/video434.png
index 33b645c..0ffa02d 100644
Binary files a/res/video/video434.png and b/res/video/video434.png differ
diff --git a/res/video/video435.png b/res/video/video435.png
index 71ffa74..1217c7f 100644
Binary files a/res/video/video435.png and b/res/video/video435.png differ
diff --git a/res/video/video436.png b/res/video/video436.png
index eb44bab..478d3d2 100644
Binary files a/res/video/video436.png and b/res/video/video436.png differ
diff --git a/res/video/video437.png b/res/video/video437.png
index 2ea4c27..e73e3ee 100644
Binary files a/res/video/video437.png and b/res/video/video437.png differ
diff --git a/res/video/video438.png b/res/video/video438.png
index 6d9932a..a00fd6b 100644
Binary files a/res/video/video438.png and b/res/video/video438.png differ
diff --git a/res/video/video439.png b/res/video/video439.png
index 42ca32f..0073d4b 100644
Binary files a/res/video/video439.png and b/res/video/video439.png differ
diff --git a/res/video/video44.png b/res/video/video44.png
index 8942082..0f4ef4f 100644
Binary files a/res/video/video44.png and b/res/video/video44.png differ
diff --git a/res/video/video440.png b/res/video/video440.png
index c12cb23..ab56436 100644
Binary files a/res/video/video440.png and b/res/video/video440.png differ
diff --git a/res/video/video441.png b/res/video/video441.png
index 0a0e085..0ffc8d6 100644
Binary files a/res/video/video441.png and b/res/video/video441.png differ
diff --git a/res/video/video442.png b/res/video/video442.png
index 020a6b1..a85a0df 100644
Binary files a/res/video/video442.png and b/res/video/video442.png differ
diff --git a/res/video/video443.png b/res/video/video443.png
index 1901150..fcfae90 100644
Binary files a/res/video/video443.png and b/res/video/video443.png differ
diff --git a/res/video/video444.png b/res/video/video444.png
index 1981200..c655abc 100644
Binary files a/res/video/video444.png and b/res/video/video444.png differ
diff --git a/res/video/video445.png b/res/video/video445.png
index 8a7e434..e399148 100644
Binary files a/res/video/video445.png and b/res/video/video445.png differ
diff --git a/res/video/video446.png b/res/video/video446.png
index d52e027..7bb0bfb 100644
Binary files a/res/video/video446.png and b/res/video/video446.png differ
diff --git a/res/video/video447.png b/res/video/video447.png
index 1058241..b0c00bd 100644
Binary files a/res/video/video447.png and b/res/video/video447.png differ
diff --git a/res/video/video448.png b/res/video/video448.png
index 3c16524..1a8d09b 100644
Binary files a/res/video/video448.png and b/res/video/video448.png differ
diff --git a/res/video/video449.png b/res/video/video449.png
index 81a9b00..eab9393 100644
Binary files a/res/video/video449.png and b/res/video/video449.png differ
diff --git a/res/video/video45.png b/res/video/video45.png
index 966abeb..7f4bd82 100644
Binary files a/res/video/video45.png and b/res/video/video45.png differ
diff --git a/res/video/video450.png b/res/video/video450.png
index f443fc8..872b89d 100644
Binary files a/res/video/video450.png and b/res/video/video450.png differ
diff --git a/res/video/video451.png b/res/video/video451.png
index 50eebd7..bbc9f95 100644
Binary files a/res/video/video451.png and b/res/video/video451.png differ
diff --git a/res/video/video452.png b/res/video/video452.png
index f443fc8..2454f72 100644
Binary files a/res/video/video452.png and b/res/video/video452.png differ
diff --git a/res/video/video453.png b/res/video/video453.png
index 81a9b00..e62f9ce 100644
Binary files a/res/video/video453.png and b/res/video/video453.png differ
diff --git a/res/video/video454.png b/res/video/video454.png
index 049a977..fc01849 100644
Binary files a/res/video/video454.png and b/res/video/video454.png differ
diff --git a/res/video/video455.png b/res/video/video455.png
index 506b48f..aacc215 100644
Binary files a/res/video/video455.png and b/res/video/video455.png differ
diff --git a/res/video/video456.png b/res/video/video456.png
index 049a977..1ff6309 100644
Binary files a/res/video/video456.png and b/res/video/video456.png differ
diff --git a/res/video/video457.png b/res/video/video457.png
index 81a9b00..5302852 100644
Binary files a/res/video/video457.png and b/res/video/video457.png differ
diff --git a/res/video/video458.png b/res/video/video458.png
index 6e3b3fc..3515886 100644
Binary files a/res/video/video458.png and b/res/video/video458.png differ
diff --git a/res/video/video459.png b/res/video/video459.png
index d3a2a3e..8285fa7 100644
Binary files a/res/video/video459.png and b/res/video/video459.png differ
diff --git a/res/video/video46.png b/res/video/video46.png
index 92ed867..4837333 100644
Binary files a/res/video/video46.png and b/res/video/video46.png differ
diff --git a/res/video/video460.png b/res/video/video460.png
index d68f618..14dafdb 100644
Binary files a/res/video/video460.png and b/res/video/video460.png differ
diff --git a/res/video/video461.png b/res/video/video461.png
index 73f1f98..367c57f 100644
Binary files a/res/video/video461.png and b/res/video/video461.png differ
diff --git a/res/video/video462.png b/res/video/video462.png
index cfcab7a..d46d81d 100644
Binary files a/res/video/video462.png and b/res/video/video462.png differ
diff --git a/res/video/video463.png b/res/video/video463.png
index c359195..747bd9e 100644
Binary files a/res/video/video463.png and b/res/video/video463.png differ
diff --git a/res/video/video464.png b/res/video/video464.png
index b452472..11519d3 100644
Binary files a/res/video/video464.png and b/res/video/video464.png differ
diff --git a/res/video/video465.png b/res/video/video465.png
index e4f6afb..45e022a 100644
Binary files a/res/video/video465.png and b/res/video/video465.png differ
diff --git a/res/video/video466.png b/res/video/video466.png
index 0267d52..2c61c62 100644
Binary files a/res/video/video466.png and b/res/video/video466.png differ
diff --git a/res/video/video467.png b/res/video/video467.png
index febfd60..b3695f5 100644
Binary files a/res/video/video467.png and b/res/video/video467.png differ
diff --git a/res/video/video468.png b/res/video/video468.png
index cb9af82..579e2a0 100644
Binary files a/res/video/video468.png and b/res/video/video468.png differ
diff --git a/res/video/video469.png b/res/video/video469.png
index bf544f1..5b11dc3 100644
Binary files a/res/video/video469.png and b/res/video/video469.png differ
diff --git a/res/video/video47.png b/res/video/video47.png
index aa621ce..0a1c800 100644
Binary files a/res/video/video47.png and b/res/video/video47.png differ
diff --git a/res/video/video470.png b/res/video/video470.png
index c434a9a..a954d34 100644
Binary files a/res/video/video470.png and b/res/video/video470.png differ
diff --git a/res/video/video471.png b/res/video/video471.png
index a8a663b..0b7f3f9 100644
Binary files a/res/video/video471.png and b/res/video/video471.png differ
diff --git a/res/video/video472.png b/res/video/video472.png
index e95a8ed..c941cad 100644
Binary files a/res/video/video472.png and b/res/video/video472.png differ
diff --git a/res/video/video473.png b/res/video/video473.png
index 582f2e8..1a6741f 100644
Binary files a/res/video/video473.png and b/res/video/video473.png differ
diff --git a/res/video/video474.png b/res/video/video474.png
index 173f849..fec0ab4 100644
Binary files a/res/video/video474.png and b/res/video/video474.png differ
diff --git a/res/video/video475.png b/res/video/video475.png
index 52cf037..531e1df 100644
Binary files a/res/video/video475.png and b/res/video/video475.png differ
diff --git a/res/video/video476.png b/res/video/video476.png
index 69f08ea..bb535a7 100644
Binary files a/res/video/video476.png and b/res/video/video476.png differ
diff --git a/res/video/video477.png b/res/video/video477.png
index c0487ca..7cd3f9f 100644
Binary files a/res/video/video477.png and b/res/video/video477.png differ
diff --git a/res/video/video478.png b/res/video/video478.png
index 8e36e6e..ed80aad 100644
Binary files a/res/video/video478.png and b/res/video/video478.png differ
diff --git a/res/video/video479.png b/res/video/video479.png
index 01994b2..25752c4 100644
Binary files a/res/video/video479.png and b/res/video/video479.png differ
diff --git a/res/video/video48.png b/res/video/video48.png
index debad5d..ade2962 100644
Binary files a/res/video/video48.png and b/res/video/video48.png differ
diff --git a/res/video/video480.png b/res/video/video480.png
index 4d9eff9..d19b16d 100644
Binary files a/res/video/video480.png and b/res/video/video480.png differ
diff --git a/res/video/video481.png b/res/video/video481.png
index 9c56b0c..f6ed2ca 100644
Binary files a/res/video/video481.png and b/res/video/video481.png differ
diff --git a/res/video/video482.png b/res/video/video482.png
index 779436f..dde1d4a 100644
Binary files a/res/video/video482.png and b/res/video/video482.png differ
diff --git a/res/video/video483.png b/res/video/video483.png
index c640c36..05d128a 100644
Binary files a/res/video/video483.png and b/res/video/video483.png differ
diff --git a/res/video/video484.png b/res/video/video484.png
index e4a9bf3..d301bb5 100644
Binary files a/res/video/video484.png and b/res/video/video484.png differ
diff --git a/res/video/video485.png b/res/video/video485.png
index 3f41c90..ebbe28e 100644
Binary files a/res/video/video485.png and b/res/video/video485.png differ
diff --git a/res/video/video486.png b/res/video/video486.png
index 17be3cd..799e889 100644
Binary files a/res/video/video486.png and b/res/video/video486.png differ
diff --git a/res/video/video487.png b/res/video/video487.png
index e5f6880..c655745 100644
Binary files a/res/video/video487.png and b/res/video/video487.png differ
diff --git a/res/video/video488.png b/res/video/video488.png
index d47acad..22c14c2 100644
Binary files a/res/video/video488.png and b/res/video/video488.png differ
diff --git a/res/video/video489.png b/res/video/video489.png
index 10386bc..3b768bf 100644
Binary files a/res/video/video489.png and b/res/video/video489.png differ
diff --git a/res/video/video49.png b/res/video/video49.png
index a6a6e63..12c135c 100644
Binary files a/res/video/video49.png and b/res/video/video49.png differ
diff --git a/res/video/video490.png b/res/video/video490.png
index 5852d4f..2f47e3a 100644
Binary files a/res/video/video490.png and b/res/video/video490.png differ
diff --git a/res/video/video491.png b/res/video/video491.png
index 36e404d..c8246f6 100644
Binary files a/res/video/video491.png and b/res/video/video491.png differ
diff --git a/res/video/video492.png b/res/video/video492.png
index ac29c73..e952de4 100644
Binary files a/res/video/video492.png and b/res/video/video492.png differ
diff --git a/res/video/video493.png b/res/video/video493.png
index 5d7b110..cb58562 100644
Binary files a/res/video/video493.png and b/res/video/video493.png differ
diff --git a/res/video/video494.png b/res/video/video494.png
index 8d68765..a91d9d1 100644
Binary files a/res/video/video494.png and b/res/video/video494.png differ
diff --git a/res/video/video495.png b/res/video/video495.png
index f75589f..2b24dd4 100644
Binary files a/res/video/video495.png and b/res/video/video495.png differ
diff --git a/res/video/video496.png b/res/video/video496.png
index 800e67e..b0945a4 100644
Binary files a/res/video/video496.png and b/res/video/video496.png differ
diff --git a/res/video/video497.png b/res/video/video497.png
index d07b8a8..8a3c652 100644
Binary files a/res/video/video497.png and b/res/video/video497.png differ
diff --git a/res/video/video498.png b/res/video/video498.png
index 318d8dc..8ed9a57 100644
Binary files a/res/video/video498.png and b/res/video/video498.png differ
diff --git a/res/video/video499.png b/res/video/video499.png
index 5489a88..2585290 100644
Binary files a/res/video/video499.png and b/res/video/video499.png differ
diff --git a/res/video/video5.png b/res/video/video5.png
index fe4e9ca..511e61c 100644
Binary files a/res/video/video5.png and b/res/video/video5.png differ
diff --git a/res/video/video50.png b/res/video/video50.png
index c4ab7ac..e5d3c19 100644
Binary files a/res/video/video50.png and b/res/video/video50.png differ
diff --git a/res/video/video500.png b/res/video/video500.png
index f381f5c..2c6c369 100644
Binary files a/res/video/video500.png and b/res/video/video500.png differ
diff --git a/res/video/video501.png b/res/video/video501.png
index f7d797d..c6eae4e 100644
Binary files a/res/video/video501.png and b/res/video/video501.png differ
diff --git a/res/video/video502.png b/res/video/video502.png
index d73ebd7..c1d7e47 100644
Binary files a/res/video/video502.png and b/res/video/video502.png differ
diff --git a/res/video/video503.png b/res/video/video503.png
index f0300af..41e717d 100644
Binary files a/res/video/video503.png and b/res/video/video503.png differ
diff --git a/res/video/video504.png b/res/video/video504.png
index b68a411..dd6043f 100644
Binary files a/res/video/video504.png and b/res/video/video504.png differ
diff --git a/res/video/video505.png b/res/video/video505.png
index da07d64..0d3fbf0 100644
Binary files a/res/video/video505.png and b/res/video/video505.png differ
diff --git a/res/video/video506.png b/res/video/video506.png
index 472794b..3735235 100644
Binary files a/res/video/video506.png and b/res/video/video506.png differ
diff --git a/res/video/video507.png b/res/video/video507.png
index c9c8a95..efe5c32 100644
Binary files a/res/video/video507.png and b/res/video/video507.png differ
diff --git a/res/video/video508.png b/res/video/video508.png
index 40e0597..387d41f 100644
Binary files a/res/video/video508.png and b/res/video/video508.png differ
diff --git a/res/video/video509.png b/res/video/video509.png
index 726205f..658ac12 100644
Binary files a/res/video/video509.png and b/res/video/video509.png differ
diff --git a/res/video/video51.png b/res/video/video51.png
index 13084e6..8a38394 100644
Binary files a/res/video/video51.png and b/res/video/video51.png differ
diff --git a/res/video/video510.png b/res/video/video510.png
index 5a058d4..fede81a 100644
Binary files a/res/video/video510.png and b/res/video/video510.png differ
diff --git a/res/video/video511.png b/res/video/video511.png
index 96052d6..78a39ae 100644
Binary files a/res/video/video511.png and b/res/video/video511.png differ
diff --git a/res/video/video512.png b/res/video/video512.png
index 883ab19..101fdce 100644
Binary files a/res/video/video512.png and b/res/video/video512.png differ
diff --git a/res/video/video513.png b/res/video/video513.png
index bcc1be9..3d0552b 100644
Binary files a/res/video/video513.png and b/res/video/video513.png differ
diff --git a/res/video/video514.png b/res/video/video514.png
index ef1753a..50e8d0e 100644
Binary files a/res/video/video514.png and b/res/video/video514.png differ
diff --git a/res/video/video515.png b/res/video/video515.png
index 02d5668..d2b16ae 100644
Binary files a/res/video/video515.png and b/res/video/video515.png differ
diff --git a/res/video/video516.png b/res/video/video516.png
index 4b82824..4d93177 100644
Binary files a/res/video/video516.png and b/res/video/video516.png differ
diff --git a/res/video/video517.png b/res/video/video517.png
index 9c0f911..fe267fc 100644
Binary files a/res/video/video517.png and b/res/video/video517.png differ
diff --git a/res/video/video518.png b/res/video/video518.png
index 7710bdc..f6917fb 100644
Binary files a/res/video/video518.png and b/res/video/video518.png differ
diff --git a/res/video/video519.png b/res/video/video519.png
index 3a210c9..1dec7f4 100644
Binary files a/res/video/video519.png and b/res/video/video519.png differ
diff --git a/res/video/video52.png b/res/video/video52.png
index b736423..0763987 100644
Binary files a/res/video/video52.png and b/res/video/video52.png differ
diff --git a/res/video/video520.png b/res/video/video520.png
index b465a60..653ad5f 100644
Binary files a/res/video/video520.png and b/res/video/video520.png differ
diff --git a/res/video/video521.png b/res/video/video521.png
index f59bbc1..f0a4a78 100644
Binary files a/res/video/video521.png and b/res/video/video521.png differ
diff --git a/res/video/video522.png b/res/video/video522.png
index 0ffa02d..c63562c 100644
Binary files a/res/video/video522.png and b/res/video/video522.png differ
diff --git a/res/video/video523.png b/res/video/video523.png
index 1217c7f..e2c588f 100644
Binary files a/res/video/video523.png and b/res/video/video523.png differ
diff --git a/res/video/video524.png b/res/video/video524.png
index 478d3d2..801e883 100644
Binary files a/res/video/video524.png and b/res/video/video524.png differ
diff --git a/res/video/video525.png b/res/video/video525.png
index e73e3ee..cdd07e2 100644
Binary files a/res/video/video525.png and b/res/video/video525.png differ
diff --git a/res/video/video526.png b/res/video/video526.png
index a00fd6b..ed2cca2 100644
Binary files a/res/video/video526.png and b/res/video/video526.png differ
diff --git a/res/video/video527.png b/res/video/video527.png
index 0073d4b..da16005 100644
Binary files a/res/video/video527.png and b/res/video/video527.png differ
diff --git a/res/video/video528.png b/res/video/video528.png
index ab56436..50637e5 100644
Binary files a/res/video/video528.png and b/res/video/video528.png differ
diff --git a/res/video/video529.png b/res/video/video529.png
index 0ffc8d6..14c269f 100644
Binary files a/res/video/video529.png and b/res/video/video529.png differ
diff --git a/res/video/video53.png b/res/video/video53.png
index 182c827..3543b5b 100644
Binary files a/res/video/video53.png and b/res/video/video53.png differ
diff --git a/res/video/video530.png b/res/video/video530.png
index a85a0df..f09b6ad 100644
Binary files a/res/video/video530.png and b/res/video/video530.png differ
diff --git a/res/video/video531.png b/res/video/video531.png
index fcfae90..8df2bd3 100644
Binary files a/res/video/video531.png and b/res/video/video531.png differ
diff --git a/res/video/video532.png b/res/video/video532.png
index c655abc..9414884 100644
Binary files a/res/video/video532.png and b/res/video/video532.png differ
diff --git a/res/video/video533.png b/res/video/video533.png
index e399148..d361d63 100644
Binary files a/res/video/video533.png and b/res/video/video533.png differ
diff --git a/res/video/video534.png b/res/video/video534.png
index 7bb0bfb..83aa1f6 100644
Binary files a/res/video/video534.png and b/res/video/video534.png differ
diff --git a/res/video/video535.png b/res/video/video535.png
index b0c00bd..6ea87ca 100644
Binary files a/res/video/video535.png and b/res/video/video535.png differ
diff --git a/res/video/video536.png b/res/video/video536.png
index 1a8d09b..891d169 100644
Binary files a/res/video/video536.png and b/res/video/video536.png differ
diff --git a/res/video/video537.png b/res/video/video537.png
index eab9393..9fd77d1 100644
Binary files a/res/video/video537.png and b/res/video/video537.png differ
diff --git a/res/video/video538.png b/res/video/video538.png
index 872b89d..3efe9b2 100644
Binary files a/res/video/video538.png and b/res/video/video538.png differ
diff --git a/res/video/video539.png b/res/video/video539.png
index bbc9f95..f23b9af 100644
Binary files a/res/video/video539.png and b/res/video/video539.png differ
diff --git a/res/video/video54.png b/res/video/video54.png
index d85b090..3e6d859 100644
Binary files a/res/video/video54.png and b/res/video/video54.png differ
diff --git a/res/video/video540.png b/res/video/video540.png
index 2454f72..dbee6cf 100644
Binary files a/res/video/video540.png and b/res/video/video540.png differ
diff --git a/res/video/video541.png b/res/video/video541.png
index e62f9ce..87faf17 100644
Binary files a/res/video/video541.png and b/res/video/video541.png differ
diff --git a/res/video/video542.png b/res/video/video542.png
index fc01849..d306b96 100644
Binary files a/res/video/video542.png and b/res/video/video542.png differ
diff --git a/res/video/video543.png b/res/video/video543.png
index aacc215..876aa31 100644
Binary files a/res/video/video543.png and b/res/video/video543.png differ
diff --git a/res/video/video544.png b/res/video/video544.png
index 1ff6309..a74aefc 100644
Binary files a/res/video/video544.png and b/res/video/video544.png differ
diff --git a/res/video/video545.png b/res/video/video545.png
index 5302852..5e28016 100644
Binary files a/res/video/video545.png and b/res/video/video545.png differ
diff --git a/res/video/video546.png b/res/video/video546.png
index 3515886..b5408f2 100644
Binary files a/res/video/video546.png and b/res/video/video546.png differ
diff --git a/res/video/video547.png b/res/video/video547.png
index 8285fa7..2fc7dd4 100644
Binary files a/res/video/video547.png and b/res/video/video547.png differ
diff --git a/res/video/video548.png b/res/video/video548.png
index 14dafdb..afe6122 100644
Binary files a/res/video/video548.png and b/res/video/video548.png differ
diff --git a/res/video/video549.png b/res/video/video549.png
index 367c57f..f00b42c 100644
Binary files a/res/video/video549.png and b/res/video/video549.png differ
diff --git a/res/video/video55.png b/res/video/video55.png
index 6712182..92abfe6 100644
Binary files a/res/video/video55.png and b/res/video/video55.png differ
diff --git a/res/video/video550.png b/res/video/video550.png
index d46d81d..8966183 100644
Binary files a/res/video/video550.png and b/res/video/video550.png differ
diff --git a/res/video/video551.png b/res/video/video551.png
index 747bd9e..b08f311 100644
Binary files a/res/video/video551.png and b/res/video/video551.png differ
diff --git a/res/video/video552.png b/res/video/video552.png
index 11519d3..1407e00 100644
Binary files a/res/video/video552.png and b/res/video/video552.png differ
diff --git a/res/video/video553.png b/res/video/video553.png
index 45e022a..256d683 100644
Binary files a/res/video/video553.png and b/res/video/video553.png differ
diff --git a/res/video/video554.png b/res/video/video554.png
index 2c61c62..dfaeb9f 100644
Binary files a/res/video/video554.png and b/res/video/video554.png differ
diff --git a/res/video/video555.png b/res/video/video555.png
index b3695f5..ca9e94f 100644
Binary files a/res/video/video555.png and b/res/video/video555.png differ
diff --git a/res/video/video556.png b/res/video/video556.png
index 579e2a0..e63464d 100644
Binary files a/res/video/video556.png and b/res/video/video556.png differ
diff --git a/res/video/video557.png b/res/video/video557.png
index 5b11dc3..ce7619e 100644
Binary files a/res/video/video557.png and b/res/video/video557.png differ
diff --git a/res/video/video558.png b/res/video/video558.png
index a954d34..aadbda2 100644
Binary files a/res/video/video558.png and b/res/video/video558.png differ
diff --git a/res/video/video559.png b/res/video/video559.png
index 0b7f3f9..86a3c7c 100644
Binary files a/res/video/video559.png and b/res/video/video559.png differ
diff --git a/res/video/video56.png b/res/video/video56.png
index 5192bfe..e7cfbf1 100644
Binary files a/res/video/video56.png and b/res/video/video56.png differ
diff --git a/res/video/video560.png b/res/video/video560.png
index c941cad..1cde94a 100644
Binary files a/res/video/video560.png and b/res/video/video560.png differ
diff --git a/res/video/video561.png b/res/video/video561.png
index 1a6741f..2c5be7f 100644
Binary files a/res/video/video561.png and b/res/video/video561.png differ
diff --git a/res/video/video562.png b/res/video/video562.png
index fec0ab4..91c5841 100644
Binary files a/res/video/video562.png and b/res/video/video562.png differ
diff --git a/res/video/video563.png b/res/video/video563.png
index 531e1df..566389e 100644
Binary files a/res/video/video563.png and b/res/video/video563.png differ
diff --git a/res/video/video564.png b/res/video/video564.png
index bb535a7..ab7954c 100644
Binary files a/res/video/video564.png and b/res/video/video564.png differ
diff --git a/res/video/video565.png b/res/video/video565.png
index 7cd3f9f..618827f 100644
Binary files a/res/video/video565.png and b/res/video/video565.png differ
diff --git a/res/video/video566.png b/res/video/video566.png
index ed80aad..37e4003 100644
Binary files a/res/video/video566.png and b/res/video/video566.png differ
diff --git a/res/video/video567.png b/res/video/video567.png
index 25752c4..6a06167 100644
Binary files a/res/video/video567.png and b/res/video/video567.png differ
diff --git a/res/video/video568.png b/res/video/video568.png
index d19b16d..8c0b974 100644
Binary files a/res/video/video568.png and b/res/video/video568.png differ
diff --git a/res/video/video569.png b/res/video/video569.png
index f6ed2ca..86521dc 100644
Binary files a/res/video/video569.png and b/res/video/video569.png differ
diff --git a/res/video/video57.png b/res/video/video57.png
index 69fb7f2..de4cc0e 100644
Binary files a/res/video/video57.png and b/res/video/video57.png differ
diff --git a/res/video/video570.png b/res/video/video570.png
index dde1d4a..b64220c 100644
Binary files a/res/video/video570.png and b/res/video/video570.png differ
diff --git a/res/video/video571.png b/res/video/video571.png
index 05d128a..212794e 100644
Binary files a/res/video/video571.png and b/res/video/video571.png differ
diff --git a/res/video/video572.png b/res/video/video572.png
index d301bb5..3c65ec6 100644
Binary files a/res/video/video572.png and b/res/video/video572.png differ
diff --git a/res/video/video573.png b/res/video/video573.png
index ebbe28e..d65d62b 100644
Binary files a/res/video/video573.png and b/res/video/video573.png differ
diff --git a/res/video/video574.png b/res/video/video574.png
index 799e889..4d20507 100644
Binary files a/res/video/video574.png and b/res/video/video574.png differ
diff --git a/res/video/video575.png b/res/video/video575.png
index c655745..dc4d8f2 100644
Binary files a/res/video/video575.png and b/res/video/video575.png differ
diff --git a/res/video/video576.png b/res/video/video576.png
index 22c14c2..3358827 100644
Binary files a/res/video/video576.png and b/res/video/video576.png differ
diff --git a/res/video/video577.png b/res/video/video577.png
index 3b768bf..86f34ab 100644
Binary files a/res/video/video577.png and b/res/video/video577.png differ
diff --git a/res/video/video578.png b/res/video/video578.png
index 2f47e3a..5fc9bc1 100644
Binary files a/res/video/video578.png and b/res/video/video578.png differ
diff --git a/res/video/video579.png b/res/video/video579.png
index c8246f6..f71206e 100644
Binary files a/res/video/video579.png and b/res/video/video579.png differ
diff --git a/res/video/video58.png b/res/video/video58.png
index 2f08d63..e9c8c2a 100644
Binary files a/res/video/video58.png and b/res/video/video58.png differ
diff --git a/res/video/video580.png b/res/video/video580.png
index e952de4..4b37d64 100644
Binary files a/res/video/video580.png and b/res/video/video580.png differ
diff --git a/res/video/video581.png b/res/video/video581.png
index cb58562..2cc973c 100644
Binary files a/res/video/video581.png and b/res/video/video581.png differ
diff --git a/res/video/video582.png b/res/video/video582.png
index a91d9d1..ce1bee1 100644
Binary files a/res/video/video582.png and b/res/video/video582.png differ
diff --git a/res/video/video583.png b/res/video/video583.png
index 2b24dd4..599bb3e 100644
Binary files a/res/video/video583.png and b/res/video/video583.png differ
diff --git a/res/video/video584.png b/res/video/video584.png
index b0945a4..aa2f08a 100644
Binary files a/res/video/video584.png and b/res/video/video584.png differ
diff --git a/res/video/video585.png b/res/video/video585.png
index 8a3c652..6dcee39 100644
Binary files a/res/video/video585.png and b/res/video/video585.png differ
diff --git a/res/video/video586.png b/res/video/video586.png
index 8ed9a57..1ddfc44 100644
Binary files a/res/video/video586.png and b/res/video/video586.png differ
diff --git a/res/video/video587.png b/res/video/video587.png
index 2585290..0f81084 100644
Binary files a/res/video/video587.png and b/res/video/video587.png differ
diff --git a/res/video/video588.png b/res/video/video588.png
index 2c6c369..77f3d2c 100644
Binary files a/res/video/video588.png and b/res/video/video588.png differ
diff --git a/res/video/video589.png b/res/video/video589.png
index c6eae4e..87a8316 100644
Binary files a/res/video/video589.png and b/res/video/video589.png differ
diff --git a/res/video/video59.png b/res/video/video59.png
index ffd256f..c7c8663 100644
Binary files a/res/video/video59.png and b/res/video/video59.png differ
diff --git a/res/video/video590.png b/res/video/video590.png
index c1d7e47..6ba8968 100644
Binary files a/res/video/video590.png and b/res/video/video590.png differ
diff --git a/res/video/video591.png b/res/video/video591.png
index 41e717d..4e31cb4 100644
Binary files a/res/video/video591.png and b/res/video/video591.png differ
diff --git a/res/video/video592.png b/res/video/video592.png
index dd6043f..bb2f6d4 100644
Binary files a/res/video/video592.png and b/res/video/video592.png differ
diff --git a/res/video/video593.png b/res/video/video593.png
index 0d3fbf0..cae3b81 100644
Binary files a/res/video/video593.png and b/res/video/video593.png differ
diff --git a/res/video/video594.png b/res/video/video594.png
index 3735235..aa26e36 100644
Binary files a/res/video/video594.png and b/res/video/video594.png differ
diff --git a/res/video/video595.png b/res/video/video595.png
index efe5c32..dc288e2 100644
Binary files a/res/video/video595.png and b/res/video/video595.png differ
diff --git a/res/video/video596.png b/res/video/video596.png
index 387d41f..90782c4 100644
Binary files a/res/video/video596.png and b/res/video/video596.png differ
diff --git a/res/video/video597.png b/res/video/video597.png
index 658ac12..b0d1126 100644
Binary files a/res/video/video597.png and b/res/video/video597.png differ
diff --git a/res/video/video598.png b/res/video/video598.png
index fede81a..0e3c73e 100644
Binary files a/res/video/video598.png and b/res/video/video598.png differ
diff --git a/res/video/video599.png b/res/video/video599.png
index 78a39ae..7f2cba1 100644
Binary files a/res/video/video599.png and b/res/video/video599.png differ
diff --git a/res/video/video6.png b/res/video/video6.png
index fe4e9ca..1498df8 100644
Binary files a/res/video/video6.png and b/res/video/video6.png differ
diff --git a/res/video/video60.png b/res/video/video60.png
index 8a5edef..43a3fcb 100644
Binary files a/res/video/video60.png and b/res/video/video60.png differ
diff --git a/res/video/video600.png b/res/video/video600.png
index 101fdce..8871f04 100644
Binary files a/res/video/video600.png and b/res/video/video600.png differ
diff --git a/res/video/video601.png b/res/video/video601.png
index 3d0552b..17ce24f 100644
Binary files a/res/video/video601.png and b/res/video/video601.png differ
diff --git a/res/video/video602.png b/res/video/video602.png
index 50e8d0e..dbc1190 100644
Binary files a/res/video/video602.png and b/res/video/video602.png differ
diff --git a/res/video/video603.png b/res/video/video603.png
index d2b16ae..a7f7d7f 100644
Binary files a/res/video/video603.png and b/res/video/video603.png differ
diff --git a/res/video/video604.png b/res/video/video604.png
index 4d93177..31729bc 100644
Binary files a/res/video/video604.png and b/res/video/video604.png differ
diff --git a/res/video/video605.png b/res/video/video605.png
index fe267fc..dd9c945 100644
Binary files a/res/video/video605.png and b/res/video/video605.png differ
diff --git a/res/video/video606.png b/res/video/video606.png
index f6917fb..07c027b 100644
Binary files a/res/video/video606.png and b/res/video/video606.png differ
diff --git a/res/video/video607.png b/res/video/video607.png
index 1dec7f4..0115f14 100644
Binary files a/res/video/video607.png and b/res/video/video607.png differ
diff --git a/res/video/video608.png b/res/video/video608.png
index 653ad5f..944be6c 100644
Binary files a/res/video/video608.png and b/res/video/video608.png differ
diff --git a/res/video/video609.png b/res/video/video609.png
index f0a4a78..e5c6388 100644
Binary files a/res/video/video609.png and b/res/video/video609.png differ
diff --git a/res/video/video61.png b/res/video/video61.png
index 7ed72b9..cb66038 100644
Binary files a/res/video/video61.png and b/res/video/video61.png differ
diff --git a/res/video/video610.png b/res/video/video610.png
index c63562c..a222d83 100644
Binary files a/res/video/video610.png and b/res/video/video610.png differ
diff --git a/res/video/video611.png b/res/video/video611.png
index e2c588f..caef055 100644
Binary files a/res/video/video611.png and b/res/video/video611.png differ
diff --git a/res/video/video612.png b/res/video/video612.png
index 801e883..1e3017c 100644
Binary files a/res/video/video612.png and b/res/video/video612.png differ
diff --git a/res/video/video613.png b/res/video/video613.png
index cdd07e2..40c04e0 100644
Binary files a/res/video/video613.png and b/res/video/video613.png differ
diff --git a/res/video/video614.png b/res/video/video614.png
index ed2cca2..c045fa1 100644
Binary files a/res/video/video614.png and b/res/video/video614.png differ
diff --git a/res/video/video615.png b/res/video/video615.png
index da16005..1fcefdd 100644
Binary files a/res/video/video615.png and b/res/video/video615.png differ
diff --git a/res/video/video616.png b/res/video/video616.png
index 50637e5..1c6bc3c 100644
Binary files a/res/video/video616.png and b/res/video/video616.png differ
diff --git a/res/video/video617.png b/res/video/video617.png
index 14c269f..cd2b9ba 100644
Binary files a/res/video/video617.png and b/res/video/video617.png differ
diff --git a/res/video/video618.png b/res/video/video618.png
index f09b6ad..05f8bc2 100644
Binary files a/res/video/video618.png and b/res/video/video618.png differ
diff --git a/res/video/video619.png b/res/video/video619.png
index 8df2bd3..fe52c0c 100644
Binary files a/res/video/video619.png and b/res/video/video619.png differ
diff --git a/res/video/video62.png b/res/video/video62.png
index b91fb87..93b5229 100644
Binary files a/res/video/video62.png and b/res/video/video62.png differ
diff --git a/res/video/video620.png b/res/video/video620.png
index 9414884..4bff8a9 100644
Binary files a/res/video/video620.png and b/res/video/video620.png differ
diff --git a/res/video/video621.png b/res/video/video621.png
index d361d63..4742795 100644
Binary files a/res/video/video621.png and b/res/video/video621.png differ
diff --git a/res/video/video622.png b/res/video/video622.png
index 83aa1f6..e05ab8b 100644
Binary files a/res/video/video622.png and b/res/video/video622.png differ
diff --git a/res/video/video623.png b/res/video/video623.png
index 6ea87ca..9fc89db 100644
Binary files a/res/video/video623.png and b/res/video/video623.png differ
diff --git a/res/video/video624.png b/res/video/video624.png
index 891d169..213e70c 100644
Binary files a/res/video/video624.png and b/res/video/video624.png differ
diff --git a/res/video/video625.png b/res/video/video625.png
index 9fd77d1..9fe4f44 100644
Binary files a/res/video/video625.png and b/res/video/video625.png differ
diff --git a/res/video/video626.png b/res/video/video626.png
index 3efe9b2..1490b55 100644
Binary files a/res/video/video626.png and b/res/video/video626.png differ
diff --git a/res/video/video627.png b/res/video/video627.png
index f23b9af..12daa54 100644
Binary files a/res/video/video627.png and b/res/video/video627.png differ
diff --git a/res/video/video628.png b/res/video/video628.png
index dbee6cf..dd0d65b 100644
Binary files a/res/video/video628.png and b/res/video/video628.png differ
diff --git a/res/video/video629.png b/res/video/video629.png
index 87faf17..c87a25c 100644
Binary files a/res/video/video629.png and b/res/video/video629.png differ
diff --git a/res/video/video63.png b/res/video/video63.png
index d6a3824..8602da1 100644
Binary files a/res/video/video63.png and b/res/video/video63.png differ
diff --git a/res/video/video630.png b/res/video/video630.png
index d306b96..a99b31b 100644
Binary files a/res/video/video630.png and b/res/video/video630.png differ
diff --git a/res/video/video631.png b/res/video/video631.png
index 876aa31..91dd7a2 100644
Binary files a/res/video/video631.png and b/res/video/video631.png differ
diff --git a/res/video/video632.png b/res/video/video632.png
index a74aefc..f71b7f1 100644
Binary files a/res/video/video632.png and b/res/video/video632.png differ
diff --git a/res/video/video633.png b/res/video/video633.png
index 5e28016..779e8d7 100644
Binary files a/res/video/video633.png and b/res/video/video633.png differ
diff --git a/res/video/video634.png b/res/video/video634.png
index b5408f2..87da38d 100644
Binary files a/res/video/video634.png and b/res/video/video634.png differ
diff --git a/res/video/video635.png b/res/video/video635.png
index 2fc7dd4..9277722 100644
Binary files a/res/video/video635.png and b/res/video/video635.png differ
diff --git a/res/video/video636.png b/res/video/video636.png
index afe6122..63acbc7 100644
Binary files a/res/video/video636.png and b/res/video/video636.png differ
diff --git a/res/video/video637.png b/res/video/video637.png
index f00b42c..54d74ae 100644
Binary files a/res/video/video637.png and b/res/video/video637.png differ
diff --git a/res/video/video638.png b/res/video/video638.png
index 8966183..c917a56 100644
Binary files a/res/video/video638.png and b/res/video/video638.png differ
diff --git a/res/video/video639.png b/res/video/video639.png
index b08f311..f03e1d6 100644
Binary files a/res/video/video639.png and b/res/video/video639.png differ
diff --git a/res/video/video64.png b/res/video/video64.png
index 1830771..f64add4 100644
Binary files a/res/video/video64.png and b/res/video/video64.png differ
diff --git a/res/video/video640.png b/res/video/video640.png
index 1407e00..7559cdf 100644
Binary files a/res/video/video640.png and b/res/video/video640.png differ
diff --git a/res/video/video641.png b/res/video/video641.png
index 256d683..4fdc063 100644
Binary files a/res/video/video641.png and b/res/video/video641.png differ
diff --git a/res/video/video642.png b/res/video/video642.png
index dfaeb9f..bd91070 100644
Binary files a/res/video/video642.png and b/res/video/video642.png differ
diff --git a/res/video/video643.png b/res/video/video643.png
index ca9e94f..87121b4 100644
Binary files a/res/video/video643.png and b/res/video/video643.png differ
diff --git a/res/video/video644.png b/res/video/video644.png
index e63464d..addd1e1 100644
Binary files a/res/video/video644.png and b/res/video/video644.png differ
diff --git a/res/video/video645.png b/res/video/video645.png
index ce7619e..cfefdb6 100644
Binary files a/res/video/video645.png and b/res/video/video645.png differ
diff --git a/res/video/video646.png b/res/video/video646.png
index aadbda2..8e82db0 100644
Binary files a/res/video/video646.png and b/res/video/video646.png differ
diff --git a/res/video/video647.png b/res/video/video647.png
index 86a3c7c..53d2f1c 100644
Binary files a/res/video/video647.png and b/res/video/video647.png differ
diff --git a/res/video/video648.png b/res/video/video648.png
index 1cde94a..cb69249 100644
Binary files a/res/video/video648.png and b/res/video/video648.png differ
diff --git a/res/video/video649.png b/res/video/video649.png
index 2c5be7f..ac0e266 100644
Binary files a/res/video/video649.png and b/res/video/video649.png differ
diff --git a/res/video/video65.png b/res/video/video65.png
index e818e2f..ad42062 100644
Binary files a/res/video/video65.png and b/res/video/video65.png differ
diff --git a/res/video/video650.png b/res/video/video650.png
index 91c5841..a2a07cf 100644
Binary files a/res/video/video650.png and b/res/video/video650.png differ
diff --git a/res/video/video651.png b/res/video/video651.png
index 566389e..78b3096 100644
Binary files a/res/video/video651.png and b/res/video/video651.png differ
diff --git a/res/video/video652.png b/res/video/video652.png
index ab7954c..8fbf75f 100644
Binary files a/res/video/video652.png and b/res/video/video652.png differ
diff --git a/res/video/video653.png b/res/video/video653.png
index 618827f..6515f80 100644
Binary files a/res/video/video653.png and b/res/video/video653.png differ
diff --git a/res/video/video654.png b/res/video/video654.png
index 37e4003..1c9b74e 100644
Binary files a/res/video/video654.png and b/res/video/video654.png differ
diff --git a/res/video/video655.png b/res/video/video655.png
index 6a06167..905fea3 100644
Binary files a/res/video/video655.png and b/res/video/video655.png differ
diff --git a/res/video/video656.png b/res/video/video656.png
index 8c0b974..0f1211c 100644
Binary files a/res/video/video656.png and b/res/video/video656.png differ
diff --git a/res/video/video657.png b/res/video/video657.png
index 86521dc..cf1e92e 100644
Binary files a/res/video/video657.png and b/res/video/video657.png differ
diff --git a/res/video/video658.png b/res/video/video658.png
index b64220c..c6d886d 100644
Binary files a/res/video/video658.png and b/res/video/video658.png differ
diff --git a/res/video/video659.png b/res/video/video659.png
index 212794e..7193b7c 100644
Binary files a/res/video/video659.png and b/res/video/video659.png differ
diff --git a/res/video/video66.png b/res/video/video66.png
index 77d175c..5499505 100644
Binary files a/res/video/video66.png and b/res/video/video66.png differ
diff --git a/res/video/video660.png b/res/video/video660.png
index 3c65ec6..2536679 100644
Binary files a/res/video/video660.png and b/res/video/video660.png differ
diff --git a/res/video/video661.png b/res/video/video661.png
index d65d62b..65db7ef 100644
Binary files a/res/video/video661.png and b/res/video/video661.png differ
diff --git a/res/video/video662.png b/res/video/video662.png
index 4d20507..64e726e 100644
Binary files a/res/video/video662.png and b/res/video/video662.png differ
diff --git a/res/video/video663.png b/res/video/video663.png
index dc4d8f2..53939f1 100644
Binary files a/res/video/video663.png and b/res/video/video663.png differ
diff --git a/res/video/video664.png b/res/video/video664.png
index 3358827..acb0ad0 100644
Binary files a/res/video/video664.png and b/res/video/video664.png differ
diff --git a/res/video/video665.png b/res/video/video665.png
index 86f34ab..e0b4900 100644
Binary files a/res/video/video665.png and b/res/video/video665.png differ
diff --git a/res/video/video666.png b/res/video/video666.png
index 5fc9bc1..2a6df73 100644
Binary files a/res/video/video666.png and b/res/video/video666.png differ
diff --git a/res/video/video667.png b/res/video/video667.png
index f71206e..35cc930 100644
Binary files a/res/video/video667.png and b/res/video/video667.png differ
diff --git a/res/video/video668.png b/res/video/video668.png
index 4b37d64..aa1f6f1 100644
Binary files a/res/video/video668.png and b/res/video/video668.png differ
diff --git a/res/video/video669.png b/res/video/video669.png
index 2cc973c..0b2b6b5 100644
Binary files a/res/video/video669.png and b/res/video/video669.png differ
diff --git a/res/video/video67.png b/res/video/video67.png
index 604e401..a02c0b6 100644
Binary files a/res/video/video67.png and b/res/video/video67.png differ
diff --git a/res/video/video670.png b/res/video/video670.png
index ce1bee1..3197065 100644
Binary files a/res/video/video670.png and b/res/video/video670.png differ
diff --git a/res/video/video671.png b/res/video/video671.png
index 599bb3e..dd40d82 100644
Binary files a/res/video/video671.png and b/res/video/video671.png differ
diff --git a/res/video/video672.png b/res/video/video672.png
index aa2f08a..d2075f7 100644
Binary files a/res/video/video672.png and b/res/video/video672.png differ
diff --git a/res/video/video673.png b/res/video/video673.png
index 6dcee39..3bee5ff 100644
Binary files a/res/video/video673.png and b/res/video/video673.png differ
diff --git a/res/video/video674.png b/res/video/video674.png
index 1ddfc44..713ad99 100644
Binary files a/res/video/video674.png and b/res/video/video674.png differ
diff --git a/res/video/video675.png b/res/video/video675.png
index 0f81084..db6988f 100644
Binary files a/res/video/video675.png and b/res/video/video675.png differ
diff --git a/res/video/video676.png b/res/video/video676.png
index 77f3d2c..891de27 100644
Binary files a/res/video/video676.png and b/res/video/video676.png differ
diff --git a/res/video/video677.png b/res/video/video677.png
index 87a8316..7f13476 100644
Binary files a/res/video/video677.png and b/res/video/video677.png differ
diff --git a/res/video/video678.png b/res/video/video678.png
index 6ba8968..3731450 100644
Binary files a/res/video/video678.png and b/res/video/video678.png differ
diff --git a/res/video/video679.png b/res/video/video679.png
index 4e31cb4..d6a4a8a 100644
Binary files a/res/video/video679.png and b/res/video/video679.png differ
diff --git a/res/video/video68.png b/res/video/video68.png
index cdd5fe2..30bd5b7 100644
Binary files a/res/video/video68.png and b/res/video/video68.png differ
diff --git a/res/video/video680.png b/res/video/video680.png
index bb2f6d4..50e3769 100644
Binary files a/res/video/video680.png and b/res/video/video680.png differ
diff --git a/res/video/video681.png b/res/video/video681.png
index cae3b81..62fe19a 100644
Binary files a/res/video/video681.png and b/res/video/video681.png differ
diff --git a/res/video/video682.png b/res/video/video682.png
index aa26e36..7b0080f 100644
Binary files a/res/video/video682.png and b/res/video/video682.png differ
diff --git a/res/video/video683.png b/res/video/video683.png
index dc288e2..ee37470 100644
Binary files a/res/video/video683.png and b/res/video/video683.png differ
diff --git a/res/video/video684.png b/res/video/video684.png
index 90782c4..5bfac5c 100644
Binary files a/res/video/video684.png and b/res/video/video684.png differ
diff --git a/res/video/video685.png b/res/video/video685.png
index b0d1126..2249fb0 100644
Binary files a/res/video/video685.png and b/res/video/video685.png differ
diff --git a/res/video/video686.png b/res/video/video686.png
index 0e3c73e..26f5f03 100644
Binary files a/res/video/video686.png and b/res/video/video686.png differ
diff --git a/res/video/video687.png b/res/video/video687.png
index 7f2cba1..c4b6efd 100644
Binary files a/res/video/video687.png and b/res/video/video687.png differ
diff --git a/res/video/video688.png b/res/video/video688.png
index 8871f04..23cf26d 100644
Binary files a/res/video/video688.png and b/res/video/video688.png differ
diff --git a/res/video/video689.png b/res/video/video689.png
index 17ce24f..a09faee 100644
Binary files a/res/video/video689.png and b/res/video/video689.png differ
diff --git a/res/video/video69.png b/res/video/video69.png
index aeb0470..8b29d15 100644
Binary files a/res/video/video69.png and b/res/video/video69.png differ
diff --git a/res/video/video690.png b/res/video/video690.png
index dbc1190..d78d201 100644
Binary files a/res/video/video690.png and b/res/video/video690.png differ
diff --git a/res/video/video691.png b/res/video/video691.png
index a7f7d7f..46104cc 100644
Binary files a/res/video/video691.png and b/res/video/video691.png differ
diff --git a/res/video/video692.png b/res/video/video692.png
index 31729bc..a2ba1a4 100644
Binary files a/res/video/video692.png and b/res/video/video692.png differ
diff --git a/res/video/video693.png b/res/video/video693.png
index dd9c945..80d16e4 100644
Binary files a/res/video/video693.png and b/res/video/video693.png differ
diff --git a/res/video/video694.png b/res/video/video694.png
index 07c027b..b3e45e4 100644
Binary files a/res/video/video694.png and b/res/video/video694.png differ
diff --git a/res/video/video695.png b/res/video/video695.png
index 0115f14..82696b3 100644
Binary files a/res/video/video695.png and b/res/video/video695.png differ
diff --git a/res/video/video696.png b/res/video/video696.png
index 944be6c..ef11598 100644
Binary files a/res/video/video696.png and b/res/video/video696.png differ
diff --git a/res/video/video697.png b/res/video/video697.png
index e5c6388..4ded77a 100644
Binary files a/res/video/video697.png and b/res/video/video697.png differ
diff --git a/res/video/video698.png b/res/video/video698.png
index a222d83..2957468 100644
Binary files a/res/video/video698.png and b/res/video/video698.png differ
diff --git a/res/video/video699.png b/res/video/video699.png
index caef055..be46f4f 100644
Binary files a/res/video/video699.png and b/res/video/video699.png differ
diff --git a/res/video/video7.png b/res/video/video7.png
index fe4e9ca..8017c8b 100644
Binary files a/res/video/video7.png and b/res/video/video7.png differ
diff --git a/res/video/video70.png b/res/video/video70.png
index 9a1d1c6..ae4120f 100644
Binary files a/res/video/video70.png and b/res/video/video70.png differ
diff --git a/res/video/video700.png b/res/video/video700.png
index 1e3017c..cb738bb 100644
Binary files a/res/video/video700.png and b/res/video/video700.png differ
diff --git a/res/video/video701.png b/res/video/video701.png
index 40c04e0..2398280 100644
Binary files a/res/video/video701.png and b/res/video/video701.png differ
diff --git a/res/video/video702.png b/res/video/video702.png
index c045fa1..290bec9 100644
Binary files a/res/video/video702.png and b/res/video/video702.png differ
diff --git a/res/video/video703.png b/res/video/video703.png
index 1fcefdd..62ce68b 100644
Binary files a/res/video/video703.png and b/res/video/video703.png differ
diff --git a/res/video/video704.png b/res/video/video704.png
index 1c6bc3c..27da7d5 100644
Binary files a/res/video/video704.png and b/res/video/video704.png differ
diff --git a/res/video/video705.png b/res/video/video705.png
index cd2b9ba..1a25258 100644
Binary files a/res/video/video705.png and b/res/video/video705.png differ
diff --git a/res/video/video706.png b/res/video/video706.png
index 05f8bc2..a759743 100644
Binary files a/res/video/video706.png and b/res/video/video706.png differ
diff --git a/res/video/video707.png b/res/video/video707.png
index fe52c0c..374103f 100644
Binary files a/res/video/video707.png and b/res/video/video707.png differ
diff --git a/res/video/video708.png b/res/video/video708.png
index 4bff8a9..926202d 100644
Binary files a/res/video/video708.png and b/res/video/video708.png differ
diff --git a/res/video/video709.png b/res/video/video709.png
index 4742795..ef4b98c 100644
Binary files a/res/video/video709.png and b/res/video/video709.png differ
diff --git a/res/video/video71.png b/res/video/video71.png
index 2bf5328..40f61d0 100644
Binary files a/res/video/video71.png and b/res/video/video71.png differ
diff --git a/res/video/video710.png b/res/video/video710.png
index e05ab8b..796ca89 100644
Binary files a/res/video/video710.png and b/res/video/video710.png differ
diff --git a/res/video/video711.png b/res/video/video711.png
index 9fc89db..c0c79ce 100644
Binary files a/res/video/video711.png and b/res/video/video711.png differ
diff --git a/res/video/video712.png b/res/video/video712.png
index 213e70c..4470027 100644
Binary files a/res/video/video712.png and b/res/video/video712.png differ
diff --git a/res/video/video713.png b/res/video/video713.png
index 9fe4f44..0f4c723 100644
Binary files a/res/video/video713.png and b/res/video/video713.png differ
diff --git a/res/video/video714.png b/res/video/video714.png
index 1490b55..33f01b4 100644
Binary files a/res/video/video714.png and b/res/video/video714.png differ
diff --git a/res/video/video715.png b/res/video/video715.png
index 12daa54..cf2d5e6 100644
Binary files a/res/video/video715.png and b/res/video/video715.png differ
diff --git a/res/video/video716.png b/res/video/video716.png
deleted file mode 100644
index dd0d65b..0000000
Binary files a/res/video/video716.png and /dev/null differ
diff --git a/res/video/video717.png b/res/video/video717.png
deleted file mode 100644
index c87a25c..0000000
Binary files a/res/video/video717.png and /dev/null differ
diff --git a/res/video/video718.png b/res/video/video718.png
deleted file mode 100644
index a99b31b..0000000
Binary files a/res/video/video718.png and /dev/null differ
diff --git a/res/video/video719.png b/res/video/video719.png
deleted file mode 100644
index 91dd7a2..0000000
Binary files a/res/video/video719.png and /dev/null differ
diff --git a/res/video/video72.png b/res/video/video72.png
index 8068989..efea186 100644
Binary files a/res/video/video72.png and b/res/video/video72.png differ
diff --git a/res/video/video720.png b/res/video/video720.png
deleted file mode 100644
index f71b7f1..0000000
Binary files a/res/video/video720.png and /dev/null differ
diff --git a/res/video/video721.png b/res/video/video721.png
deleted file mode 100644
index 779e8d7..0000000
Binary files a/res/video/video721.png and /dev/null differ
diff --git a/res/video/video722.png b/res/video/video722.png
deleted file mode 100644
index 87da38d..0000000
Binary files a/res/video/video722.png and /dev/null differ
diff --git a/res/video/video723.png b/res/video/video723.png
deleted file mode 100644
index 9277722..0000000
Binary files a/res/video/video723.png and /dev/null differ
diff --git a/res/video/video724.png b/res/video/video724.png
deleted file mode 100644
index 63acbc7..0000000
Binary files a/res/video/video724.png and /dev/null differ
diff --git a/res/video/video725.png b/res/video/video725.png
deleted file mode 100644
index 54d74ae..0000000
Binary files a/res/video/video725.png and /dev/null differ
diff --git a/res/video/video726.png b/res/video/video726.png
deleted file mode 100644
index c917a56..0000000
Binary files a/res/video/video726.png and /dev/null differ
diff --git a/res/video/video727.png b/res/video/video727.png
deleted file mode 100644
index f03e1d6..0000000
Binary files a/res/video/video727.png and /dev/null differ
diff --git a/res/video/video728.png b/res/video/video728.png
deleted file mode 100644
index 7559cdf..0000000
Binary files a/res/video/video728.png and /dev/null differ
diff --git a/res/video/video729.png b/res/video/video729.png
deleted file mode 100644
index 4fdc063..0000000
Binary files a/res/video/video729.png and /dev/null differ
diff --git a/res/video/video73.png b/res/video/video73.png
index 6f05111..3bd3d9a 100644
Binary files a/res/video/video73.png and b/res/video/video73.png differ
diff --git a/res/video/video730.png b/res/video/video730.png
deleted file mode 100644
index bd91070..0000000
Binary files a/res/video/video730.png and /dev/null differ
diff --git a/res/video/video731.png b/res/video/video731.png
deleted file mode 100644
index 87121b4..0000000
Binary files a/res/video/video731.png and /dev/null differ
diff --git a/res/video/video732.png b/res/video/video732.png
deleted file mode 100644
index addd1e1..0000000
Binary files a/res/video/video732.png and /dev/null differ
diff --git a/res/video/video733.png b/res/video/video733.png
deleted file mode 100644
index cfefdb6..0000000
Binary files a/res/video/video733.png and /dev/null differ
diff --git a/res/video/video734.png b/res/video/video734.png
deleted file mode 100644
index 8e82db0..0000000
Binary files a/res/video/video734.png and /dev/null differ
diff --git a/res/video/video735.png b/res/video/video735.png
deleted file mode 100644
index 53d2f1c..0000000
Binary files a/res/video/video735.png and /dev/null differ
diff --git a/res/video/video736.png b/res/video/video736.png
deleted file mode 100644
index cb69249..0000000
Binary files a/res/video/video736.png and /dev/null differ
diff --git a/res/video/video737.png b/res/video/video737.png
deleted file mode 100644
index ac0e266..0000000
Binary files a/res/video/video737.png and /dev/null differ
diff --git a/res/video/video738.png b/res/video/video738.png
deleted file mode 100644
index a2a07cf..0000000
Binary files a/res/video/video738.png and /dev/null differ
diff --git a/res/video/video739.png b/res/video/video739.png
deleted file mode 100644
index 78b3096..0000000
Binary files a/res/video/video739.png and /dev/null differ
diff --git a/res/video/video74.png b/res/video/video74.png
index b61a64f..d30a436 100644
Binary files a/res/video/video74.png and b/res/video/video74.png differ
diff --git a/res/video/video740.png b/res/video/video740.png
deleted file mode 100644
index 8fbf75f..0000000
Binary files a/res/video/video740.png and /dev/null differ
diff --git a/res/video/video741.png b/res/video/video741.png
deleted file mode 100644
index 6515f80..0000000
Binary files a/res/video/video741.png and /dev/null differ
diff --git a/res/video/video742.png b/res/video/video742.png
deleted file mode 100644
index 1c9b74e..0000000
Binary files a/res/video/video742.png and /dev/null differ
diff --git a/res/video/video743.png b/res/video/video743.png
deleted file mode 100644
index 905fea3..0000000
Binary files a/res/video/video743.png and /dev/null differ
diff --git a/res/video/video744.png b/res/video/video744.png
deleted file mode 100644
index 0f1211c..0000000
Binary files a/res/video/video744.png and /dev/null differ
diff --git a/res/video/video745.png b/res/video/video745.png
deleted file mode 100644
index cf1e92e..0000000
Binary files a/res/video/video745.png and /dev/null differ
diff --git a/res/video/video746.png b/res/video/video746.png
deleted file mode 100644
index c6d886d..0000000
Binary files a/res/video/video746.png and /dev/null differ
diff --git a/res/video/video747.png b/res/video/video747.png
deleted file mode 100644
index 7193b7c..0000000
Binary files a/res/video/video747.png and /dev/null differ
diff --git a/res/video/video748.png b/res/video/video748.png
deleted file mode 100644
index 2536679..0000000
Binary files a/res/video/video748.png and /dev/null differ
diff --git a/res/video/video749.png b/res/video/video749.png
deleted file mode 100644
index 65db7ef..0000000
Binary files a/res/video/video749.png and /dev/null differ
diff --git a/res/video/video75.png b/res/video/video75.png
index 6085efa..58f6cab 100644
Binary files a/res/video/video75.png and b/res/video/video75.png differ
diff --git a/res/video/video750.png b/res/video/video750.png
deleted file mode 100644
index 64e726e..0000000
Binary files a/res/video/video750.png and /dev/null differ
diff --git a/res/video/video751.png b/res/video/video751.png
deleted file mode 100644
index 53939f1..0000000
Binary files a/res/video/video751.png and /dev/null differ
diff --git a/res/video/video752.png b/res/video/video752.png
deleted file mode 100644
index acb0ad0..0000000
Binary files a/res/video/video752.png and /dev/null differ
diff --git a/res/video/video753.png b/res/video/video753.png
deleted file mode 100644
index e0b4900..0000000
Binary files a/res/video/video753.png and /dev/null differ
diff --git a/res/video/video754.png b/res/video/video754.png
deleted file mode 100644
index 2a6df73..0000000
Binary files a/res/video/video754.png and /dev/null differ
diff --git a/res/video/video755.png b/res/video/video755.png
deleted file mode 100644
index 35cc930..0000000
Binary files a/res/video/video755.png and /dev/null differ
diff --git a/res/video/video756.png b/res/video/video756.png
deleted file mode 100644
index aa1f6f1..0000000
Binary files a/res/video/video756.png and /dev/null differ
diff --git a/res/video/video757.png b/res/video/video757.png
deleted file mode 100644
index 0b2b6b5..0000000
Binary files a/res/video/video757.png and /dev/null differ
diff --git a/res/video/video758.png b/res/video/video758.png
deleted file mode 100644
index 3197065..0000000
Binary files a/res/video/video758.png and /dev/null differ
diff --git a/res/video/video759.png b/res/video/video759.png
deleted file mode 100644
index dd40d82..0000000
Binary files a/res/video/video759.png and /dev/null differ
diff --git a/res/video/video76.png b/res/video/video76.png
index 93ca7c6..b0fe9ee 100644
Binary files a/res/video/video76.png and b/res/video/video76.png differ
diff --git a/res/video/video760.png b/res/video/video760.png
deleted file mode 100644
index d2075f7..0000000
Binary files a/res/video/video760.png and /dev/null differ
diff --git a/res/video/video761.png b/res/video/video761.png
deleted file mode 100644
index 3bee5ff..0000000
Binary files a/res/video/video761.png and /dev/null differ
diff --git a/res/video/video762.png b/res/video/video762.png
deleted file mode 100644
index 713ad99..0000000
Binary files a/res/video/video762.png and /dev/null differ
diff --git a/res/video/video763.png b/res/video/video763.png
deleted file mode 100644
index db6988f..0000000
Binary files a/res/video/video763.png and /dev/null differ
diff --git a/res/video/video764.png b/res/video/video764.png
deleted file mode 100644
index 891de27..0000000
Binary files a/res/video/video764.png and /dev/null differ
diff --git a/res/video/video765.png b/res/video/video765.png
deleted file mode 100644
index 7f13476..0000000
Binary files a/res/video/video765.png and /dev/null differ
diff --git a/res/video/video766.png b/res/video/video766.png
deleted file mode 100644
index 3731450..0000000
Binary files a/res/video/video766.png and /dev/null differ
diff --git a/res/video/video767.png b/res/video/video767.png
deleted file mode 100644
index d6a4a8a..0000000
Binary files a/res/video/video767.png and /dev/null differ
diff --git a/res/video/video768.png b/res/video/video768.png
deleted file mode 100644
index 50e3769..0000000
Binary files a/res/video/video768.png and /dev/null differ
diff --git a/res/video/video769.png b/res/video/video769.png
deleted file mode 100644
index 62fe19a..0000000
Binary files a/res/video/video769.png and /dev/null differ
diff --git a/res/video/video77.png b/res/video/video77.png
index b415876..d2fc00e 100644
Binary files a/res/video/video77.png and b/res/video/video77.png differ
diff --git a/res/video/video770.png b/res/video/video770.png
deleted file mode 100644
index 7b0080f..0000000
Binary files a/res/video/video770.png and /dev/null differ
diff --git a/res/video/video771.png b/res/video/video771.png
deleted file mode 100644
index ee37470..0000000
Binary files a/res/video/video771.png and /dev/null differ
diff --git a/res/video/video772.png b/res/video/video772.png
deleted file mode 100644
index 5bfac5c..0000000
Binary files a/res/video/video772.png and /dev/null differ
diff --git a/res/video/video773.png b/res/video/video773.png
deleted file mode 100644
index 2249fb0..0000000
Binary files a/res/video/video773.png and /dev/null differ
diff --git a/res/video/video774.png b/res/video/video774.png
deleted file mode 100644
index 26f5f03..0000000
Binary files a/res/video/video774.png and /dev/null differ
diff --git a/res/video/video775.png b/res/video/video775.png
deleted file mode 100644
index c4b6efd..0000000
Binary files a/res/video/video775.png and /dev/null differ
diff --git a/res/video/video776.png b/res/video/video776.png
deleted file mode 100644
index 23cf26d..0000000
Binary files a/res/video/video776.png and /dev/null differ
diff --git a/res/video/video777.png b/res/video/video777.png
deleted file mode 100644
index a09faee..0000000
Binary files a/res/video/video777.png and /dev/null differ
diff --git a/res/video/video778.png b/res/video/video778.png
deleted file mode 100644
index d78d201..0000000
Binary files a/res/video/video778.png and /dev/null differ
diff --git a/res/video/video779.png b/res/video/video779.png
deleted file mode 100644
index 46104cc..0000000
Binary files a/res/video/video779.png and /dev/null differ
diff --git a/res/video/video78.png b/res/video/video78.png
index 950e36f..1f3c8fb 100644
Binary files a/res/video/video78.png and b/res/video/video78.png differ
diff --git a/res/video/video780.png b/res/video/video780.png
deleted file mode 100644
index a2ba1a4..0000000
Binary files a/res/video/video780.png and /dev/null differ
diff --git a/res/video/video781.png b/res/video/video781.png
deleted file mode 100644
index 80d16e4..0000000
Binary files a/res/video/video781.png and /dev/null differ
diff --git a/res/video/video782.png b/res/video/video782.png
deleted file mode 100644
index b3e45e4..0000000
Binary files a/res/video/video782.png and /dev/null differ
diff --git a/res/video/video783.png b/res/video/video783.png
deleted file mode 100644
index 82696b3..0000000
Binary files a/res/video/video783.png and /dev/null differ
diff --git a/res/video/video784.png b/res/video/video784.png
deleted file mode 100644
index ef11598..0000000
Binary files a/res/video/video784.png and /dev/null differ
diff --git a/res/video/video785.png b/res/video/video785.png
deleted file mode 100644
index 4ded77a..0000000
Binary files a/res/video/video785.png and /dev/null differ
diff --git a/res/video/video786.png b/res/video/video786.png
deleted file mode 100644
index 2957468..0000000
Binary files a/res/video/video786.png and /dev/null differ
diff --git a/res/video/video787.png b/res/video/video787.png
deleted file mode 100644
index be46f4f..0000000
Binary files a/res/video/video787.png and /dev/null differ
diff --git a/res/video/video788.png b/res/video/video788.png
deleted file mode 100644
index cb738bb..0000000
Binary files a/res/video/video788.png and /dev/null differ
diff --git a/res/video/video789.png b/res/video/video789.png
deleted file mode 100644
index 2398280..0000000
Binary files a/res/video/video789.png and /dev/null differ
diff --git a/res/video/video79.png b/res/video/video79.png
index 7891c39..3db09de 100644
Binary files a/res/video/video79.png and b/res/video/video79.png differ
diff --git a/res/video/video790.png b/res/video/video790.png
deleted file mode 100644
index 290bec9..0000000
Binary files a/res/video/video790.png and /dev/null differ
diff --git a/res/video/video791.png b/res/video/video791.png
deleted file mode 100644
index 62ce68b..0000000
Binary files a/res/video/video791.png and /dev/null differ
diff --git a/res/video/video792.png b/res/video/video792.png
deleted file mode 100644
index 27da7d5..0000000
Binary files a/res/video/video792.png and /dev/null differ
diff --git a/res/video/video793.png b/res/video/video793.png
deleted file mode 100644
index 1a25258..0000000
Binary files a/res/video/video793.png and /dev/null differ
diff --git a/res/video/video794.png b/res/video/video794.png
deleted file mode 100644
index a759743..0000000
Binary files a/res/video/video794.png and /dev/null differ
diff --git a/res/video/video795.png b/res/video/video795.png
deleted file mode 100644
index 374103f..0000000
Binary files a/res/video/video795.png and /dev/null differ
diff --git a/res/video/video796.png b/res/video/video796.png
deleted file mode 100644
index 926202d..0000000
Binary files a/res/video/video796.png and /dev/null differ
diff --git a/res/video/video797.png b/res/video/video797.png
deleted file mode 100644
index ef4b98c..0000000
Binary files a/res/video/video797.png and /dev/null differ
diff --git a/res/video/video798.png b/res/video/video798.png
deleted file mode 100644
index 796ca89..0000000
Binary files a/res/video/video798.png and /dev/null differ
diff --git a/res/video/video799.png b/res/video/video799.png
deleted file mode 100644
index c0c79ce..0000000
Binary files a/res/video/video799.png and /dev/null differ
diff --git a/res/video/video8.png b/res/video/video8.png
index fe4e9ca..21cbef5 100644
Binary files a/res/video/video8.png and b/res/video/video8.png differ
diff --git a/res/video/video80.png b/res/video/video80.png
index 627fd27..c515d7d 100644
Binary files a/res/video/video80.png and b/res/video/video80.png differ
diff --git a/res/video/video800.png b/res/video/video800.png
deleted file mode 100644
index 4470027..0000000
Binary files a/res/video/video800.png and /dev/null differ
diff --git a/res/video/video801.png b/res/video/video801.png
deleted file mode 100644
index 0f4c723..0000000
Binary files a/res/video/video801.png and /dev/null differ
diff --git a/res/video/video802.png b/res/video/video802.png
deleted file mode 100644
index 33f01b4..0000000
Binary files a/res/video/video802.png and /dev/null differ
diff --git a/res/video/video803.png b/res/video/video803.png
deleted file mode 100644
index cf2d5e6..0000000
Binary files a/res/video/video803.png and /dev/null differ
diff --git a/res/video/video81.png b/res/video/video81.png
index bfb1ac2..8f9d200 100644
Binary files a/res/video/video81.png and b/res/video/video81.png differ
diff --git a/res/video/video82.png b/res/video/video82.png
index 13d89ab..2f351be 100644
Binary files a/res/video/video82.png and b/res/video/video82.png differ
diff --git a/res/video/video83.png b/res/video/video83.png
index af7089f..b9d2251 100644
Binary files a/res/video/video83.png and b/res/video/video83.png differ
diff --git a/res/video/video84.png b/res/video/video84.png
index 7684f0e..44f0903 100644
Binary files a/res/video/video84.png and b/res/video/video84.png differ
diff --git a/res/video/video85.png b/res/video/video85.png
index 4e9fe57..a131e7b 100644
Binary files a/res/video/video85.png and b/res/video/video85.png differ
diff --git a/res/video/video86.png b/res/video/video86.png
index 5252cd5..40f48ce 100644
Binary files a/res/video/video86.png and b/res/video/video86.png differ
diff --git a/res/video/video87.png b/res/video/video87.png
index 443d656..00b3be9 100644
Binary files a/res/video/video87.png and b/res/video/video87.png differ
diff --git a/res/video/video88.png b/res/video/video88.png
index c5fa59c..f9de64b 100644
Binary files a/res/video/video88.png and b/res/video/video88.png differ
diff --git a/res/video/video89.png b/res/video/video89.png
index 6789dce..22ee786 100644
Binary files a/res/video/video89.png and b/res/video/video89.png differ
diff --git a/res/video/video9.png b/res/video/video9.png
index fe4e9ca..343f83c 100644
Binary files a/res/video/video9.png and b/res/video/video9.png differ
diff --git a/res/video/video90.png b/res/video/video90.png
index 0af0a55..3243713 100644
Binary files a/res/video/video90.png and b/res/video/video90.png differ
diff --git a/res/video/video91.png b/res/video/video91.png
index 752a100..c0e6fd3 100644
Binary files a/res/video/video91.png and b/res/video/video91.png differ
diff --git a/res/video/video92.png b/res/video/video92.png
index defa6dc..91e52e9 100644
Binary files a/res/video/video92.png and b/res/video/video92.png differ
diff --git a/res/video/video93.png b/res/video/video93.png
index 511e61c..3f5a645 100644
Binary files a/res/video/video93.png and b/res/video/video93.png differ
diff --git a/res/video/video94.png b/res/video/video94.png
index 1498df8..3632d7f 100644
Binary files a/res/video/video94.png and b/res/video/video94.png differ
diff --git a/res/video/video95.png b/res/video/video95.png
index 8017c8b..98b7761 100644
Binary files a/res/video/video95.png and b/res/video/video95.png differ
diff --git a/res/video/video96.png b/res/video/video96.png
index 21cbef5..32252fa 100644
Binary files a/res/video/video96.png and b/res/video/video96.png differ
diff --git a/res/video/video97.png b/res/video/video97.png
index 343f83c..7a70e3d 100644
Binary files a/res/video/video97.png and b/res/video/video97.png differ
diff --git a/res/video/video98.png b/res/video/video98.png
index 2c20727..a5bb95f 100644
Binary files a/res/video/video98.png and b/res/video/video98.png differ
diff --git a/res/video/video99.png b/res/video/video99.png
index 2dda1ce..aa0be53 100644
Binary files a/res/video/video99.png and b/res/video/video99.png differ
diff --git a/res/wood.png b/res/wood.png
new file mode 100644
index 0000000..0d8476e
Binary files /dev/null and b/res/wood.png differ
diff --git a/src/Scene/Objects/Book.java b/src/Scene/Objects/Book.java
index a827fd0..29fe795 100644
--- a/src/Scene/Objects/Book.java
+++ b/src/Scene/Objects/Book.java
@@ -91,7 +91,7 @@ public class Book extends SceneObject {
Scene.bookRotate_Speed -= 0.0001f;
}
if (Scene.bookRotate_Speed < 0.2f * jump_count && Scene.bookRotate_Speed < 2f) {
- Scene.bookRotate_Speed = 0.2f * jump_count;
+ Scene.bookRotate_Speed += 0.2f * jump_count;
}
// System.out.println(Scene.bookRotate_Speed);
// if(jump_count > 3){
diff --git a/src/Scene/Objects/Table.java b/src/Scene/Objects/BookTable.java
similarity index 61%
rename from src/Scene/Objects/Table.java
rename to src/Scene/Objects/BookTable.java
index 58a7dc9..b10bec8 100644
--- a/src/Scene/Objects/Table.java
+++ b/src/Scene/Objects/BookTable.java
@@ -1,10 +1,12 @@
package Scene.Objects;
+import Scene.Scene;
import Scene.base.SceneObject;
import base.GraphicsObjects.Point4f;
import base.GraphicsObjects.Vector4f;
import base.objects3D.DisplayListOval;
import base.objects3D.DisplayListTexCube;
+import main.Camera;
import org.lwjgl.opengl.GL11;
import org.newdawn.slick.Color;
import org.newdawn.slick.opengl.Texture;
@@ -20,26 +22,46 @@ import static org.lwjgl.opengl.GL11.*;
* @Package: Scene.Objects
* @Description:
**/
-public class Table extends SceneObject {
+public class BookTable extends SceneObject {
DisplayListTexCube cube = new DisplayListTexCube();
DisplayListOval displayListOval = new DisplayListOval(2f, 32);
+ private float scale_number = 0f;
- public Table(Point4f origin, Point4f position, Vector4f scale) {
+
+ public BookTable(Point4f origin, Point4f position, Vector4f scale) {
super(origin, position, scale);
}
- public Table(Point4f origin, Point4f position, Vector4f scale, HashMap textures) {
+ public BookTable(Point4f origin, Point4f position, Vector4f scale, HashMap textures) {
super(origin, position, scale, textures);
}
- public Table(Point4f origin, Point4f position, Vector4f scale, Vector4f rotation, HashMap textures) {
+ public BookTable(Point4f origin, Point4f position, Vector4f scale, Vector4f rotation, HashMap textures) {
super(origin, position, scale, rotation, textures);
}
@Override
public void draw(Integer frame_delta) {
Color.white.bind();
- getTextures().get("enchanting_table_top").bind();
+ if (Book.yRotation % 360 > 180) {
+ getTextures().get("end_portal_frame_top").bind();
+ } else {
+ getTextures().get("enchanting_table_top").bind();
+ }
+ if (Scene.bookRotate_Speed > 1.8f) {
+ if (scale_number < 40f) {
+ scale_number += 0.5f;
+ }
+ } else {
+ if (scale_number > 0f) {
+ scale_number -= 0.5f;
+ }
+ }
+ if(!Camera.loading_finished){
+ scale_number = 0;
+ }
+
+
GL11.glTexParameteri(
GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T,
GL11.GL_CLAMP);
@@ -47,7 +69,14 @@ public class Table extends SceneObject {
GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S,
GL11.GL_CLAMP);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
- cube.DrawTexCube();
+ GL11.glPushMatrix();
+ {
+ GL11.glTranslatef(0, scale_number, 0);
+ GL11.glScalef(0.5f, scale_number, 0.5f);
+ cube.DrawTexCube();
+ }
+ GL11.glPopMatrix();
+
GL11.glPushMatrix();
{
cube.DrawTexCube();
@@ -58,7 +87,7 @@ public class Table extends SceneObject {
glScalef(1 / getScale().x, 1 / getScale().y, 1 / getScale().z);
glTranslatef(-240, -getOrigin().y + 2f, -240);
glScalef(getScale().x, getScale().y, getScale().z);
- GL11.glRotatef(-45, 0,1,0);
+ GL11.glRotatef(-45, 0, 1, 0);
GL11.glScalef(2f, 0f, 1f);
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE_2D);
diff --git a/src/Scene/Objects/Cube.java b/src/Scene/Objects/Cube.java
index 81ae4b3..0f32861 100644
--- a/src/Scene/Objects/Cube.java
+++ b/src/Scene/Objects/Cube.java
@@ -49,9 +49,9 @@ public class Cube extends SceneObject {
GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S,
GL11.GL_REPEAT);
Color.white.bind();
- Color.black.bind();
+// Color.black.bind();
//bind texture
- getTextures().get("default_dirt").bind();
+ getTextures().get("debug").bind();
;
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
// oval.DrawOval();
diff --git a/src/Scene/Objects/Ground.java b/src/Scene/Objects/Ground.java
index aa0f0f6..25d3076 100644
--- a/src/Scene/Objects/Ground.java
+++ b/src/Scene/Objects/Ground.java
@@ -48,7 +48,7 @@ public class Ground extends SceneObject {
GL11.GL_REPEAT);
//bind texture
// Color.blue.bind();
- getTextures().get("default_dirt").bind();
+ getTextures().get("wood").bind();
//
// glBindTexture(GL11.GL_TEXTURE_2D, Engine.shadowTexture);
cube.DrawTexCube();
diff --git a/src/Scene/Objects/Player.java b/src/Scene/Objects/Player.java
index bda3600..c775a05 100644
--- a/src/Scene/Objects/Player.java
+++ b/src/Scene/Objects/Player.java
@@ -760,14 +760,15 @@ public class Player extends SceneObject {
player.setAngle(angle);
}
if (Keyboard.isKeyDown(Keyboard.KEY_RETURN)) {
- move = move.PlusVector(new Vector4f(0, speedY, 0, 0));
+ move = move.PlusVector(new Vector4f(0, -speedY, 0, 0));
}
if (Keyboard.isKeyDown(Keyboard.KEY_SPACE)) {
player.jump(500);
}
if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) {
- move = move.PlusVector(new Vector4f(0, -speedY, 0, 0));
+ move = move.PlusVector(new Vector4f(0, speedY, 0, 0));
}
+// System.out.println(move);
player.move(move);
// human.setPosition(new Point4f(posn_x * 3.0f, 0.0f, posn_y * 3.0f, 0));
if (hasKeyDown) {
diff --git a/src/Scene/Objects/TheMostImportantImage.java b/src/Scene/Objects/TheMostImportantImage.java
index 0cdd549..55f7592 100644
--- a/src/Scene/Objects/TheMostImportantImage.java
+++ b/src/Scene/Objects/TheMostImportantImage.java
@@ -5,7 +5,6 @@ import base.GraphicsObjects.Point4f;
import base.GraphicsObjects.Vector4f;
import base.objects3D.DisplayListTexCube;
import main.Camera;
-import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
import org.newdawn.slick.Color;
import org.newdawn.slick.opengl.Texture;
@@ -20,9 +19,9 @@ import java.util.HashMap;
* @Description:
**/
public class TheMostImportantImage extends SceneObject {
+ public static Boolean isPlayVideo = false;
private DisplayListTexCube cube = new DisplayListTexCube();
private float counter = 1;
- private Boolean isPlayVideo = false;
public TheMostImportantImage(Point4f origin, Point4f position, Vector4f scale) {
super(origin, position, scale);
@@ -47,17 +46,20 @@ public class TheMostImportantImage extends SceneObject {
Color.white.bind();
//bind texture
- if(Camera.position.z > 1700 && Camera.loading_finished){
+ if (Camera.position.z > 1700
+ && Camera.loading_finished
+ && Camera.position.x < 100
+ && Camera.position.x > -100
+ && Camera.position.z < 2000
+ ) {
isPlayVideo = true;
- }
- else {
+ } else {
isPlayVideo = false;
}
if (isPlayVideo) {
getTextures().get("video/video" + (int) counter).bind();
- }
- else {
+ } else {
getTextures().get("2021").bind();
counter = 1;
}
@@ -70,10 +72,11 @@ public class TheMostImportantImage extends SceneObject {
// GL11.glEnable(GL11.GL_LIGHTING); // switch lighting off
;
counter += 0.5f;
- if (counter >= 803)
+ if (counter >= 715)
counter = 1.0f;
}
+
@Override
public void drawShadow() {
diff --git a/src/Scene/Objects/VideoTriggerBox.java b/src/Scene/Objects/VideoTriggerBox.java
new file mode 100644
index 0000000..89c9fe7
--- /dev/null
+++ b/src/Scene/Objects/VideoTriggerBox.java
@@ -0,0 +1,64 @@
+package Scene.Objects;
+
+import Scene.base.SceneObject;
+import base.GraphicsObjects.Point4f;
+import base.GraphicsObjects.Vector4f;
+import base.objects3D.DisplayListOval;
+import base.objects3D.DisplayListTexCube;
+import org.lwjgl.opengl.GL11;
+import org.newdawn.slick.Color;
+import org.newdawn.slick.opengl.Texture;
+
+import java.util.HashMap;
+
+/**
+ * @Author: WangYuyang
+ * @Date: 2021/11/5-23:09
+ * @Project: Assignment3
+ * @Package: Scene.Objects
+ * @Description:
+ **/
+public class VideoTriggerBox extends SceneObject {
+ private DisplayListTexCube cube = new DisplayListTexCube();
+ private DisplayListOval oval = new DisplayListOval(100f, 32);
+ public VideoTriggerBox(Point4f origin, Point4f position, Vector4f scale) {
+ super(origin, position, scale);
+ }
+
+
+ public VideoTriggerBox(Point4f origin, Point4f position, Vector4f scale, HashMap textures) {
+ super(origin, position, scale, textures);
+ }
+
+ public VideoTriggerBox(Point4f origin, Point4f position, Vector4f scale, Vector4f rotation, HashMap textures) {
+ super(origin, position, scale, rotation, textures);
+ }
+
+
+ @Override
+ public void draw(Integer frame_delta) {
+
+ GL11.glTexParameteri(
+ GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T,
+ GL11.GL_REPEAT);
+ GL11.glTexParameteri(
+ GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S,
+ GL11.GL_REPEAT);
+ Color.white.bind();
+// Color.black.bind();
+ //bind texture
+ getTextures().get("debug").bind();
+ ;
+ GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
+// oval.DrawOval();
+ cube.DrawTexCube();
+
+ Color.white.bind();
+ ;
+
+ }
+// @Override
+// public void drawShadow() {
+//// oval.DrawOval();
+// }
+}
diff --git a/src/Scene/Scene.java b/src/Scene/Scene.java
index 0467237..b3fa022 100644
--- a/src/Scene/Scene.java
+++ b/src/Scene/Scene.java
@@ -22,6 +22,7 @@ public class Scene {
public static Player player;
public static BunnyTestObject bunnyTestObject;
public static NPC center;
+ public static float bookRotate_Speed = 0.1f;
private static ParticleEmitter frontParticleEmitter = new ParticleEmitterBuilder()
.setLocation(new Vector3f(0, 12900, 2.5f))
.setEnable3D(true)
@@ -30,7 +31,6 @@ public class Scene {
.setSpawningRate(20)
.setParticleLifeTime(270)
.createParticleEmitter();
-
private static ParticleEmitter bookParticleEmitter = new ParticleEmitterBuilder()
.setLocation(new Vector3f(0, 250, 0.1f))
.setEnable3D(true)
@@ -39,9 +39,7 @@ public class Scene {
.setSpawningRate(10)
.setParticleLifeTime(20)
.createParticleEmitter();
-
private static Random random = new Random();
- public static float bookRotate_Speed = 0.1f;
// private static ParticleEmitter rightParticleEmitter = new ParticleEmitterBuilder()
@@ -71,7 +69,6 @@ public class Scene {
// .setParticleLifeTime(200)
// .createParticleEmitter();
-
public static void initScene(SceneManager sceneManager, HashMap textures) {
player = new Player(
@@ -312,7 +309,7 @@ public class Scene {
));
- sceneManager.addSceneObject(new Table(
+ sceneManager.addSceneObject(new BookTable(
new Point4f(0, 90f, 500, 0),
new Point4f(0, 0, 0, 0),
new Vector4f(90f, 90f, 90f, 0),
@@ -333,7 +330,7 @@ public class Scene {
));
for (int i = -9; i < 10; i++) {
- sceneManager.addSceneObject(new Table(
+ sceneManager.addSceneObject(new BookTable(
new Point4f(500 * i, 90f, 4500, 0),
new Point4f(0, 0, 0, 0),
new Vector4f(90f, 90f, 90f, 0),
@@ -346,7 +343,7 @@ public class Scene {
textures
));
- sceneManager.addSceneObject(new Table(
+ sceneManager.addSceneObject(new BookTable(
new Point4f(500 * i, 90f, -4500, 0),
new Point4f(0, 0, 0, 0),
new Vector4f(90f, 90f, 90f, 0),
@@ -359,7 +356,7 @@ public class Scene {
textures
));
- sceneManager.addSceneObject(new Table(
+ sceneManager.addSceneObject(new BookTable(
new Point4f(4500, 90f, 500 * i, 0),
new Point4f(0, 0, 0, 0),
new Vector4f(90f, 90f, 90f, 0),
@@ -372,7 +369,7 @@ public class Scene {
textures
));
- sceneManager.addSceneObject(new Table(
+ sceneManager.addSceneObject(new BookTable(
new Point4f(-4500, 90f, 500 * i, 0),
new Point4f(0, 0, 0, 0),
new Vector4f(90f, 90f, 90f, 0),
@@ -386,13 +383,13 @@ public class Scene {
));
}
- sceneManager.addSceneObject(new CarportObject(
- new Point4f(0, 0, 200, 0),
- new Point4f(0, 0, 0, 0),
- new Vector4f(500, 500, 500, 0),
- new Vector4f(1, 0, 0, -90),
- textures
- ));
+// sceneManager.addSceneObject(new CarportObject(
+// new Point4f(0, 0, 200, 0),
+// new Point4f(0, 0, 0, 0),
+// new Vector4f(500, 500, 500, 0),
+// new Vector4f(1, 0, 0, -90),
+// textures
+// ));
sceneManager.addSceneObject(new Copyleft(
new Point4f(-5000, 3500, 0, 0),
@@ -416,13 +413,13 @@ public class Scene {
new Vector4f(0, 1, 0, 90),
textures
));
-// sceneManager.addSceneObject(new Cube(
-// new Point4f(0, 300, 0, 0),
-// new Point4f(0, 0, 0, 0),
-// new Vector4f(1, 1, 1, 0),
-//// new Vector4f(0, 1, 0, 90),
-// textures
-// ));
+ sceneManager.addSceneObject(new VideoTriggerBox(
+ new Point4f(0, 100, -2000, 0),
+ new Point4f(0, 0, 0, 0),
+ new Vector4f(100, 100, 100, 0),
+// new Vector4f(0, 1, 0, 90),
+ textures
+ ));
new Thread(new Runnable() {
@Override
@@ -502,7 +499,8 @@ public class Scene {
@Override
public void afterEachDraw(SceneObject object) {
frontParticleEmitter.draw();
- bookParticleEmitter.draw();
+ if (Book.hasSomeJumpping)
+ bookParticleEmitter.draw();
// rightParticleEmitter.draw();
// leftParticleEmitter.draw();
// backParticleEmitter.draw();
@@ -511,7 +509,8 @@ public class Scene {
}, delta);
frontParticleEmitter.update();
- bookParticleEmitter.update();
+ if (Book.hasSomeJumpping)
+ bookParticleEmitter.update();
bookParticleEmitter.colorVec = new Vector3f(random.nextFloat() + 0.5f, random.nextFloat() + 0.5f, random.nextFloat() + 0.5f);
// rightParticleEmitter.update();
diff --git a/src/Scene/base/ParticleEmitter.java b/src/Scene/base/ParticleEmitter.java
index eb58256..f2f177c 100644
--- a/src/Scene/base/ParticleEmitter.java
+++ b/src/Scene/base/ParticleEmitter.java
@@ -39,9 +39,6 @@ import java.util.Random;
import static org.lwjgl.opengl.GL11.*;
-/**
- * The source of particles.
- */
public class ParticleEmitter {
private static Random randomGenerator = new Random();
@@ -55,19 +52,6 @@ public class ParticleEmitter {
private float velocityModifier;
public Vector3f colorVec = new Vector3f(0, 0.2f, 1f);
- public ParticleEmitter() {
- this(new Vector3f(0, 0, 0), 3, 300, new Vector3f(0, -0.0003f, 0), false, new Vector3f(-0.5f, 0, -0.5f), 1.0f);
- }
-
- /**
- * @param location the location of the particle emitter
- * @param spawningRate the amount of particles generated every call to 'ParticleEmitter.update()'
- * @param particleLifeTime the life time of the particle in calls to 'ParticleEmitter.update()'
- * @param gravity the gravity acceleration applied to all the particles each call to 'ParticleEmitter.update()'
- * @param enable3D whether 3D particle generation is enabled
- * @param initialVelocity the base initial velocity
- * @param velocityModifier the particle velocity modifier
- */
public ParticleEmitter(Vector3f location, float spawningRate, int particleLifeTime, Vector3f gravity,
boolean enable3D, Vector3f initialVelocity, float velocityModifier) {
this.location = location;
@@ -80,62 +64,6 @@ public class ParticleEmitter {
this.velocityModifier = velocityModifier;
}
- public float getVelocityModifier() {
- return velocityModifier;
- }
-
- public void setVelocityModifier(float velocityModifier) {
- this.velocityModifier = velocityModifier;
- }
-
- public Vector3f getLocation() {
- return location;
- }
-
- public void setLocation(Vector3f location) {
- this.location = location;
- }
-
- public float getSpawningRate() {
- return spawningRate;
- }
-
- public void setSpawningRate(float spawningRate) {
- this.spawningRate = spawningRate;
- }
-
- public Vector3f getGravity() {
- return gravity;
- }
-
- public void setGravity(Vector3f gravity) {
- this.gravity = gravity;
- }
-
- public int getParticleLifeTime() {
- return particleLifeTime;
- }
-
- public void setParticleLifeTime(int particleLifeTime) {
- this.particleLifeTime = particleLifeTime;
- }
-
- public Vector3f getInitialVelocity() {
- return initialVelocity;
- }
-
- public void setInitialVelocity(Vector3f initialVelocity) {
- this.initialVelocity = initialVelocity;
- }
-
- public boolean isEnable3D() {
- return enable3D;
- }
-
- public void setEnable3D(boolean enable3D) {
- this.enable3D = enable3D;
- }
-
private Particle generateNewParticle(int dx, int dy) {
Vector3f particleLocation = new Vector3f(location);
Vector3f particleVelocity = new Vector3f();
diff --git a/src/Scene/base/ParticleEmitterBuilder.java b/src/Scene/base/ParticleEmitterBuilder.java
index b3f4342..8df7ec3 100644
--- a/src/Scene/base/ParticleEmitterBuilder.java
+++ b/src/Scene/base/ParticleEmitterBuilder.java
@@ -41,75 +41,36 @@ public class ParticleEmitterBuilder {
private Vector3f initialVelocity = new Vector3f(0, 0, 0);
private float velocityModifier = 1.0f;
- /**
- * Sets the location of the particle emitter.
- *
- * @param location the location of the particle emitter
- */
public ParticleEmitterBuilder setLocation(Vector3f location) {
this.location = location;
return this;
}
- /**
- * Set the modifier of the particle velocity. 2.0 makes the initial velocity of the particles twice as large.
- *
- * @param velocityModifier the particle velocity modifier
- */
public ParticleEmitterBuilder setVelocityModifier(float velocityModifier) {
this.velocityModifier = velocityModifier;
return this;
}
- /**
- * Enables or disable 3D particle generation. If 3D generation is enabled, the z-coordinate of particles is
- * modifiable.
- *
- * @param enable3D whether 3D particle generation is enabled
- */
public ParticleEmitterBuilder setEnable3D(boolean enable3D) {
this.enable3D = enable3D;
return this;
}
- /**
- * Sets the spawning rate of the particle emitter, i.e. the amount of particles generated every call to
- * 'ParticleEmitter.update()'.
- *
- * @param spawningRate the spawning rate of the particle emitter
- */
public ParticleEmitterBuilder setSpawningRate(float spawningRate) {
this.spawningRate = spawningRate;
return this;
}
- /**
- * Sets the particle life time in amount of calls to 'ParticleEmitter.update()'. For example, if it is set to 300,
- * then the particle will dissapear amount 'ParticleEmitter.update()' has been called 300 times.
- *
- * @param particleLifeTime the life time of the particle
- */
public ParticleEmitterBuilder setParticleLifeTime(int particleLifeTime) {
this.particleLifeTime = particleLifeTime;
return this;
}
- /**
- * Sets the gravity acceleration applied to all the particles each call to 'ParticleEmitter.update()'.
- *
- * @param gravity the gravity acceleration
- */
public ParticleEmitterBuilder setGravity(Vector3f gravity) {
this.gravity = gravity;
return this;
}
- /**
- * Sets the initial velocity which is taken as base value for the initial velocity for all particles. Note that the
- * actual velocity is randomised.
- *
- * @param initialVelocity the base initial velocity
- */
public ParticleEmitterBuilder setInitialVelocity(Vector3f initialVelocity) {
this.initialVelocity = initialVelocity;
return this;
diff --git a/src/base/obj/BufferTools.java b/src/base/obj/BufferTools.java
deleted file mode 100644
index da03c68..0000000
--- a/src/base/obj/BufferTools.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2013, Oskar Veerhoek
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * The views and conclusions contained in the software and documentation are those
- * of the authors and should not be interpreted as representing official policies,
- * either expressed or implied, of the FreeBSD Project.
- */
-
-package base.obj;
-
-import org.lwjgl.BufferUtils;
-import org.lwjgl.util.vector.Matrix4f;
-import org.lwjgl.util.vector.Vector3f;
-
-import java.nio.ByteBuffer;
-import java.nio.FloatBuffer;
-
-public class BufferTools {
-
- /**
- * @param v the vector that is to be turned into an array of floats
- *
- * @return a float array where [0] is v.x, [1] is v.y, and [2] is v.z
- */
- public static float[] asFloats(Vector3f v) {
- return new float[]{v.x, v.y, v.z};
- }
-
- /**
- * @param elements the amount of elements to check
- *
- * @return true if the contents of the two buffers are the same, false if not
- */
- public static boolean bufferEquals(FloatBuffer bufferOne, FloatBuffer bufferTwo, int elements) {
- for (int i = 0; i < elements; i++) {
- if (bufferOne.get(i) != bufferTwo.get(i)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * @param values the byte values that are to be turned into a readable ByteBuffer
- *
- * @return a readable ByteBuffer
- */
- public static ByteBuffer asByteBuffer(byte... values) {
- ByteBuffer buffer = BufferUtils.createByteBuffer(values.length);
- buffer.put(values);
- return buffer;
- }
-
- /**
- * @param buffer a readable buffer
- * @param elements the amount of elements in the buffer
- *
- * @return a string representation of the elements in the buffer
- */
- public static String bufferToString(FloatBuffer buffer, int elements) {
- StringBuilder bufferString = new StringBuilder();
- for (int i = 0; i < elements; i++) {
- bufferString.append(" ").append(buffer.get(i));
- }
- return bufferString.toString();
- }
-
- /**
- * @param matrix4f the Matrix4f that is to be turned into a readable FloatBuffer
- *
- * @return a FloatBuffer representation of matrix4f
- */
- public static FloatBuffer asFloatBuffer(Matrix4f matrix4f) {
- FloatBuffer buffer = BufferUtils.createFloatBuffer(16);
- matrix4f.store(buffer);
- return buffer;
- }
-
- /**
- * @param matrix4f the Matrix4f that is to be turned into a FloatBuffer that is readable to OpenGL (but not to you)
- *
- * @return a FloatBuffer representation of matrix4f
- */
- public static FloatBuffer asFlippedFloatBuffer(Matrix4f matrix4f) {
- FloatBuffer buffer = BufferUtils.createFloatBuffer(16);
- matrix4f.store(buffer);
- buffer.flip();
- return buffer;
- }
-
- /**
- * @param values the float values that are to be turned into a readable FloatBuffer
- *
- * @return a readable FloatBuffer containing values
- */
- public static FloatBuffer asFloatBuffer(float... values) {
- FloatBuffer buffer = BufferUtils.createFloatBuffer(values.length);
- buffer.put(values);
- return buffer;
- }
-
- /**
- * @param amountOfElements the amount of elements in the FloatBuffers
- *
- * @return an empty FloatBuffer with a set amount of elements
- */
- public static FloatBuffer reserveData(int amountOfElements) {
- return BufferUtils.createFloatBuffer(amountOfElements);
- }
-
- /**
- * @param values the float values that are to be turned into a FloatBuffer
- *
- * @return a FloatBuffer readable to OpenGL (not to you!) containing values
- */
- public static FloatBuffer asFlippedFloatBuffer(float... values) {
- FloatBuffer buffer = BufferUtils.createFloatBuffer(values.length);
- buffer.put(values);
- buffer.flip();
- return buffer;
- }
-}
diff --git a/src/base/obj/Model.java b/src/base/obj/Model.java
index d39369f..e0f5a5f 100644
--- a/src/base/obj/Model.java
+++ b/src/base/obj/Model.java
@@ -107,7 +107,6 @@ public class Model {
'}';
}
- /** Between 0 and 1000. */
public float specularCoefficient = 100;
public float[] ambientColour = {0.2f, 0.2f, 0.2f};
public float[] diffuseColour = {0.3f, 1, 1};
@@ -115,7 +114,6 @@ public class Model {
public Texture texture;
}
- /** @author Oskar */
public static class Face {
private final int[] vertexIndices = {-1, -1, -1};
diff --git a/src/base/obj/OBJLoader.java b/src/base/obj/OBJLoader.java
index b0fdd9b..d922ad1 100644
--- a/src/base/obj/OBJLoader.java
+++ b/src/base/obj/OBJLoader.java
@@ -42,38 +42,6 @@ import static org.lwjgl.opengl.GL15.*;
public class OBJLoader {
- public static int createDisplayList(Model m) {
- int displayList = glGenLists(1);
- glNewList(displayList, GL_COMPILE);
- {
- glMaterialf(GL_FRONT, GL_SHININESS, 120);
- glColor3f(0.4f, 0.27f, 0.17f);
- glBegin(GL_TRIANGLES);
- for (Model.Face face : m.getFaces()) {
- if (face.hasNormals()) {
- Vector3f n1 = m.getNormals().get(face.getNormalIndices()[0] - 1);
- glNormal3f(n1.x, n1.y, n1.z);
- }
- Vector3f v1 = m.getVertices().get(face.getVertexIndices()[0] - 1);
- glVertex3f(v1.x, v1.y, v1.z);
- if (face.hasNormals()) {
- Vector3f n2 = m.getNormals().get(face.getNormalIndices()[1] - 1);
- glNormal3f(n2.x, n2.y, n2.z);
- }
- Vector3f v2 = m.getVertices().get(face.getVertexIndices()[1] - 1);
- glVertex3f(v2.x, v2.y, v2.z);
- if (face.hasNormals()) {
- Vector3f n3 = m.getNormals().get(face.getNormalIndices()[2] - 1);
- glNormal3f(n3.x, n3.y, n3.z);
- }
- Vector3f v3 = m.getVertices().get(face.getVertexIndices()[2] - 1);
- glVertex3f(v3.x, v3.y, v3.z);
- }
- glEnd();
- }
- glEndList();
- return displayList;
- }
private static FloatBuffer reserveData(int size) {
return BufferUtils.createFloatBuffer(size);
@@ -83,32 +51,6 @@ public class OBJLoader {
return new float[]{v.x, v.y, v.z};
}
- public static int[] createVBO(Model model) {
- int vboVertexHandle = glGenBuffers();
- int vboNormalHandle = glGenBuffers();
- // TODO: Implement materials with VBOs
- FloatBuffer vertices = reserveData(model.getFaces().size() * 9);
- FloatBuffer normals = reserveData(model.getFaces().size() * 9);
- for (Model.Face face : model.getFaces()) {
- vertices.put(asFloats(model.getVertices().get(face.getVertexIndices()[0] - 1)));
- vertices.put(asFloats(model.getVertices().get(face.getVertexIndices()[1] - 1)));
- vertices.put(asFloats(model.getVertices().get(face.getVertexIndices()[2] - 1)));
- normals.put(asFloats(model.getNormals().get(face.getNormalIndices()[0] - 1)));
- normals.put(asFloats(model.getNormals().get(face.getNormalIndices()[1] - 1)));
- normals.put(asFloats(model.getNormals().get(face.getNormalIndices()[2] - 1)));
- }
- vertices.flip();
- normals.flip();
- glBindBuffer(GL_ARRAY_BUFFER, vboVertexHandle);
- glBufferData(GL_ARRAY_BUFFER, vertices, GL_STATIC_DRAW);
- glVertexPointer(3, GL_FLOAT, 0, 0L);
- glBindBuffer(GL_ARRAY_BUFFER, vboNormalHandle);
- glBufferData(GL_ARRAY_BUFFER, normals, GL_STATIC_DRAW);
- glNormalPointer(GL_FLOAT, 0, 0L);
- glBindBuffer(GL_ARRAY_BUFFER, 0);
- return new int[]{vboVertexHandle, vboNormalHandle};
- }
-
private static Vector3f parseVertex(String line) {
String[] xyz = line.split(" ");
float x = Float.valueOf(xyz[1]);
@@ -162,58 +104,6 @@ public class OBJLoader {
return m;
}
- public static int createTexturedDisplayList(Model m) {
- int displayList = glGenLists(1);
- glNewList(displayList, GL_COMPILE);
- {
- glBegin(GL_TRIANGLES);
- for (Model.Face face : m.getFaces()) {
- if (face.hasTextureCoordinates()) {
- glMaterial(GL_FRONT, GL_DIFFUSE, BufferTools.asFlippedFloatBuffer(face.getMaterial()
- .diffuseColour[0], face.getMaterial().diffuseColour[1],
- face.getMaterial().diffuseColour[2], 1));
- glMaterial(GL_FRONT, GL_AMBIENT, BufferTools.asFlippedFloatBuffer(face.getMaterial()
- .ambientColour[0], face.getMaterial().ambientColour[1],
- face.getMaterial().ambientColour[2], 1));
- glMaterialf(GL_FRONT, GL_SHININESS, face.getMaterial().specularCoefficient);
- }
- if (face.hasNormals()) {
- Vector3f n1 = m.getNormals().get(face.getNormalIndices()[0] - 1);
- glNormal3f(n1.x, n1.y, n1.z);
- }
- if (face.hasTextureCoordinates()) {
- Vector2f t1 = m.getTextureCoordinates().get(face.getTextureCoordinateIndices()[0] - 1);
- glTexCoord2f(t1.x, t1.y);
- }
- Vector3f v1 = m.getVertices().get(face.getVertexIndices()[0] - 1);
- glVertex3f(v1.x, v1.y, v1.z);
- if (face.hasNormals()) {
- Vector3f n2 = m.getNormals().get(face.getNormalIndices()[1] - 1);
- glNormal3f(n2.x, n2.y, n2.z);
- }
- if (face.hasTextureCoordinates()) {
- Vector2f t2 = m.getTextureCoordinates().get(face.getTextureCoordinateIndices()[1] - 1);
- glTexCoord2f(t2.x, t2.y);
- }
- Vector3f v2 = m.getVertices().get(face.getVertexIndices()[1] - 1);
- glVertex3f(v2.x, v2.y, v2.z);
- if (face.hasNormals()) {
- Vector3f n3 = m.getNormals().get(face.getNormalIndices()[2] - 1);
- glNormal3f(n3.x, n3.y, n3.z);
- }
- if (face.hasTextureCoordinates()) {
- Vector2f t3 = m.getTextureCoordinates().get(face.getTextureCoordinateIndices()[2] - 1);
- glTexCoord2f(t3.x, t3.y);
- }
- Vector3f v3 = m.getVertices().get(face.getVertexIndices()[2] - 1);
- glVertex3f(v3.x, v3.y, v3.z);
- }
- glEnd();
- }
- glEndList();
- return displayList;
- }
-
public static Model loadTexturedModel(File f) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(f));
Model m = new Model();
diff --git a/src/main/Camera.java b/src/main/Camera.java
index 3432c3c..03d8811 100644
--- a/src/main/Camera.java
+++ b/src/main/Camera.java
@@ -48,7 +48,7 @@ public class Camera {
glRotatef(rotation.x, 1, 0, 0);
glRotatef(rotation.y, 0, 1, 0);
glRotatef(-rotation.z, 0, 0, 1);
- glTranslatef(position.x, position.y, position.z);
+ glTranslatef(position.x, -position.y, position.z);
Main.engine.setOrtho(Camera.OrthoNumber);
}
diff --git a/src/main/Engine.java b/src/main/Engine.java
index f2ad5d8..45f50ef 100644
--- a/src/main/Engine.java
+++ b/src/main/Engine.java
@@ -1,6 +1,7 @@
package main;
import Scene.Objects.Player;
+import Scene.Objects.TheMostImportantImage;
import Scene.Scene;
import Scene.base.SceneObject;
import base.GraphicsObjects.Utils;
@@ -9,26 +10,22 @@ import base.RenderProgramStatement;
import org.lwjgl.BufferUtils;
import org.lwjgl.LWJGLException;
import org.lwjgl.Sys;
-import org.lwjgl.opengl.Display;
-import org.lwjgl.opengl.DisplayMode;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.PixelFormat;
+import org.lwjgl.opengl.*;
import org.lwjgl.util.vector.Matrix4f;
-import org.lwjgl.util.vector.Vector3f;
import org.newdawn.slick.Color;
import org.newdawn.slick.opengl.Texture;
+import org.w3c.dom.stylesheets.DocumentStyle;
import java.nio.FloatBuffer;
import java.util.HashMap;
import java.util.LinkedHashMap;
import static main.Main.camera;
-import static org.lwjgl.opengl.ARBFramebufferObject.*;
import static org.lwjgl.opengl.ARBShadowAmbient.GL_TEXTURE_COMPARE_FAIL_VALUE_ARB;
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.opengl.GL12.GL_CLAMP_TO_EDGE;
-import static org.lwjgl.opengl.GL14.*;
-import static org.lwjgl.util.glu.GLU.*;
+import static org.lwjgl.opengl.GL14.GL_DEPTH_TEXTURE_MODE;
+import static org.lwjgl.util.glu.GLU.gluPerspective;
/**
* @Author: WangYuyang
@@ -95,6 +92,10 @@ public class Engine {
* The distance where the fog stops appearing (fully black here)
*/
private static final float fogFar = zFar;
+ FloatBuffer noAmbient = BufferUtils.createFloatBuffer(4);
+ FloatBuffer diffuse = BufferUtils.createFloatBuffer(4);
+ FloatBuffer spec = BufferUtils.createFloatBuffer(4);
+ FloatBuffer direction = BufferUtils.createFloatBuffer(4);
/**
* frames per second
*/
@@ -111,6 +112,7 @@ public class Engine {
Display.setDisplayMode(new DisplayMode(WIDTH, HEIGHT));
Display.create(
new PixelFormat()
+// new ContextAttribs(3, 3).withProfileCore(true)
);
System.out.println("Your OpenGL version is " + GL11.glGetString(GL11.GL_VERSION));
Display.setTitle("CG Project 1 Loading.......");
@@ -143,7 +145,8 @@ public class Engine {
}
public void init() {
-// Display.setVSyncEnabled(true);
+ Display.setVSyncEnabled(true);
+ glEnable(GL13.GL_MULTISAMPLE);
// Display.setResizable(true);
glClear(GL_COLOR_BUFFER_BIT);
shadowTexture = glGenTextures();
@@ -192,11 +195,20 @@ public class Engine {
lightPos2.put(0f).put(10000f).put(0).put(0).flip();
lightPos3 = BufferUtils.createFloatBuffer(4);
- lightPos3.put(0).put(10000f).put(-5000).put(0).flip();
+ lightPos3.put(0).put(3000f).put(0).put(1).flip();
lightPos4 = BufferUtils.createFloatBuffer(4);
lightPos4.put(-10000f).put(10000f).put(-5000).put(0).flip();
+ noAmbient.put(new float[]{0.2f, 0.2f, 0.2f, 1.0f});
+ noAmbient.rewind();
+
+ diffuse.put(new float[]{1.0f, 1.0f, 1.0f, 1.0f});
+ diffuse.rewind();
+ spec.put(new float[]{1.0f, 1.0f, 1.0f, 1.0f});
+ spec.rewind();
+ direction.put(new float[]{0f, 0f, -1f, 0});
+ direction.rewind();
}
public void enterModelView() {
@@ -212,22 +224,38 @@ public class Engine {
public void setLight() {
GL11.glMatrixMode(GL11.GL_MODELVIEW);
+
GL11.glLight(GL11.GL_LIGHT0, GL11.GL_POSITION, lightPosition); // specify the
- GL11.glEnable(GL11.GL_LIGHT0); // SUN_light
+ GL11.glLightf(GL11.GL_LIGHT0, GL11.GL_QUADRATIC_ATTENUATION, 0.5f); // specify the
+ if (!TheMostImportantImage.isPlayVideo)
+ GL11.glEnable(GL11.GL_LIGHT0); // SUN_light
+ else
+ GL11.glDisable(GL11.GL_LIGHT0); // SUN_light
+// GL11.glDisable(GL11.GL_LIGHT0); // SUN_light
GL11.glLight(GL11.GL_LIGHT1, GL_POSITION, lightPos2);
float amb[] = {0.2f, 0.2f, 0.2f, 1.0f};
GL11.glLight(GL11.GL_LIGHT1, GL11.GL_DIFFUSE, Utils.ConvertForGL(spot));
GL11.glLight(GL11.GL_LIGHT1, GL_AMBIENT, Utils.ConvertForGL(amb));
- GL11.glEnable(GL11.GL_LIGHT1);
+// GL11.glEnable(GL11.GL_LIGHT1);
+// float light3_DIFFUSE[] = {1f, 1f, 1f, 1.0f};
+// float light3_SPECULAR[] = {1f, 1, 1f, 1.0f};
+ GL11.glLight(GL11.GL_LIGHT2, GL_POSITION, lightPos3);
+ GL11.glLight(GL11.GL_LIGHT2, GL_DIFFUSE, diffuse);
+ GL11.glLight(GL11.GL_LIGHT2, GL_SPECULAR, spec);
+ GL11.glLight(GL11.GL_LIGHT2, GL_SPOT_DIRECTION, direction);
+ GL11.glLightf(GL11.GL_LIGHT2, GL_SPOT_CUTOFF, 40);
+
+ if (TheMostImportantImage.isPlayVideo)
+ GL11.glEnable(GL11.GL_LIGHT2); //Spotlight
+ else
+ GL11.glDisable(GL11.GL_LIGHT2); // Spotlight
- float[] fLightSpecular = {1f, 1f, 1f, 1f};
-// GL11.glLight(GL11.GL_LIGHT2, GL_POSITION, lightPos3);
-// GL11.glEnable(GL11.GL_LIGHT2);
//
//
//
+ float[] fLightSpecular = {1f, 1f, 1f, 1f};
GL11.glLight(GL11.GL_LIGHT3, GL_POSITION, lightPos4);
GL11.glLight(GL11.GL_LIGHT3, GL_SPECULAR, Utils.ConvertForGL(fLightSpecular));
GL11.glEnable(GL11.GL_LIGHT3);
@@ -302,6 +330,7 @@ public class Engine {
private void loadTexture() {
TextureLoader.loadTexture(textures);
+ Display.setTitle("CG Project 1 Loading....... Texture loaded okay");
System.out.println("Texture loaded okay ");
}
diff --git a/src/main/Main.java b/src/main/Main.java
index 1170802..2445b40 100644
--- a/src/main/Main.java
+++ b/src/main/Main.java
@@ -9,6 +9,9 @@ import org.lwjgl.LWJGLException;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
+import org.lwjgl.util.vector.Vector3f;
+
+import java.util.ArrayList;
import static org.lwjgl.opengl.GL11.glLoadIdentity;
import static org.lwjgl.opengl.GL11.glPointSize;
@@ -33,6 +36,9 @@ public class Main {
private static Boolean FPS_MODE = false;
private static Boolean GOD_MODE = false;
+ private static ArrayList key_positions = new ArrayList<>();
+ private static ArrayList key_rotations = new ArrayList<>();
+
public static void main(String[] args) {
engine = new Engine(WIDTH, HEIGHT);
glPointSize(8);
@@ -43,44 +49,157 @@ public class Main {
// camera.setCamera(new Vector4f(
-// 0, -300, -600, 0
+// 0, 2800, 0, 0
// ));
-
+ Display.setTitle("CG Project 1 Loading....... Scene: Init");
Scene.initScene(sceneManager, Engine.getTextures());
Scene.initBackground(backgroundManager, Engine.getTextures());
+ Display.setTitle("CG Project 1 Loading....... Scene: Ok.");
+ key_positions.add(new Vector4f(0, 5000, 0, 2000));
+ key_rotations.add(new Vector4f(0, 0, 0, 2000));
+
+ key_positions.add(new Vector4f(-1000, 2000, 0, 1000));
+ key_rotations.add(new Vector4f(-10, -90, 0, 1000));
+
+ key_positions.add(new Vector4f(1500, 2000, 0, 2000));
+ key_rotations.add(new Vector4f(-15, -90, 0, 2000));
+
+ key_positions.add(new Vector4f(0, 5000, 0, 1000));
+ key_rotations.add(new Vector4f(-20, -180, 0, 1000));
+
+ key_positions.add(new Vector4f(0, 10000, -8000, 2000));
+ key_rotations.add(new Vector4f(0, -180, 0, 2000));
+
+ key_positions.add(new Vector4f(0, 5000, 8000, 1000));
+ key_rotations.add(new Vector4f(-20, -180, 0, 1000));
+
+ key_positions.add(new Vector4f(0, 1000, 8000, 1000));
+ key_rotations.add(new Vector4f(20, -180, 0, 1000));
+
+ key_positions.add(new Vector4f(0, 100, 5000, 2000));
+ key_rotations.add(new Vector4f(30, -180, 0, 2000));
+
+ key_positions.add(new Vector4f(-3000, 100, 5000, 1000));
+ key_rotations.add(new Vector4f(30, -180, 0, 1000));
+
+ key_positions.add(new Vector4f(-3000, 1000, 3000, 2000));
+ key_rotations.add(new Vector4f(40, -180, 0, 2000));
+
+ key_positions.add(new Vector4f(-3000, 100, 5000, 2000));
+ key_rotations.add(new Vector4f(0, -180, 0, 2000));
+
+
+ key_positions.add(new Vector4f(0, 500, -1000, 4000));
+ key_rotations.add(new Vector4f(20, 0, 0, 4000));
+
+ key_positions.add(new Vector4f(0, 0, 0, 3000));
+ key_rotations.add(new Vector4f(10, 180, 0, 3000));
+
Runnable cameraRunnable = new Runnable() {
@Override
public void run() {
- Vector4f cam_anmi = new Vector4f(0, -1800, 5600, 0);
- int steps = (int) Math.max(Math.abs(cam_anmi.y), Math.abs(cam_anmi.z));
- for(int i = 0; i < steps; i++){
- cam_anmi = new Vector4f(0, -1800, 3600, 0);
- float ration = (float)i/steps;
- float y = (float) (Math.cos(ration * Math.PI/2) * cam_anmi.y);
- float z = (float) (Math.cos(ration * Math.PI/2) * cam_anmi.z);
- cam_anmi.y = y;
- cam_anmi.z = z;
-
- Camera.setPosition(cam_anmi);
- Camera.rotation.x = (float) (-Math.sin(ration * Math.PI) * 10);
- Camera.rotation.y = (float) ((float) 0 + (-Math.sin(ration * Math.PI/2) * 180));
- try {
- Thread.sleep(1);
- } catch (InterruptedException e) {
- e.printStackTrace();
+ Camera.position = new Vector4f(
+ 0, 12000, 0, 0
+ );
+ Camera.rotation = new Vector3f(10,0,0);
+ for (int i = 0; i < key_positions.size(); i++) {
+ Vector4f key_position = key_positions.get(i);
+ Vector4f key_rotation = key_rotations.get(i);
+ Vector4f origin_position = new Vector4f(Camera.position.x, Camera.position.y, Camera.position.z, Camera.position.a);
+ Vector3f origin_rotation = new Vector3f(Camera.rotation.x, Camera.rotation.y, Camera.rotation.z);
+ Vector4f Current_position = Camera.position;
+ Vector3f Current_rotation = Camera.rotation;
+ System.out.println("Current_position: " + Current_position);
+ System.out.println("Current_rotation: " + Current_rotation);
+ System.out.println("key_position: " + key_position);
+ System.out.println("key_rotation: " + key_rotation);
+ float position_x_distance = key_position.x - Current_position.x;
+ float position_y_distance = key_position.y - Current_position.y;
+ float position_z_distance = key_position.z - Current_position.z;
+ float rotation_x_distance = key_rotation.x - Current_rotation.x;
+ float rotation_y_distance = key_rotation.y - Current_rotation.y;
+ float rotation_z_distance = key_rotation.z - Current_rotation.z;
+ float position_x_distance_step = position_x_distance / key_position.a;
+ float position_y_distance_step = position_y_distance / key_position.a;
+ float position_z_distance_step = position_z_distance / key_position.a;
+ float rotation_x_distance_step = rotation_x_distance / key_position.a;
+ float rotation_y_distance_step = rotation_y_distance / key_position.a;
+ float rotation_z_distance_step = rotation_z_distance / key_position.a;
+ System.out.println("position_x_distance_step: " + position_x_distance_step);
+ System.out.println("position_y_distance_step: " + position_y_distance_step);
+ System.out.println("position_z_distance_step: " + position_z_distance_step);
+ System.out.println("rotation_x_distance_step: " + rotation_x_distance_step);
+ System.out.println("rotation_y_distance_step: " + rotation_y_distance_step);
+ System.out.println("rotation_z_distance_step: " + rotation_z_distance_step);
+ float count = 0f;
+ while (count < key_position.a) {
+
+ Current_position.x = (float) (origin_position.x + position_x_distance_step * count * Math.sin(count/key_position.a * Math.PI/2));
+ Current_position.y = (float) (origin_position.y + position_y_distance_step * count * Math.sin(count/key_position.a * Math.PI/2));
+ Current_position.z = (float) (origin_position.z + position_z_distance_step * count * Math.sin(count/key_position.a * Math.PI/2));
+
+ Current_rotation.x = (float) (origin_rotation.x + rotation_x_distance_step * count * Math.sin(count/key_position.a * Math.PI/2));
+ Current_rotation.y = (float) (origin_rotation.y + rotation_y_distance_step * count * Math.sin(count/key_position.a * Math.PI/2));
+ Current_rotation.z = (float) (origin_rotation.z + rotation_z_distance_step * count * Math.sin(count/key_position.a * Math.PI/2));
+// Current_rotation.x = (float) (rotation_x_distance_step * count * Math.sin(count/key_position.a * Math.PI/2));
+// Current_rotation.y = (float) (rotation_y_distance_step * count * Math.sin(count/key_position.a * Math.PI/2));
+// Current_rotation.z = (float) (rotation_z_distance_step * count * Math.sin(count/key_position.a * Math.PI/2));
+ count += 1;
+ try {
+ Thread.sleep(1);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
}
+ System.out.println(Current_position);
+ System.out.println(Current_rotation);
+ Current_position = key_position;
+ Current_rotation = new Vector3f(key_rotation.x, key_rotation.y, key_rotation.z);
+ System.out.println(Current_position);
+ System.out.println(Current_rotation);
+ System.out.println("-------------------------------------------------");
}
Camera.loading_finished = true;
}
};
+
+// Vector4f cam_anmi = new Vector4f(0, 1800, 0, 0);
+// Camera.setPosition(cam_anmi);
+// Camera.rotation.x = 0;
+// Camera.rotation.y = -180;
+// Runnable cameraRunnable = new Runnable() {
+// @Override
+// public void run() {
+// Vector4f cam_anmi = new Vector4f(0, -1800, 5600, 0);
+// int steps = (int) Math.max(Math.abs(cam_anmi.y), Math.abs(cam_anmi.z));
+// for(int i = 0; i < steps; i++){
+// cam_anmi = new Vector4f(0, -1800, 5600, 0);
+// float ration = (float)i/steps;
+// float y = (float) (Math.cos(ration * Math.PI/2) * cam_anmi.y);
+// float z = (float) (Math.cos(ration * Math.PI/2) * cam_anmi.z);
+// cam_anmi.y = y;
+// cam_anmi.z = z;
+//
+// Camera.setPosition(cam_anmi);
+// Camera.rotation.x = (float) (-Math.sin(ration * Math.PI) * 10);
+// Camera.rotation.y = (float) ((float) 0 + (-Math.sin(ration * Math.PI/2) * 180));
+// try {
+// Thread.sleep(1);
+// } catch (InterruptedException e) {
+// e.printStackTrace();
+// }
+// }
+// Camera.loading_finished = true;
+// }
+// };
Runnable light_anmi = new Runnable() {
@Override
public void run() {
float upper = 10000f;
float lower = -10000f;
float current = 10000f;
- while (true){
- while(current > lower){
+ while (true) {
+ while (current > lower) {
current -= 2;
Engine.lightPosition = BufferUtils.createFloatBuffer(4);
Engine.lightPosition.put(current).put(10000f).put(5000).put(0).flip();
@@ -91,7 +210,7 @@ public class Main {
}
System.out.println(current);
}
- while (current < upper){
+ while (current < upper) {
current += 2;
Engine.lightPosition = BufferUtils.createFloatBuffer(4);
Engine.lightPosition.put(current).put(10000f).put(5000).put(0).flip();
@@ -107,7 +226,7 @@ public class Main {
}
};
-// new Thread(cameraRunnable).start();
+ new Thread(cameraRunnable).start();
// new Thread(light_anmi).start();
while (!Display.isCloseRequested()) {
diff --git a/src/main/MainWindow.java b/src/main/MainWindow.java
deleted file mode 100644
index 8304c19..0000000
--- a/src/main/MainWindow.java
+++ /dev/null
@@ -1,579 +0,0 @@
-package main;
-
-import base.GraphicsObjects.Arcball;
-import base.GraphicsObjects.Point4f;
-import base.GraphicsObjects.Utils;
-import base.GraphicsObjects.Vector4f;
-import Scene.base.IDrawListener;
-import Scene.Objects.Ground;
-import Scene.Objects.Player;
-import Scene.Objects.LAVA_Door;
-import Scene.Objects.TNT_Door;
-import Scene.base.SceneManager;
-import Scene.base.SceneObject;
-import org.lwjgl.BufferUtils;
-import org.lwjgl.LWJGLException;
-import org.lwjgl.Sys;
-import org.lwjgl.input.Keyboard;
-import org.lwjgl.input.Mouse;
-import org.lwjgl.opengl.Display;
-import org.lwjgl.opengl.DisplayMode;
-import org.lwjgl.opengl.GL11;
-import org.newdawn.slick.opengl.Texture;
-import org.newdawn.slick.opengl.TextureLoader;
-import org.newdawn.slick.util.ResourceLoader;
-
-import java.io.IOException;
-import java.nio.FloatBuffer;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-
-//main.Main windows class controls and creates the 3D virtual world , please do not change this class but edit the other classes to complete the assignment.
-// main.Main window is built upon the standard Helloworld LWJGL class which I have heavily modified to use as your standard openGL environment.
-//
-
-// Do not touch this class, I will be making a version of it for your 3rd Assignment
-public class MainWindow {
- //MY Hash map to store the textures
- public static HashMap textures = new LinkedHashMap();
-
-
- // basic colours
- static float black[] = {0.0f, 0.0f, 0.0f, 1.0f};
- static float white[] = {1.0f, 1.0f, 1.0f, 1.0f};
- static float grey[] = {0.5f, 0.5f, 0.5f, 1.0f};
- static float spot[] = {0.1f, 0.1f, 0.1f, 0.5f};
- // primary colours
- static float red[] = {1.0f, 0.0f, 0.0f, 1.0f};
- static float green[] = {0.0f, 1.0f, 0.0f, 1.0f};
- static float blue[] = {0.0f, 0.0f, 1.0f, 1.0f};
- // secondary colours
- static float yellow[] = {1.0f, 1.0f, 0.0f, 1.0f};
- static float magenta[] = {1.0f, 0.0f, 1.0f, 1.0f};
- static float cyan[] = {0.0f, 1.0f, 1.0f, 1.0f};
- // other colours
- static float orange[] = {1.0f, 0.5f, 0.0f, 1.0f, 1.0f};
- static float brown[] = {0.5f, 0.25f, 0.0f, 1.0f, 1.0f};
- static float dkgreen[] = {0.0f, 0.5f, 0.0f, 1.0f, 1.0f};
- static float pink[] = {1.0f, 0.6f, 0.6f, 1.0f, 1.0f};
- /**
- * position of pointer
- */
- float x = 400, y = 300;
- /**
- * angle of rotation
- */
- float rotation = 0;
- /**
- * time at last frame
- */
- long lastFrame;
- /**
- * frames per second
- */
- int fps;
- /**
- * last fps time
- */
- long lastFPS;
- long myDelta = 0; //to use for animation
- float Alpha = 0; //to use for animation
- long StartTime; // beginAnimiation
- Arcball MyArcball = new Arcball();
- boolean DRAWGRID = false;
- boolean waitForKeyrelease = true;
- /**
- * Mouse movement
- */
- int LastMouseX = -1;
- int LastMouseY = -1;
- float pullX = 0.0f; // arc ball X cord.
- float pullY = 0.0f; // arc ball Y cord.
- int OrthoNumber = 1200; // using this for screen size, making a window of 1200 x 800 so aspect ratio 3:2 // do not change this for assignment 3 but you can change everything for your project
- Texture texture;
- private boolean MouseOnepressed = true;
- private boolean dragMode = false;
-
- // static GLfloat light_position[] = {0.0, 100.0, 100.0, 0.0};
- private boolean BadAnimation = false;
- //support method to aid in converting a java float array into a Floatbuffer which is faster for the opengl layer to process
- private boolean Earth = false;
-
- //mouse right button click record
- private int secMouseX = 339;
- private int secMouseY = 155;
- //if mouse right button click
- private Boolean secMousePressed = false;
- private SceneManager sceneManager = new SceneManager();
-
- private Player player;
-
-
- public static void main(String[] argv) {
- MainWindow hello = new MainWindow();
- hello.start();
- }
-
- public void start() {
-
- StartTime = getTime();
- try {
- Display.setDisplayMode(new DisplayMode(1200, 800));
- Display.create();
- } catch (LWJGLException e) {
- e.printStackTrace();
- System.exit(0);
- }
-
- initGL(); // init OpenGL
- getDelta(); // call once before loop to initialise lastFrame
- lastFPS = getTime(); // call before loop to initialise fps timer
-
-// 489 477
-// 558 585
-// MyArcball.startBall(489 ,477,1200,800);
-// MyArcball.updateBall(558 ,585,1200,800);
-
- //move camera away
- OrthoNumber = 1440;
-
- initScene();
-
-
- while (!Display.isCloseRequested()) {
- int delta = getDelta();
- update(delta);
- renderGL();
- Display.update();
- Display.sync(120); // cap fps to 120fps
- }
-
- Display.destroy();
- }
-
- public void update(int delta) {
- // rotate quad
- //rotation += 0.01f * delta;
-
- //My translation function needs to log Mouse position
- int MouseX = Mouse.getX();
- int MouseY = Mouse.getY();
- int WheelPostion = Mouse.getDWheel();
-
- //If first button pressed then use the arcball, if second button then translate the scene
- boolean MouseButonPressed = Mouse.isButtonDown(0);
- this.secMousePressed = Mouse.isButtonDown(1);
-
-
- //for scene translation
- if (this.secMousePressed) {
- int x = (int) (MouseX - this.LastMouseX);
- int y = (int) (MouseY - this.LastMouseY);
- this.secMouseX += x;
- this.secMouseY += y;
- }
-
- //scene rotation
- if (MouseButonPressed && !MouseOnepressed) {
- MouseOnepressed = true;
- MyArcball.startBall(MouseX, MouseY, 1200, 800);
- dragMode = true;
- } else if (!MouseButonPressed) {
- MouseOnepressed = false;
- dragMode = false;
- }
-
- if (dragMode) {
- //update arcball
- MyArcball.updateBall(MouseX, MouseY, 1200, 800);
- }
-
- if (WheelPostion > 0) {
- OrthoNumber += 10;
-
- }
-
- if (WheelPostion < 0) {
- OrthoNumber -= 10;
- if (OrthoNumber < 610) {
- OrthoNumber = 610;
- }
-
- // System.out.println("Orth nubmer = " + OrthoNumber);
-
- }
-
- /** rest key is R*/
- if (Keyboard.isKeyDown(Keyboard.KEY_R))
- MyArcball.reset();
-
- /* bad animation can be turn on or off using A key)*/
-
-// if (Keyboard.isKeyDown(Keyboard.KEY_A))
-// BadAnimation = !BadAnimation;
-// if (Keyboard.isKeyDown(Keyboard.KEY_D))
-// x += 0.35f * delta;
-//
-// if (Keyboard.isKeyDown(Keyboard.KEY_W))
-// y += 0.35f * delta;
-// if (Keyboard.isKeyDown(Keyboard.KEY_S))
-// y -= 0.35f * delta;
-
- if (Keyboard.isKeyDown(Keyboard.KEY_Q))
- rotation += 0.35f * delta;
- if (Keyboard.isKeyDown(Keyboard.KEY_E)) {
- Earth = !Earth;
- }
-
- if (waitForKeyrelease) // check done to see if key is released
- {
- if (Keyboard.isKeyDown(Keyboard.KEY_G)) {
-
- DRAWGRID = !DRAWGRID;
- Keyboard.next();
- if (Keyboard.isKeyDown(Keyboard.KEY_G)) {
- waitForKeyrelease = true;
- } else {
- waitForKeyrelease = false;
-
- }
- }
- }
-
- /** to check if key is released */
- if (Keyboard.isKeyDown(Keyboard.KEY_G) == false) {
- waitForKeyrelease = true;
- } else {
- waitForKeyrelease = false;
-
- }
-
-
- // keep quad on the screen
- if (x < 0)
- x = 0;
- if (x > 1200)
- x = 1200;
- if (y < 0)
- y = 0;
- if (y > 800)
- y = 800;
-
- updateFPS(); // update FPS Counter
-
- LastMouseX = MouseX;
- LastMouseY = MouseY;
- }
-
- /**
- * Calculate how many milliseconds have passed since last frame.
- *
- * @return milliseconds passed since last frame
- */
- public int getDelta() {
- long time = getTime();
- int delta = (int) (time - lastFrame);
- lastFrame = time;
-
- return delta;
- }
-
- /**
- * Get the accurate system time
- *
- * @return The system time in milliseconds
- */
- public long getTime() {
- return (Sys.getTime() * 1000) / Sys.getTimerResolution();
- }
-
- /**
- * Calculate the FPS and set it in the title bar
- */
- public void updateFPS() {
- if (getTime() - lastFPS > 1000) {
- Display.setTitle("FPS: " + fps);
- fps = 0;
- lastFPS += 1000;
- }
- fps++;
- }
-
- public void initGL() {
- GL11.glMatrixMode(GL11.GL_PROJECTION);
- GL11.glLoadIdentity();
- changeOrth();
- MyArcball.startBall(0, 0, 1200, 800);
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- FloatBuffer lightPos = BufferUtils.createFloatBuffer(4);
- lightPos.put(10000f).put(1000f).put(1000).put(0).flip();
-
- FloatBuffer lightPos2 = BufferUtils.createFloatBuffer(4);
- lightPos2.put(0f).put(1000f).put(0).put(-1000f).flip();
-
- FloatBuffer lightPos3 = BufferUtils.createFloatBuffer(4);
- lightPos3.put(-10000f).put(1000f).put(1000).put(0).flip();
-
- FloatBuffer lightPos4 = BufferUtils.createFloatBuffer(4);
- lightPos4.put(1000f).put(1000f).put(1000f).put(0).flip();
-
- GL11.glLight(GL11.GL_LIGHT0, GL11.GL_POSITION, lightPos); // specify the
- // position
- // of the
- // light
-// GL11.glEnable(GL11.GL_LIGHT0); // switch light #0 on // I've setup specific materials so in real light it will look abit strange
-
- GL11.glLight(GL11.GL_LIGHT1, GL11.GL_POSITION, lightPos); // specify the
- // position
- // of the
- // light
- GL11.glEnable(GL11.GL_LIGHT1); // switch light #0 on
- GL11.glLight(GL11.GL_LIGHT1, GL11.GL_DIFFUSE, Utils.ConvertForGL(spot));
-
- GL11.glLight(GL11.GL_LIGHT2, GL11.GL_POSITION, lightPos3); // specify
- // the
- // position
- // of the
- // light
- GL11.glEnable(GL11.GL_LIGHT2); // switch light #0 on
- GL11.glLight(GL11.GL_LIGHT2, GL11.GL_DIFFUSE, Utils.ConvertForGL(grey));
-
- GL11.glLight(GL11.GL_LIGHT3, GL11.GL_POSITION, lightPos4); // specify
- // the
- // position
- // of the
- // light
- GL11.glEnable(GL11.GL_LIGHT3); // switch light #0 on
- GL11.glLight(GL11.GL_LIGHT3, GL11.GL_DIFFUSE, Utils.ConvertForGL(grey));
-
- GL11.glEnable(GL11.GL_LIGHTING); // switch lighting on
- GL11.glEnable(GL11.GL_DEPTH_TEST); // make sure depth buffer is switched
- // on
- GL11.glEnable(GL11.GL_NORMALIZE); // normalize normal vectors for safety
- GL11.glEnable(GL11.GL_COLOR_MATERIAL);
-
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- try {
- init();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } //load in texture
-
-
- }
-
- public void changeOrth() {
-
- GL11.glMatrixMode(GL11.GL_PROJECTION);
- GL11.glLoadIdentity();
- GL11.glOrtho(1200/2 - OrthoNumber, OrthoNumber/2, (800/2 - (OrthoNumber * 0.66f)), (OrthoNumber/2 * 0.66f), 100000, -100000);
-// GL11.glOrtho(1200 - OrthoNumber, OrthoNumber, (800 - (OrthoNumber * 0.66f)), (OrthoNumber * 0.66f), 100000, -100000);
-// GL11.glOrtho(-600, 600, -400, 400, 100000, -100000);
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
-
- FloatBuffer CurrentMatrix = BufferUtils.createFloatBuffer(16);
- GL11.glGetFloat(GL11.GL_MODELVIEW_MATRIX, CurrentMatrix);
-
- // if(MouseOnepressed)
- // {
-
- MyArcball.getMatrix(CurrentMatrix);
-// }
-
- GL11.glLoadMatrix(CurrentMatrix);
-
-
- }
-
- /*
- * You can edit this method to add in your own objects / remember to load in textures in the INIT method as they take time to load
- *
- */
- public void renderGL() {
- changeOrth();
-
- GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
- GL11.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
- GL11.glColor3f(0.5f, 0.5f, 1.0f);
-
- myDelta = getTime() - StartTime;
- float delta = ((float) myDelta) / 10000;
-
- // code to aid in animation
- float theta = (float) (delta * 2 * Math.PI);
- float thetaDeg = delta * 360;
- float posn_x = (float) Math.cos(theta); // same as your circle code in your notes
- float posn_y = (float) Math.sin(theta);
-
-// OrthoNumber = (int) (1240 + posn_x * 200); //letting the OrthoNumber change when the scene change
-// GL11.glTranslatef(secMouseX, secMouseY, 0);
-// System.out.println(secMouseX + " " + secMouseY);
-// Vector4f v1 = new Vector4f(human.getPosition().x, 0f, human.getPosition().z,0f);
-// Vector4f v2 = new Vector4f(0f, 1f, 0f,0f);
-// Vector4f v3 = v1.cross(v2);
-// v3 = new Vector4f(v3.x, v3.y - 1f, v3.z, 0f).Normal();
-
-// GLU.gluLookAt(
-// v3.x,
-// v3.y,
-// v3.z,
-//
-// 0,
-// 0,
-// 0,
-//
-// 0f,
-// 1f,
-// 0f); //change the look at position
-// GLU.gluLookAt(
-// 0,
-// -50,
-// 200,
-//
-// 0,
-// 0,
-// 0,
-//
-// 0f,
-// 1f,
-// 0f); //change the look at position
-// if (!BadAnimation) {
-//// secMouseX = 600;
-//// secMouseY = 100;
-//
-//
-//// Vector4f v = new Vector4f(-posn_x, -0.5f, -posn_y, 0f);
-//// GL11.glTranslatef(secMouseX, secMouseY, 0);
-////
-// Vector4f v1 = new Vector4f(posn_x, 0f, posn_y,0f);
-// Vector4f v2 = new Vector4f(0f, 1f, 0f,0f);
-// Vector4f v3 = v1.cross(v2);
-// v3 = new Vector4f(v3.x, v3.y + 0.3f, v3.z, 0f).Normal();
-//
-// GLU.gluLookAt(-v3.x, -v3.y, -v3.z, 0f, 0f, 0f, 0f, 1f, 0f); //change the look at position
-// } else {
-//
-// GL11.glTranslatef(secMouseX, secMouseY, 0);
-// GLU.gluLookAt(2f, -1f, -1f, 0f, 0f, 0f, 0f, 1f, 0f);
-// }
-
-//
-// sceneManager.drawAll(new IDrawListener() {
-// @Override
-// public void beforeEachDraw(SceneObject object) {
-// GL11.glPushMatrix();
-// if (object instanceof Player) {
-// Player player = (Player) object;
-// Integer speed = 10;
-// float speedX = speed/ player.getScale().x;
-// float speedY = speed/ player.getScale().y;
-// float speedZ = speed/ player.getScale().z;
-// if((Keyboard.isKeyDown(Keyboard.KEY_W))){
-// player.move(new Vector4f(0,0,speedZ,0));
-// }
-// if((Keyboard.isKeyDown(Keyboard.KEY_A))){
-// player.move(new Vector4f(-speedX,0,0,0));
-// }
-// if((Keyboard.isKeyDown(Keyboard.KEY_S))){
-// player.move(new Vector4f(0,0,-speedZ,0));
-// }
-// if((Keyboard.isKeyDown(Keyboard.KEY_D))){
-// player.move(new Vector4f(speedX,0,0,0));
-// }
-//// human.setPosition(new Point4f(posn_x * 3.0f, 0.0f, posn_y * 3.0f, 0));
-// player.setDelta(delta);
-// }
-// }
-//
-// @Override
-// public void afterEachDraw(SceneObject object) {
-// GL11.glPopMatrix();
-// }
-// });
-//
-
-
- /*
- * This code puts the earth code in which is larger than the human so it appears to change the scene
- */
-// if (Earth) {
-// //Globe in the centre of the scene
-// GL11.glPushMatrix();
-//// TexSphere MyGlobe = new TexSphere();
-// TexCube MyGlobe = new TexCube();
-// GL11.glTranslatef(500, 500, 500);
-// GL11.glScalef(140f, 140f, 140f);
-//
-// GL11.glTexParameteri(
-// GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T,
-// GL11.GL_CLAMP);
-//
-// Color.white.bind();
-// texture.bind();
-// ;
-// GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
-// GL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
-//
-//// MyGlobe.DrawTexSphere(8f, 100, 100, texture);
-// MyGlobe.DrawTexCube();
-// GL11.glPopMatrix();
-// }
-
- }
-
- private void initScene() {
- player = new Player(
- new Point4f(0, 130, 0, 0),
- new Point4f(0, 0, 0, 0),
- new Vector4f(90, 90, 90, 0),
- textures
- );
- sceneManager.addSceneObject(player);
- sceneManager.addSceneObject(new Ground(
- new Point4f(0, 0, 0, 0),
- new Point4f(0, 0, 0, 0),
- new Vector4f(8000f, 1f, 8000f, 0),
- textures
- ));
-
- sceneManager.addSceneObject(new TNT_Door(
- new Point4f(0, 50f, 0, 0),
- new Point4f(0, 0, 0, 0),
- new Vector4f(50f, 50f, 50f, 0),
- textures
- ));
-
- sceneManager.addSceneObject(new LAVA_Door(
- new Point4f(0, 50f, 0, 0),
- new Point4f(0, 0, 0, 0),
- new Vector4f(50f, 50f, 50f, 0),
- textures
- ));
- }
-
- /*
- * Any additional textures for your assignment should be written in here.
- * Make a new texture variable for each one so they can be loaded in at the beginning
- */
- public void init() throws IOException {
-
- //LOAD textures
- texture = TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/earthspace.png"));
- textures.put("awesomeface", TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/awesomeface.png")));
- textures.put("default_dirt", TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/default_dirt.png")));
- textures.put("earthspace", TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/earthspace.png")));
- textures.put("tnt_side", TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/tnt_side.png")));
- textures.put("farming_wheat_8", TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/farming_wheat_8.png")));
- textures.put("wool_pink", TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/wool_pink.png")));
- textures.put("default_lava", TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/default_lava.png")));
- textures.put("default_stone", TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/default_stone.png")));
- textures.put("default_cobble", TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/default_cobble.png")));
-// textures.put("awesomeface",TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/awesomeface.png")));
-// textures.put("awesomeface",TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/awesomeface.png")));
-
-
- System.out.println("Texture loaded okay ");
- }
-}
diff --git a/src/main/TextureLoader.java b/src/main/TextureLoader.java
index 7f27eb3..47d4626 100644
--- a/src/main/TextureLoader.java
+++ b/src/main/TextureLoader.java
@@ -1,5 +1,6 @@
package main;
+import org.lwjgl.opengl.Display;
import org.newdawn.slick.opengl.Texture;
import org.newdawn.slick.util.ResourceLoader;
@@ -38,6 +39,10 @@ public class TextureLoader {
loadTexture("copyleft.png");
loadTexture("2021.png");
+ loadTexture("end_portal_frame_top.png");
+ loadTexture("wood.png");
+ loadTexture("debug.png");
+
//sky box
loadTexture("skybox/back.png");
loadTexture("skybox/down.png");
@@ -47,7 +52,7 @@ public class TextureLoader {
loadTexture("skybox/up.png");
//video
- for (int i = 1; i <= 803; i++) {
+ for (int i = 1; i <= 715; i++) {
loadTexture("video/video" + i + ".png");
}
@@ -59,6 +64,7 @@ public class TextureLoader {
private static void loadTexture(String filename) throws IOException {
String key_name = filename.split("\\.")[0];
+ Display.setTitle("CG Project 1 Loading....... Texture:" + filename);
textures_map.put(
key_name,
org.newdawn.slick.opengl.TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("res/" + filename))