Add 'src/s2d_engine/' from commit 'c27118308f2c910289943e564d47cd8378d224e8'

git-subtree-dir: src/s2d_engine
git-subtree-mainline: 932a4ddb6f
git-subtree-split: c27118308f
This commit is contained in:
farisawan-2000
2021-06-02 07:20:11 -04:00
36 changed files with 12933 additions and 0 deletions

2
src/s2d_engine/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
build/*

33
src/s2d_engine/Makefile Normal file
View File

@@ -0,0 +1,33 @@
# Makefile for s2d_engine.a
TARGET = s2d_engine.a
BUILD_DIR ?= build
DUMMY != mkdir -p $(BUILD_DIR)
C_FILES = $(wildcard ./*.c)
O_FILES = $(foreach file,$(C_FILES),$(BUILD_DIR)/$(file:.c=.o))
CROSS := mips-linux-gnu-
CC = $(CROSS)gcc
AR = $(CROSS)ar
INCLUDE_BASE := ../../
I_DIRS = src include/n64/PR include/n64 include/libc include .
FULL_I_DIRS = $(addprefix $(INCLUDE_BASE),$(I_DIRS))
I_FLAGS = $(foreach i,$(FULL_I_DIRS),-I$(i))
TARGET_CFLAGS = -nostdinc -I include/libc -DTARGET_N64 -DF3DEX_GBI_2 -DNON_MATCHING -DAVOID_UB
CFLAGS := -Wall $(TARGET_CFLAGS) $(I_FLAGS) -march=vr4300 -mtune=vr4300 -mfix4300 -mabi=32 -mno-shared -G 0 -fno-PIC -mno-abicalls -fno-zero-initialized-in-bss -fno-toplevel-reorder -Wno-missing-braces
default: all
all: $(BUILD_DIR)/$(TARGET)
$(BUILD_DIR)/$(TARGET): $(O_FILES)
$(AR) rcs -o $@ $(O_FILES)
$(BUILD_DIR)/%.o: %.c
$(CC) -c $(CFLAGS) -o $@ $<
print-% : ; $(info $* is a $(flavor $*) variable set to [$($*)]) @true

54
src/s2d_engine/README.md Normal file
View File

@@ -0,0 +1,54 @@
# S2DEX Text Engine
## How to "Install"
- Clone this repo into a folder in your SM64 decomp or homebrew repo
- Include that folder in your makefile's `SRC_DIRS`
- Add that folder to the linker script (`sm64.ld`) or specfile
- Wherever you're including your font (I use actors/group0.c for SM64), insert:
```c
#include "src/s2d_engine/config.h"
#include FONT_C_FILE
```
- You're ready to use S2DEX Text Engine!
## Simple Usage (Sample Program)
```c
#include "s2d_engine/init.h"
#include "s2d_engine/s2d_draw.h"
#include "s2d_engine/s2d_print.h"
char myString[] = "This is a " SCALE "200" "test string!\n"
"Supports a bunch of standard " ROTATE "-36" "escape characters!\n"
"\tIncluding " COLOR "255 0 0 0" "Colorful text!\n"
COLOR "255 255 255 0" DROPSHADOW "And look at these shadows!";
// ...
void render_game(void) {
// do game rendering and stuff
// ...
// initialized S2DEX; only needed once before all prints
s2d_init();
// Allows you to print from anywhere in the game
// as long as this is run directly afterwards
s2d_handle_deferred();
// reloads the original microcode; only needed once after all prints
s2d_stop();
}
void some_actor_function(void) {
s2d_print_deferred(50, 50, myString); // It's that easy!
}
```
## Command Usage
(All numbers must be in base 10)
- `SCALE "N"` - Scales text by an percentage (`25` for 25%, `200` for 200%, `-50` for upside down at 50%, etc.)
- `TRANSLATE "X Y"` - Moves the rest of the string to the specified X and Y position
- `COLOR "R G B A"` - Sets the text color to the specified value
- `DROPSHADOW` - Toggles a drop shadow that shares the color of the current text
- `ROTATE "N"` - (Deprecated due to plugin incompatibility) Rotates each glyph by N degrees (Can be negative, useful for italics)

96
src/s2d_engine/config.h Normal file
View File

@@ -0,0 +1,96 @@
#include <ultra64.h>
#ifndef S2D_CONFIG_H
#define S2D_CONFIG_H
/**
* SET YOUR FONT NAME HERE
*/
#define FONTNAME delfino
/***********
* Helpful defines to change
***********/
#define BASE_SCALE 1.0f
/******************************
*
* ONLY CHANGE THE BELOW CONTENTS IF YOU'RE DEVELOPING
* FOR A GAME THAT ISN'T SM64
*
*****************************/
// magic macros and font header inclusion
#define GLUE(a, b) a##b
#define GLUE2(a, b) GLUE(a, b)
#define STR(x) #x
#define STR2(x) STR(x)
#define __headername(hd) fonts/hd.h
#define __fontinclude(f) src/s2d_engine/fonts/f.c
#define _FONT_HEADER STR2(__headername(FONTNAME))
#define FONT_C_FILE STR2(__fontinclude(FONTNAME))
#include _FONT_HEADER
// get your font symbols defined here
#define s2d_font GLUE2(FONTNAME, _obj)
#define s2d_dropshadow GLUE2(FONTNAME, _obj_dropshadow)
#define s2d_tex GLUE2(FONTNAME, _tex)
#define s2d_kerning_table GLUE2(FONTNAME, _kerning_table)
extern char s2d_kerning_table[];
// Debug: bypass custom matrix setup
#define s2d_mat GLUE2(FONTNAME, _mtx)
// Homebrew users: use this to rename your gdl head
#define gdl_head gDisplayListHead
extern Gfx *gdl_head;
#include "src/game/game_init.h"
#define CONTROLLER_INPUT gPlayer1Controller->buttonPressed
#define CONTROLLER_HELD_INPUT gPlayer1Controller->buttonDown
// Other games/Homebrew users: change these values
// an allocator function of the format void *alloc(size_t bytes)
#define alloc alloc_display_list
extern void *alloc(size_t);
// your init functions for the RDP/RSP
#define my_rdp_init my_rdp_init
#define my_rsp_init my_rsp_init
extern void my_rsp_init(void);
extern void my_rdp_init(void);
// The frame timer that is used to time s2d_type_print
#define s2d_timer gGlobalTimer
extern u32 s2d_timer;
// The equivalent vsprintf in your game (defaults to libultra _Printf)
#define vsprintf(dst, str, fmt, args) _Printf(proutSprintf, dst, fmt, args)
extern char *proutSprintf(char *dst, const char *src, size_t count);
// tab glyph width and height
#define TAB_WIDTH_H TEX_WIDTH * 2
#define TAB_WIDTH_V TEX_WIDTH / 2
// Set these to optimize s2d texture "cache"
#define TEX_WIDTH 16
#define TEX_HEIGHT 16
#define TEX_BITDEPTH 8
#define seg2virt segmented_to_virtual
#define IS_RUNNING_ON_EMULATOR (IO_READ(DPC_PIPEBUSY_REG) == 0)
// Texture resolution (pixels on the texture per pixel on the framebuffer)
#define TEX_RES 1
#define _NUM_CACHE (4096 / (TEX_WIDTH * TEX_HEIGHT * (TEX_BITDEPTH / 8)))
#endif

