diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 62a27bd0..71be5a3d 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -25,7 +25,7 @@ "TARGET_N64=1", "VERSION_US=1", "F3DEX_GBI_2=1", - "F3DZEX_GBI_2=1", + "F3DZEX_NON_GBI_2=1", "F3DEX_GBI_SHARED=1", "NON_MATCHING=1", "AVOID_UB=1" diff --git a/Makefile b/Makefile index eddd7ea6..2bcbfb37 100644 --- a/Makefile +++ b/Makefile @@ -108,7 +108,7 @@ else ifeq ($(GRUCODE),l3dex2) # Line3DEX2 else ifeq ($(GRUCODE),f3dex2pl) # Fast3DEX2_PosLight DEFINES += F3DEX2PL_GBI=1 F3DEX_GBI_2=1 F3DEX_GBI_SHARED=1 else ifeq ($(GRUCODE),f3dzex) # Fast3DZEX (2.08J / Animal Forest - Dōbutsu no Mori) - DEFINES += F3DZEX_GBI_2=1 F3DEX_GBI_2=1 F3DEX_GBI_SHARED=1 + DEFINES += F3DZEX_NON_GBI_2=1 F3DEX_GBI_2=1 F3DEX_GBI_SHARED=1 else ifeq ($(GRUCODE),super3d) # Super3D $(warning Super3D is experimental. Try at your own risk.) DEFINES += SUPER3D_GBI=1 F3D_NEW=1 diff --git a/README.md b/README.md index 490b2a32..706efddd 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin 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-wip](https://github.com/Reonu/HackerSM64/tree/base/lighting-engine-wip)). Instructions on how to use it are in the readme of that branch. +- 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. - 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** diff --git a/include/config/config_graphics.h b/include/config/config_graphics.h index 4c4b52ff..d693f6c0 100644 --- a/include/config/config_graphics.h +++ b/include/config/config_graphics.h @@ -39,7 +39,7 @@ // Similar to the above, but 30 FPS (Textures by InTheBeef, cleaned up by Arceveti) #define IA8_30FPS_COINS -// Use .rej microcode for certain objects (experimental - only should be used when F3DZEX_GBI_2 is defined). +// Use .rej microcode for certain objects (experimental - only should be used when F3DEX_GBI_2 is defined). // For advanced users only. Does not work perfectly out the box, best used when exported actor models are // using 64 vertex sizes, offered by Fast64 in the microcode menu. // #define OBJECTS_REJ diff --git a/include/config/config_safeguards.h b/include/config/config_safeguards.h index 559dbc92..cf56f7b3 100644 --- a/include/config/config_safeguards.h +++ b/include/config/config_safeguards.h @@ -54,9 +54,9 @@ * config_graphics */ -#ifndef F3DZEX_GBI_2 - #undef OBJECTS_REJ // OBJECTS_REJ requires f3dzex. -#endif // !F3DZEX_GBI_2 +#ifndef F3DEX_GBI_2 + #undef OBJECTS_REJ // OBJECTS_REJ requires f3dex2. +#endif // !F3DEX_GBI_2 #ifndef F3DEX_GBI_SHARED #undef OBJECTS_REJ // Non F3DEX-based ucodes do NOT support ucode switching. diff --git a/src/game/game_init.c b/src/game/game_init.c index a52ae10e..42b2bbf4 100644 --- a/src/game/game_init.c +++ b/src/game/game_init.c @@ -294,6 +294,11 @@ void create_gfx_task_structure(void) { gGfxSPTask->task.t.ucode_data = gspF3DZEX2_PosLight_fifoDataStart; gGfxSPTask->task.t.ucode_size = ((u8 *) gspF3DZEX2_PosLight_fifoTextEnd - (u8 *) gspF3DZEX2_PosLight_fifoTextStart); gGfxSPTask->task.t.ucode_data_size = ((u8 *) gspF3DZEX2_PosLight_fifoDataEnd - (u8 *) gspF3DZEX2_PosLight_fifoDataStart); +#elif F3DZEX_NON_GBI_2 + gGfxSPTask->task.t.ucode = gspF3DZEX2_NoN_PosLight_fifoTextStart; + gGfxSPTask->task.t.ucode_data = gspF3DZEX2_NoN_PosLight_fifoDataStart; + gGfxSPTask->task.t.ucode_size = ((u8 *) gspF3DZEX2_NoN_PosLight_fifoTextEnd - (u8 *) gspF3DZEX2_NoN_PosLight_fifoTextStart); + gGfxSPTask->task.t.ucode_data_size = ((u8 *) gspF3DZEX2_NoN_PosLight_fifoDataEnd - (u8 *) gspF3DZEX2_NoN_PosLight_fifoDataStart); #elif F3DEX2PL_GBI gGfxSPTask->task.t.ucode = gspF3DEX2_PosLight_fifoTextStart; gGfxSPTask->task.t.ucode_data = gspF3DEX2_PosLight_fifoDataStart; diff --git a/src/game/rendering_graph_node.c b/src/game/rendering_graph_node.c index da5dd1e9..80818e30 100644 --- a/src/game/rendering_graph_node.c +++ b/src/game/rendering_graph_node.c @@ -367,7 +367,7 @@ void geo_process_master_list_sub(struct GraphNodeMasterList *node) { gSPClearGeometryMode(gDisplayListHead++, G_ZBUFFER); } #ifdef OBJECTS_REJ - #if defined(F3DZEX_GBI_2) && defined(VISUAL_DEBUG) + #if defined(F3DEX_GBI_2) && defined(VISUAL_DEBUG) if (hitboxView) render_debug_boxes(DEBUG_UCODE_REJ); #endif switch_ucode(GRAPH_NODE_UCODE_DEFAULT); @@ -408,7 +408,7 @@ void geo_append_display_list(void *displayList, s32 layer) { } #endif // SILHOUETTE } -#endif // F3DZEX_GBI_2 || SILHOUETTE +#endif // F3DEX_GBI_2 || SILHOUETTE if (gCurGraphNodeMasterList != NULL) { struct DisplayListNode *listNode = alloc_only_pool_alloc(gDisplayListHeap, sizeof(struct DisplayListNode));