浏览代码

Merge branch 'master' of https://github.com/okamstudio/godot

Anton Yabchinskiy 10 年之前
父节点
当前提交
43713810de
共有 100 个文件被更改,包括 149 次插入1 次删除
  1. 4 0
      LICENSE.md
  2. 4 0
      SConstruct
  3. 10 0
      core/io/resource_format_binary.cpp
  4. 5 0
      core/io/resource_format_xml.cpp
  5. 18 1
      core/math/camera_matrix.cpp
  6. 8 0
      core/object.cpp
  7. 1 0
      core/object.h
  8. 3 0
      core/variant_op.cpp
  9. 二进制
      demos/2d/isometric_light/character_shder.res
  10. 二进制
      demos/2d/isometric_light/column.scn
  11. 96 0
      demos/2d/isometric_light/cubio.gd
  12. 二进制
      demos/2d/isometric_light/cubio.scn
  13. 二进制
      demos/2d/isometric_light/cubio/idle0001.png
  14. 二进制
      demos/2d/isometric_light/cubio/idle0002.png
  15. 二进制
      demos/2d/isometric_light/cubio/idle0003.png
  16. 二进制
      demos/2d/isometric_light/cubio/idle0004.png
  17. 二进制
      demos/2d/isometric_light/cubio/idle0005.png
  18. 二进制
      demos/2d/isometric_light/cubio/idle0006.png
  19. 二进制
      demos/2d/isometric_light/cubio/idle0007.png
  20. 二进制
      demos/2d/isometric_light/cubio/idle0008.png
  21. 二进制
      demos/2d/isometric_light/cubio/idle0009.png
  22. 二进制
      demos/2d/isometric_light/cubio/idle0010.png
  23. 二进制
      demos/2d/isometric_light/cubio/idle0011.png
  24. 二进制
      demos/2d/isometric_light/cubio/idle0012.png
  25. 二进制
      demos/2d/isometric_light/cubio/idle0013.png
  26. 二进制
      demos/2d/isometric_light/cubio/idle0014.png
  27. 二进制
      demos/2d/isometric_light/cubio/idle0015.png
  28. 二进制
      demos/2d/isometric_light/cubio/idle0016.png
  29. 二进制
      demos/2d/isometric_light/cubio/idle0017.png
  30. 二进制
      demos/2d/isometric_light/cubio/idle0018.png
  31. 二进制
      demos/2d/isometric_light/cubio/idle0019.png
  32. 二进制
      demos/2d/isometric_light/cubio/idle0020.png
  33. 二进制
      demos/2d/isometric_light/cubio/idle0021.png
  34. 二进制
      demos/2d/isometric_light/cubio/idle0022.png
  35. 二进制
      demos/2d/isometric_light/cubio/idle0023.png
  36. 二进制
      demos/2d/isometric_light/cubio/idle0024.png
  37. 二进制
      demos/2d/isometric_light/cubio/idle0025.png
  38. 二进制
      demos/2d/isometric_light/cubio/idle0026.png
  39. 二进制
      demos/2d/isometric_light/cubio/idle0027.png
  40. 二进制
      demos/2d/isometric_light/cubio/idle0028.png
  41. 二进制
      demos/2d/isometric_light/cubio/idle0029.png
  42. 二进制
      demos/2d/isometric_light/cubio/idle0030.png
  43. 二进制
      demos/2d/isometric_light/cubio/idle0031.png
  44. 二进制
      demos/2d/isometric_light/cubio/idle0032.png
  45. 二进制
      demos/2d/isometric_light/cubio/idle0033.png
  46. 二进制
      demos/2d/isometric_light/cubio/idle0034.png
  47. 二进制
      demos/2d/isometric_light/cubio/idle0035.png
  48. 二进制
      demos/2d/isometric_light/cubio/idle0036.png
  49. 二进制
      demos/2d/isometric_light/cubio/idle0037.png
  50. 二进制
      demos/2d/isometric_light/cubio/idle0038.png
  51. 二进制
      demos/2d/isometric_light/cubio/idle0039.png
  52. 二进制
      demos/2d/isometric_light/cubio/idle0040.png
  53. 二进制
      demos/2d/isometric_light/cubio/idle0041.png
  54. 二进制
      demos/2d/isometric_light/cubio/idle0042.png
  55. 二进制
      demos/2d/isometric_light/cubio/idle0043.png
  56. 二进制
      demos/2d/isometric_light/cubio/idle0044.png
  57. 二进制
      demos/2d/isometric_light/cubio/idle0045.png
  58. 二进制
      demos/2d/isometric_light/cubio/idle0046.png
  59. 二进制
      demos/2d/isometric_light/cubio/idle0047.png
  60. 二进制
      demos/2d/isometric_light/cubio/idle0048.png
  61. 二进制
      demos/2d/isometric_light/cubio/idle0049.png
  62. 二进制
      demos/2d/isometric_light/cubio/idle0050.png
  63. 二进制
      demos/2d/isometric_light/cubio/idle0051.png
  64. 二进制
      demos/2d/isometric_light/cubio/idle0052.png
  65. 二进制
      demos/2d/isometric_light/cubio/idle0053.png
  66. 二进制
      demos/2d/isometric_light/cubio/idle0054.png
  67. 二进制
      demos/2d/isometric_light/cubio/idle0055.png
  68. 二进制
      demos/2d/isometric_light/cubio/idle0056.png
  69. 二进制
      demos/2d/isometric_light/cubio/idle0057.png
  70. 二进制
      demos/2d/isometric_light/cubio/idle0058.png
  71. 二进制
      demos/2d/isometric_light/cubio/idle0059.png
  72. 二进制
      demos/2d/isometric_light/cubio/idle0060.png
  73. 二进制
      demos/2d/isometric_light/cubio/norm-b-0001.png
  74. 二进制
      demos/2d/isometric_light/cubio/norm-b-0002.png
  75. 二进制
      demos/2d/isometric_light/cubio/norm-b-0003.png
  76. 二进制
      demos/2d/isometric_light/cubio/norm-b-0004.png
  77. 二进制
      demos/2d/isometric_light/cubio/norm-b-0005.png
  78. 二进制
      demos/2d/isometric_light/cubio/norm-b-0006.png
  79. 二进制
      demos/2d/isometric_light/cubio/norm-b-0007.png
  80. 二进制
      demos/2d/isometric_light/cubio/norm-b-0008.png
  81. 二进制
      demos/2d/isometric_light/cubio/norm-b-0009.png
  82. 二进制
      demos/2d/isometric_light/cubio/norm-b-0010.png
  83. 二进制
      demos/2d/isometric_light/cubio/norm-b-0011.png
  84. 二进制
      demos/2d/isometric_light/cubio/norm-b-0012.png
  85. 二进制
      demos/2d/isometric_light/cubio/norm-b-0013.png
  86. 二进制
      demos/2d/isometric_light/cubio/norm-b-0014.png
  87. 二进制
      demos/2d/isometric_light/cubio/norm-b-0015.png
  88. 二进制
      demos/2d/isometric_light/cubio/norm-b-0016.png
  89. 二进制
      demos/2d/isometric_light/cubio/norm-b-0017.png
  90. 二进制
      demos/2d/isometric_light/cubio/norm-b-0018.png
  91. 二进制
      demos/2d/isometric_light/cubio/norm-b-0019.png
  92. 二进制
      demos/2d/isometric_light/cubio/norm-b-0020.png
  93. 二进制
      demos/2d/isometric_light/cubio/norm-bl-0001.png
  94. 二进制
      demos/2d/isometric_light/cubio/norm-bl-0002.png
  95. 二进制
      demos/2d/isometric_light/cubio/norm-bl-0003.png
  96. 二进制
      demos/2d/isometric_light/cubio/norm-bl-0004.png
  97. 二进制
      demos/2d/isometric_light/cubio/norm-bl-0005.png
  98. 二进制
      demos/2d/isometric_light/cubio/norm-bl-0006.png
  99. 二进制
      demos/2d/isometric_light/cubio/norm-bl-0007.png
  100. 二进制
      demos/2d/isometric_light/cubio/norm-bl-0008.png

