You've already forked HackerSM64
mirror of
https://github.com/HackerN64/HackerSM64.git
synced 2026-01-21 10:35:32 -08:00
Compare commits
14 Commits
v2.0.3
...
revert-420
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b901a6f4a8 | ||
|
|
4a3ef802d5 | ||
|
|
4b9a0b89a0 | ||
|
|
3ac257e6fb | ||
|
|
cc92b33676 | ||
|
|
8163bc4837 | ||
|
|
9f2f4a27b6 | ||
|
|
448d18de2b | ||
|
|
c4a23d0036 | ||
|
|
f061076a4f | ||
|
|
8f2b9c8979 | ||
|
|
056e319105 | ||
|
|
6bd3988dd8 | ||
|
|
fe8384a440 |
@@ -27,6 +27,7 @@ const Gfx bubble_seg4_dl_0401DD60[] = {
|
||||
gsSPVertex(bubble_seg4_vertex_0401CD20, 4, 0),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
@@ -40,6 +41,7 @@ const Gfx bubble_seg4_dl_0401DDE0[] = {
|
||||
gsSPVertex(bubble_seg4_vertex_0401CD20, 4, 0),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
@@ -123,6 +123,7 @@ const Gfx coin_seg3_dl_start[] = {
|
||||
const Gfx coin_seg3_dl_end[] = {
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -503,6 +504,7 @@ const Gfx coin_seg3_sub_dl_begin[] = {
|
||||
const Gfx coin_seg3_sub_dl_end[] = {
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsSPEndDisplayList(),
|
||||
|
||||
@@ -24,6 +24,7 @@ const Gfx leaves_seg3_dl_0301CDE0[] = {
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
@@ -36,11 +36,13 @@ const Gfx mr_i_eyeball_seg6_dl_06002080[] = {
|
||||
gsDPLoadSync(),
|
||||
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mr_i_eyeball_seg6_texture_06001080),
|
||||
gsDPLoadSync(),
|
||||
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
|
||||
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
@@ -40,6 +40,7 @@ const Gfx mr_i_iris_seg6_dl_06004170[] = {
|
||||
gsSPVertex(mr_i_iris_seg6_vertex_06002130, 4, 0),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
@@ -23,6 +23,7 @@ const Gfx sand_seg3_dl_particle[] = {
|
||||
gsSPVertex(sand_seg3_vertex_billboard_16x16, 4, 0),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsSPEndDisplayList(),
|
||||
|
||||
@@ -50,6 +50,7 @@ const Gfx sparkles_seg4_dl_0402A490[] = {
|
||||
gsSPVertex(sparkles_seg4_vertex_04027450, 4, 0),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
@@ -47,6 +47,7 @@ const Gfx sparkles_animation_seg4_dl_04035288[] = {
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
@@ -46,6 +46,7 @@ const Gfx transparent_star_seg3_dl_body[] = {
|
||||
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
|
||||
gsDPSetEnvColor(255, 255, 255, 120),
|
||||
gsSPDisplayList(transparent_star_seg3_sub_dl_body),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetEnvColor(255, 255, 255, 255),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
|
||||
@@ -56,6 +56,7 @@ const Gfx smoke_seg4_dl_040216A0[] = {
|
||||
gsSPVertex(smoke_seg4_vertex_0401DE60, 4, 0),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsSPEndDisplayList(),
|
||||
|
||||
@@ -61,6 +61,7 @@ const Gfx water_splash_seg4_dl_040325C8[] = {
|
||||
gsSPVertex(water_splash_seg4_vertex_0402A588, 4, 0),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsSPEndDisplayList(),
|
||||
|
||||
@@ -17,7 +17,11 @@
|
||||
.ascii INTERNAL_ROM_NAME /* Internal ROM name */
|
||||
.word 0x00000000 /* Unknown */
|
||||
.word 0x0000004E /* Cartridge */
|
||||
#if defined(EEP4K)
|
||||
.ascii "SM" /* Cartridge ID */
|
||||
#else
|
||||
.ascii "ED" /* Cartridge ID */
|
||||
#endif
|
||||
|
||||
/* Region */
|
||||
#if defined(VERSION_JP) || defined(VERSION_SH)
|
||||
|
||||
23
asm/vc_bin.s
Normal file
23
asm/vc_bin.s
Normal file
@@ -0,0 +1,23 @@
|
||||
// VC is using binary matching to stub functions - this hex was copied from SM64
|
||||
// osEepromRead/Write are performing infinite cycle inside them which causes recompiler do go crazy
|
||||
// _osEepStatus does not have any suspicious asm in it but it is just VC hacked anyways
|
||||
// If it is not replaced with a VC variant, EEP probe fails
|
||||
|
||||
.include "macros.inc"
|
||||
.section .text
|
||||
|
||||
#if defined(EEP)
|
||||
// 0x80329150 = 0xE4150
|
||||
.balign 16
|
||||
glabel osEepromReadVC
|
||||
.incbin "bin/vc/osEepromReadVC.bin"
|
||||
|
||||
// 0x80328af0 = 0xE3AF0
|
||||
.balign 16
|
||||
glabel osEepromWriteVC
|
||||
.incbin "bin/vc/osEepromWriteVC.bin"
|
||||
|
||||
.balign 16
|
||||
glabel __osEepStatusVC
|
||||
.incbin "bin/vc/osEepStatusVC.bin"
|
||||
#endif
|
||||
@@ -130,6 +130,7 @@ const Gfx tiny_bubble_dl_0B006A50[] = {
|
||||
// 0x0B006AB0 - 0x0B006AD8
|
||||
const Gfx tiny_bubble_dl_0B006AB0[] = {
|
||||
gsSPTexture(0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
|
||||
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK | G_SHADING_SMOOTH),
|
||||
|
||||
@@ -2328,6 +2328,7 @@ const Gfx dl_draw_triangle[] = {
|
||||
gsSPVertex(vertex_triangle, 3, 0),
|
||||
gsSP1Triangle( 0, 1, 2, 0x0),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
|
||||
BIN
bin/vc/osEepStatusVC.bin
Normal file
BIN
bin/vc/osEepStatusVC.bin
Normal file
Binary file not shown.
BIN
bin/vc/osEepromReadVC.bin
Normal file
BIN
bin/vc/osEepromReadVC.bin
Normal file
Binary file not shown.
BIN
bin/vc/osEepromWriteVC.bin
Normal file
BIN
bin/vc/osEepromWriteVC.bin
Normal file
Binary file not shown.
@@ -4,12 +4,32 @@
|
||||
* AUDIO SETTINGS *
|
||||
******************/
|
||||
|
||||
// Fixes the castle music sometimes triggering after getting a dialog
|
||||
/**
|
||||
* Fixes the castle music sometimes triggering after getting a dialog.
|
||||
*/
|
||||
#define CASTLE_MUSIC_FIX
|
||||
|
||||
// Increase audio heap size to allow for more concurrent notes to be played and for more custom sequences/banks to be imported (not supported for SH)
|
||||
/**
|
||||
* Increase audio heap size to allow for larger/more custom sequences/banks/sfx to be imported without causing issues (not supported for SH).
|
||||
*/
|
||||
#define EXPAND_AUDIO_HEAP
|
||||
|
||||
// Use a much better implementation of reverb over vanilla's fake echo reverb. Great for caves or eerie levels, as well as just a better audio experience in general.
|
||||
// Reverb parameters can be configured in audio/synthesis.c to meet desired aesthetic/performance needs. Currently US/JP only. Hurts emulator and console performance.
|
||||
//#define BETTER_REVERB
|
||||
/**
|
||||
* The maximum number of notes (sfx inclusive) that can sound at any given time (not supported for SH).
|
||||
* Lower values may cause notes to get cut more easily but can potentially improve performance slightly.
|
||||
* Lower values may cause problems with streamed audio if a sequence used for it is missing channel priority data.
|
||||
* Vanilla by default only generally allocates 16 or 20 notes at once. Memory usage is always determined by the largest of the two values here (~7200 bytes per US/JP note).
|
||||
*/
|
||||
#define MAX_SIMULTANEOUS_NOTES_EMULATOR 40
|
||||
#define MAX_SIMULTANEOUS_NOTES_CONSOLE 24
|
||||
|
||||
/**
|
||||
* Use a much better implementation of reverb over vanilla's fake echo reverb. Great for caves or eerie levels, as well as just a better audio experience in general.
|
||||
* Reverb parameters can be configured in audio/synthesis.c to meet desired aesthetic/performance needs. Currently US/JP only. Hurts emulator and console performance.
|
||||
*/
|
||||
// #define BETTER_REVERB
|
||||
|
||||
/**
|
||||
* Do not restart the music on cap grabs
|
||||
*/
|
||||
#define PERSISTENT_CAP_MUSIC
|
||||
|
||||
@@ -10,6 +10,46 @@
|
||||
*/
|
||||
|
||||
|
||||
/*****************
|
||||
* config_audio
|
||||
*/
|
||||
|
||||
#ifndef MAX_SIMULTANEOUS_NOTES_EMULATOR
|
||||
#ifdef EXPAND_AUDIO_HEAP
|
||||
#define MAX_SIMULTANEOUS_NOTES_EMULATOR 40
|
||||
#else
|
||||
#define MAX_SIMULTANEOUS_NOTES_EMULATOR 20
|
||||
#endif
|
||||
#endif // MAX_SIMULTANEOUS_NOTES_EMULATOR
|
||||
|
||||
#ifndef MAX_SIMULTANEOUS_NOTES_CONSOLE
|
||||
#ifdef EXPAND_AUDIO_HEAP
|
||||
#define MAX_SIMULTANEOUS_NOTES_CONSOLE 24
|
||||
#else
|
||||
#define MAX_SIMULTANEOUS_NOTES_CONSOLE 16
|
||||
#endif
|
||||
#endif // MAX_SIMULTANEOUS_NOTES_CONSOLE
|
||||
|
||||
#if (MAX_SIMULTANEOUS_NOTES_EMULATOR >= MAX_SIMULTANEOUS_NOTES_CONSOLE)
|
||||
#define MAX_SIMULTANEOUS_NOTES MAX_SIMULTANEOUS_NOTES_EMULATOR
|
||||
#else
|
||||
#define MAX_SIMULTANEOUS_NOTES MAX_SIMULTANEOUS_NOTES_CONSOLE
|
||||
#endif
|
||||
|
||||
// Anything higher than 64 will most likely crash on boot. Even if it doesn't, it's still dangerous.
|
||||
#if (MAX_SIMULTANEOUS_NOTES > 64)
|
||||
#undef MAX_SIMULTANEOUS_NOTES
|
||||
#define MAX_SIMULTANEOUS_NOTES 64
|
||||
#elif (MAX_SIMULTANEOUS_NOTES < 0)
|
||||
#undef MAX_SIMULTANEOUS_NOTES
|
||||
#define MAX_SIMULTANEOUS_NOTES 0
|
||||
#endif
|
||||
|
||||
#if defined(BETTER_REVERB) && !(defined(VERSION_US) || defined(VERSION_JP))
|
||||
#undef BETTER_REVERB
|
||||
#endif
|
||||
|
||||
|
||||
/*****************
|
||||
* config_graphics
|
||||
*/
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user