Turned title font into a sprite sheet
| 
						 | 
				
			
			@ -237,7 +237,7 @@ SKY_TEXTURES                    := $(wildcard $(TEXTURE_DIR)/sky/*.png)
 | 
			
		|||
MACHINE_TEXTURES                := $(wildcard $(TEXTURE_DIR)/machine/*.png)
 | 
			
		||||
MOUNTAIN_TEXTURES               := $(wildcard $(TEXTURE_DIR)/mountain/*.png)
 | 
			
		||||
GRASS_TEXTURES                  := $(wildcard $(TEXTURE_DIR)/grass/*.png)
 | 
			
		||||
CUSTOM_FONT_TITLE_TEXTURES      := $(wildcard $(TEXTURE_DIR)/custom_font_title/*.png)
 | 
			
		||||
CUSTOM_FONT_TEXTURES            := $(wildcard $(TEXTURE_DIR)/custom_font/*.png)
 | 
			
		||||
 | 
			
		||||
# Texture Files
 | 
			
		||||
$(BUILD_DIR)/bin/segment2.o:          $(SEGMENT2_TEXTURES:%.png=$(BUILD_DIR)/%.inc.c)
 | 
			
		||||
| 
						 | 
				
			
			@ -255,7 +255,7 @@ $(BUILD_DIR)/bin/sky.o:               $(SKY_TEXTURES:%.png=$(BUILD_DIR)/%.inc.c)
 | 
			
		|||
$(BUILD_DIR)/bin/machine.o:           $(MACHINE_TEXTURES:%.png=$(BUILD_DIR)/%.inc.c)
 | 
			
		||||
$(BUILD_DIR)/bin/mountain.o:          $(MOUNTAIN_TEXTURES:%.png=$(BUILD_DIR)/%.inc.c)
 | 
			
		||||
$(BUILD_DIR)/bin/grass.o:             $(GRASS_TEXTURES:%.png=$(BUILD_DIR)/%.inc.c)
 | 
			
		||||
$(BUILD_DIR)/bin/custom_font_title.o: $(CUSTOM_FONT_TITLE_TEXTURES:%.png=$(BUILD_DIR)/%.inc.c)
 | 
			
		||||
$(BUILD_DIR)/bin/custom_font.o:       $(CUSTOM_FONT_TEXTURES:%.png=$(BUILD_DIR)/%.inc.c)
 | 
			
		||||
 | 
			
		||||
# Others
 | 
			
		||||
$(BUILD_DIR)/bin/segment2.elf:           SEGMENT_ADDRESS := 0x02000000
 | 
			
		||||
| 
						 | 
				
			
			@ -274,7 +274,7 @@ $(BUILD_DIR)/bin/sky.elf:                SEGMENT_ADDRESS := 0x09000000
 | 
			
		|||
$(BUILD_DIR)/bin/machine.elf:            SEGMENT_ADDRESS := 0x09000000
 | 
			
		||||
$(BUILD_DIR)/bin/mountain.elf:           SEGMENT_ADDRESS := 0x09000000
 | 
			
		||||
$(BUILD_DIR)/bin/grass.elf:              SEGMENT_ADDRESS := 0x09000000
 | 
			
		||||
$(BUILD_DIR)/bin/custom_font_title.elf:  SEGMENT_ADDRESS := 0x09000000
 | 
			
		||||
$(BUILD_DIR)/bin/custom_font.elf:  SEGMENT_ADDRESS := 0x09000000
 | 
			
		||||
 | 
			
		||||
# EU segment 19 translations
 | 
			
		||||
$(BUILD_DIR)/bin/eu/translation_de.elf:  SEGMENT_ADDRESS := 0x19000000
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										55
									
								
								bin/custom_font.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
#include <ultra64.h>
 | 
			
		||||
#include "sm64.h"
 | 
			
		||||
#include "game/ingame_menu.h"
 | 
			
		||||
#include "make_const_nonconst.h"
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const u8 texture_font_normal[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_normal.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const f32 font_normal_widths[] = {
 | 
			
		||||
/*        !        "        #        $        %        &        '        (        )        *        +        ,        -        .        /        */
 | 
			
		||||
    0.2200f, 0.3750f, 0.4375f, 0.3750f, 0.4375f, 0.5000f, 0.2500f, 0.3125f, 0.3125f, 0.3750f, 0.4375f, 0.2500f, 0.3750f, 0.2500f, 0.3125f,
 | 
			
		||||
/*        0        1        2        3        4        5        6        7        8        9        */
 | 
			
		||||
    0.4375f, 0.3800f, 0.4200f, 0.4375f, 0.4300f, 0.4375f, 0.4375f, 0.4000f, 0.4375f, 0.4375f,
 | 
			
		||||
/*        :        ;        <        =        >        ?        @         */
 | 
			
		||||
    0.2000f, 0.2500f, 0.3125f, 0.3750f, 0.3125f, 0.3125f, 0.5750f,
 | 
			
		||||
/*        A        B        C        D        E        F        G        H        I        J        K        L        M        N        O        P        Q        R        S        T        U        V        W        X        Y        Z        */
 | 
			
		||||
     0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3125f, 0.3750f, 0.3750f, 0.3125f, 0.3750f, 0.3750f, 0.3125f, 0.5000f, 0.5000f, 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3125f, 0.3750f, 0.3750f, 0.5000f, 0.4375f, 0.3750f, 0.3750f,
 | 
			
		||||
/*        [        \        ]        ^        _        `        */
 | 
			
		||||
    0.3125f, 0.3125f, 0.3125f, 0.3750f, 0.3750f, 0.2500f,
 | 
			
		||||
/*        a        b        c        d        e        f        g        h        i        j        k        l        m        n        o        p        q        r        s        t        u        v        w        x        y        z        */
 | 
			
		||||
    0.3000f, 0.3125f, 0.3125f, 0.3125f, 0.3125f, 0.3000f, 0.3750f, 0.3125f, 0.2200f, 0.3125f, 0.3125f, 0.1700f, 0.4350f, 0.3125f, 0.3000f, 0.3000f, 0.3125f, 0.2700f, 0.3125f, 0.3125f, 0.3125f, 0.2750f, 0.4375f, 0.3750f, 0.3125f, 0.3125f,
 | 
			
		||||
/*        {        |        }        ~      DEL        */
 | 
			
		||||
    0.3125f, 0.2500f, 0.3125f, 0.5000f, 0.2000f,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const u8 texture_font_title[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const f32 font_title_widths[] = {
 | 
			
		||||
/*      !      "      #      $      %      &      '      (      )      *      +      ,      -      .      /      */
 | 
			
		||||
    0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f,
 | 
			
		||||
/*      0      1      2      3      4      5      6      7      8      9      */
 | 
			
		||||
    0.45f, 0.35f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f,
 | 
			
		||||
/*      :      ;      <      =      >      ?      @      */
 | 
			
		||||
    0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f,
 | 
			
		||||
/*      A      B      C      D      E      F      G      H      I      J      K      L      M      N      O      P      Q      R      S      T      U      V      W      X      Y      Z      */
 | 
			
		||||
    0.55f, 0.50f, 0.50f, 0.50f, 0.45f, 0.45f, 0.50f, 0.55f, 0.28f, 0.60f, 0.50f, 0.45f, 0.55f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.55f, 0.50f, 0.50f, 0.50f, 0.60f, 0.52f, 0.60f, 0.45f,
 | 
			
		||||
/*      [      \      ]      ^      _      `      */
 | 
			
		||||
    0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f,
 | 
			
		||||
/*      a      b      c      d      e      f      g      h      i      j      k      l      m      n      o      p      q      r      s      t      u      v      w      x      y      z      */
 | 
			
		||||
    0.45f, 0.45f, 0.40f, 0.40f, 0.45f, 0.37f, 0.40f, 0.40f, 0.20f, 0.45f, 0.40f, 0.30f, 0.50f, 0.40f, 0.40f, 0.40f, 0.45f, 0.40f, 0.50f, 0.45f, 0.50f, 0.40f, 0.50f, 0.50f, 0.45f, 0.45f,
 | 
			
		||||
/*      {      |      }      ~    DEL      */
 | 
			
		||||
    0.50f, 0.50f, 0.50f, 0.50f, 0.50f,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
ALIGNED8 u8 texture_selectionbox_icon[] = {
 | 
			
		||||
#include "textures/segment2/custom_selectionbox_icon.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,499 +0,0 @@
 | 
			
		|||
#include <ultra64.h>
 | 
			
		||||
#include "sm64.h"
 | 
			
		||||
#include "game/ingame_menu.h"
 | 
			
		||||
#include "make_const_nonconst.h"
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_01[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_01.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_02[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_02.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_03[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_03.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_04[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_04.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_05[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_05.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_06[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_06.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_07[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_07.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_08[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_08.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_09[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_09.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_10[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_10.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_11[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_11.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_12[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_12.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_13[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_13.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_14[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_14.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_15[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_15.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_16[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_16.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_17[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_17.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_18[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_18.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_19[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_19.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_20[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_20.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_21[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_21.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_22[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_22.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_23[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_23.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_24[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_24.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_25[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_25.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_26[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_26.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_27[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_27.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_28[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_28.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_29[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_29.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_30[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_30.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_31[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_31.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_32[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_32.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_33[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_33.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_34[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_34.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_35[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_35.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_36[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_36.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_37[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_37.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_38[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_38.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_39[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_39.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_40[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_40.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_41[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_41.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_42[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_42.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_43[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_43.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_44[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_44.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_45[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_45.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_46[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_46.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_47[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_47.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_48[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_48.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_49[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_49.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_50[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_50.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_51[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_51.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_52[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_52.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_53[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_53.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_54[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_54.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_55[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_55.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_56[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_56.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_57[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_57.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_58[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_58.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_59[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_59.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_60[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_60.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_61[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_61.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_62[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_62.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_63[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_63.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_64[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_64.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_65[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_65.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_66[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_66.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_67[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_67.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_68[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_68.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_69[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_69.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_70[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_70.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_71[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_71.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_72[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_72.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_73[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_73.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_74[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_74.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_75[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_75.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_76[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_76.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_77[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_77.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_78[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_78.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_79[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_79.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_80[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_80.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_81[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_81.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_82[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_82.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_83[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_83.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_84[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_84.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_85[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_85.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_86[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_86.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_87[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_87.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_88[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_88.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_89[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_89.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_90[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_90.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_91[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_91.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_92[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_92.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_93[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_93.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_94[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_94.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 static const u8 texture_font_title_char_95[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_title_95.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const u8* const font_title_chars[] = {
 | 
			
		||||
    texture_font_title_char_01, // !
 | 
			
		||||
    texture_font_title_char_02, // "
 | 
			
		||||
    texture_font_title_char_03, // #
 | 
			
		||||
    texture_font_title_char_04, // $
 | 
			
		||||
    texture_font_title_char_05, // %
 | 
			
		||||
    texture_font_title_char_06, // &
 | 
			
		||||
    texture_font_title_char_07, // '
 | 
			
		||||
    texture_font_title_char_08, // (
 | 
			
		||||
    texture_font_title_char_09, // )
 | 
			
		||||
    texture_font_title_char_10, // *
 | 
			
		||||
    texture_font_title_char_11, // +
 | 
			
		||||
    texture_font_title_char_12, // ,
 | 
			
		||||
    texture_font_title_char_13, // -
 | 
			
		||||
    texture_font_title_char_14, // .
 | 
			
		||||
    texture_font_title_char_15, // /
 | 
			
		||||
    texture_font_title_char_16, // 0
 | 
			
		||||
    texture_font_title_char_17, // 1
 | 
			
		||||
    texture_font_title_char_18, // 2
 | 
			
		||||
    texture_font_title_char_19, // 3
 | 
			
		||||
    texture_font_title_char_20, // 4
 | 
			
		||||
    texture_font_title_char_21, // 5
 | 
			
		||||
    texture_font_title_char_22, // 6
 | 
			
		||||
    texture_font_title_char_23, // 7
 | 
			
		||||
    texture_font_title_char_24, // 8
 | 
			
		||||
    texture_font_title_char_25, // 9
 | 
			
		||||
    texture_font_title_char_26, // :
 | 
			
		||||
    texture_font_title_char_27, // ;
 | 
			
		||||
    texture_font_title_char_28, // <
 | 
			
		||||
    texture_font_title_char_29, // =
 | 
			
		||||
    texture_font_title_char_30, // >
 | 
			
		||||
    texture_font_title_char_31, // ?
 | 
			
		||||
    texture_font_title_char_32, // @
 | 
			
		||||
    texture_font_title_char_33, // A
 | 
			
		||||
    texture_font_title_char_34, // B
 | 
			
		||||
    texture_font_title_char_35, // C
 | 
			
		||||
    texture_font_title_char_36, // D
 | 
			
		||||
    texture_font_title_char_37, // E
 | 
			
		||||
    texture_font_title_char_38, // F
 | 
			
		||||
    texture_font_title_char_39, // G
 | 
			
		||||
    texture_font_title_char_40, // H
 | 
			
		||||
    texture_font_title_char_41, // I
 | 
			
		||||
    texture_font_title_char_42, // J
 | 
			
		||||
    texture_font_title_char_43, // K
 | 
			
		||||
    texture_font_title_char_44, // L
 | 
			
		||||
    texture_font_title_char_45, // M
 | 
			
		||||
    texture_font_title_char_46, // N
 | 
			
		||||
    texture_font_title_char_47, // O
 | 
			
		||||
    texture_font_title_char_48, // P
 | 
			
		||||
    texture_font_title_char_49, // Q
 | 
			
		||||
    texture_font_title_char_50, // R
 | 
			
		||||
    texture_font_title_char_51, // S
 | 
			
		||||
    texture_font_title_char_52, // T
 | 
			
		||||
    texture_font_title_char_53, // U
 | 
			
		||||
    texture_font_title_char_54, // V
 | 
			
		||||
    texture_font_title_char_55, // W
 | 
			
		||||
    texture_font_title_char_56, // X
 | 
			
		||||
    texture_font_title_char_57, // Y
 | 
			
		||||
    texture_font_title_char_58, // Z
 | 
			
		||||
    texture_font_title_char_59, // [
 | 
			
		||||
    texture_font_title_char_60, // \ //
 | 
			
		||||
    texture_font_title_char_61, // ]
 | 
			
		||||
    texture_font_title_char_62, // ^
 | 
			
		||||
    texture_font_title_char_63, // _
 | 
			
		||||
    texture_font_title_char_64, // `
 | 
			
		||||
    texture_font_title_char_65, // a
 | 
			
		||||
    texture_font_title_char_66, // b
 | 
			
		||||
    texture_font_title_char_67, // c
 | 
			
		||||
    texture_font_title_char_68, // d
 | 
			
		||||
    texture_font_title_char_69, // e
 | 
			
		||||
    texture_font_title_char_70, // f
 | 
			
		||||
    texture_font_title_char_71, // g
 | 
			
		||||
    texture_font_title_char_72, // h
 | 
			
		||||
    texture_font_title_char_73, // i
 | 
			
		||||
    texture_font_title_char_74, // j
 | 
			
		||||
    texture_font_title_char_75, // k
 | 
			
		||||
    texture_font_title_char_76, // l
 | 
			
		||||
    texture_font_title_char_77, // m
 | 
			
		||||
    texture_font_title_char_78, // n
 | 
			
		||||
    texture_font_title_char_79, // o
 | 
			
		||||
    texture_font_title_char_80, // p
 | 
			
		||||
    texture_font_title_char_81, // q
 | 
			
		||||
    texture_font_title_char_82, // r
 | 
			
		||||
    texture_font_title_char_83, // s
 | 
			
		||||
    texture_font_title_char_84, // t
 | 
			
		||||
    texture_font_title_char_85, // u
 | 
			
		||||
    texture_font_title_char_86, // v
 | 
			
		||||
    texture_font_title_char_87, // w
 | 
			
		||||
    texture_font_title_char_88, // x
 | 
			
		||||
    texture_font_title_char_89, // y
 | 
			
		||||
    texture_font_title_char_90, // z
 | 
			
		||||
    texture_font_title_char_91, // {
 | 
			
		||||
    texture_font_title_char_92, // |
 | 
			
		||||
    texture_font_title_char_93, // }
 | 
			
		||||
    texture_font_title_char_94, // ~
 | 
			
		||||
    texture_font_title_char_95, // DEL
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const f32 font_title_widths[] = {
 | 
			
		||||
/*      !      "      #      $      %      &      '      (      )      *      +      ,      -      .      /      */
 | 
			
		||||
    0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f,
 | 
			
		||||
/*      0      1      2      3      4      5      6      7      8      9      */
 | 
			
		||||
    0.45f, 0.35f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f, 0.45f,
 | 
			
		||||
/*      :      ;      <      =      >      ?      @      */
 | 
			
		||||
    0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f,
 | 
			
		||||
/*      A      B      C      D      E      F      G      H      I      J      K      L      M      N      O      P      Q      R      S      T      U      V      W      X      Y      Z      */
 | 
			
		||||
    0.55f, 0.50f, 0.50f, 0.50f, 0.45f, 0.45f, 0.50f, 0.55f, 0.28f, 0.60f, 0.50f, 0.45f, 0.55f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.55f, 0.50f, 0.50f, 0.50f, 0.60f, 0.52f, 0.60f, 0.45f,
 | 
			
		||||
/*      [      \      ]      ^      _      `      */
 | 
			
		||||
    0.50f, 0.50f, 0.50f, 0.50f, 0.50f, 0.50f,
 | 
			
		||||
/*      a      b      c      d      e      f      g      h      i      j      k      l      m      n      o      p      q      r      s      t      u      v      w      x      y      z      */
 | 
			
		||||
    0.45f, 0.45f, 0.40f, 0.40f, 0.45f, 0.37f, 0.40f, 0.40f, 0.20f, 0.45f, 0.40f, 0.30f, 0.50f, 0.40f, 0.40f, 0.40f, 0.45f, 0.40f, 0.50f, 0.45f, 0.50f, 0.40f, 0.50f, 0.50f, 0.45f, 0.45f,
 | 
			
		||||
/*      {      |      }      ~    DEL      */
 | 
			
		||||
    0.50f, 0.50f, 0.50f, 0.50f, 0.50f,
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										24
									
								
								bin/custom_textures.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
#include <ultra64.h>
 | 
			
		||||
#include "sm64.h"
 | 
			
		||||
#include "game/ingame_menu.h"
 | 
			
		||||
#include "make_const_nonconst.h"
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const Texture texture_hud_char_luigi_head[] = {
 | 
			
		||||
#include "textures/segment2/custom_luigi_head.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const Texture texture_hud_char_toad_head[] = {
 | 
			
		||||
#include "textures/segment2/custom_toad_head.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const Texture texture_hud_char_waluigi_head[] = {
 | 
			
		||||
#include "textures/segment2/custom_waluigi_head.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const Texture texture_hud_char_wario_head[] = {
 | 
			
		||||
#include "textures/segment2/custom_wario_head.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const Texture texture_shadow_spike_ext[] = {
 | 
			
		||||
#include "textures/segment2/shadow_spike_custom.ia8.inc.c"
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -90,7 +90,6 @@ ALIGNED8 static const u8 texture_hud_char_J[] = {
 | 
			
		|||
#include "textures/segment2/custom_hud_j.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if defined(VERSION_JP) || defined(VERSION_SH)
 | 
			
		||||
ALIGNED8 const Texture texture_hud_char_J[] = {
 | 
			
		||||
#include "textures/segment2/segment2.02600.rgba16.inc.c"
 | 
			
		||||
| 
						 | 
				
			
			@ -221,22 +220,6 @@ ALIGNED8 const Texture texture_hud_char_mario_head[] = {
 | 
			
		|||
#include "textures/segment2/segment2.05A00.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const Texture texture_hud_char_luigi_head[] = {
 | 
			
		||||
#include "textures/segment2/custom_luigi_head.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const Texture texture_hud_char_toad_head[] = {
 | 
			
		||||
#include "textures/segment2/custom_toad_head.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const Texture texture_hud_char_waluigi_head[] = {
 | 
			
		||||
#include "textures/segment2/custom_waluigi_head.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const Texture texture_hud_char_wario_head[] = {
 | 
			
		||||
#include "textures/segment2/custom_wario_head.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const Texture texture_hud_char_star[] = {
 | 
			
		||||
#include "textures/segment2/segment2.05C00.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -1829,6 +1812,12 @@ ALIGNED8 const Texture texture_hud_char_arrow_down[] = {
 | 
			
		|||
#include "textures/segment2/segment2.081D0.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// TODO: move these out of the font
 | 
			
		||||
extern ALIGNED8 const Texture texture_hud_char_luigi_head[];
 | 
			
		||||
extern ALIGNED8 const Texture texture_hud_char_toad_head[];
 | 
			
		||||
extern ALIGNED8 const Texture texture_hud_char_waluigi_head[];
 | 
			
		||||
extern ALIGNED8 const Texture texture_hud_char_wario_head[];
 | 
			
		||||
 | 
			
		||||
// Main HUD print table 0x02008250-0x02008337
 | 
			
		||||
const Texture *const main_hud_lut[] = {
 | 
			
		||||
#ifdef VERSION_EU
 | 
			
		||||
| 
						 | 
				
			
			@ -2590,10 +2579,6 @@ ALIGNED8 const Texture texture_shadow_quarter_square[] = {
 | 
			
		|||
#include "textures/segment2/shadow_quarter_square.ia8.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const Texture texture_shadow_spike_ext[] = {
 | 
			
		||||
#include "textures/segment2/shadow_spike_custom.ia8.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const Texture texture_transition_star_half[] = {
 | 
			
		||||
#include "textures/segment2/segment2.0F458.ia8.inc.c"
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -2686,6 +2671,7 @@ const Gfx dl_shadow_square[] = {
 | 
			
		|||
    gsSPEndDisplayList(),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern ALIGNED8 const Texture texture_shadow_spike_ext[];
 | 
			
		||||
const Gfx dl_shadow_spike_ext[] = {
 | 
			
		||||
    gsSPDisplayList(dl_shadow_begin),
 | 
			
		||||
    gsDPLoadTextureBlock(texture_shadow_spike_ext, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 16, 0, G_TX_WRAP | G_TX_MIRROR, G_TX_WRAP | G_TX_MIRROR, 4, 4, G_TX_NOLOD, G_TX_NOLOD),
 | 
			
		||||
| 
						 | 
				
			
			@ -3508,31 +3494,3 @@ const s16 seg2_painting_mesh_neighbor_tris[] = {
 | 
			
		|||
      3, 240, 242, 244,
 | 
			
		||||
      1, 243,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
ALIGNED8 const u8 texture_font_normal[] = {
 | 
			
		||||
#include "textures/custom_font_title/custom_font_normal.rgba32.inc.c"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const f32 font_normal_widths[] = {
 | 
			
		||||
/*        !        "        #        $        %        &        '        (        )        *        +        ,        -        .        /        */
 | 
			
		||||
    0.2200f, 0.3750f, 0.4375f, 0.3750f, 0.4375f, 0.5000f, 0.2500f, 0.3125f, 0.3125f, 0.3750f, 0.4375f, 0.2500f, 0.3750f, 0.2500f, 0.3125f,
 | 
			
		||||
/*        0        1        2        3        4        5        6        7        8        9        */
 | 
			
		||||
    0.4375f, 0.3800f, 0.4200f, 0.4375f, 0.4300f, 0.4375f, 0.4375f, 0.4000f, 0.4375f, 0.4375f,
 | 
			
		||||
/*        :        ;        <        =        >        ?        @         */
 | 
			
		||||
    0.2000f, 0.2500f, 0.3125f, 0.3750f, 0.3125f, 0.3125f, 0.5750f,
 | 
			
		||||
/*        A        B        C        D        E        F        G        H        I        J        K        L        M        N        O        P        Q        R        S        T        U        V        W        X        Y        Z        */
 | 
			
		||||
     0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3125f, 0.3750f, 0.3750f, 0.3125f, 0.3750f, 0.3750f, 0.3125f, 0.5000f, 0.5000f, 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3750f, 0.3125f, 0.3750f, 0.3750f, 0.5000f, 0.4375f, 0.3750f, 0.3750f,
 | 
			
		||||
/*        [        \        ]        ^        _        `        */
 | 
			
		||||
    0.3125f, 0.3125f, 0.3125f, 0.3750f, 0.3750f, 0.2500f,
 | 
			
		||||
/*        a        b        c        d        e        f        g        h        i        j        k        l        m        n        o        p        q        r        s        t        u        v        w        x        y        z        */
 | 
			
		||||
    0.3000f, 0.3125f, 0.3125f, 0.3125f, 0.3125f, 0.3000f, 0.3750f, 0.3125f, 0.2200f, 0.3125f, 0.3125f, 0.1700f, 0.4350f, 0.3125f, 0.3000f, 0.3000f, 0.3125f, 0.2700f, 0.3125f, 0.3125f, 0.3125f, 0.2750f, 0.4375f, 0.3750f, 0.3125f, 0.3125f,
 | 
			
		||||
/*        {        |        }        ~      DEL        */
 | 
			
		||||
    0.3125f, 0.2500f, 0.3125f, 0.5000f, 0.2000f,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ALIGNED8 u8 texture_selectionbox_icon[] = {
 | 
			
		||||
#include "textures/segment2/custom_selectionbox_icon.rgba16.inc.c"
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -64,7 +64,7 @@ struct DjuiBind* djui_bind_create(struct DjuiBase* parent, const char* message,
 | 
			
		|||
    djui_base_set_size_type(&text->base, DJUI_SVT_RELATIVE, DJUI_SVT_RELATIVE);
 | 
			
		||||
    djui_base_set_size(&text->base, 0.3f, 1.0f);
 | 
			
		||||
    djui_text_set_alignment(text, DJUI_HALIGN_LEFT, DJUI_VALIGN_BOTTOM);
 | 
			
		||||
    djui_text_set_drop_shadow(text, 255, 255, 255, 128);
 | 
			
		||||
    djui_text_set_drop_shadow(text, 64, 64, 64, 100);
 | 
			
		||||
    djui_base_set_color(&text->base, 200, 200, 200, 255);
 | 
			
		||||
    bind->text = text;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,7 +55,7 @@ struct DjuiButton* djui_button_create(struct DjuiBase* parent, const char* messa
 | 
			
		|||
    djui_base_set_size(&text->base, 1.0f, 1.0f);
 | 
			
		||||
    djui_base_set_color(&text->base, 11, 11, 11, 255);
 | 
			
		||||
    djui_text_set_alignment(text, DJUI_HALIGN_CENTER, DJUI_VALIGN_CENTER);
 | 
			
		||||
    djui_text_set_drop_shadow(text, 0, 0, 0, 64);
 | 
			
		||||
    djui_text_set_drop_shadow(text, 64, 64, 64, 100);
 | 
			
		||||
    button->text = text;
 | 
			
		||||
 | 
			
		||||
    djui_base_set_size_type(base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,7 +63,7 @@ struct DjuiCheckbox* djui_checkbox_create(struct DjuiBase* parent, const char* m
 | 
			
		|||
    djui_base_set_size_type(&text->base, DJUI_SVT_RELATIVE, DJUI_SVT_RELATIVE);
 | 
			
		||||
    djui_base_set_size(&text->base, 1.0f, 1.0f);
 | 
			
		||||
    djui_text_set_alignment(text, DJUI_HALIGN_LEFT, DJUI_VALIGN_BOTTOM);
 | 
			
		||||
    djui_text_set_drop_shadow(text, 255, 255, 255, 128);
 | 
			
		||||
    djui_text_set_drop_shadow(text, 64, 64, 64, 100);
 | 
			
		||||
    checkbox->text = text;
 | 
			
		||||
 | 
			
		||||
    struct DjuiRect* rect = djui_rect_create(&checkbox->base);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,13 +38,18 @@ static const struct DjuiFont sDjuiFontNormal = {
 | 
			
		|||
 // font 1 (custom title font) //
 | 
			
		||||
////////////////////////////////
 | 
			
		||||
 | 
			
		||||
static void djui_font_title_render_char(char* text) {
 | 
			
		||||
    char c = *text;
 | 
			
		||||
    extern const u8* const font_title_chars[];
 | 
			
		||||
static void djui_font_title_render_char(char* c) {
 | 
			
		||||
    // replace undisplayable characters
 | 
			
		||||
    if (c == ' ') { return; }
 | 
			
		||||
    c = djui_unicode_get_base_char(text);
 | 
			
		||||
    djui_gfx_render_texture(font_title_chars[c - '!'], 64, 64, 32);
 | 
			
		||||
    if (*c == ' ') { return; }
 | 
			
		||||
 | 
			
		||||
    u32 index = djui_unicode_get_sprite_index(c);
 | 
			
		||||
    if ((u8)*c < '!' || (u8)*c > '~' + 1) { index = djui_unicode_get_sprite_index("?"); }
 | 
			
		||||
 | 
			
		||||
    u32 tx = index % 16;
 | 
			
		||||
    u32 ty = index / 16;
 | 
			
		||||
 | 
			
		||||
    extern ALIGNED8 const u8 texture_font_title[];
 | 
			
		||||
    djui_gfx_render_texture_tile(texture_font_title, 1024, 512, 32, tx * 64 + 1, ty * 64, 64, 64);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static f32 djui_font_title_char_width(char* text) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -84,7 +84,7 @@ void djui_gfx_render_texture(const u8* texture, u32 w, u32 h, u32 bitSize) {
 | 
			
		|||
 | 
			
		||||
void djui_gfx_render_texture_tile(const u8* texture, u32 w, u32 h, u32 bitSize, u32 tileX, u32 tileY, u32 tileW, u32 tileH) {
 | 
			
		||||
    Vtx *vtx = alloc_display_list(sizeof(Vtx) * 4);
 | 
			
		||||
    f32 aspect = w ? ((f32)h / (f32)w) : 1;
 | 
			
		||||
    f32 aspect = tileH ? ((f32)tileW / (f32)tileH) : 1;
 | 
			
		||||
    vtx[0] = (Vtx) {{{ 0,          -1, 0 }, 0, { ( tileX          * 512) / w, ((tileY + tileH) * 512) / h }, { 0xff, 0xff, 0xff, 0xff }}};
 | 
			
		||||
    vtx[1] = (Vtx) {{{ 1 * aspect, -1, 0 }, 0, { ((tileX + tileW) * 512) / w, ((tileY + tileH) * 512) / h }, { 0xff, 0xff, 0xff, 0xff }}};
 | 
			
		||||
    vtx[2] = (Vtx) {{{ 1 * aspect,  0, 0 }, 0, { ((tileX + tileW) * 512) / w, ( tileY          * 512) / h }, { 0xff, 0xff, 0xff, 0xff }}};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -94,7 +94,7 @@ struct DjuiSelectionbox* djui_selectionbox_create(struct DjuiBase* parent, const
 | 
			
		|||
    djui_base_set_size_type(&text->base, DJUI_SVT_RELATIVE, DJUI_SVT_RELATIVE);
 | 
			
		||||
    djui_base_set_size(&text->base, 0.6f, 1.0f);
 | 
			
		||||
    djui_text_set_alignment(text, DJUI_HALIGN_LEFT, DJUI_VALIGN_BOTTOM);
 | 
			
		||||
    djui_text_set_drop_shadow(text, 255, 255, 255, 128);
 | 
			
		||||
    djui_text_set_drop_shadow(text, 64, 64, 64, 100);
 | 
			
		||||
    selectionbox->text = text;
 | 
			
		||||
 | 
			
		||||
    struct DjuiRect* rect = djui_rect_create(&selectionbox->base);
 | 
			
		||||
| 
						 | 
				
			
			@ -111,7 +111,7 @@ struct DjuiSelectionbox* djui_selectionbox_create(struct DjuiBase* parent, const
 | 
			
		|||
    djui_base_set_size_type(&rectText->base, DJUI_SVT_RELATIVE, DJUI_SVT_RELATIVE);
 | 
			
		||||
    djui_base_set_size(&rectText->base, 1.0f, 1.0f);
 | 
			
		||||
    djui_text_set_alignment(rectText, DJUI_HALIGN_LEFT, DJUI_VALIGN_BOTTOM);
 | 
			
		||||
    djui_text_set_drop_shadow(rectText, 255, 255, 255, 128);
 | 
			
		||||
    djui_text_set_drop_shadow(rectText, 64, 64, 64, 100);
 | 
			
		||||
    selectionbox->rectText = rectText;
 | 
			
		||||
 | 
			
		||||
    struct DjuiImage* rectImage = djui_image_create(&rect->base, texture_selectionbox_icon, 16, 16, 16);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -116,7 +116,7 @@ struct DjuiSlider* djui_slider_create(struct DjuiBase* parent, const char* messa
 | 
			
		|||
    djui_base_set_size_type(&text->base, DJUI_SVT_RELATIVE, DJUI_SVT_RELATIVE);
 | 
			
		||||
    djui_base_set_size(&text->base, 0.6f, 1.0f);
 | 
			
		||||
    djui_text_set_alignment(text, DJUI_HALIGN_LEFT, DJUI_VALIGN_BOTTOM);
 | 
			
		||||
    djui_text_set_drop_shadow(text, 255, 255, 255, 128);
 | 
			
		||||
    djui_text_set_drop_shadow(text, 64, 64, 64, 100);
 | 
			
		||||
    slider->text = text;
 | 
			
		||||
 | 
			
		||||
    struct DjuiRect* rect = djui_rect_create(&slider->base);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -202,7 +202,7 @@ void produce_interpolation_frames_and_delay(void) {
 | 
			
		|||
    sFrameTargetTime += sFrameTime * gGameSpeed;
 | 
			
		||||
    gRenderingInterpolated = false;
 | 
			
		||||
 | 
			
		||||
    printf(">>> fpt: %llu, fps: %f :: %f\n", frames, sAvgFps, fps);
 | 
			
		||||
    //printf(">>> fpt: %llu, fps: %f :: %f\n", frames, sAvgFps, fps);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void produce_one_frame(void) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
		 Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								textures/custom_font/custom_font_title.rgba32.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 65 KiB  | 
| 
		 Before Width: | Height: | Size: 480 B  | 
| 
		 Before Width: | Height: | Size: 663 B  | 
| 
		 Before Width: | Height: | Size: 1 KiB  | 
| 
		 Before Width: | Height: | Size: 1.1 KiB  | 
| 
		 Before Width: | Height: | Size: 973 B  | 
| 
		 Before Width: | Height: | Size: 992 B  | 
| 
		 Before Width: | Height: | Size: 512 B  | 
| 
		 Before Width: | Height: | Size: 893 B  | 
| 
		 Before Width: | Height: | Size: 896 B  | 
| 
		 Before Width: | Height: | Size: 722 B  | 
| 
		 Before Width: | Height: | Size: 646 B  | 
| 
		 Before Width: | Height: | Size: 507 B  | 
| 
		 Before Width: | Height: | Size: 365 B  | 
| 
		 Before Width: | Height: | Size: 405 B  | 
| 
		 Before Width: | Height: | Size: 646 B  | 
| 
		 Before Width: | Height: | Size: 778 B  | 
| 
		 Before Width: | Height: | Size: 717 B  | 
| 
		 Before Width: | Height: | Size: 712 B  | 
| 
		 Before Width: | Height: | Size: 773 B  | 
| 
		 Before Width: | Height: | Size: 824 B  | 
| 
		 Before Width: | Height: | Size: 767 B  | 
| 
		 Before Width: | Height: | Size: 709 B  | 
| 
		 Before Width: | Height: | Size: 664 B  | 
| 
		 Before Width: | Height: | Size: 734 B  | 
| 
		 Before Width: | Height: | Size: 744 B  | 
| 
		 Before Width: | Height: | Size: 534 B  | 
| 
		 Before Width: | Height: | Size: 690 B  | 
| 
		 Before Width: | Height: | Size: 511 B  | 
| 
		 Before Width: | Height: | Size: 494 B  | 
| 
		 Before Width: | Height: | Size: 518 B  | 
| 
		 Before Width: | Height: | Size: 785 B  | 
| 
		 Before Width: | Height: | Size: 1.2 KiB  | 
| 
		 Before Width: | Height: | Size: 667 B  | 
| 
		 Before Width: | Height: | Size: 796 B  | 
| 
		 Before Width: | Height: | Size: 739 B  | 
| 
		 Before Width: | Height: | Size: 781 B  | 
| 
		 Before Width: | Height: | Size: 619 B  | 
| 
		 Before Width: | Height: | Size: 781 B  | 
| 
		 Before Width: | Height: | Size: 639 B  | 
| 
		 Before Width: | Height: | Size: 730 B  | 
| 
		 Before Width: | Height: | Size: 557 B  | 
| 
		 Before Width: | Height: | Size: 706 B  | 
| 
		 Before Width: | Height: | Size: 898 B  | 
| 
		 Before Width: | Height: | Size: 751 B  | 
| 
		 Before Width: | Height: | Size: 943 B  | 
| 
		 Before Width: | Height: | Size: 785 B  | 
| 
		 Before Width: | Height: | Size: 609 B  | 
| 
		 Before Width: | Height: | Size: 754 B  | 
| 
		 Before Width: | Height: | Size: 773 B  | 
| 
		 Before Width: | Height: | Size: 829 B  | 
| 
		 Before Width: | Height: | Size: 803 B  | 
| 
		 Before Width: | Height: | Size: 551 B  | 
| 
		 Before Width: | Height: | Size: 458 B  | 
| 
		 Before Width: | Height: | Size: 876 B  | 
| 
		 Before Width: | Height: | Size: 1,017 B  | 
| 
		 Before Width: | Height: | Size: 854 B  | 
| 
		 Before Width: | Height: | Size: 800 B  | 
| 
		 Before Width: | Height: | Size: 771 B  | 
| 
		 Before Width: | Height: | Size: 622 B  | 
| 
		 Before Width: | Height: | Size: 928 B  | 
| 
		 Before Width: | Height: | Size: 610 B  | 
| 
		 Before Width: | Height: | Size: 653 B  | 
| 
		 Before Width: | Height: | Size: 438 B  | 
| 
		 Before Width: | Height: | Size: 453 B  | 
| 
		 Before Width: | Height: | Size: 847 B  | 
| 
		 Before Width: | Height: | Size: 818 B  | 
| 
		 Before Width: | Height: | Size: 583 B  | 
| 
		 Before Width: | Height: | Size: 835 B  | 
| 
		 Before Width: | Height: | Size: 757 B  | 
| 
		 Before Width: | Height: | Size: 753 B  | 
| 
		 Before Width: | Height: | Size: 871 B  | 
| 
		 Before Width: | Height: | Size: 567 B  | 
| 
		 Before Width: | Height: | Size: 520 B  | 
| 
		 Before Width: | Height: | Size: 822 B  | 
| 
		 Before Width: | Height: | Size: 906 B  | 
| 
		 Before Width: | Height: | Size: 508 B  | 
| 
		 Before Width: | Height: | Size: 734 B  | 
| 
		 Before Width: | Height: | Size: 543 B  | 
| 
		 Before Width: | Height: | Size: 538 B  | 
| 
		 Before Width: | Height: | Size: 813 B  | 
| 
		 Before Width: | Height: | Size: 921 B  | 
| 
		 Before Width: | Height: | Size: 638 B  | 
| 
		 Before Width: | Height: | Size: 623 B  | 
| 
		 Before Width: | Height: | Size: 646 B  | 
| 
		 Before Width: | Height: | Size: 538 B  |