Compare commits

..

24 Commits

Author SHA1 Message Date
Mr-Wiseguy
3cc4f908cc Added libmario, renamed roundf to lroundf to conform to C standard naming, wrapped inline asm functions in TARGET_N64 ifdef 2022-03-17 18:33:26 -04:00
Arceveti
8cfd9af4ee Uncomment the last gSPPopMatrix in render_hud_cannon_reticle (#351) 2022-03-15 17:38:38 -04:00
tuxlovesyou
33b2a07759 Added LOAD_MIO0_TEXTURE alias for backwards-compatibility (#349)
Sometimes tools like Fast64 will export script.c files with
LOAD_MIO0_TEXTURE() macro "calls" even when you have "YAY0" toggled
under the export menu.  To keep this from being a roadblock for
compilation, LOAD_MIO0_TEXTURE() is defined in this commit as an alias
to the LOAD_YAY0_TEXTURE() macro! :-)
2022-03-11 22:10:46 -05:00
axollyon
a0e8600776 Saves default conf on boot now, simplify condition (#321) 2022-03-08 08:49:10 -06:00
Arceveti
4265019923 Fix NON_STOP_STARS & bhvCelebrationStar related issues with Bowser keys (#299)
Fix NON_STOP_STARS issues & bhvCelebrationStar related issues with Bowser keys
2022-01-22 14:07:55 -08:00
Arceveti
730f020b6d Fix formatting inconsistencies in config files (#303)
Fix formatting inconsistencies in config files
2022-01-21 20:00:25 -08:00
Arceveti
483b72e7da Fix render menu buttons functions (#300) 2022-01-19 14:41:14 -08:00
Arceveti
36d41a7f94 Renamed HackerSM64 modified assets so they don't conflict with vanilla assets (#293) 2022-01-16 21:30:06 -08:00
Arceveti
af34a81c06 Fix credits text ifdef (#301) 2022-01-16 21:29:06 -08:00
Mr-Wiseguy
3fac5ad059 Downgraded from F3DZEX2.08J to F3DZEX2.08I so that point lighting works on Jabo (#313)
* Downgraded from F3DZEX2.08J to F3DZEX2.08I so that point lighting works on Jabo

* Swapped to MM's rspboot to fix bug caused by MM's F3DZEX2
2022-01-15 01:09:34 -05:00
Arceveti
6ba4fcdba1 Set oDrawingDistance to 4500 for WF breakable walls (#304) 2022-01-14 19:38:10 -08:00
Arceveti
38c6e456f1 Fix level enum conflict with 99+ levels (#307) 2022-01-14 19:37:56 -08:00
Mr-Wiseguy
7b58f63cbc Merge pending master hotfixes into 2.0.2 #311 2022-01-14 22:25:09 -05:00
Arceveti
2329786f88 Make CLEARRAM mandatory (#297) 2022-01-12 15:00:22 -08:00
Arceveti
ca9f7967c8 Merge pull request #285 from Reonu/develop/arceveti/2.0.1/mr_i_iris_clipping
Fix wrong Y offset for Mr. I iris
2022-01-11 14:01:25 -08:00
Arceveti
1b66355249 Merge pull request #284 from Reonu/develop/arceveti/2.0.1/jp_baserom_requirement
JP Baserom is no longer required for US build
2022-01-10 20:52:31 -08:00
Arceveti
0789cf118e Only extract assets from JP/EU/SH roms if they exist 2022-01-10 20:50:37 -08:00
Arceveti
1b37e627bc Merge pull request #283 from Reonu/develop/arceveti/2.0.1/no_getting_buried_compiler_warning
Fix build warning when NO_GETTING_BURIED is enabled
2022-01-10 20:31:38 -08:00
Arceveti
886d9841a8 Better Mr. I offset fix 2022-01-10 18:27:08 -08:00
Arceveti
3d24cdee18 Merge pull request #280 from Reonu/develop/arceveti/2.0.1/hardcoded_cos_values
Fix hardcoded cos values in sm64.h
2022-01-07 00:00:59 -08:00
Arceveti
c9523aaa0b Fix wrong Y offset for Mr. I iris 2022-01-04 23:31:39 -08:00
Arceveti
84bbd2ae14 JP Baserom is no longer required for US build 2022-01-04 22:55:19 -08:00
Arceveti
9caafc54eb Fix build warning when NO_GETTING_BURIED is enabled 2022-01-04 22:18:35 -08:00
Arceveti
feff004ef9 Fix hardcoded cos values in sm64.h 2022-01-02 18:46:31 -08:00
93 changed files with 6380 additions and 1206 deletions

4
.gitignore vendored
View File

@@ -116,3 +116,7 @@ lib/libs2d_engine.a
# .orig files
*.orig
# Python
__pycache__
*.pyc

View File

@@ -323,11 +323,25 @@ ifeq ($(filter clean distclean print-%,$(MAKECMDGOALS)),)
ifeq ($(NOEXTRACT),0)
DUMMY != $(PYTHON) extract_assets.py $(VERSION) >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets)
$(error Failed to extract assets from US ROM)
endif
DUMMY != $(PYTHON) extract_assets.py jp >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets)
ifneq (,$(wildcard baserom.jp.z64))
DUMMY != $(PYTHON) extract_assets.py jp >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets from JP ROM)
endif
endif
ifneq (,$(wildcard baserom.eu.z64))
DUMMY != $(PYTHON) extract_assets.py eu >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets from EU ROM)
endif
endif
ifneq (,$(wildcard baserom.sh.z64))
DUMMY != $(PYTHON) extract_assets.py sh >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets from SH ROM)
endif
endif
endif

View File

@@ -29,11 +29,12 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin
- **CrashOveride**: creating the [ultrasm64](https://github.com/CrashOveride95/ultrasm64) repo
- **falcobuster**: Original coordinate overflow fix (world scale), ASM version of extended bounds
- **anonymous_moose**: porting falco's extended bounds to decomp
- **tuxlovesyou**: `LOAD_MIO0_TEXTURE` macro and moral support
Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
**Lighting Engine by Wiseguy**
- Lighting Engine is available on a separate branch ([base/lighting-engine](https://github.com/Reonu/HackerSM64/tree/base/lighting-engine)). Instructions on how to use it are in the readme of that branch.
- Lighting Engine is available on a separate branch ([base/lighting-engine-wip](https://github.com/Reonu/HackerSM64/tree/base/lighting-engine-wip)). Instructions on how to use it are in the readme of that branch.
- Alternatively, the main repo has `Puppylights` available, which is a more lightweight, but limited lighting library intended to be used to modify existing light properties. You can look at `puppylights.c` to find out how to use it.
**Puppycam**

View File

@@ -27,7 +27,6 @@ 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(),
};
@@ -41,7 +40,6 @@ 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(),
};

View File

@@ -123,7 +123,6 @@ 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(),
@@ -504,7 +503,6 @@ 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(),

View File

Before

Width:  |  Height:  |  Size: 995 B

After

Width:  |  Height:  |  Size: 995 B

View File

@@ -10,7 +10,7 @@ ALIGNED8 static const Texture flyguy_seg8_texture_0800E088[] = {
// 0x0800F088
ALIGNED8 static const Texture flyguy_seg8_texture_0800F088[] = {
#include "actors/flyguy/flyguy_face.rgba16.inc.c"
#include "actors/flyguy/flyguy_face.custom.rgba16.inc.c"
};
// 0x0800F888

View File

@@ -24,7 +24,6 @@ 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(),
};

View File

@@ -36,13 +36,11 @@ 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(),
};

View File

@@ -40,7 +40,6 @@ 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(),
};

View File

@@ -23,7 +23,6 @@ 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(),

View File

@@ -50,7 +50,6 @@ 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(),
};

View File

@@ -47,7 +47,6 @@ 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(),
};

View File

@@ -46,7 +46,6 @@ 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(),

View File

@@ -56,7 +56,6 @@ 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(),

View File

@@ -96,7 +96,7 @@ static const Vtx warp_pipe_seg3_vertex_03007DC0[] = {
// 0x03007E40
ALIGNED8 static const Texture warp_pipe_seg3_texture_03007E40[] = {
#include "actors/warp_pipe/warp_pipe_side.rgba16.inc.c"
#include "actors/warp_pipe/warp_pipe_side.custom.rgba16.inc.c"
};
// 0x03008E40 - 0x03008F98

View File

Before

Width:  |  Height:  |  Size: 1012 B

After

Width:  |  Height:  |  Size: 1012 B

View File

@@ -61,7 +61,6 @@ 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(),

View File

@@ -17,11 +17,7 @@
.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)

View File

@@ -1,23 +0,0 @@
// 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

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