Tilemap(VX): Factor out common code into tilemap-common.h
Renamed flashmap.h to tilemap-common.h as it already contained shared functions.
This commit is contained in:
		
							parent
							
								
									faef0e8503
								
							
						
					
					
						commit
						60f101f2e6
					
				
					 7 changed files with 114 additions and 128 deletions
				
			
		| 
						 | 
					@ -124,7 +124,7 @@ set(MAIN_HEADERS
 | 
				
			||||||
	src/glstate.h
 | 
						src/glstate.h
 | 
				
			||||||
	src/quad.h
 | 
						src/quad.h
 | 
				
			||||||
	src/tilemap.h
 | 
						src/tilemap.h
 | 
				
			||||||
	src/flashmap.h
 | 
						src/tilemap-common.h
 | 
				
			||||||
	src/graphics.h
 | 
						src/graphics.h
 | 
				
			||||||
	src/gl-debug.h
 | 
						src/gl-debug.h
 | 
				
			||||||
	src/global-ibo.h
 | 
						src/global-ibo.h
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								mkxp.pro
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								mkxp.pro
									
										
									
									
									
								
							| 
						 | 
					@ -103,7 +103,7 @@ HEADERS += \
 | 
				
			||||||
	src/glstate.h \
 | 
						src/glstate.h \
 | 
				
			||||||
	src/quad.h \
 | 
						src/quad.h \
 | 
				
			||||||
	src/tilemap.h \
 | 
						src/tilemap.h \
 | 
				
			||||||
	src/flashmap.h \
 | 
						src/tilemap-common.h \
 | 
				
			||||||
	src/graphics.h \
 | 
						src/graphics.h \
 | 
				
			||||||
	src/gl-debug.h \
 | 
						src/gl-debug.h \
 | 
				
			||||||
	src/global-ibo.h \
 | 
						src/global-ibo.h \
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,196 +4,196 @@ extern const StaticRect autotileRects[] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	{ 32.5, 64.5, 15, 15 },
 | 
						{ 32.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 64.5, 15, 15 },
 | 
						{ 48.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 80.5, 15, 15 },
 | 
						{ 32.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 64.5, 15, 15 },
 | 
						{ 48.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 80.5, 15, 15 },
 | 
						{ 32.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 64.5, 15, 15 },
 | 
						{ 32.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 80.5, 15, 15 },
 | 
						{ 32.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 80.5, 15, 15 },
 | 
						{ 32.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 64.5, 15, 15 },
 | 
						{ 32.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 64.5, 15, 15 },
 | 
						{ 48.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 80.5, 15, 15 },
 | 
						{ 32.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 64.5, 15, 15 },
 | 
						{ 48.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 80.5, 15, 15 },
 | 
						{ 32.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 64.5, 15, 15 },
 | 
						{ 32.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 80.5, 15, 15 },
 | 
						{ 32.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 80.5, 15, 15 },
 | 
						{ 32.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 64.5, 15, 15 },
 | 
						{ 32.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 64.5, 15, 15 },
 | 
						{ 48.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 64.5, 15, 15 },
 | 
						{ 48.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 64.5, 15, 15 },
 | 
						{ 32.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 64.5, 15, 15 },
 | 
						{ 32.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 64.5, 15, 15 },
 | 
						{ 48.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 64.5, 15, 15 },
 | 
						{ 48.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 64.5, 15, 15 },
 | 
						{ 32.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 64.5, 15, 15 },
 | 
						{ 0.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 64.5, 15, 15 },
 | 
						{ 16.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 80.5, 15, 15 },
 | 
						{ 0.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 16.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 64.5, 15, 15 },
 | 
						{ 0.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 80.5, 15, 15 },
 | 
						{ 0.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 16.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 64.5, 15, 15 },
 | 
						{ 0.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 64.5, 15, 15 },
 | 
						{ 16.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 80.5, 15, 15 },
 | 
						{ 0.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 64.5, 15, 15 },
 | 
						{ 0.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 80.5, 15, 15 },
 | 
						{ 0.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 32.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 48.5, 32.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 48.5, 48.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 48.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 32.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 48.5, 32.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 32.5, 32.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 48.5, 15, 15 },
 | 
						{ 32.5, 48.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 32.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 48.5, 32.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 48.5, 48.5, 15, 15 },
 | 
						{ 48.5, 48.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 32.5, 15, 15 },
 | 
						{ 32.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 32.5, 15, 15 },
 | 
						{ 48.5, 32.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 32.5, 48.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 32.5, 32.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 48.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 32.5, 32.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 32.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 64.5, 15, 15 },
 | 
						{ 64.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 64.5, 15, 15 },
 | 
						{ 80.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 80.5, 15, 15 },
 | 
						{ 64.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 64.5, 15, 15 },
 | 
						{ 64.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 64.5, 15, 15 },
 | 
						{ 80.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 64.5, 15, 15 },
 | 
						{ 80.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 80.5, 15, 15 },
 | 
						{ 64.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 64.5, 15, 15 },
 | 
						{ 80.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 96.5, 15, 15 },
 | 
						{ 32.5, 96.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 96.5, 15, 15 },
 | 
						{ 48.5, 96.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 112.5, 15, 15 },
 | 
						{ 32.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 96.5, 15, 15 },
 | 
						{ 48.5, 96.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 112.5, 15, 15 },
 | 
						{ 32.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 96.5, 15, 15 },
 | 
						{ 32.5, 96.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 112.5, 15, 15 },
 | 
						{ 32.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 112.5, 15, 15 },
 | 
						{ 32.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 64.5, 15, 15 },
 | 
						{ 0.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 64.5, 15, 15 },
 | 
						{ 80.5, 64.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 80.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 80.5, 15, 15 },
 | 
						{ 0.5, 80.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 80.5, 15, 15 },
 | 
				
			||||||
	{ 32.5, 32.5, 15, 15 },
 | 
						{ 32.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 32.5, 15, 15 },
 | 
						{ 48.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 48.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 32.5, 112.5, 15, 15 },
 | 
						{ 32.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 48.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 32.5, 15, 15 },
 | 
						{ 0.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 32.5, 15, 15 },
 | 
						{ 16.5, 32.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 0.5, 48.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 48.5, 15, 15 },
 | 
						{ 16.5, 48.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 48.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 32.5, 15, 15 },
 | 
						{ 0.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 32.5, 15, 15 },
 | 
						{ 16.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 16.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 48.5, 15, 15 },
 | 
						{ 0.5, 48.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 16.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 32.5, 15, 15 },
 | 
						{ 64.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 32.5, 15, 15 },
 | 
						{ 80.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 48.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 48.5, 15, 15 },
 | 
						{ 64.5, 48.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 48.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 32.5, 15, 15 },
 | 
						{ 64.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 32.5, 15, 15 },
 | 
						{ 80.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 48.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 16.5, 15, 15 },
 | 
						{ 64.5, 16.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 48.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 96.5, 15, 15 },
 | 
						{ 64.5, 96.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 96.5, 15, 15 },
 | 
						{ 80.5, 96.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 112.5, 15, 15 },
 | 
						{ 64.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 0.5, 15, 15 },
 | 
						{ 64.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 96.5, 15, 15 },
 | 
						{ 80.5, 96.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 112.5, 15, 15 },
 | 
						{ 64.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 96.5, 15, 15 },
 | 
						{ 0.5, 96.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 96.5, 15, 15 },
 | 
						{ 16.5, 96.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 112.5, 15, 15 },
 | 
						{ 0.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 16.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 96.5, 15, 15 },
 | 
						{ 0.5, 96.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 0.5, 15, 15 },
 | 
						{ 80.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 112.5, 15, 15 },
 | 
						{ 0.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 16.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 32.5, 15, 15 },
 | 
						{ 0.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 32.5, 15, 15 },
 | 
						{ 80.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 48.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 48.5, 15, 15 },
 | 
						{ 0.5, 48.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 48.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 32.5, 15, 15 },
 | 
						{ 0.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 32.5, 15, 15 },
 | 
						{ 16.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 112.5, 15, 15 },
 | 
						{ 0.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 16.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 96.5, 15, 15 },
 | 
						{ 0.5, 96.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 96.5, 15, 15 },
 | 
						{ 80.5, 96.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 112.5, 15, 15 },
 | 
						{ 0.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 64.5, 32.5, 15, 15 },
 | 
						{ 64.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 32.5, 15, 15 },
 | 
						{ 80.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 64.5, 112.5, 15, 15 },
 | 
						{ 64.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 32.5, 15, 15 },
 | 
						{ 0.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 32.5, 15, 15 },
 | 
						{ 80.5, 32.5, 15, 15 },
 | 
				
			||||||
	{ 80.5, 112.5, 15, 15 },
 | 
					 | 
				
			||||||
	{ 0.5, 112.5, 15, 15 },
 | 
						{ 0.5, 112.5, 15, 15 },
 | 
				
			||||||
 | 
						{ 80.5, 112.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 0.5, 15, 15 },
 | 
						{ 0.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 0.5, 15, 15 },
 | 
						{ 16.5, 0.5, 15, 15 },
 | 
				
			||||||
	{ 16.5, 16.5, 15, 15 },
 | 
						{ 0.5, 16.5, 15, 15 },
 | 
				
			||||||
	{ 0.5, 16.5, 15, 15 }
 | 
						{ 16.5, 16.5, 15, 15 }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern const int autotileRectsN = sizeof(autotileRects) / sizeof(autotileRects[0]);
 | 
					extern const int autotileRectsN = sizeof(autotileRects) / sizeof(autotileRects[0]);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,6 +21,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "tileatlasvx.h"
 | 
					#include "tileatlasvx.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "tilemap-common.h"
 | 
				
			||||||
#include "bitmap.h"
 | 
					#include "bitmap.h"
 | 
				
			||||||
#include "table.h"
 | 
					#include "table.h"
 | 
				
			||||||
#include "etc-internal.h"
 | 
					#include "etc-internal.h"
 | 
				
			||||||
| 
						 | 
					@ -65,21 +66,6 @@ static elementsN(autotileVXRectsC);
 | 
				
			||||||
namespace TileAtlasVX
 | 
					namespace TileAtlasVX
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int
 | 
					 | 
				
			||||||
wrap(int value, int range)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	int res = value % range;
 | 
					 | 
				
			||||||
	return res < 0 ? res + range : res;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static int16_t
 | 
					 | 
				
			||||||
tableGetWrapped(const Table &t, int x, int y, int z = 0)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return t.at(wrap(x, t.xSize()),
 | 
					 | 
				
			||||||
	            wrap(y, t.ySize()),
 | 
					 | 
				
			||||||
	            z);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static int16_t
 | 
					static int16_t
 | 
				
			||||||
tableGetSafe(const Table *t, int x)
 | 
					tableGetSafe(const Table *t, int x)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -333,35 +319,6 @@ void build(TEXFBO &tf, Bitmap *bitmaps[BM_COUNT])
 | 
				
			||||||
#define OVER_PLAYER_FLAG (1 << 4)
 | 
					#define OVER_PLAYER_FLAG (1 << 4)
 | 
				
			||||||
#define TABLE_FLAG       (1 << 7)
 | 
					#define TABLE_FLAG       (1 << 7)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					 | 
				
			||||||
atSelectSubPos(FloatRect &pos, int i)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	switch (i)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	case 0:
 | 
					 | 
				
			||||||
		return;
 | 
					 | 
				
			||||||
	case 1:
 | 
					 | 
				
			||||||
		pos.x += 16;
 | 
					 | 
				
			||||||
		return;
 | 
					 | 
				
			||||||
	case 2:
 | 
					 | 
				
			||||||
		pos.y += 16;
 | 
					 | 
				
			||||||
		return;
 | 
					 | 
				
			||||||
	case 3:
 | 
					 | 
				
			||||||
		pos.x += 16;
 | 
					 | 
				
			||||||
		pos.y += 16;
 | 
					 | 
				
			||||||
		return;
 | 
					 | 
				
			||||||
	case 4:
 | 
					 | 
				
			||||||
		pos.y += 24;
 | 
					 | 
				
			||||||
		return;
 | 
					 | 
				
			||||||
	case 5:
 | 
					 | 
				
			||||||
		pos.x += 16;
 | 
					 | 
				
			||||||
		pos.y += 24;
 | 
					 | 
				
			||||||
		return;
 | 
					 | 
				
			||||||
	default:
 | 
					 | 
				
			||||||
		assert(!"Unreachable");
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Reference: http://www.tktkgame.com/tkool/memo/vx/tile_id.html */
 | 
					/* Reference: http://www.tktkgame.com/tkool/memo/vx/tile_id.html */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
** flashmap.h
 | 
					** tilemap-common.h
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
** This file is part of mkxp.
 | 
					** This file is part of mkxp.
 | 
				
			||||||
**
 | 
					**
 | 
				
			||||||
| 
						 | 
					@ -19,8 +19,8 @@
 | 
				
			||||||
** along with mkxp.  If not, see <http://www.gnu.org/licenses/>.
 | 
					** along with mkxp.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef FLASHMAP_H
 | 
					#ifndef TILEMAPCOMMON_H
 | 
				
			||||||
#define FLASHMAP_H
 | 
					#define TILEMAPCOMMON_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "table.h"
 | 
					#include "table.h"
 | 
				
			||||||
#include "gl-util.h"
 | 
					#include "gl-util.h"
 | 
				
			||||||
| 
						 | 
					@ -30,8 +30,11 @@
 | 
				
			||||||
#include "glstate.h"
 | 
					#include "glstate.h"
 | 
				
			||||||
#include "shader.h"
 | 
					#include "shader.h"
 | 
				
			||||||
#include "vertex.h"
 | 
					#include "vertex.h"
 | 
				
			||||||
 | 
					#include "quad.h"
 | 
				
			||||||
 | 
					#include "etc-internal.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdint.h>
 | 
					#include <stdint.h>
 | 
				
			||||||
 | 
					#include <assert.h>
 | 
				
			||||||
#include <vector>
 | 
					#include <vector>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <sigc++/connection.h>
 | 
					#include <sigc++/connection.h>
 | 
				
			||||||
| 
						 | 
					@ -44,11 +47,50 @@ wrap(int value, int range)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline int16_t
 | 
					static inline int16_t
 | 
				
			||||||
tableGetWrapped(const Table *t, int x, int y, int z = 0)
 | 
					tableGetWrapped(const Table &t, int x, int y, int z = 0)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return t->get(wrap(x, t->xSize()),
 | 
						return t.get(wrap(x, t.xSize()),
 | 
				
			||||||
	              wrap(y, t->ySize()),
 | 
						             wrap(y, t.ySize()),
 | 
				
			||||||
	              z);
 | 
						             z);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum AtSubPos
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						TopLeft          = 0,
 | 
				
			||||||
 | 
						TopRight         = 1,
 | 
				
			||||||
 | 
						BottomLeft       = 2,
 | 
				
			||||||
 | 
						BottomRight      = 3,
 | 
				
			||||||
 | 
						BottomLeftTable  = 4,
 | 
				
			||||||
 | 
						BottomRightTable = 5
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static inline void
 | 
				
			||||||
 | 
					atSelectSubPos(FloatRect &pos, int i)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						switch (i)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
						case TopLeft:
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						case TopRight:
 | 
				
			||||||
 | 
							pos.x += 16;
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						case BottomLeft:
 | 
				
			||||||
 | 
							pos.y += 16;
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						case BottomRight:
 | 
				
			||||||
 | 
							pos.x += 16;
 | 
				
			||||||
 | 
							pos.y += 16;
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						case BottomLeftTable:
 | 
				
			||||||
 | 
							pos.y += 24;
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						case BottomRightTable:
 | 
				
			||||||
 | 
							pos.x += 16;
 | 
				
			||||||
 | 
							pos.y += 24;
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						default:
 | 
				
			||||||
 | 
							assert(!"Unreachable");
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct FlashMap
 | 
					struct FlashMap
 | 
				
			||||||
| 
						 | 
					@ -144,7 +186,7 @@ private:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	bool sampleFlashColor(Vec4 &out, int x, int y) const
 | 
						bool sampleFlashColor(Vec4 &out, int x, int y) const
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		int16_t packed = tableGetWrapped(data, x, y);
 | 
							int16_t packed = tableGetWrapped(*data, x, y);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (packed == 0)
 | 
							if (packed == 0)
 | 
				
			||||||
			return false;
 | 
								return false;
 | 
				
			||||||
| 
						 | 
					@ -216,4 +258,4 @@ private:
 | 
				
			||||||
	std::vector<CVertex> vertices;
 | 
						std::vector<CVertex> vertices;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif // FLASHMAP_H
 | 
					#endif // TILEMAPCOMMON_H
 | 
				
			||||||
| 
						 | 
					@ -36,7 +36,7 @@
 | 
				
			||||||
#include "quad.h"
 | 
					#include "quad.h"
 | 
				
			||||||
#include "vertex.h"
 | 
					#include "vertex.h"
 | 
				
			||||||
#include "tileatlas.h"
 | 
					#include "tileatlas.h"
 | 
				
			||||||
#include "flashmap.h"
 | 
					#include "tilemap-common.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <sigc++/connection.h>
 | 
					#include <sigc++/connection.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -590,21 +590,6 @@ struct TilemapPrivate
 | 
				
			||||||
		return value;
 | 
							return value;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	FloatRect getAutotilePieceRect(int x, int y, /* in pixel coords */
 | 
					 | 
				
			||||||
	                               int corner)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		switch (corner)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
		case 0 : break;
 | 
					 | 
				
			||||||
		case 1 : x += 16; break;
 | 
					 | 
				
			||||||
		case 2 : x += 16; y += 16; break;
 | 
					 | 
				
			||||||
		case 3 : y += 16; break;
 | 
					 | 
				
			||||||
		default: abort();
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		return FloatRect(x, y, 16, 16);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	void handleAutotile(int x, int y, int tileInd, SVVector *array)
 | 
						void handleAutotile(int x, int y, int tileInd, SVVector *array)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		/* Which autotile [0-7] */
 | 
							/* Which autotile [0-7] */
 | 
				
			||||||
| 
						 | 
					@ -617,7 +602,9 @@ struct TilemapPrivate
 | 
				
			||||||
		/* Iterate over the 4 tile pieces */
 | 
							/* Iterate over the 4 tile pieces */
 | 
				
			||||||
		for (int i = 0; i < 4; ++i)
 | 
							for (int i = 0; i < 4; ++i)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			FloatRect posRect = getAutotilePieceRect(x*32, y*32, i);
 | 
								FloatRect posRect(x*32, y*32, 16, 16);
 | 
				
			||||||
 | 
								atSelectSubPos(posRect, i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			FloatRect texRect = pieceRect[i];
 | 
								FloatRect texRect = pieceRect[i];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			/* Adjust to atlas coordinates */
 | 
								/* Adjust to atlas coordinates */
 | 
				
			||||||
| 
						 | 
					@ -635,7 +622,7 @@ struct TilemapPrivate
 | 
				
			||||||
	void handleTile(int x, int y, int z)
 | 
						void handleTile(int x, int y, int z)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		int tileInd =
 | 
							int tileInd =
 | 
				
			||||||
			tableGetWrapped(mapData, x + viewpPos.x, y + viewpPos.y, z);
 | 
								tableGetWrapped(*mapData, x + viewpPos.x, y + viewpPos.y, z);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/* Check for empty space */
 | 
							/* Check for empty space */
 | 
				
			||||||
		if (tileInd < 48)
 | 
							if (tileInd < 48)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,7 +33,7 @@
 | 
				
			||||||
#include "quad.h"
 | 
					#include "quad.h"
 | 
				
			||||||
#include "quadarray.h"
 | 
					#include "quadarray.h"
 | 
				
			||||||
#include "shader.h"
 | 
					#include "shader.h"
 | 
				
			||||||
#include "flashmap.h"
 | 
					#include "tilemap-common.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <vector>
 | 
					#include <vector>
 | 
				
			||||||
#include <sigc++/connection.h>
 | 
					#include <sigc++/connection.h>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue