mirror of
https://gitlab.com/banjo.decomp/banjo-kazooie
synced 2026-09-13 04:25:10 -04:00
114 lines
3.8 KiB
C
114 lines
3.8 KiB
C
#ifndef BANJO_KAZOOIE_CORE1_CORE1_H
|
|
#define BANJO_KAZOOIE_CORE1_CORE1_H
|
|
|
|
#include <ultra64.h>
|
|
#include "bool.h"
|
|
#include "enums.h"
|
|
#include "structs.h"
|
|
#include "prop.h"
|
|
|
|
#include "core1/audiomanager.h"
|
|
#include "core1/bamotor.h"
|
|
#include "core1/debugtext.h"
|
|
#include "core1/defragthread.h"
|
|
#include "core1/depthbuffer.h"
|
|
#include "core1/eeprom.h"
|
|
#include "core1/framebufferdraw.h"
|
|
#include "core1/glcrc.h"
|
|
#include "core1/initthread.h"
|
|
#include "core1/lookup.h"
|
|
#include "core1/main.h"
|
|
#include "core1/mem.h"
|
|
#include "core1/ml.h"
|
|
#include "core1/mlmtx.h"
|
|
#include "core1/midichannel.h"
|
|
#include "core1/music.h"
|
|
#include "core1/musicplayer.h"
|
|
#include "core1/overlay.h"
|
|
#include "core1/overlaymanager.h"
|
|
#include "core1/parallel.h"
|
|
#include "core1/pfsmanager.h"
|
|
#include "core1/rarezip.h"
|
|
#include "core1/sns.h"
|
|
#include "core1/sprite.h"
|
|
#include "core1/stub_1D590.h"
|
|
#include "core1/thread5.h"
|
|
#include "core1/ucode.h"
|
|
#include "core1/viewport.h"
|
|
#include "core1/vimgr.h"
|
|
|
|
|
|
/* need to sort out in individual header files */
|
|
|
|
//void *defrag(void *);
|
|
|
|
void func_8025A104(enum comusic_e arg0, s32 arg1);
|
|
void func_8025A55C(s32 arg0, s32 arg1, s32 arg2);
|
|
s32 func_8025A864(enum comusic_e track_id);
|
|
void func_8025ABB8(enum comusic_e track_id, s32 arg1, s32 arg2, s32 arg3);
|
|
int comusic_isTrackQueued(enum comusic_e arg0);
|
|
|
|
|
|
/* src/core1/code_7090.c */
|
|
|
|
void core1_7090_alloc(void);
|
|
void core1_7090_release(void);
|
|
void core1_7090_initSfxSource(s32 idx, s32 lookup_idx, s32 sample_rate, f32 volume);
|
|
void core1_7090_freeSfxSource(int idx);
|
|
|
|
|
|
|
|
/* src/core1/code_15B30.c */
|
|
|
|
#define UCODE_TASK_TYPE_AUDIO 0
|
|
#define UCODE_TASK_TYPE_F3DEX 1
|
|
#define UCODE_TASK_TYPE_L3DEX 2
|
|
#define UCODE_TASK_TYPE_FRAMEBUFFER_CHANGED 7
|
|
|
|
struct ucode_task_data_s {
|
|
s32 task_type; // 0 - audio task, 1 - f3dex task, 2 - l3dex task, 7 - probably to signal framebuffers swapped
|
|
s32 unk4; // is only set for gfx tasks (0 or 0x40000000)
|
|
u64 *data_ptr; // begin of dlist data
|
|
u64 *data_ptr_end; // end of dlist data
|
|
OSMesgQueue *audio_mesg_queue; // only relevant for audio tasks
|
|
OSMesg audio_mesg; // only relevant for audio tasks
|
|
};
|
|
|
|
#define DEFAULT_FRAMEBUFFER_WIDTH 292
|
|
#define DEFAULT_FRAMEBUFFER_HEIGHT 216
|
|
|
|
extern s32 gFramebufferWidth;
|
|
extern s32 gFramebufferHeight;
|
|
extern u16 gFramebuffers[2][DEFAULT_FRAMEBUFFER_WIDTH * DEFAULT_FRAMEBUFFER_HEIGHT];
|
|
|
|
void core1_15B30_requestLockForTaskDataID(void);
|
|
void core1_15B30_requestReleaseForTaskDataID(void);
|
|
void core1_15B30_addAudioTaskData(Acmd *start, Acmd *end, OSMesgQueue *mesg_queue, OSMesg msg);
|
|
void setupFramebuffer(Gfx **gfx, void *color_buffer);
|
|
void setupFramebufferForGamemode(Gfx **gfx, s32 framebuffer_idx);
|
|
void setupScissorBoxAndFramebuffer(Gfx **gfx, void *color_buffer);
|
|
void setupDefaultScissorBoxAndFramebuffer(Gfx **gfx, s32 framebuffer_idx);
|
|
void core1_15B30_finishDList_renderThread(Gfx **gfx);
|
|
void core1_15B30_finishDList(Gfx **gfx);
|
|
void core1_15B30_addF3DEXTaskData(Gfx *start, Gfx *end, s32 flags);
|
|
void core1_15B30_addF3DEXTaskData_0(Gfx *start, Gfx *end);
|
|
void core1_15B30_addF3DEXTaskData_40000000(Gfx *start, Gfx *end);
|
|
void core1_15B30_addL3DEXTaskData(Gfx *start, Gfx *end, s32 flags);
|
|
void core1_15B30_addL3DEXTaskData_0(Gfx *start, Gfx *end);
|
|
void core1_15B30_addL3DEXTaskData_40000000(Gfx *start, Gfx *end);
|
|
void scissorBox_get(u32 *left, u32 *top, u32 *right, u32 *bottom);
|
|
void func_80253FE8(void);
|
|
void core1_15B30_sendMesg3ToRenderThread(void);
|
|
void core1_15B30_init(void);
|
|
void drawRectangle2D(Gfx **gfx, s32 x, s32 y, s32 w, s32 h, s32 r, s32 g, s32 b);
|
|
void graphicsCache_release(void);
|
|
void graphicsCache_init(void);
|
|
void scissorBox_set(s32 left, s32 top, s32 right, s32 bottom);
|
|
void scissorBox_setDefault(void);
|
|
void core1_15B30_addTask7TaskData(s32 framebuffer_id);
|
|
void core1_15B30_toggleTexturePointFilter(void);
|
|
void graphicscache_swapAndGetStacks(Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
|
void dummy_func_80254464(void);
|
|
|
|
#endif
|