mirror of
https://github.com/scp-fs2open/fs2open.github.com.git
synced 2026-11-11 04:31:35 -10:00
This allows to show the debug output in a second window in real time. This system could be expanded further to allow more interactivity but the current status is good enough.
715 lines
15 KiB
C++
715 lines
15 KiB
C++
|
|
|
|
#include "anim/animplay.h"
|
|
#include "anim/packunpack.h"
|
|
#include "bmpman/bmpman.h"
|
|
#include "ddsutils/ddsutils.h"
|
|
#include "globalincs/systemvars.h"
|
|
#include "graphics/2d.h"
|
|
#include "graphics/grinternal.h"
|
|
#include "jpgutils/jpgutils.h"
|
|
#include "model/model.h"
|
|
#include "graphics/material.h"
|
|
#include "pcxutils/pcxutils.h"
|
|
#include "pngutils/pngutils.h"
|
|
#include "tgautils/tgautils.h"
|
|
|
|
#define BMPMAN_INTERNAL
|
|
#include "bmpman/bm_internal.h"
|
|
|
|
|
|
uint gr_stub_lock()
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int gr_stub_create_vertex_buffer(bool static_buffer)
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
int gr_stub_create_index_buffer(bool static_buffer)
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
void gr_stub_delete_buffer(int handle)
|
|
{
|
|
|
|
}
|
|
|
|
int gr_stub_preload(int bitmap_num, int is_aabitmap)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int gr_stub_save_screen()
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int gr_stub_tcache_set(int bitmap_id, int bitmap_type, float *u_scale, float *v_scale, int tex_unit = 0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int gr_stub_zbuffer_get()
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int gr_stub_zbuffer_set(int mode)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
void gr_set_fill_mode_stub(int mode)
|
|
{
|
|
}
|
|
|
|
void gr_stub_aabitmap_ex(int x,int y,int w,int h,int sx,int sy,int resize_mode,bool mirror)
|
|
{
|
|
}
|
|
|
|
void gr_stub_aabitmap(int x, int y,int resize_mode, bool mirror)
|
|
{
|
|
}
|
|
|
|
void gr_stub_aaline(vertex *v1, vertex *v2)
|
|
{
|
|
}
|
|
|
|
void gr_stub_activate(int active)
|
|
{
|
|
}
|
|
|
|
void gr_stub_bitmap_ex(int x, int y, int w, int h, int sx, int sy, int resize_mode)
|
|
{
|
|
}
|
|
|
|
void gr_stub_bitmap(int x, int y)
|
|
{
|
|
}
|
|
|
|
void gr_stub_circle( int xc, int yc, int d, int resize_mode )
|
|
{
|
|
}
|
|
|
|
void gr_stub_unfilled_circle( int xc, int yc, int d, int resize_mode )
|
|
{
|
|
}
|
|
|
|
void gr_stub_cleanup(int minimize)
|
|
{
|
|
}
|
|
|
|
void gr_stub_clear()
|
|
{
|
|
}
|
|
|
|
void gr_stub_curve(int xc, int yc, int r, int direction, int resize_mode)
|
|
{
|
|
}
|
|
|
|
void gr_stub_end_clip_plane()
|
|
{
|
|
}
|
|
|
|
void gr_stub_end_instance_matrix()
|
|
{
|
|
}
|
|
|
|
void gr_stub_end_projection_matrix()
|
|
{
|
|
}
|
|
|
|
void gr_stub_end_view_matrix()
|
|
{
|
|
}
|
|
|
|
void gr_stub_flash_alpha(int r, int g, int b, int a)
|
|
{
|
|
}
|
|
|
|
void gr_stub_flash(int r, int g, int b)
|
|
{
|
|
}
|
|
|
|
void gr_stub_flip()
|
|
{
|
|
}
|
|
|
|
void gr_stub_fog_set(int fog_mode, int r, int g, int b, float fog_near, float fog_far)
|
|
{
|
|
}
|
|
|
|
void gr_stub_free_screen(int id)
|
|
{
|
|
}
|
|
|
|
void gr_stub_get_region(int front, int w, int h, ubyte *data)
|
|
{
|
|
}
|
|
|
|
void gr_stub_gradient(int x1,int y1,int x2,int y2, int resize_mode)
|
|
{
|
|
}
|
|
|
|
void gr_stub_line(int x1,int y1,int x2,int y2, int resize_mode = GR_RESIZE_NONE)
|
|
{
|
|
}
|
|
|
|
void gr_stub_pixel(int x, int y, int resize_mode)
|
|
{
|
|
}
|
|
|
|
void gr_stub_pop_scale_matrix()
|
|
{
|
|
}
|
|
|
|
void gr_stub_pop_texture_matrix(int unit)
|
|
{
|
|
}
|
|
|
|
void gr_stub_preload_init()
|
|
{
|
|
}
|
|
|
|
void gr_stub_print_screen(const char *filename)
|
|
{
|
|
}
|
|
|
|
void gr_stub_push_scale_matrix(const vec3d *scale_factor)
|
|
{
|
|
}
|
|
|
|
void gr_stub_push_texture_matrix(int unit)
|
|
{
|
|
}
|
|
|
|
void gr_stub_rect(int x, int y, int w, int h, int resize_mode)
|
|
{
|
|
}
|
|
|
|
void gr_stub_reset_clip()
|
|
{
|
|
}
|
|
|
|
void gr_stub_reset_lighting()
|
|
{
|
|
}
|
|
|
|
void gr_stub_restore_screen(int id)
|
|
{
|
|
}
|
|
|
|
void gr_stub_save_mouse_area(int x, int y, int w, int h)
|
|
{
|
|
}
|
|
|
|
void gr_stub_update_buffer_data(int handle, size_t size, void* data)
|
|
{
|
|
|
|
}
|
|
|
|
void gr_stub_update_transform_buffer(void* data, size_t size)
|
|
{
|
|
|
|
}
|
|
|
|
void gr_stub_set_transform_buffer_offset(size_t offset)
|
|
{
|
|
|
|
}
|
|
|
|
void gr_stub_render_stream_buffer(int buffer_handle, size_t offset, size_t n_verts, int flags)
|
|
{
|
|
}
|
|
|
|
void gr_stub_set_clear_color(int r, int g, int b)
|
|
{
|
|
}
|
|
|
|
void gr_stub_set_clip(int x, int y, int w, int h, int resize_mode)
|
|
{
|
|
}
|
|
|
|
int gr_stub_set_cull(int cull)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int gr_stub_set_color_buffer(int mode)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
void gr_stub_set_gamma(float gamma)
|
|
{
|
|
}
|
|
|
|
void gr_stub_set_lighting(bool set, bool state)
|
|
{
|
|
}
|
|
|
|
void gr_stub_set_light(light *light)
|
|
{
|
|
}
|
|
|
|
void gr_stub_set_projection_matrix(float fov, float aspect, float z_near, float z_far)
|
|
{
|
|
}
|
|
|
|
void gr_stub_set_tex_env_scale(float scale)
|
|
{
|
|
}
|
|
|
|
void gr_stub_set_texture_addressing(int mode)
|
|
{
|
|
}
|
|
|
|
void gr_stub_set_view_matrix(const vec3d *pos, const matrix* orient)
|
|
{
|
|
}
|
|
|
|
void gr_stub_start_clip_plane()
|
|
{
|
|
}
|
|
|
|
void gr_stub_start_instance_angles(const vec3d *pos, const angles *rotation)
|
|
{
|
|
}
|
|
|
|
void gr_stub_start_instance_matrix(const vec3d *offset, const matrix *rotation)
|
|
{
|
|
}
|
|
|
|
void gr_stub_string( float sx, float sy, const char *s, int resize_mode = GR_RESIZE_NONE, int length = -1)
|
|
{
|
|
}
|
|
|
|
void gr_stub_stuff_fog_coord(vertex *v)
|
|
{
|
|
}
|
|
|
|
void gr_stub_stuff_secondary_color(vertex *v, ubyte fr, ubyte fg, ubyte fb)
|
|
{
|
|
}
|
|
|
|
void gr_stub_translate_texture_matrix(int unit, const vec3d *shift)
|
|
{
|
|
}
|
|
|
|
void gr_stub_zbias_stub(int bias)
|
|
{
|
|
}
|
|
|
|
void gr_stub_zbuffer_clear(int mode)
|
|
{
|
|
}
|
|
|
|
int gr_stub_stencil_set(int mode)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
void gr_stub_stencil_clear()
|
|
{
|
|
}
|
|
|
|
int gr_stub_alpha_mask_set(int mode, float alpha)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
/*void gr_stub_shade(int x,int y,int w,int h)
|
|
{
|
|
}*/
|
|
|
|
void gr_stub_post_process_set_effect(const char *name, int x)
|
|
{
|
|
}
|
|
|
|
void gr_stub_post_process_set_defaults()
|
|
{
|
|
}
|
|
|
|
void gr_stub_post_process_save_zbuffer()
|
|
{
|
|
}
|
|
|
|
void gr_stub_post_process_blur_shadow_map()
|
|
{
|
|
}
|
|
|
|
void gr_stub_post_process_begin()
|
|
{
|
|
}
|
|
|
|
void gr_stub_post_process_end()
|
|
{
|
|
}
|
|
|
|
void gr_stub_scene_texture_begin()
|
|
{
|
|
}
|
|
|
|
void gr_stub_scene_texture_end()
|
|
{
|
|
}
|
|
|
|
void gr_stub_copy_effect_texture()
|
|
{
|
|
}
|
|
|
|
void gr_stub_deferred_lighting_begin()
|
|
{
|
|
}
|
|
|
|
void gr_stub_deferred_lighting_end()
|
|
{
|
|
}
|
|
|
|
void gr_stub_deferred_lighting_finish()
|
|
{
|
|
}
|
|
|
|
void gr_stub_set_ambient_light(int red, int green, int blue)
|
|
{
|
|
}
|
|
|
|
void gr_stub_set_texture_panning(float u, float v, bool enable)
|
|
{
|
|
}
|
|
|
|
void gr_stub_set_line_width(float width)
|
|
{
|
|
}
|
|
|
|
void gr_stub_draw_sphere(material *material_def, float rad)
|
|
{
|
|
}
|
|
|
|
void gr_stub_clear_states()
|
|
{
|
|
}
|
|
|
|
void gr_stub_update_texture(int bitmap_handle, int bpp, const ubyte *data, int width, int height)
|
|
{
|
|
}
|
|
|
|
void gr_stub_get_bitmap_from_texture(void* data_out, int bitmap_num)
|
|
{
|
|
|
|
}
|
|
|
|
int gr_stub_bm_make_render_target(int n, int *width, int *height, int *bpp, int *mm_lvl, int flags)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int gr_stub_bm_set_render_target(int n, int face)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
void gr_stub_bm_create(int n)
|
|
{
|
|
}
|
|
|
|
void gr_stub_bm_free_data(int n, bool release)
|
|
{
|
|
}
|
|
|
|
void gr_stub_bm_init(int n)
|
|
{
|
|
}
|
|
|
|
void gr_stub_bm_page_in_start()
|
|
{
|
|
}
|
|
|
|
bool gr_stub_bm_data(int n, bitmap* bm)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
int gr_stub_maybe_create_shader(shader_type shader_t, unsigned int flags) {
|
|
return -1;
|
|
}
|
|
|
|
void gr_stub_shadow_map_start(matrix4 *shadow_view_matrix, const matrix* light_matrix)
|
|
{
|
|
}
|
|
|
|
void gr_stub_shadow_map_end()
|
|
{
|
|
}
|
|
|
|
void gr_stub_render_shield_impact(shield_material *material_info, primitive_type prim_type, vertex_layout *layout, int buffer_handle, int n_verts)
|
|
{
|
|
|
|
}
|
|
|
|
void gr_stub_render_model(model_material* material_info, indexed_vertex_source *vert_source, vertex_buffer* bufferp, size_t texi)
|
|
{
|
|
|
|
}
|
|
|
|
void gr_stub_render_primitives(material* material_info, primitive_type prim_type, vertex_layout* layout, int offset, int n_verts, int buffer_handle)
|
|
{
|
|
|
|
}
|
|
|
|
void gr_stub_render_primitives_immediate(material* material_info, primitive_type prim_type, vertex_layout* layout, int n_verts, void* data, int size)
|
|
{
|
|
|
|
}
|
|
|
|
void gr_stub_render_primitives_2d(material* material_info, primitive_type prim_type, vertex_layout* layout, int offset, int n_verts, int buffer_handle)
|
|
{
|
|
|
|
}
|
|
|
|
void gr_stub_render_primitives_2d_immediate(material* material_info, primitive_type prim_type, vertex_layout* layout, int n_verts, void* data, int size)
|
|
{
|
|
|
|
}
|
|
|
|
void gr_stub_render_primitives_particle(particle_material* material_info, primitive_type prim_type, vertex_layout* layout, int offset, int n_verts, int buffer_handle)
|
|
{
|
|
|
|
}
|
|
|
|
void gr_stub_render_primitives_distortion(distortion_material* material_info, primitive_type prim_type, vertex_layout* layout, int offset, int n_verts, int buffer_handle)
|
|
{
|
|
|
|
}
|
|
|
|
bool gr_stub_is_capable(gr_capability capability)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
void gr_stub_push_debug_group(const char*){
|
|
}
|
|
|
|
void gr_stub_pop_debug_group(){
|
|
}
|
|
|
|
int gr_stub_create_query_object()
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
void gr_stub_query_value(int obj, QueryType type)
|
|
{
|
|
}
|
|
|
|
bool gr_stub_query_value_available(int obj)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
std::uint64_t gr_stub_get_query_value(int obj)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
void gr_stub_delete_query_object(int obj)
|
|
{
|
|
}
|
|
|
|
bool gr_stub_init()
|
|
{
|
|
if (gr_screen.res != GR_640) {
|
|
gr_screen.res = GR_640;
|
|
gr_screen.max_w = 640;
|
|
gr_screen.max_h = 480;
|
|
}
|
|
|
|
Gr_red.bits = 8;
|
|
Gr_red.shift = 16;
|
|
Gr_red.scale = 1;
|
|
Gr_red.mask = 0xff0000;
|
|
Gr_t_red = Gr_red;
|
|
|
|
Gr_green.bits = 8;
|
|
Gr_green.shift = 8;
|
|
Gr_green.scale = 1;
|
|
Gr_green.mask = 0xff00;
|
|
Gr_t_green = Gr_green;
|
|
|
|
Gr_blue.bits = 8;
|
|
Gr_blue.shift = 0;
|
|
Gr_blue.scale = 1;
|
|
Gr_blue.mask = 0xff;
|
|
Gr_t_blue = Gr_blue;
|
|
|
|
// function pointers...
|
|
gr_screen.gf_flip = gr_stub_flip;
|
|
gr_screen.gf_set_clip = gr_stub_set_clip;
|
|
gr_screen.gf_reset_clip = gr_stub_reset_clip;
|
|
|
|
gr_screen.gf_clear = gr_stub_clear;
|
|
// gr_screen.gf_bitmap = gr_stub_bitmap;
|
|
gr_screen.gf_bitmap_ex = gr_stub_bitmap_ex;
|
|
gr_screen.gf_aabitmap = gr_stub_aabitmap;
|
|
gr_screen.gf_aabitmap_ex = gr_stub_aabitmap_ex;
|
|
|
|
// gr_screen.gf_rect = gr_stub_rect;
|
|
// gr_screen.gf_shade = gr_stub_shade;
|
|
gr_screen.gf_string = gr_stub_string;
|
|
gr_screen.gf_circle = gr_stub_circle;
|
|
gr_screen.gf_unfilled_circle = gr_stub_unfilled_circle;
|
|
gr_screen.gf_curve = gr_stub_curve;
|
|
|
|
gr_screen.gf_line = gr_stub_line;
|
|
gr_screen.gf_aaline = gr_stub_aaline;
|
|
gr_screen.gf_pixel = gr_stub_pixel;
|
|
|
|
gr_screen.gf_gradient = gr_stub_gradient;
|
|
|
|
gr_screen.gf_print_screen = gr_stub_print_screen;
|
|
|
|
gr_screen.gf_flash = gr_stub_flash;
|
|
gr_screen.gf_flash_alpha = gr_stub_flash_alpha;
|
|
|
|
gr_screen.gf_zbuffer_get = gr_stub_zbuffer_get;
|
|
gr_screen.gf_zbuffer_set = gr_stub_zbuffer_set;
|
|
gr_screen.gf_zbuffer_clear = gr_stub_zbuffer_clear;
|
|
|
|
gr_screen.gf_stencil_set = gr_stub_stencil_set;
|
|
gr_screen.gf_stencil_clear = gr_stub_stencil_clear;
|
|
|
|
gr_screen.gf_alpha_mask_set = gr_stub_alpha_mask_set;
|
|
|
|
gr_screen.gf_save_screen = gr_stub_save_screen;
|
|
gr_screen.gf_restore_screen = gr_stub_restore_screen;
|
|
gr_screen.gf_free_screen = gr_stub_free_screen;
|
|
|
|
gr_screen.gf_set_gamma = gr_stub_set_gamma;
|
|
|
|
gr_screen.gf_fog_set = gr_stub_fog_set;
|
|
|
|
// UnknownPlayer : Don't recognize this - MAY NEED DEBUGGING
|
|
gr_screen.gf_get_region = gr_stub_get_region;
|
|
|
|
// now for the bitmap functions
|
|
gr_screen.gf_bm_free_data = gr_stub_bm_free_data;
|
|
gr_screen.gf_bm_create = gr_stub_bm_create;
|
|
gr_screen.gf_bm_init = gr_stub_bm_init;
|
|
gr_screen.gf_bm_page_in_start = gr_stub_bm_page_in_start;
|
|
gr_screen.gf_bm_data = gr_stub_bm_data;
|
|
gr_screen.gf_bm_make_render_target = gr_stub_bm_make_render_target;
|
|
gr_screen.gf_bm_set_render_target = gr_stub_bm_set_render_target;
|
|
|
|
gr_screen.gf_set_cull = gr_stub_set_cull;
|
|
gr_screen.gf_set_color_buffer = gr_stub_set_color_buffer;
|
|
|
|
gr_screen.gf_tcache_set = gr_stub_tcache_set;
|
|
|
|
gr_screen.gf_set_clear_color = gr_stub_set_clear_color;
|
|
|
|
gr_screen.gf_preload = gr_stub_preload;
|
|
|
|
gr_screen.gf_push_texture_matrix = gr_stub_push_texture_matrix;
|
|
gr_screen.gf_pop_texture_matrix = gr_stub_pop_texture_matrix;
|
|
gr_screen.gf_translate_texture_matrix = gr_stub_translate_texture_matrix;
|
|
|
|
gr_screen.gf_set_texture_addressing = gr_stub_set_texture_addressing;
|
|
gr_screen.gf_zbias = gr_stub_zbias_stub;
|
|
gr_screen.gf_set_fill_mode = gr_set_fill_mode_stub;
|
|
gr_screen.gf_set_texture_panning = gr_stub_set_texture_panning;
|
|
|
|
gr_screen.gf_create_vertex_buffer = gr_stub_create_vertex_buffer;
|
|
gr_screen.gf_create_index_buffer = gr_stub_create_index_buffer;
|
|
gr_screen.gf_delete_buffer = gr_stub_delete_buffer;
|
|
|
|
gr_screen.gf_update_transform_buffer = gr_stub_update_transform_buffer;
|
|
gr_screen.gf_update_buffer_data = gr_stub_update_buffer_data;
|
|
gr_screen.gf_set_transform_buffer_offset = gr_stub_set_transform_buffer_offset;
|
|
|
|
gr_screen.gf_render_stream_buffer = gr_stub_render_stream_buffer;
|
|
|
|
gr_screen.gf_start_instance_matrix = gr_stub_start_instance_matrix;
|
|
gr_screen.gf_end_instance_matrix = gr_stub_end_instance_matrix;
|
|
gr_screen.gf_start_angles_instance_matrix = gr_stub_start_instance_angles;
|
|
|
|
gr_screen.gf_set_light = gr_stub_set_light;
|
|
gr_screen.gf_reset_lighting = gr_stub_reset_lighting;
|
|
gr_screen.gf_set_ambient_light = gr_stub_set_ambient_light;
|
|
|
|
gr_screen.gf_post_process_set_effect = gr_stub_post_process_set_effect;
|
|
gr_screen.gf_post_process_set_defaults = gr_stub_post_process_set_defaults;
|
|
|
|
gr_screen.gf_post_process_begin = gr_stub_post_process_begin;
|
|
gr_screen.gf_post_process_end = gr_stub_post_process_end;
|
|
gr_screen.gf_post_process_save_zbuffer = gr_stub_post_process_save_zbuffer;
|
|
|
|
gr_screen.gf_scene_texture_begin = gr_stub_scene_texture_begin;
|
|
gr_screen.gf_scene_texture_end = gr_stub_scene_texture_end;
|
|
gr_screen.gf_copy_effect_texture = gr_stub_copy_effect_texture;
|
|
|
|
gr_screen.gf_deferred_lighting_begin = gr_stub_deferred_lighting_begin;
|
|
gr_screen.gf_deferred_lighting_end = gr_stub_deferred_lighting_end;
|
|
gr_screen.gf_deferred_lighting_finish = gr_stub_deferred_lighting_finish;
|
|
|
|
gr_screen.gf_start_clip_plane = gr_stub_start_clip_plane;
|
|
gr_screen.gf_end_clip_plane = gr_stub_end_clip_plane;
|
|
|
|
gr_screen.gf_lighting = gr_stub_set_lighting;
|
|
|
|
gr_screen.gf_set_proj_matrix = gr_stub_set_projection_matrix;
|
|
gr_screen.gf_end_proj_matrix = gr_stub_end_projection_matrix;
|
|
|
|
gr_screen.gf_set_view_matrix = gr_stub_set_view_matrix;
|
|
gr_screen.gf_end_view_matrix = gr_stub_end_view_matrix;
|
|
|
|
gr_screen.gf_push_scale_matrix = gr_stub_push_scale_matrix;
|
|
gr_screen.gf_pop_scale_matrix = gr_stub_pop_scale_matrix;
|
|
|
|
gr_screen.gf_set_line_width = gr_stub_set_line_width;
|
|
|
|
gr_screen.gf_sphere = gr_stub_draw_sphere;
|
|
|
|
gr_screen.gf_shadow_map_start = gr_stub_shadow_map_start;
|
|
gr_screen.gf_shadow_map_end = gr_stub_shadow_map_end;
|
|
|
|
gr_screen.gf_render_shield_impact = gr_stub_render_shield_impact;
|
|
|
|
gr_screen.gf_maybe_create_shader = gr_stub_maybe_create_shader;
|
|
|
|
gr_screen.gf_clear_states = gr_stub_clear_states;
|
|
|
|
gr_screen.gf_update_texture = gr_stub_update_texture;
|
|
gr_screen.gf_get_bitmap_from_texture = gr_stub_get_bitmap_from_texture;
|
|
|
|
gr_screen.gf_render_model = gr_stub_render_model;
|
|
gr_screen.gf_render_primitives = gr_stub_render_primitives;
|
|
gr_screen.gf_render_primitives_immediate = gr_stub_render_primitives_immediate;
|
|
gr_screen.gf_render_primitives_2d = gr_stub_render_primitives_2d;
|
|
gr_screen.gf_render_primitives_2d_immediate = gr_stub_render_primitives_2d_immediate;
|
|
gr_screen.gf_render_primitives_particle = gr_stub_render_primitives_particle;
|
|
gr_screen.gf_render_primitives_distortion = gr_stub_render_primitives_distortion;
|
|
|
|
gr_screen.gf_is_capable = gr_stub_is_capable;
|
|
|
|
gr_screen.gf_push_debug_group = gr_stub_push_debug_group;
|
|
gr_screen.gf_pop_debug_group = gr_stub_pop_debug_group;
|
|
|
|
gr_screen.gf_create_query_object = gr_stub_create_query_object;
|
|
gr_screen.gf_query_value = gr_stub_query_value;
|
|
gr_screen.gf_query_value_available = gr_stub_query_value_available;
|
|
gr_screen.gf_get_query_value = gr_stub_get_query_value;
|
|
gr_screen.gf_delete_query_object = gr_stub_delete_query_object;
|
|
|
|
gr_screen.gf_create_viewport = [](const os::ViewPortProperties& props) {
|
|
return std::unique_ptr<os::Viewport>();
|
|
};
|
|
gr_screen.gf_use_viewport = [](os::Viewport*) {
|
|
};
|
|
|
|
return true;
|
|
}
|