clear runs when respawning
[carveJwlIkooP6JGAAIwe30JlM.git] / font.h
diff --git a/font.h b/font.h
index 1b94b9a664945c48f2627ec35120c8829d0dde8e..20f6454558ca9535e908fc23d39eefae8f01b497 100644 (file)
--- a/font.h
+++ b/font.h
@@ -158,7 +158,7 @@ VG_STATIC
 void font3d_begin( const char *text,
                    camera *cam, m4x3f transform, struct font3d_render *render )
 {
-   q_identity( render->offset );
+   v4_copy( (v4f){0.0f,0.0f,0.0f,1.0f}, render->offset );
 
    m4x4f prev_mtx;
    m4x3_expand( transform, prev_mtx );
@@ -174,14 +174,9 @@ void font3d_begin( const char *text,
    }
 
    render->u8pch = (u8*)text;
-
-#if 0
-   render->font = font;
-   render->variant_id = variant_id;
-#endif
 }
 
-VG_STATIC void font3d_setoffset( struct font3d_render *render, v3f offset ){
+VG_STATIC void font3d_setoffset( struct font3d_render *render, v4f offset ){
    if( render->shader == k_font_shader_default )
       shader_model_font_uOffset( offset );
    else if( render->shader == k_font_shader_world )
@@ -285,8 +280,10 @@ float font3d_string_width( font3d *font, u32 variant_id, const char *text )
 {
    if( !text ) return 0.0f;
    float width = 0.0f;
+
+   const u8 *buf = (const u8 *)text;
    for( int i=0;; i++ ){
-      u32 c = text[i];
+      u32 c = buf[i];
       if(!c) break;
 
       ent_glyph *glyph = font3d_glyph( font, variant_id, c );