+ 4 - 0
LICENSE.md

@@ -21,3 +21,7 @@
  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  
  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  
  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     
  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     
  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                
  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                
+
+
+**********************************************************************
+

+ 4 - 0
SConstruct

@@ -67,12 +67,16 @@ env_base.android_source_modules=[]
 env_base.android_source_files=[]
 env_base.android_source_files=[]
 env_base.android_module_libraries=[]
 env_base.android_module_libraries=[]
 env_base.android_manifest_chunk=""
 env_base.android_manifest_chunk=""
+env_base.android_permission_chunk=""
+env_base.android_appattributes_chunk=""
 env_base.disabled_modules=[]
 env_base.disabled_modules=[]
 
 
 env_base.__class__.android_module_source = methods.android_module_source
 env_base.__class__.android_module_source = methods.android_module_source
 env_base.__class__.android_module_library = methods.android_module_library
 env_base.__class__.android_module_library = methods.android_module_library
 env_base.__class__.android_module_file = methods.android_module_file
 env_base.__class__.android_module_file = methods.android_module_file
 env_base.__class__.android_module_manifest = methods.android_module_manifest
 env_base.__class__.android_module_manifest = methods.android_module_manifest
+env_base.__class__.android_module_permission = methods.android_module_permission
+env_base.__class__.android_module_attribute = methods.android_module_attribute
 env_base.__class__.disable_module = methods.disable_module
 env_base.__class__.disable_module = methods.disable_module
 
 
 env_base.__class__.add_source_files = methods.add_source_files
 env_base.__class__.add_source_files = methods.add_source_files

