change to the rendering system so it's not god awful oh my lord
This commit is contained in:
		@@ -35,14 +35,14 @@ file(GLOB src
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
add_executable(${PROJECT_NAME} ${src})
 | 
					add_executable(${PROJECT_NAME} ${src})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set (CMAKE_C_FLAGS "-O2 -Wall -Wextra -pedantic -Wno-unused-variable -Wno-unused-parameter -Wno-parentheses")
 | 
					set (CMAKE_C_FLAGS "-O2 -Wall -Wextra -pedantic -Wno-discarded-qualifiers -Wno-unused-variable -Wno-unused-parameter -Wno-parentheses")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (EMSCRIPTEN)
 | 
					if (EMSCRIPTEN)
 | 
				
			||||||
	set(CMAKE_EXECUTABLE_SUFFIX ".html")
 | 
						set(CMAKE_EXECUTABLE_SUFFIX ".html")
 | 
				
			||||||
    	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s USE_SDL=2 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS='['png']' -s USE_SDL_MIXER=2 -s SDL2_MIXER_FORMATS='['ogg']' -s USE_SDL_TTF=2 -s ASSERTIONS=1 -s ALLOW_MEMORY_GROWTH=1 -Wno-strict-prototypes -Wno-incompatible-pointer-types-discards-qualifiers -Wno-unused-command-line-argument -Wno-ignored-qualifiers")
 | 
					    	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s USE_SDL=2 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS='['png']' -s USE_SDL_MIXER=2 -s SDL2_MIXER_FORMATS='['ogg']' -s USE_SDL_TTF=2 -s ASSERTIONS=1 -s ALLOW_MEMORY_GROWTH=1 -Wno-strict-prototypes -Wno-incompatible-pointer-types-discards-qualifiers -Wno-unused-command-line-argument -Wno-ignored-qualifiers")
 | 
				
			||||||
	target_link_options(${PROJECT_NAME} PRIVATE --preload-file res -s USE_WEBGL2=1 )
 | 
						target_link_options(${PROJECT_NAME} PRIVATE --preload-file res -s USE_WEBGL2=1 )
 | 
				
			||||||
elseif (WIN32)
 | 
					elseif (WIN32)
 | 
				
			||||||
	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mwindows -Wno-discarded-qualifers")
 | 
						set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mwindows")
 | 
				
			||||||
	target_link_libraries(${PROJECT_NAME} mingw32 m SDL2main SDL2 SDL2_image SDL2_mixer SDL2_ttf opengl32 glew32)
 | 
						target_link_libraries(${PROJECT_NAME} mingw32 m SDL2main SDL2 SDL2_image SDL2_mixer SDL2_ttf opengl32 glew32)
 | 
				
			||||||
elseif (UNIX)
 | 
					elseif (UNIX)
 | 
				
			||||||
	target_link_libraries(${PROJECT_NAME} m SDL2 SDL2_image SDL2_mixer SDL2_ttf GL GLEW)
 | 
						target_link_libraries(${PROJECT_NAME} m SDL2 SDL2_image SDL2_mixer SDL2_ttf GL GLEW)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -99,8 +99,8 @@ renderer_init(Renderer* self, Window* window, CameraType type, const ivec2* buff
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	glEnable(GL_BLEND);
 | 
						glEnable(GL_BLEND);
 | 
				
			||||||
	glEnable(GL_DEPTH_TEST);
 | 
						//glEnable(GL_DEPTH_TEST);
 | 
				
			||||||
	glDepthFunc(GL_LESS);
 | 
						//glDepthFunc(GL_LESS);
 | 
				
			||||||
	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 | 
						glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -134,6 +134,9 @@ void
 | 
				
			|||||||
renderer_clear(Renderer* self)
 | 
					renderer_clear(Renderer* self)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 | 
						glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (s32 i = 0; i < RENDERER_BUFFER_COUNT; i++)
 | 
				
			||||||
 | 
							renderer_buffer_clear(self, i);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,6 +20,7 @@ entity_cursor_add(ECS* ecs)
 | 
				
			|||||||
		(f32*)ENTITY_CURSOR_POSITION
 | 
							(f32*)ENTITY_CURSOR_POSITION
 | 
				
			||||||
	);
 | 
						);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/*
 | 
				
			||||||
	component_pulsate_init
 | 
						component_pulsate_init
 | 
				
			||||||
	(
 | 
						(
 | 
				
			||||||
		ecs_component_get(ecs, COMPONENT_PULSATE, id),
 | 
							ecs_component_get(ecs, COMPONENT_PULSATE, id),
 | 
				
			||||||
@@ -28,6 +29,7 @@ entity_cursor_add(ECS* ecs)
 | 
				
			|||||||
		(f32*)ENTITY_CURSOR_PULSATE_MAX_SCALE,
 | 
							(f32*)ENTITY_CURSOR_PULSATE_MAX_SCALE,
 | 
				
			||||||
		ENTITY_CURSOR_PULSATE_FREQUENCY
 | 
							ENTITY_CURSOR_PULSATE_FREQUENCY
 | 
				
			||||||
	);
 | 
						);
 | 
				
			||||||
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return id;
 | 
						return id;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,12 +6,12 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
EntityID entity_cursor_add(ECS* ecs);
 | 
					EntityID entity_cursor_add(ECS* ecs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENTITY_CURSOR_DEPENDENCY_COUNT 3
 | 
					#define ENTITY_CURSOR_DEPENDENCY_COUNT 2
 | 
				
			||||||
static const ComponentType ENTITY_CURSOR_DEPENDENCIES[ENTITY_CURSOR_DEPENDENCY_COUNT] =
 | 
					static const ComponentType ENTITY_CURSOR_DEPENDENCIES[ENTITY_CURSOR_DEPENDENCY_COUNT] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	COMPONENT_GAME_OBJECT,
 | 
						COMPONENT_GAME_OBJECT,
 | 
				
			||||||
	COMPONENT_COPY_MOUSE_POSITION,
 | 
						COMPONENT_COPY_MOUSE_POSITION,
 | 
				
			||||||
	COMPONENT_PULSATE,
 | 
						//COMPONENT_PULSATE,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const RendererBuffer ENTITY_CURSOR_BUFFER = RENDERER_BUFFER_CURSOR;
 | 
					static const RendererBuffer ENTITY_CURSOR_BUFFER = RENDERER_BUFFER_CURSOR;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,6 +14,9 @@ _game_quit(Game* self)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	ecs_free(&self->ecs);
 | 
						ecs_free(&self->ecs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (s32 i = 0; i < RENDERER_BUFFER_COUNT; i++)
 | 
				
			||||||
 | 
							renderer_buffer_free(&self->renderer, (RendererBuffer)i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	renderer_free(&self->renderer);
 | 
						renderer_free(&self->renderer);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	window_free(&self->window);
 | 
						window_free(&self->window);
 | 
				
			||||||
@@ -57,20 +60,16 @@ _game_tick(Game* self)
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
_game_update(Game* self)
 | 
					_game_update(Game* self)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	renderer_update(&self->renderer);
 | 
					 | 
				
			||||||
	ecs_update(&self->ecs);
 | 
						ecs_update(&self->ecs);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
_game_draw(Game* self)
 | 
					_game_draw(Game* self)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	renderer_clear_color_set(&self->renderer, (f32*)RENDERER_CLEAR_COLOR);
 | 
						renderer_clear_color_set(&self->renderer, (f32*)BLACK);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	renderer_clear(&self->renderer);
 | 
						renderer_clear(&self->renderer);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (s32 i = 0; i < RENDERER_BUFFER_COUNT; i++)
 | 
					 | 
				
			||||||
		renderer_buffer_init(&self->renderer, (RendererBuffer)i);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	ecs_draw(&self->ecs);
 | 
						ecs_draw(&self->ecs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (s32 i = 0; i < RENDERER_BUFFER_COUNT; i++)
 | 
						for (s32 i = 0; i < RENDERER_BUFFER_COUNT; i++)
 | 
				
			||||||
@@ -85,9 +84,6 @@ _game_draw(Game* self)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	renderer_present(&self->renderer);
 | 
						renderer_present(&self->renderer);
 | 
				
			||||||
 | 
					 | 
				
			||||||
	for (s32 i = 0; i < RENDERER_BUFFER_COUNT; i++)
 | 
					 | 
				
			||||||
		renderer_buffer_free(&self->renderer, (RendererBuffer)i);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
game_init(Game* self)
 | 
					game_init(Game* self)
 | 
				
			||||||
@@ -111,6 +107,9 @@ game_init(Game* self)
 | 
				
			|||||||
	for (s32 i = 0; i < RENDERER_BUFFER_COUNT; i++)
 | 
						for (s32 i = 0; i < RENDERER_BUFFER_COUNT; i++)
 | 
				
			||||||
		postprocessing_init(&self->postprocessing[i], OPAQUE, TRANSPARENT);
 | 
							postprocessing_init(&self->postprocessing[i], OPAQUE, TRANSPARENT);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (s32 i = 0; i < RENDERER_BUFFER_COUNT; i++)
 | 
				
			||||||
 | 
							renderer_buffer_init(&self->renderer, (RendererBuffer)i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!resources_init(&self->resources))
 | 
						if (!resources_init(&self->resources))
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		printf("%s\n", STRING_RESOURCE_ERROR);
 | 
							printf("%s\n", STRING_RESOURCE_ERROR);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,8 +24,6 @@ buffer_draw(Renderer* renderer, Shader* shader, RendererBuffer buffer, Postproce
 | 
				
			|||||||
	camera_projection_get(&renderer->camera[buffer], projection); 
 | 
						camera_projection_get(&renderer->camera[buffer], projection); 
 | 
				
			||||||
	camera_view_get(&renderer->camera[buffer], view); 
 | 
						camera_view_get(&renderer->camera[buffer], view); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	glDisable(GL_DEPTH_TEST);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	texture_quad_draw
 | 
						texture_quad_draw
 | 
				
			||||||
	(
 | 
						(
 | 
				
			||||||
	 	&renderer->fboTextures[buffer],
 | 
						 	&renderer->fboTextures[buffer],
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user