15
src/s2d_engine/debug.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef DEBUG_H
#define DEBUG_H
// #define init_cond (CONTROLLER_HELD_INPUT & R_CBUTTONS)
// #define tex_cond (CONTROLLER_HELD_INPUT & D_CBUTTONS)
// #define mtx_cond (CONTROLLER_HELD_INPUT & L_TRIG)
// #define spr_cond (CONTROLLER_HELD_INPUT & U_JPAD)
// #define deinit_cond (CONTROLLER_HELD_INPUT & U_CBUTTONS)
#define tex_cond (1)
#define mtx_cond (1)
#define spr_cond (1)
#define init_cond (1)
#define deinit_cond (1)
#endif

92
src/s2d_engine/f3d_draw.c Normal file
View File

@@ -0,0 +1,92 @@
#include "config.h"
#include <ultra64.h>
#include "mtx.h"
#include "debug.h"
#include "s2d_draw.h"
#define s(sprite) ((uObjSprite *)seg2virt(&sprite))
#define t(texture) ((uObjTxtr *)seg2virt(&texture))
void f3d_rdp_init(void) {
gDPPipeSync(gdl_head++);
gDPSetCycleType(gdl_head++, G_CYC_1CYCLE);
gDPSetRenderMode(gdl_head++, G_RM_XLU_SPRITE, G_RM_XLU_SPRITE2);
gDPSetTextureLUT(gdl_head++, G_TT_NONE);
gDPSetTexturePersp(gdl_head++, G_TP_NONE);
gDPSetCombineLERP(gdl_head++,
0, 0, 0, ENVIRONMENT,
0, 0, 0, TEXEL0,
0, 0, 0, ENVIRONMENT,
0, 0, 0, TEXEL0
);
}
void setup_f3d_texture(int idx) {
gDPPipeSync(gdl_head++);
gDPSetEnvColor(gdl_head++, s2d_red, s2d_green, s2d_blue, s2d_alpha);
gDPLoadTextureBlock(
gdl_head++,
t(s2d_tex[idx])->block.image,
s(s2d_font)->s.imageFmt,
G_IM_SIZ_8b,
s(s2d_font)->s.imageW >> 5,
s(s2d_font)->s.imageH >> 5,
s(s2d_font)->s.imagePal,
G_TX_WRAP,
G_TX_WRAP,
G_TX_NOMASK,
G_TX_NOMASK,
G_TX_NOLOD,
G_TX_NOLOD);
gDPLoadSync(gdl_head++);
}
#define CLAMP_0(x) ((x < 0) ? 0 : x)
void texrect(int x, int y, float scale) {
#define qs510(n) ((s16)((n)*0x0400))
gSPScisTextureRectangle (
gdl_head++,
x << 2,
y << 2,
(u32)(x + ((f32) ((s(s2d_font)->s.imageW >> 5) - 1) * scale)) << 2,
(u32)(y + ((f32) ((s(s2d_font)->s.imageH >> 5) - 1) * scale)) << 2,
G_TX_RENDERTILE,
0,
0,
qs510(1.0f / myScale), qs510(1.0f / myScale));
}
void draw_f3d_dropshadow(char c, int x, int y, uObjMtx *ds) {
setup_f3d_texture(c);
if (s2d_red != 0
&& s2d_green != 0
&& s2d_blue != 0
) {
gDPPipeSync(gdl_head++);
gDPSetEnvColor(gdl_head++,
CLAMP_0(s2d_red - 100),
CLAMP_0(s2d_green - 100),
CLAMP_0(s2d_blue - 100),
s2d_alpha);
texrect(x, y, myScale);
gDPPipeSync(gdl_head++);
gDPSetEnvColor(gdl_head++, s2d_red, s2d_green, s2d_blue, s2d_alpha);
}
}
void draw_f3d_glyph(char c, int x, int y, uObjMtx *mt) {
setup_f3d_texture(c);
texrect(x, y, myScale);
gDPPipeSync(gdl_head++);
}
#undef s
#undef t

View File

@@ -0,0 +1,32 @@
#include <ultra64.h>
// jk i dont think this file is needed lol
// update: it was needed :(
// update 2: gu.h already has macros for this :(
// hopefully I'll only need s15.16
// ^ clueless
// Q to float
// To convert a number from Qm.n format to floating point:
// Convert the number to floating point as if it were an integer, in other words remove the binary point
// Multiply by 2^n
f32 qtof(int q, int decimal_n) {
f32 mul = (1.0f / (float) (1 << decimal_n));
return ((float)q) * mul;
}
// Float to Q
// To convert a number from floating point to Qm.n format:
// Multiply the floating point number by 2^n
// Round to the nearest integer
int ftoq(f32 f, int decimal_n) {
f *= (float) (1 << decimal_n);
return (int)f;
}