+ 10 - 0
core/io/resource_format_binary.cpp

@@ -1778,6 +1778,11 @@ Error ResourceFormatSaverBinaryInstance::save(const String &p_path,const RES& p_
 	f->store_32(VERSION_MINOR);
 	f->store_32(VERSION_MINOR);
 	f->store_32(FORMAT_VERSION);
 	f->store_32(FORMAT_VERSION);
 
 
+	if (f->get_error()!=OK && f->get_error()!=ERR_FILE_EOF) {
+		f->close();
+		return ERR_CANT_CREATE;
+	}
+
 	//f->store_32(saved_resources.size()+external_resources.size()); // load steps -not needed
 	//f->store_32(saved_resources.size()+external_resources.size()); // load steps -not needed
 	save_unicode_string(p_resource->get_type());
 	save_unicode_string(p_resource->get_type());
 	uint64_t md_at = f->get_pos();
 	uint64_t md_at = f->get_pos();
@@ -1910,6 +1915,11 @@ Error ResourceFormatSaverBinaryInstance::save(const String &p_path,const RES& p_
 
 
 	f->store_buffer((const uint8_t*)"RSRC",4); //magic at end
 	f->store_buffer((const uint8_t*)"RSRC",4); //magic at end
 
 
+	if (f->get_error()!=OK && f->get_error()!=ERR_FILE_EOF) {
+		f->close();
+		return ERR_CANT_CREATE;
+	}
+
 	f->close();
 	f->close();
 
 
 
 

+ 5 - 0
core/io/resource_format_xml.cpp

@@ -2592,6 +2592,11 @@ Error ResourceFormatSaverXMLInstance::save(const String &p_path,const RES& p_res
 	}
 	}
 
 
 	exit_tag("resource_file");
 	exit_tag("resource_file");
+	if (f->get_error()!=OK && f->get_error()!=ERR_FILE_EOF) {
+		f->close();
+		return ERR_CANT_CREATE;
+	}
+
 	f->close();
 	f->close();
 	//memdelete(f);
 	//memdelete(f);
 
 

+ 18 - 1
core/math/camera_matrix.cpp

@@ -121,7 +121,7 @@ void CameraMatrix::set_orthogonal(float p_size, float p_aspect, float p_znear, f
 
 
 
 
 void CameraMatrix::set_frustum(float p_left, float p_right, float p_bottom, float p_top, float p_near, float p_far) {
 void CameraMatrix::set_frustum(float p_left, float p_right, float p_bottom, float p_top, float p_near, float p_far) {
-
+#if 0
 	///@TODO, give a check to this. I'm not sure if it's working.
 	///@TODO, give a check to this. I'm not sure if it's working.
 	set_identity();
 	set_identity();
 
 
@@ -133,10 +133,27 @@ void CameraMatrix::set_frustum(float p_left, float p_right, float p_bottom, floa
 	matrix[2][3]=-(2*p_far*p_near) / (p_far-p_near);
 	matrix[2][3]=-(2*p_far*p_near) / (p_far-p_near);
 	matrix[3][2]=-1;
 	matrix[3][2]=-1;
 	matrix[3][3]=0;
 	matrix[3][3]=0;
+#else
+	float *te = &matrix[0][0];
+	float x = 2 * p_near / ( p_right - p_left );
+	float y = 2 * p_near / ( p_top - p_bottom );
+
+	float a = ( p_right + p_left ) / ( p_right - p_left );
+	float b = ( p_top + p_bottom ) / ( p_top - p_bottom );
+	float c = - ( p_far + p_near ) / ( p_far - p_near );
+	float d = - 2 * p_far * p_near / ( p_far - p_near );
+
+	te[0] = x;	te[4] = 0;	te[8] = a;	te[12] = 0;
+	te[1] = 0;	te[5] = y;	te[9] = b;	te[13] = 0;
+	te[2] = 0;	te[6] = 0;	te[10] = c;	te[14] = d;
+	te[3] = 0;	te[7] = 0;	te[11] = - 1;	te[15] = 0;
+
+#endif
 
 
 }
 }
 
 
 
 
+
 float CameraMatrix::get_z_far() const {
 float CameraMatrix::get_z_far() const {
 	
 	
 	const float * matrix = (const float*)this->matrix;			
 	const float * matrix = (const float*)this->matrix;			

+ 8 - 0
core/object.cpp

@@ -1033,6 +1033,13 @@ void Object::add_user_signal(const MethodInfo& p_signal) {
 	signal_map[p_signal.name]=s;
 	signal_map[p_signal.name]=s;
 }
 }
 
 
+bool Object::_has_user_signal(const StringName& p_name) const {
+
+	if (!signal_map.has(p_name))
+		return false;
+	return signal_map[p_name].user.name.length()>0;
+}
+
 struct _ObjectSignalDisconnectData {
 struct _ObjectSignalDisconnectData {
 
 
 	StringName signal;
 	StringName signal;
@@ -1431,6 +1438,7 @@ void Object::_bind_methods() {
 //	ObjectTypeDB::bind_method(_MD("call_deferred","method","arg1","arg2","arg3","arg4"),&Object::_call_deferred_bind,DEFVAL(Variant()),DEFVAL(Variant()),DEFVAL(Variant()),DEFVAL(Variant()));
 //	ObjectTypeDB::bind_method(_MD("call_deferred","method","arg1","arg2","arg3","arg4"),&Object::_call_deferred_bind,DEFVAL(Variant()),DEFVAL(Variant()),DEFVAL(Variant()),DEFVAL(Variant()));
 
 
 	ObjectTypeDB::bind_method(_MD("add_user_signal","signal","arguments"),&Object::_add_user_signal,DEFVAL(Array()));
 	ObjectTypeDB::bind_method(_MD("add_user_signal","signal","arguments"),&Object::_add_user_signal,DEFVAL(Array()));
+	ObjectTypeDB::bind_method(_MD("has_user_signal","signal"),&Object::_has_user_signal);
 //	ObjectTypeDB::bind_method(_MD("emit_signal","signal","arguments"),&Object::_emit_signal,DEFVAL(Array()));
 //	ObjectTypeDB::bind_method(_MD("emit_signal","signal","arguments"),&Object::_emit_signal,DEFVAL(Array()));
 
 
 
 

+ 1 - 0
core/object.h

@@ -386,6 +386,7 @@ friend void postinitialize_handler(Object*);
 	Dictionary metadata;
 	Dictionary metadata;
 
 
 	void _add_user_signal(const String& p_name, const Array& p_pargs=Array());
 	void _add_user_signal(const String& p_name, const Array& p_pargs=Array());
+	bool _has_user_signal(const StringName& p_name) const;
 	Variant _emit_signal(const Variant** p_args, int p_argcount, Variant::CallError& r_error);
 	Variant _emit_signal(const Variant** p_args, int p_argcount, Variant::CallError& r_error);
 	Array _get_signal_list() const;
 	Array _get_signal_list() const;
 	Array _get_signal_connection_list(const String& p_signal) const;
 	Array _get_signal_connection_list(const String& p_signal) const;

+ 3 - 0
core/variant_op.cpp

@@ -552,6 +552,9 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant&
 					if (p_b.type==MATRIX32) {
 					if (p_b.type==MATRIX32) {
 						_RETURN( *p_a._data._matrix32 * *p_b._data._matrix32 );
 						_RETURN( *p_a._data._matrix32 * *p_b._data._matrix32 );
 					};
 					};
+					if (p_b.type==VECTOR2) {
+						_RETURN( p_a._data._matrix32->xform( *(const Vector2*)p_b._data._mem) );
+					};
 					r_valid=false;
 					r_valid=false;
 					return;
 					return;
 				} break;
 				} break;

二进制
demos/2d/isometric_light/character_shder.res


二进制
demos/2d/isometric_light/column.scn


+ 96 - 0
demos/2d/isometric_light/cubio.gd

@@ -0,0 +1,96 @@
+
+extends KinematicBody2D
+
+# member variables here, example:
+# var a=2
+# var b="textvar"
+
+const MAX_SPEED = 300.0
+const IDLE_SPEED = 10.0
+const ACCEL=5.0
+const VSCALE=0.5
+const SHOOT_INTERVAL=0.3
+
+var speed=Vector2()
+var current_anim=""
+var current_mirror=false
+
+var shoot_countdown=0
+
+func _input(ev):
+	if (ev.type==InputEvent.MOUSE_BUTTON and ev.button_index==1 and ev.pressed and shoot_countdown<=0):
+		var pos = get_canvas_transform().affine_inverse() * ev.pos
+		var dir = (pos-get_global_pos()).normalized()
+		var bullet = preload("res://shoot.scn").instance()
+		bullet.advance_dir=dir
+		bullet.set_pos( get_global_pos() + dir * 60 )
+		get_parent().add_child(bullet)
+		shoot_countdown=SHOOT_INTERVAL
+		
+		
+		
+
+func _fixed_process(delta):
+	
+	shoot_countdown-=delta
+	var dir = Vector2()
+	if (Input.is_action_pressed("up")):
+		dir+=Vector2(0,-1)
+	if (Input.is_action_pressed("down")):
+		dir+=Vector2(0,1)
+	if (Input.is_action_pressed("left")):
+		dir+=Vector2(-1,0)
+	if (Input.is_action_pressed("right")):
+		dir+=Vector2(1,0)
+		
+	if (dir!=Vector2()):
+		dir=dir.normalized()
+	speed = speed.linear_interpolate(dir*MAX_SPEED,delta*ACCEL)
+	var motion = speed * delta
+	motion.y*=VSCALE
+	motion=move(motion)
+	
+	if (is_colliding()):
+		var n = get_collision_normal()
+		motion=n.slide(motion)
+		move(motion)
+
+	var next_anim=""
+	var next_mirror=false
+	
+	if (dir==Vector2() and speed.length()<IDLE_SPEED):
+		next_anim="idle"
+		next_mirror=false
+	elif (speed.length()>IDLE_SPEED*0.1):
+		var angle = atan2(abs(speed.x),speed.y)	
+		
+		next_mirror = speed.x>0
+		if (angle<PI/8):
+			next_anim="bottom"
+			next_mirror=false
+		elif (angle<PI/4+PI/8):
+			next_anim="bottom_left"
+		elif (angle<PI*2/4+PI/8):
+			next_anim="left"
+		elif (angle<PI*3/4+PI/8):
+			next_anim="top_left"
+		else:
+			next_anim="top"
+			next_mirror=false
+		
+			
+	if (next_anim!=current_anim or next_mirror!=current_mirror):
+		get_node("frames").set_flip_h(next_mirror)
+		get_node("anim").play(next_anim)
+		current_anim=next_anim
+		current_mirror=next_mirror
+		
+
+
+func _ready():
+	# Initialization here
+	set_fixed_process(true)
+	set_process_input(true)
+	pass
+
+

二进制
demos/2d/isometric_light/cubio.scn


二进制
demos/2d/isometric_light/cubio/idle0001.png


二进制
demos/2d/isometric_light/cubio/idle0002.png


二进制
demos/2d/isometric_light/cubio/idle0003.png


二进制
demos/2d/isometric_light/cubio/idle0004.png


二进制
demos/2d/isometric_light/cubio/idle0005.png


二进制
demos/2d/isometric_light/cubio/idle0006.png


二进制
demos/2d/isometric_light/cubio/idle0007.png


二进制
demos/2d/isometric_light/cubio/idle0008.png


二进制
demos/2d/isometric_light/cubio/idle0009.png


二进制
demos/2d/isometric_light/cubio/idle0010.png


二进制
demos/2d/isometric_light/cubio/idle0011.png


二进制
demos/2d/isometric_light/cubio/idle0012.png


二进制
demos/2d/isometric_light/cubio/idle0013.png


二进制
demos/2d/isometric_light/cubio/idle0014.png


二进制
demos/2d/isometric_light/cubio/idle0015.png


二进制
demos/2d/isometric_light/cubio/idle0016.png


二进制
demos/2d/isometric_light/cubio/idle0017.png


二进制
demos/2d/isometric_light/cubio/idle0018.png


二进制
demos/2d/isometric_light/cubio/idle0019.png


二进制
demos/2d/isometric_light/cubio/idle0020.png


二进制
demos/2d/isometric_light/cubio/idle0021.png


二进制
demos/2d/isometric_light/cubio/idle0022.png


二进制
demos/2d/isometric_light/cubio/idle0023.png


二进制
demos/2d/isometric_light/cubio/idle0024.png


二进制
demos/2d/isometric_light/cubio/idle0025.png


二进制
demos/2d/isometric_light/cubio/idle0026.png


二进制
demos/2d/isometric_light/cubio/idle0027.png


二进制
demos/2d/isometric_light/cubio/idle0028.png


二进制
demos/2d/isometric_light/cubio/idle0029.png


二进制
demos/2d/isometric_light/cubio/idle0030.png


二进制
demos/2d/isometric_light/cubio/idle0031.png


二进制
demos/2d/isometric_light/cubio/idle0032.png


二进制
demos/2d/isometric_light/cubio/idle0033.png


二进制
demos/2d/isometric_light/cubio/idle0034.png


二进制
demos/2d/isometric_light/cubio/idle0035.png


二进制
demos/2d/isometric_light/cubio/idle0036.png


二进制
demos/2d/isometric_light/cubio/idle0037.png


二进制
demos/2d/isometric_light/cubio/idle0038.png


二进制
demos/2d/isometric_light/cubio/idle0039.png


二进制
demos/2d/isometric_light/cubio/idle0040.png


二进制
demos/2d/isometric_light/cubio/idle0041.png


二进制
demos/2d/isometric_light/cubio/idle0042.png


二进制
demos/2d/isometric_light/cubio/idle0043.png


二进制
demos/2d/isometric_light/cubio/idle0044.png


二进制
demos/2d/isometric_light/cubio/idle0045.png


二进制
demos/2d/isometric_light/cubio/idle0046.png


二进制
demos/2d/isometric_light/cubio/idle0047.png


二进制
demos/2d/isometric_light/cubio/idle0048.png


二进制
demos/2d/isometric_light/cubio/idle0049.png


二进制
demos/2d/isometric_light/cubio/idle0050.png


二进制
demos/2d/isometric_light/cubio/idle0051.png


二进制
demos/2d/isometric_light/cubio/idle0052.png


二进制
demos/2d/isometric_light/cubio/idle0053.png


二进制
demos/2d/isometric_light/cubio/idle0054.png


二进制
demos/2d/isometric_light/cubio/idle0055.png


二进制
demos/2d/isometric_light/cubio/idle0056.png


二进制
demos/2d/isometric_light/cubio/idle0057.png


二进制
demos/2d/isometric_light/cubio/idle0058.png


二进制
demos/2d/isometric_light/cubio/idle0059.png


二进制
demos/2d/isometric_light/cubio/idle0060.png


二进制
demos/2d/isometric_light/cubio/norm-b-0001.png


二进制
demos/2d/isometric_light/cubio/norm-b-0002.png


二进制
demos/2d/isometric_light/cubio/norm-b-0003.png


二进制
demos/2d/isometric_light/cubio/norm-b-0004.png


二进制
demos/2d/isometric_light/cubio/norm-b-0005.png


二进制
demos/2d/isometric_light/cubio/norm-b-0006.png


二进制
demos/2d/isometric_light/cubio/norm-b-0007.png


二进制
demos/2d/isometric_light/cubio/norm-b-0008.png


二进制
demos/2d/isometric_light/cubio/norm-b-0009.png


二进制
demos/2d/isometric_light/cubio/norm-b-0010.png


二进制
demos/2d/isometric_light/cubio/norm-b-0011.png


二进制
demos/2d/isometric_light/cubio/norm-b-0012.png


二进制
demos/2d/isometric_light/cubio/norm-b-0013.png


二进制
demos/2d/isometric_light/cubio/norm-b-0014.png


二进制
demos/2d/isometric_light/cubio/norm-b-0015.png


二进制
demos/2d/isometric_light/cubio/norm-b-0016.png


二进制
demos/2d/isometric_light/cubio/norm-b-0017.png


二进制
demos/2d/isometric_light/cubio/norm-b-0018.png


二进制
demos/2d/isometric_light/cubio/norm-b-0019.png


二进制
demos/2d/isometric_light/cubio/norm-b-0020.png


二进制
demos/2d/isometric_light/cubio/norm-bl-0001.png


二进制
demos/2d/isometric_light/cubio/norm-bl-0002.png


二进制
demos/2d/isometric_light/cubio/norm-bl-0003.png


二进制
demos/2d/isometric_light/cubio/norm-bl-0004.png


二进制
demos/2d/isometric_light/cubio/norm-bl-0005.png


二进制
demos/2d/isometric_light/cubio/norm-bl-0006.png


二进制
demos/2d/isometric_light/cubio/norm-bl-0007.png


二进制
demos/2d/isometric_light/cubio/norm-bl-0008.png


部分文件因为文件数量过多而无法显示