projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
server version check
[carveJwlIkooP6JGAAIwe30JlM.git]
/
gui.h
diff --git
a/gui.h
b/gui.h
index 5cfe468501b8bcb27fb9359f72d03beaca56d959..7c2dbb6e5f34e5ee0c795338a18650744881c9a8 100644
(file)
--- a/
gui.h
+++ b/
gui.h
@@
-11,6
+11,8
@@
enum gui_icon {
k_gui_icon_board,
k_gui_icon_world,
k_gui_icon_rift,
k_gui_icon_board,
k_gui_icon_world,
k_gui_icon_rift,
+ k_gui_icon_rift_run,
+ k_gui_icon_friend,
k_gui_icon_count,
};
k_gui_icon_count,
};
@@
-25,9
+27,13
@@
struct{
struct icon_call {
enum gui_icon icon;
v4f location;
struct icon_call {
enum gui_icon icon;
v4f location;
+ v4f colour;
+ int colour_changed;
}
icon_draw_buffer[32];
u32 icon_draw_count;
}
icon_draw_buffer[32];
u32 icon_draw_count;
+ v4f cur_icon_colour;
+ int colour_changed;
char location[64];
f64 location_time;
char location[64];
f64 location_time;
@@
-52,7
+58,7
@@
struct{
mdl_submesh *icons[ k_gui_icon_count ];
}
mdl_submesh *icons[ k_gui_icon_count ];
}
-static gui;
+static gui
= {.cur_icon_colour = {1.0f,1.0f,1.0f,1.0f},.colour_changed=1}
;
static
void gui_helper_action( const char *bindstr, const char *text ){
static
void gui_helper_action( const char *bindstr, const char *text ){
@@
-66,9
+72,7
@@
void gui_helper_action( const char *bindstr, const char *text ){
helper->text = text;
}
helper->text = text;
}
-static
-void gui_draw(void)
-{
+static void gui_draw(void){
if( v3_dist2(localplayer.rb.co,gui.trick_co) > 2.0f ){
gui.trick_type = k_guitrick_type_none;
}
if( v3_dist2(localplayer.rb.co,gui.trick_co) > 2.0f ){
gui.trick_type = k_guitrick_type_none;
}
@@
-121,13
+125,16
@@
void gui_draw(void)
m4x3_identity( mmdl );
shader_model_font_uMdl( mmdl );
m4x3_identity( mmdl );
shader_model_font_uMdl( mmdl );
- shader_model_font_uColour( (v4f){1.0f,1.0f,1.0f,1.0f} );
glActiveTexture( GL_TEXTURE0 );
glBindTexture( GL_TEXTURE_2D, gui.icons_texture );
shader_model_font_uTexMain( 0 );
for( u32 i=0; i<gui.icon_draw_count; i++ ){
struct icon_call *call = &gui.icon_draw_buffer[i];
glActiveTexture( GL_TEXTURE0 );
glBindTexture( GL_TEXTURE_2D, gui.icons_texture );
shader_model_font_uTexMain( 0 );
for( u32 i=0; i<gui.icon_draw_count; i++ ){
struct icon_call *call = &gui.icon_draw_buffer[i];
+
+ if( call->colour_changed )
+ shader_model_font_uColour( call->colour );
+
shader_model_font_uOffset( call->location );
mdl_submesh *sm = gui.icons[ call->icon ];
shader_model_font_uOffset( call->location );
mdl_submesh *sm = gui.icons[ call->icon ];
@@
-217,8
+224,7
@@
void gui_draw(void)
gui.helper_count = 0;
}
gui.helper_count = 0;
}
-static
-int gui_location_print_ccmd( int argc, const char *argv[] ){
+static int gui_location_print_ccmd( int argc, const char *argv[] ){
if( argc > 0 ){
char new_loc[64];
vg_str str;
if( argc > 0 ){
char new_loc[64];
vg_str str;
@@
-261,6
+267,15
@@
static void gui_draw_icon( enum gui_icon icon, v2f co, f32 size ){
call->location[1] = co[1] * (f32)vg.window_y;
call->location[2] = 0.0f;
call->location[3] = size * (f32)vg.window_x;
call->location[1] = co[1] * (f32)vg.window_y;
call->location[2] = 0.0f;
call->location[3] = size * (f32)vg.window_x;
+
+ v4_copy( gui.cur_icon_colour, call->colour );
+ call->colour_changed = gui.colour_changed;
+ gui.colour_changed = 0;
+}
+
+static void gui_icon_setcolour( v4f colour ){
+ gui.colour_changed = 1;
+ v4_copy( colour, gui.cur_icon_colour );
}
static mdl_submesh *gui_find_icon( const char *name ){
}
static mdl_submesh *gui_find_icon( const char *name ){
@@
-289,6
+304,8
@@
static void gui_init(void){
gui.icons[ k_gui_icon_board ] = gui_find_icon( "icon_board" );
gui.icons[ k_gui_icon_world ] = gui_find_icon( "icon_world" );
gui.icons[ k_gui_icon_rift ] = gui_find_icon( "icon_rift" );
gui.icons[ k_gui_icon_board ] = gui_find_icon( "icon_board" );
gui.icons[ k_gui_icon_world ] = gui_find_icon( "icon_world" );
gui.icons[ k_gui_icon_rift ] = gui_find_icon( "icon_rift" );
+ gui.icons[ k_gui_icon_rift_run ] = gui_find_icon( "icon_rift_run" );
+ gui.icons[ k_gui_icon_friend ] = gui_find_icon( "icon_friend" );
vg_linear_clear( vg_mem.scratch );
if( !mdl_arrcount( &gui.model_icons.textures ) )
vg_linear_clear( vg_mem.scratch );
if( !mdl_arrcount( &gui.model_icons.textures ) )