View File

@@ -0,0 +1,5 @@
#include <ultra64.h>
extern f32 qtof(int q);
extern int ftoq(f32 f);

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,136 @@
#include <PR/ultratypes.h>
#include <PR/gs2dex.h>
extern uObjTxtr comicsans_tex[];
extern uObjMtx comicsans_mtx;
extern uObjSprite comicsans_obj;
extern void call_comicsans_sprite_dl(int idx, int x, int y, uObjMtx *buffer, int buf_idx);
extern u8 comicsans_tex_0[];
extern u8 comicsans_tex_1[];
extern u8 comicsans_tex_2[];
extern u8 comicsans_tex_3[];
extern u8 comicsans_tex_4[];
extern u8 comicsans_tex_5[];
extern u8 comicsans_tex_6[];
extern u8 comicsans_tex_7[];
extern u8 comicsans_tex_8[];
extern u8 comicsans_tex_9[];
extern u8 comicsans_tex_10[];
extern u8 comicsans_tex_11[];
extern u8 comicsans_tex_12[];
extern u8 comicsans_tex_13[];
extern u8 comicsans_tex_14[];
extern u8 comicsans_tex_15[];
extern u8 comicsans_tex_16[];
extern u8 comicsans_tex_17[];
extern u8 comicsans_tex_18[];
extern u8 comicsans_tex_19[];
extern u8 comicsans_tex_20[];
extern u8 comicsans_tex_21[];
extern u8 comicsans_tex_22[];
extern u8 comicsans_tex_23[];
extern u8 comicsans_tex_24[];
extern u8 comicsans_tex_25[];
extern u8 comicsans_tex_26[];
extern u8 comicsans_tex_27[];
extern u8 comicsans_tex_28[];
extern u8 comicsans_tex_29[];
extern u8 comicsans_tex_30[];
extern u8 comicsans_tex_31[];
extern u8 comicsans_tex_32[];
extern u8 comicsans_tex_33[];
extern u8 comicsans_tex_34[];
extern u8 comicsans_tex_35[];
extern u8 comicsans_tex_36[];
extern u8 comicsans_tex_37[];
extern u8 comicsans_tex_38[];
extern u8 comicsans_tex_39[];
extern u8 comicsans_tex_40[];
extern u8 comicsans_tex_41[];
extern u8 comicsans_tex_42[];
extern u8 comicsans_tex_43[];
extern u8 comicsans_tex_44[];
extern u8 comicsans_tex_45[];
extern u8 comicsans_tex_46[];
extern u8 comicsans_tex_47[];
extern u8 comicsans_tex_48[];
extern u8 comicsans_tex_49[];
extern u8 comicsans_tex_50[];
extern u8 comicsans_tex_51[];
extern u8 comicsans_tex_52[];
extern u8 comicsans_tex_53[];
extern u8 comicsans_tex_54[];
extern u8 comicsans_tex_55[];
extern u8 comicsans_tex_56[];
extern u8 comicsans_tex_57[];
extern u8 comicsans_tex_58[];
extern u8 comicsans_tex_59[];
extern u8 comicsans_tex_60[];
extern u8 comicsans_tex_61[];
extern u8 comicsans_tex_62[];
extern u8 comicsans_tex_63[];
extern u8 comicsans_tex_64[];
extern u8 comicsans_tex_65[];
extern u8 comicsans_tex_66[];
extern u8 comicsans_tex_67[];
extern u8 comicsans_tex_68[];
extern u8 comicsans_tex_69[];
extern u8 comicsans_tex_70[];
extern u8 comicsans_tex_71[];
extern u8 comicsans_tex_72[];
extern u8 comicsans_tex_73[];
extern u8 comicsans_tex_74[];
extern u8 comicsans_tex_75[];
extern u8 comicsans_tex_76[];
extern u8 comicsans_tex_77[];
extern u8 comicsans_tex_78[];
extern u8 comicsans_tex_79[];
extern u8 comicsans_tex_80[];
extern u8 comicsans_tex_81[];
extern u8 comicsans_tex_82[];
extern u8 comicsans_tex_83[];
extern u8 comicsans_tex_84[];
extern u8 comicsans_tex_85[];
extern u8 comicsans_tex_86[];
extern u8 comicsans_tex_87[];
extern u8 comicsans_tex_88[];
extern u8 comicsans_tex_89[];
extern u8 comicsans_tex_90[];
extern u8 comicsans_tex_91[];
extern u8 comicsans_tex_92[];
extern u8 comicsans_tex_93[];
extern u8 comicsans_tex_94[];
extern u8 comicsans_tex_95[];
extern u8 comicsans_tex_96[];
extern u8 comicsans_tex_97[];
extern u8 comicsans_tex_98[];
extern u8 comicsans_tex_99[];
extern u8 comicsans_tex_100[];
extern u8 comicsans_tex_101[];
extern u8 comicsans_tex_102[];
extern u8 comicsans_tex_103[];
extern u8 comicsans_tex_104[];
extern u8 comicsans_tex_105[];
extern u8 comicsans_tex_106[];
extern u8 comicsans_tex_107[];
extern u8 comicsans_tex_108[];
extern u8 comicsans_tex_109[];
extern u8 comicsans_tex_110[];
extern u8 comicsans_tex_111[];
extern u8 comicsans_tex_112[];
extern u8 comicsans_tex_113[];
extern u8 comicsans_tex_114[];
extern u8 comicsans_tex_115[];
extern u8 comicsans_tex_116[];
extern u8 comicsans_tex_117[];
extern u8 comicsans_tex_118[];
extern u8 comicsans_tex_119[];
extern u8 comicsans_tex_120[];
extern u8 comicsans_tex_121[];
extern u8 comicsans_tex_122[];
extern u8 comicsans_tex_123[];
extern u8 comicsans_tex_124[];
extern u8 comicsans_tex_125[];
extern u8 comicsans_tex_126[];
extern u8 comicsans_tex_127[];
extern uObjSprite comicsans_obj_dropshadow;

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,136 @@
#include <PR/ultratypes.h>
#include <PR/gs2dex.h>
extern uObjTxtr delfino_tex[];
extern uObjMtx delfino_mtx;
extern uObjSprite delfino_obj;
extern void call_delfino_sprite_dl(int idx, int x, int y, uObjMtx *buffer, int buf_idx);
extern u8 delfino_tex_0[];
extern u8 delfino_tex_1[];
extern u8 delfino_tex_2[];
extern u8 delfino_tex_3[];
extern u8 delfino_tex_4[];
extern u8 delfino_tex_5[];
extern u8 delfino_tex_6[];
extern u8 delfino_tex_7[];
extern u8 delfino_tex_8[];
extern u8 delfino_tex_9[];
extern u8 delfino_tex_10[];
extern u8 delfino_tex_11[];
extern u8 delfino_tex_12[];
extern u8 delfino_tex_13[];
extern u8 delfino_tex_14[];
extern u8 delfino_tex_15[];
extern u8 delfino_tex_16[];
extern u8 delfino_tex_17[];
extern u8 delfino_tex_18[];
extern u8 delfino_tex_19[];
extern u8 delfino_tex_20[];
extern u8 delfino_tex_21[];
extern u8 delfino_tex_22[];
extern u8 delfino_tex_23[];
extern u8 delfino_tex_24[];
extern u8 delfino_tex_25[];
extern u8 delfino_tex_26[];
extern u8 delfino_tex_27[];
extern u8 delfino_tex_28[];
extern u8 delfino_tex_29[];
extern u8 delfino_tex_30[];
extern u8 delfino_tex_31[];
extern u8 delfino_tex_32[];
extern u8 delfino_tex_33[];
extern u8 delfino_tex_34[];
extern u8 delfino_tex_35[];
extern u8 delfino_tex_36[];
extern u8 delfino_tex_37[];
extern u8 delfino_tex_38[];
extern u8 delfino_tex_39[];
extern u8 delfino_tex_40[];
extern u8 delfino_tex_41[];
extern u8 delfino_tex_42[];
extern u8 delfino_tex_43[];
extern u8 delfino_tex_44[];
extern u8 delfino_tex_45[];
extern u8 delfino_tex_46[];
extern u8 delfino_tex_47[];
extern u8 delfino_tex_48[];
extern u8 delfino_tex_49[];
extern u8 delfino_tex_50[];
extern u8 delfino_tex_51[];
extern u8 delfino_tex_52[];
extern u8 delfino_tex_53[];
extern u8 delfino_tex_54[];
extern u8 delfino_tex_55[];
extern u8 delfino_tex_56[];
extern u8 delfino_tex_57[];
extern u8 delfino_tex_58[];
extern u8 delfino_tex_59[];
extern u8 delfino_tex_60[];
extern u8 delfino_tex_61[];
extern u8 delfino_tex_62[];
extern u8 delfino_tex_63[];
extern u8 delfino_tex_64[];
extern u8 delfino_tex_65[];
extern u8 delfino_tex_66[];
extern u8 delfino_tex_67[];
extern u8 delfino_tex_68[];
extern u8 delfino_tex_69[];
extern u8 delfino_tex_70[];
extern u8 delfino_tex_71[];
extern u8 delfino_tex_72[];
extern u8 delfino_tex_73[];
extern u8 delfino_tex_74[];
extern u8 delfino_tex_75[];
extern u8 delfino_tex_76[];
extern u8 delfino_tex_77[];
extern u8 delfino_tex_78[];
extern u8 delfino_tex_79[];
extern u8 delfino_tex_80[];
extern u8 delfino_tex_81[];
extern u8 delfino_tex_82[];
extern u8 delfino_tex_83[];
extern u8 delfino_tex_84[];
extern u8 delfino_tex_85[];
extern u8 delfino_tex_86[];
extern u8 delfino_tex_87[];
extern u8 delfino_tex_88[];
extern u8 delfino_tex_89[];
extern u8 delfino_tex_90[];
extern u8 delfino_tex_91[];
extern u8 delfino_tex_92[];
extern u8 delfino_tex_93[];
extern u8 delfino_tex_94[];
extern u8 delfino_tex_95[];
extern u8 delfino_tex_96[];
extern u8 delfino_tex_97[];
extern u8 delfino_tex_98[];
extern u8 delfino_tex_99[];
extern u8 delfino_tex_100[];
extern u8 delfino_tex_101[];
extern u8 delfino_tex_102[];
extern u8 delfino_tex_103[];
extern u8 delfino_tex_104[];
extern u8 delfino_tex_105[];
extern u8 delfino_tex_106[];
extern u8 delfino_tex_107[];
extern u8 delfino_tex_108[];
extern u8 delfino_tex_109[];
extern u8 delfino_tex_110[];
extern u8 delfino_tex_111[];
extern u8 delfino_tex_112[];
extern u8 delfino_tex_113[];
extern u8 delfino_tex_114[];
extern u8 delfino_tex_115[];
extern u8 delfino_tex_116[];
extern u8 delfino_tex_117[];
extern u8 delfino_tex_118[];
extern u8 delfino_tex_119[];
extern u8 delfino_tex_120[];
extern u8 delfino_tex_121[];
extern u8 delfino_tex_122[];
extern u8 delfino_tex_123[];
extern u8 delfino_tex_124[];
extern u8 delfino_tex_125[];
extern u8 delfino_tex_126[];
extern u8 delfino_tex_127[];
extern uObjSprite delfino_obj_dropshadow;

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,136 @@
#include <PR/ultratypes.h>
#include <PR/gs2dex.h>
extern uObjTxtr impact_tex[];
extern uObjMtx impact_mtx;
extern uObjSprite impact_obj;
extern void call_impact_sprite_dl(int idx, int x, int y, uObjMtx *buffer, int buf_idx);
extern u8 impact_tex_0[];
extern u8 impact_tex_1[];
extern u8 impact_tex_2[];
extern u8 impact_tex_3[];
extern u8 impact_tex_4[];
extern u8 impact_tex_5[];
extern u8 impact_tex_6[];
extern u8 impact_tex_7[];
extern u8 impact_tex_8[];
extern u8 impact_tex_9[];
extern u8 impact_tex_10[];
extern u8 impact_tex_11[];
extern u8 impact_tex_12[];
extern u8 impact_tex_13[];
extern u8 impact_tex_14[];
extern u8 impact_tex_15[];
extern u8 impact_tex_16[];
extern u8 impact_tex_17[];
extern u8 impact_tex_18[];
extern u8 impact_tex_19[];
extern u8 impact_tex_20[];
extern u8 impact_tex_21[];
extern u8 impact_tex_22[];
extern u8 impact_tex_23[];
extern u8 impact_tex_24[];
extern u8 impact_tex_25[];
extern u8 impact_tex_26[];
extern u8 impact_tex_27[];
extern u8 impact_tex_28[];
extern u8 impact_tex_29[];
extern u8 impact_tex_30[];
extern u8 impact_tex_31[];
extern u8 impact_tex_32[];
extern u8 impact_tex_33[];
extern u8 impact_tex_34[];
extern u8 impact_tex_35[];
extern u8 impact_tex_36[];
extern u8 impact_tex_37[];
extern u8 impact_tex_38[];
extern u8 impact_tex_39[];
extern u8 impact_tex_40[];
extern u8 impact_tex_41[];
extern u8 impact_tex_42[];
extern u8 impact_tex_43[];
extern u8 impact_tex_44[];
extern u8 impact_tex_45[];
extern u8 impact_tex_46[];
extern u8 impact_tex_47[];
extern u8 impact_tex_48[];
extern u8 impact_tex_49[];
extern u8 impact_tex_50[];
extern u8 impact_tex_51[];
extern u8 impact_tex_52[];
extern u8 impact_tex_53[];
extern u8 impact_tex_54[];
extern u8 impact_tex_55[];
extern u8 impact_tex_56[];
extern u8 impact_tex_57[];
extern u8 impact_tex_58[];
extern u8 impact_tex_59[];
extern u8 impact_tex_60[];
extern u8 impact_tex_61[];
extern u8 impact_tex_62[];
extern u8 impact_tex_63[];
extern u8 impact_tex_64[];
extern u8 impact_tex_65[];
extern u8 impact_tex_66[];
extern u8 impact_tex_67[];
extern u8 impact_tex_68[];
extern u8 impact_tex_69[];
extern u8 impact_tex_70[];
extern u8 impact_tex_71[];
extern u8 impact_tex_72[];
extern u8 impact_tex_73[];
extern u8 impact_tex_74[];
extern u8 impact_tex_75[];
extern u8 impact_tex_76[];
extern u8 impact_tex_77[];
extern u8 impact_tex_78[];
extern u8 impact_tex_79[];
extern u8 impact_tex_80[];
extern u8 impact_tex_81[];
extern u8 impact_tex_82[];
extern u8 impact_tex_83[];
extern u8 impact_tex_84[];
extern u8 impact_tex_85[];
extern u8 impact_tex_86[];
extern u8 impact_tex_87[];
extern u8 impact_tex_88[];
extern u8 impact_tex_89[];
extern u8 impact_tex_90[];
extern u8 impact_tex_91[];
extern u8 impact_tex_92[];
extern u8 impact_tex_93[];
extern u8 impact_tex_94[];
extern u8 impact_tex_95[];
extern u8 impact_tex_96[];
extern u8 impact_tex_97[];
extern u8 impact_tex_98[];
extern u8 impact_tex_99[];
extern u8 impact_tex_100[];
extern u8 impact_tex_101[];
extern u8 impact_tex_102[];
extern u8 impact_tex_103[];
extern u8 impact_tex_104[];
extern u8 impact_tex_105[];
extern u8 impact_tex_106[];
extern u8 impact_tex_107[];
extern u8 impact_tex_108[];
extern u8 impact_tex_109[];
extern u8 impact_tex_110[];
extern u8 impact_tex_111[];
extern u8 impact_tex_112[];
extern u8 impact_tex_113[];
extern u8 impact_tex_114[];
extern u8 impact_tex_115[];
extern u8 impact_tex_116[];
extern u8 impact_tex_117[];
extern u8 impact_tex_118[];
extern u8 impact_tex_119[];
extern u8 impact_tex_120[];
extern u8 impact_tex_121[];
extern u8 impact_tex_122[];
extern u8 impact_tex_123[];
extern u8 impact_tex_124[];
extern u8 impact_tex_125[];
extern u8 impact_tex_126[];
extern u8 impact_tex_127[];
extern uObjSprite impact_obj_dropshadow;

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,136 @@
#include <PR/ultratypes.h>
#include <PR/gs2dex.h>
extern uObjTxtr papyrus_tex[];
extern uObjMtx papyrus_mtx;
extern uObjSprite papyrus_obj;
extern void call_papyrus_sprite_dl(int idx, int x, int y, uObjMtx *buffer, int buf_idx);
extern u8 papyrus_tex_0[];
extern u8 papyrus_tex_1[];
extern u8 papyrus_tex_2[];
extern u8 papyrus_tex_3[];
extern u8 papyrus_tex_4[];
extern u8 papyrus_tex_5[];
extern u8 papyrus_tex_6[];
extern u8 papyrus_tex_7[];
extern u8 papyrus_tex_8[];
extern u8 papyrus_tex_9[];
extern u8 papyrus_tex_10[];
extern u8 papyrus_tex_11[];
extern u8 papyrus_tex_12[];
extern u8 papyrus_tex_13[];
extern u8 papyrus_tex_14[];
extern u8 papyrus_tex_15[];
extern u8 papyrus_tex_16[];
extern u8 papyrus_tex_17[];
extern u8 papyrus_tex_18[];
extern u8 papyrus_tex_19[];
extern u8 papyrus_tex_20[];
extern u8 papyrus_tex_21[];
extern u8 papyrus_tex_22[];
extern u8 papyrus_tex_23[];
extern u8 papyrus_tex_24[];
extern u8 papyrus_tex_25[];
extern u8 papyrus_tex_26[];
extern u8 papyrus_tex_27[];
extern u8 papyrus_tex_28[];
extern u8 papyrus_tex_29[];
extern u8 papyrus_tex_30[];
extern u8 papyrus_tex_31[];
extern u8 papyrus_tex_32[];
extern u8 papyrus_tex_33[];
extern u8 papyrus_tex_34[];
extern u8 papyrus_tex_35[];
extern u8 papyrus_tex_36[];
extern u8 papyrus_tex_37[];
extern u8 papyrus_tex_38[];
extern u8 papyrus_tex_39[];
extern u8 papyrus_tex_40[];
extern u8 papyrus_tex_41[];
extern u8 papyrus_tex_42[];
extern u8 papyrus_tex_43[];
extern u8 papyrus_tex_44[];
extern u8 papyrus_tex_45[];
extern u8 papyrus_tex_46[];
extern u8 papyrus_tex_47[];
extern u8 papyrus_tex_48[];
extern u8 papyrus_tex_49[];
extern u8 papyrus_tex_50[];
extern u8 papyrus_tex_51[];
extern u8 papyrus_tex_52[];
extern u8 papyrus_tex_53[];
extern u8 papyrus_tex_54[];
extern u8 papyrus_tex_55[];
extern u8 papyrus_tex_56[];
extern u8 papyrus_tex_57[];
extern u8 papyrus_tex_58[];
extern u8 papyrus_tex_59[];
extern u8 papyrus_tex_60[];
extern u8 papyrus_tex_61[];
extern u8 papyrus_tex_62[];
extern u8 papyrus_tex_63[];
extern u8 papyrus_tex_64[];
extern u8 papyrus_tex_65[];
extern u8 papyrus_tex_66[];
extern u8 papyrus_tex_67[];
extern u8 papyrus_tex_68[];
extern u8 papyrus_tex_69[];
extern u8 papyrus_tex_70[];
extern u8 papyrus_tex_71[];
extern u8 papyrus_tex_72[];
extern u8 papyrus_tex_73[];
extern u8 papyrus_tex_74[];
extern u8 papyrus_tex_75[];
extern u8 papyrus_tex_76[];
extern u8 papyrus_tex_77[];
extern u8 papyrus_tex_78[];
extern u8 papyrus_tex_79[];
extern u8 papyrus_tex_80[];
extern u8 papyrus_tex_81[];
extern u8 papyrus_tex_82[];
extern u8 papyrus_tex_83[];
extern u8 papyrus_tex_84[];
extern u8 papyrus_tex_85[];
extern u8 papyrus_tex_86[];
extern u8 papyrus_tex_87[];
extern u8 papyrus_tex_88[];
extern u8 papyrus_tex_89[];
extern u8 papyrus_tex_90[];
extern u8 papyrus_tex_91[];
extern u8 papyrus_tex_92[];
extern u8 papyrus_tex_93[];
extern u8 papyrus_tex_94[];
extern u8 papyrus_tex_95[];
extern u8 papyrus_tex_96[];
extern u8 papyrus_tex_97[];
extern u8 papyrus_tex_98[];
extern u8 papyrus_tex_99[];
extern u8 papyrus_tex_100[];
extern u8 papyrus_tex_101[];
extern u8 papyrus_tex_102[];
extern u8 papyrus_tex_103[];
extern u8 papyrus_tex_104[];
extern u8 papyrus_tex_105[];
extern u8 papyrus_tex_106[];
extern u8 papyrus_tex_107[];
extern u8 papyrus_tex_108[];
extern u8 papyrus_tex_109[];
extern u8 papyrus_tex_110[];
extern u8 papyrus_tex_111[];
extern u8 papyrus_tex_112[];
extern u8 papyrus_tex_113[];
extern u8 papyrus_tex_114[];
extern u8 papyrus_tex_115[];
extern u8 papyrus_tex_116[];
extern u8 papyrus_tex_117[];
extern u8 papyrus_tex_118[];
extern u8 papyrus_tex_119[];
extern u8 papyrus_tex_120[];
extern u8 papyrus_tex_121[];
extern u8 papyrus_tex_122[];
extern u8 papyrus_tex_123[];
extern u8 papyrus_tex_124[];
extern u8 papyrus_tex_125[];
extern u8 papyrus_tex_126[];
extern u8 papyrus_tex_127[];
extern uObjSprite papyrus_obj_dropshadow;

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,136 @@
#include <PR/ultratypes.h>
#include <PR/gs2dex.h>
extern uObjTxtr timesnewroman_tex[];
extern uObjMtx timesnewroman_mtx;
extern uObjSprite timesnewroman_obj;
extern void call_timesnewroman_sprite_dl(int idx, int x, int y, uObjMtx *buffer, int buf_idx);
extern u8 timesnewroman_tex_0[];
extern u8 timesnewroman_tex_1[];
extern u8 timesnewroman_tex_2[];
extern u8 timesnewroman_tex_3[];
extern u8 timesnewroman_tex_4[];
extern u8 timesnewroman_tex_5[];
extern u8 timesnewroman_tex_6[];
extern u8 timesnewroman_tex_7[];
extern u8 timesnewroman_tex_8[];
extern u8 timesnewroman_tex_9[];
extern u8 timesnewroman_tex_10[];
extern u8 timesnewroman_tex_11[];
extern u8 timesnewroman_tex_12[];
extern u8 timesnewroman_tex_13[];
extern u8 timesnewroman_tex_14[];
extern u8 timesnewroman_tex_15[];
extern u8 timesnewroman_tex_16[];
extern u8 timesnewroman_tex_17[];
extern u8 timesnewroman_tex_18[];
extern u8 timesnewroman_tex_19[];
extern u8 timesnewroman_tex_20[];
extern u8 timesnewroman_tex_21[];
extern u8 timesnewroman_tex_22[];
extern u8 timesnewroman_tex_23[];
extern u8 timesnewroman_tex_24[];
extern u8 timesnewroman_tex_25[];
extern u8 timesnewroman_tex_26[];
extern u8 timesnewroman_tex_27[];
extern u8 timesnewroman_tex_28[];
extern u8 timesnewroman_tex_29[];
extern u8 timesnewroman_tex_30[];
extern u8 timesnewroman_tex_31[];
extern u8 timesnewroman_tex_32[];
extern u8 timesnewroman_tex_33[];
extern u8 timesnewroman_tex_34[];
extern u8 timesnewroman_tex_35[];
extern u8 timesnewroman_tex_36[];
extern u8 timesnewroman_tex_37[];
extern u8 timesnewroman_tex_38[];
extern u8 timesnewroman_tex_39[];
extern u8 timesnewroman_tex_40[];
extern u8 timesnewroman_tex_41[];
extern u8 timesnewroman_tex_42[];
extern u8 timesnewroman_tex_43[];
extern u8 timesnewroman_tex_44[];
extern u8 timesnewroman_tex_45[];
extern u8 timesnewroman_tex_46[];
extern u8 timesnewroman_tex_47[];
extern u8 timesnewroman_tex_48[];
extern u8 timesnewroman_tex_49[];
extern u8 timesnewroman_tex_50[];
extern u8 timesnewroman_tex_51[];
extern u8 timesnewroman_tex_52[];
extern u8 timesnewroman_tex_53[];
extern u8 timesnewroman_tex_54[];
extern u8 timesnewroman_tex_55[];
extern u8 timesnewroman_tex_56[];
extern u8 timesnewroman_tex_57[];
extern u8 timesnewroman_tex_58[];
extern u8 timesnewroman_tex_59[];
extern u8 timesnewroman_tex_60[];
extern u8 timesnewroman_tex_61[];
extern u8 timesnewroman_tex_62[];
extern u8 timesnewroman_tex_63[];
extern u8 timesnewroman_tex_64[];
extern u8 timesnewroman_tex_65[];
extern u8 timesnewroman_tex_66[];
extern u8 timesnewroman_tex_67[];
extern u8 timesnewroman_tex_68[];
extern u8 timesnewroman_tex_69[];
extern u8 timesnewroman_tex_70[];
extern u8 timesnewroman_tex_71[];
extern u8 timesnewroman_tex_72[];
extern u8 timesnewroman_tex_73[];
extern u8 timesnewroman_tex_74[];
extern u8 timesnewroman_tex_75[];
extern u8 timesnewroman_tex_76[];
extern u8 timesnewroman_tex_77[];
extern u8 timesnewroman_tex_78[];
extern u8 timesnewroman_tex_79[];
extern u8 timesnewroman_tex_80[];
extern u8 timesnewroman_tex_81[];
extern u8 timesnewroman_tex_82[];
extern u8 timesnewroman_tex_83[];
extern u8 timesnewroman_tex_84[];
extern u8 timesnewroman_tex_85[];
extern u8 timesnewroman_tex_86[];
extern u8 timesnewroman_tex_87[];
extern u8 timesnewroman_tex_88[];
extern u8 timesnewroman_tex_89[];
extern u8 timesnewroman_tex_90[];
extern u8 timesnewroman_tex_91[];
extern u8 timesnewroman_tex_92[];
extern u8 timesnewroman_tex_93[];
extern u8 timesnewroman_tex_94[];
extern u8 timesnewroman_tex_95[];
extern u8 timesnewroman_tex_96[];
extern u8 timesnewroman_tex_97[];
extern u8 timesnewroman_tex_98[];
extern u8 timesnewroman_tex_99[];
extern u8 timesnewroman_tex_100[];
extern u8 timesnewroman_tex_101[];
extern u8 timesnewroman_tex_102[];
extern u8 timesnewroman_tex_103[];
extern u8 timesnewroman_tex_104[];
extern u8 timesnewroman_tex_105[];
extern u8 timesnewroman_tex_106[];
extern u8 timesnewroman_tex_107[];
extern u8 timesnewroman_tex_108[];
extern u8 timesnewroman_tex_109[];
extern u8 timesnewroman_tex_110[];
extern u8 timesnewroman_tex_111[];
extern u8 timesnewroman_tex_112[];
extern u8 timesnewroman_tex_113[];
extern u8 timesnewroman_tex_114[];
extern u8 timesnewroman_tex_115[];
extern u8 timesnewroman_tex_116[];
extern u8 timesnewroman_tex_117[];
extern u8 timesnewroman_tex_118[];
extern u8 timesnewroman_tex_119[];
extern u8 timesnewroman_tex_120[];
extern u8 timesnewroman_tex_121[];
extern u8 timesnewroman_tex_122[];
extern u8 timesnewroman_tex_123[];
extern u8 timesnewroman_tex_124[];
extern u8 timesnewroman_tex_125[];
extern u8 timesnewroman_tex_126[];
extern u8 timesnewroman_tex_127[];
extern uObjSprite timesnewroman_obj_dropshadow;

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,136 @@
#include <PR/ultratypes.h>
#include <PR/gs2dex.h>
extern uObjTxtr ubuntu_tex[];
extern uObjMtx ubuntu_mtx;
extern uObjSprite ubuntu_obj;
extern void call_ubuntu_sprite_dl(int idx, int x, int y, uObjMtx *buffer, int buf_idx);
extern u8 ubuntu_tex_0[];
extern u8 ubuntu_tex_1[];
extern u8 ubuntu_tex_2[];
extern u8 ubuntu_tex_3[];
extern u8 ubuntu_tex_4[];
extern u8 ubuntu_tex_5[];
extern u8 ubuntu_tex_6[];
extern u8 ubuntu_tex_7[];
extern u8 ubuntu_tex_8[];
extern u8 ubuntu_tex_9[];
extern u8 ubuntu_tex_10[];
extern u8 ubuntu_tex_11[];
extern u8 ubuntu_tex_12[];
extern u8 ubuntu_tex_13[];
extern u8 ubuntu_tex_14[];
extern u8 ubuntu_tex_15[];
extern u8 ubuntu_tex_16[];
extern u8 ubuntu_tex_17[];
extern u8 ubuntu_tex_18[];
extern u8 ubuntu_tex_19[];
extern u8 ubuntu_tex_20[];
extern u8 ubuntu_tex_21[];
extern u8 ubuntu_tex_22[];
extern u8 ubuntu_tex_23[];
extern u8 ubuntu_tex_24[];
extern u8 ubuntu_tex_25[];
extern u8 ubuntu_tex_26[];
extern u8 ubuntu_tex_27[];
extern u8 ubuntu_tex_28[];
extern u8 ubuntu_tex_29[];
extern u8 ubuntu_tex_30[];
extern u8 ubuntu_tex_31[];
extern u8 ubuntu_tex_32[];
extern u8 ubuntu_tex_33[];
extern u8 ubuntu_tex_34[];
extern u8 ubuntu_tex_35[];
extern u8 ubuntu_tex_36[];
extern u8 ubuntu_tex_37[];
extern u8 ubuntu_tex_38[];
extern u8 ubuntu_tex_39[];
extern u8 ubuntu_tex_40[];
extern u8 ubuntu_tex_41[];
extern u8 ubuntu_tex_42[];
extern u8 ubuntu_tex_43[];
extern u8 ubuntu_tex_44[];
extern u8 ubuntu_tex_45[];
extern u8 ubuntu_tex_46[];
extern u8 ubuntu_tex_47[];
extern u8 ubuntu_tex_48[];
extern u8 ubuntu_tex_49[];
extern u8 ubuntu_tex_50[];
extern u8 ubuntu_tex_51[];
extern u8 ubuntu_tex_52[];
extern u8 ubuntu_tex_53[];
extern u8 ubuntu_tex_54[];
extern u8 ubuntu_tex_55[];
extern u8 ubuntu_tex_56[];
extern u8 ubuntu_tex_57[];
extern u8 ubuntu_tex_58[];
extern u8 ubuntu_tex_59[];
extern u8 ubuntu_tex_60[];
extern u8 ubuntu_tex_61[];
extern u8 ubuntu_tex_62[];
extern u8 ubuntu_tex_63[];
extern u8 ubuntu_tex_64[];
extern u8 ubuntu_tex_65[];
extern u8 ubuntu_tex_66[];
extern u8 ubuntu_tex_67[];
extern u8 ubuntu_tex_68[];
extern u8 ubuntu_tex_69[];
extern u8 ubuntu_tex_70[];
extern u8 ubuntu_tex_71[];
extern u8 ubuntu_tex_72[];
extern u8 ubuntu_tex_73[];
extern u8 ubuntu_tex_74[];
extern u8 ubuntu_tex_75[];
extern u8 ubuntu_tex_76[];
extern u8 ubuntu_tex_77[];
extern u8 ubuntu_tex_78[];
extern u8 ubuntu_tex_79[];
extern u8 ubuntu_tex_80[];
extern u8 ubuntu_tex_81[];
extern u8 ubuntu_tex_82[];
extern u8 ubuntu_tex_83[];
extern u8 ubuntu_tex_84[];
extern u8 ubuntu_tex_85[];
extern u8 ubuntu_tex_86[];
extern u8 ubuntu_tex_87[];
extern u8 ubuntu_tex_88[];
extern u8 ubuntu_tex_89[];
extern u8 ubuntu_tex_90[];
extern u8 ubuntu_tex_91[];
extern u8 ubuntu_tex_92[];
extern u8 ubuntu_tex_93[];
extern u8 ubuntu_tex_94[];
extern u8 ubuntu_tex_95[];
extern u8 ubuntu_tex_96[];
extern u8 ubuntu_tex_97[];
extern u8 ubuntu_tex_98[];
extern u8 ubuntu_tex_99[];
extern u8 ubuntu_tex_100[];
extern u8 ubuntu_tex_101[];
extern u8 ubuntu_tex_102[];
extern u8 ubuntu_tex_103[];
extern u8 ubuntu_tex_104[];
extern u8 ubuntu_tex_105[];
extern u8 ubuntu_tex_106[];
extern u8 ubuntu_tex_107[];
extern u8 ubuntu_tex_108[];
extern u8 ubuntu_tex_109[];
extern u8 ubuntu_tex_110[];
extern u8 ubuntu_tex_111[];
extern u8 ubuntu_tex_112[];
extern u8 ubuntu_tex_113[];
extern u8 ubuntu_tex_114[];
extern u8 ubuntu_tex_115[];
extern u8 ubuntu_tex_116[];
extern u8 ubuntu_tex_117[];
extern u8 ubuntu_tex_118[];
extern u8 ubuntu_tex_119[];
extern u8 ubuntu_tex_120[];
extern u8 ubuntu_tex_121[];
extern u8 ubuntu_tex_122[];
extern u8 ubuntu_tex_123[];
extern u8 ubuntu_tex_124[];
extern u8 ubuntu_tex_125[];
extern u8 ubuntu_tex_126[];
extern u8 ubuntu_tex_127[];
extern uObjSprite ubuntu_obj_dropshadow;

Some files were not shown because too many files have changed in this diff Show More