Jelajahi Sumber

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

Anton Yabchinskiy 10 tahun lalu
induk
melakukan
43713810de
100 mengubah file dengan 149 tambahan dan 1 penghapusan
  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. TEMPAT SAMPAH
      demos/2d/isometric_light/character_shder.res
  10. TEMPAT SAMPAH
      demos/2d/isometric_light/column.scn
  11. 96 0
      demos/2d/isometric_light/cubio.gd
  12. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio.scn
  13. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0001.png
  14. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0002.png
  15. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0003.png
  16. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0004.png
  17. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0005.png
  18. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0006.png
  19. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0007.png
  20. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0008.png
  21. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0009.png
  22. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0010.png
  23. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0011.png
  24. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0012.png
  25. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0013.png
  26. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0014.png
  27. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0015.png
  28. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0016.png
  29. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0017.png
  30. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0018.png
  31. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0019.png
  32. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0020.png
  33. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0021.png
  34. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0022.png
  35. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0023.png
  36. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0024.png
  37. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0025.png
  38. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0026.png
  39. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0027.png
  40. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0028.png
  41. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0029.png
  42. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0030.png
  43. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0031.png
  44. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0032.png
  45. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0033.png
  46. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0034.png
  47. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0035.png
  48. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0036.png
  49. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0037.png
  50. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0038.png
  51. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0039.png
  52. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0040.png
  53. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0041.png
  54. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0042.png
  55. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0043.png
  56. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0044.png
  57. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0045.png
  58. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0046.png
  59. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0047.png
  60. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0048.png
  61. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0049.png
  62. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0050.png
  63. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0051.png
  64. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0052.png
  65. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0053.png
  66. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0054.png
  67. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0055.png
  68. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0056.png
  69. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0057.png
  70. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0058.png
  71. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0059.png
  72. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/idle0060.png
  73. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0001.png
  74. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0002.png
  75. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0003.png
  76. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0004.png
  77. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0005.png
  78. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0006.png
  79. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0007.png
  80. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0008.png
  81. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0009.png
  82. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0010.png
  83. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0011.png
  84. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0012.png
  85. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0013.png
  86. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0014.png
  87. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0015.png
  88. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0016.png
  89. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0017.png
  90. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0018.png
  91. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0019.png
  92. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-b-0020.png
  93. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-bl-0001.png
  94. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-bl-0002.png
  95. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-bl-0003.png
  96. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-bl-0004.png
  97. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-bl-0005.png
  98. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-bl-0006.png
  99. TEMPAT SAMPAH
      demos/2d/isometric_light/cubio/norm-bl-0007.png
  100. TEMPAT SAMPAH
      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,  
  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     
  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_module_libraries=[]
 env_base.android_manifest_chunk=""
+env_base.android_permission_chunk=""
+env_base.android_appattributes_chunk=""
 env_base.disabled_modules=[]
 
 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_file = methods.android_module_file
 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__.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(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
 	save_unicode_string(p_resource->get_type());
 	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
 
+	if (f->get_error()!=OK && f->get_error()!=ERR_FILE_EOF) {
+		f->close();
+		return ERR_CANT_CREATE;
+	}
+
 	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");
+	if (f->get_error()!=OK && f->get_error()!=ERR_FILE_EOF) {
+		f->close();
+		return ERR_CANT_CREATE;
+	}
+
 	f->close();
 	//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) {
-
+#if 0
 	///@TODO, give a check to this. I'm not sure if it's working.
 	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[3][2]=-1;
 	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 {
 	
 	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;
 }
 
+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 {
 
 	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("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()));
 
 

+ 1 - 0
core/object.h

@@ -386,6 +386,7 @@ friend void postinitialize_handler(Object*);
 	Dictionary metadata;
 
 	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);
 	Array _get_signal_list() 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) {
 						_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;
 					return;
 				} break;

TEMPAT SAMPAH
demos/2d/isometric_light/character_shder.res


TEMPAT SAMPAH
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
+
+

TEMPAT SAMPAH
demos/2d/isometric_light/cubio.scn


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0001.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0002.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0003.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0004.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0005.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0006.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0007.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0008.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0009.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0010.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0011.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0012.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0013.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0014.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0015.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0016.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0017.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0018.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0019.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0020.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0021.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0022.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0023.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0024.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0025.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0026.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0027.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0028.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0029.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0030.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0031.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0032.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0033.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0034.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0035.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0036.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0037.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0038.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0039.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0040.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0041.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0042.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0043.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0044.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0045.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0046.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0047.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0048.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0049.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0050.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0051.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0052.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0053.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0054.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0055.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0056.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0057.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0058.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0059.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/idle0060.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0001.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0002.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0003.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0004.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0005.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0006.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0007.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0008.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0009.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0010.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0011.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0012.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0013.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0014.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0015.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0016.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0017.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0018.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0019.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-b-0020.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-bl-0001.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-bl-0002.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-bl-0003.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-bl-0004.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-bl-0005.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-bl-0006.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-bl-0007.png


TEMPAT SAMPAH
demos/2d/isometric_light/cubio/norm-bl-0008.png


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini