Skip to content

Commit 61e7317

Browse files
committed
Basic minimap functionality
1 parent 9275e7b commit 61e7317

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+961
-230
lines changed

Makefile

+23-18
Original file line numberDiff line numberDiff line change
@@ -375,10 +375,10 @@ MINIMAP_O := $(foreach file,$(MINIMAP_C),$(BUILD_DIR)/$(file:.c=.o))
375375

376376
MINIMAP_TEXTURES := $(MINIMAP)/textures
377377
MINIMAP_PNG := $(wildcard $(MINIMAP_TEXTURES)/*.png)
378-
MINIMAP_T3S := $(foreach file,$(MINIMAP_PNG),$(BUILD_DIR)/$(file:.png=.t3s))
378+
MINIMAP_T3S := $(foreach file,$(MINIMAP_PNG),$(BUILD_DIR)/$(file:.png=.t3s)) $(BUILD_DIR)/$(MINIMAP_TEXTURES)/mario.t3s $(BUILD_DIR)/$(MINIMAP_TEXTURES)/arrow.t3s
379379
MINIMAP_T3X := $(foreach file,$(MINIMAP_T3S),$(file:.t3s=.t3x))
380380
MINIMAP_T3X_O := $(foreach file,$(MINIMAP_T3X),$(file:.t3x=.t3x.o))
381-
MINIMAP_T3X_HEADERS := $(foreach file,$(MINIMAP_PNG),$(BUILD_DIR)/$(file:.png=_t3x.h))
381+
MINIMAP_T3X_HEADERS := $(foreach file,$(MINIMAP_T3X),$(file:.t3x=_t3x.h))
382382
endif
383383

384384
ifeq ($(TARGET_N64),1)
@@ -416,11 +416,8 @@ ifeq ($(COMPILER),gcc)
416416
CC := $(CROSS)gcc
417417
endif
418418

419-
ifeq ($(TARGET_N64),1)
420-
TARGET_CFLAGS := -nostdinc -I include/libc -DTARGET_N64 -D_LANGUAGE_C
421-
CC_CFLAGS := -fno-builtin
422-
endif
423-
419+
TARGET_CFLAGS := -nostdinc -I include/libc -DTARGET_N64 -D_LANGUAGE_C
420+
CC_CFLAGS := -fno-builtin
424421
INCLUDE_CFLAGS := -I include -I $(BUILD_DIR) -I $(BUILD_DIR)/include -I src -I .
425422

426423
# Check code syntax with host compiler
@@ -495,8 +492,8 @@ ifeq ($(TARGET_WEB),1)
495492
PLATFORM_LDFLAGS := -lm -no-pie -s TOTAL_MEMORY=20MB -g4 --source-map-base http://localhost:8080/ -s "EXTRA_EXPORTED_RUNTIME_METHODS=['callMain']"
496493
endif
497494
ifeq ($(TARGET_N3DS),1)
498-
CTRULIB := $(DEVKITPRO)/libctru
499-
LIBDIRS := $(CTRULIB)
495+
CTRULIB := $(DEVKITPRO)/libctru
496+
LIBDIRS := $(CTRULIB)
500497
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
501498
PLATFORM_CFLAGS := -mtp=soft -DTARGET_N3DS -DARM11 -DosGetTime=n64_osGetTime -D_3DS -march=armv6k -mtune=mpcore -mfloat-abi=hard -mword-relocations -fomit-frame-pointer -ffast-math $(foreach dir,$(LIBDIRS),-I$(dir)/include)
502499
PLATFORM_LDFLAGS := $(LIBPATHS) -lcitro3d -lctru -lm -specs=3dsx.specs -g -marm -mthumb-interwork -march=armv6k -mtune=mpcore -mfloat-abi=hard -mtp=soft
@@ -894,29 +891,37 @@ SMDH_DESCRIPTION ?= Super Mario 64 3DS Port
894891
SMDH_AUTHOR ?= mkst
895892
SMDH_ICON := icon.smdh
896893

897-
$(EXE): $(O_FILES) $(MIO0_FILES:.mio0=.o) $(SOUND_OBJ_FILES) $(ULTRA_O_FILES) $(GODDARD_O_FILES) $(BUILD_DIR)/src/pc/gfx/shader.shbin.o $(SMDH_ICON)
898-
$(LD) -L $(BUILD_DIR) -o $@.elf $(O_FILES) $(BUILD_DIR)/src/pc/gfx/shader.shbin.o $(MINIMAP_T3X_O) $(SOUND_OBJ_FILES) $(ULTRA_O_FILES) $(GODDARD_O_FILES) $(LDFLAGS)
894+
$(EXE): $(O_FILES) $(MIO0_FILES:.mio0=.o) $(SOUND_OBJ_FILES) $(ULTRA_O_FILES) $(GODDARD_O_FILES) $(BUILD_DIR)/src/pc/gfx/shader.shbin.o $(MINIMAP_O) $(SMDH_ICON)
895+
$(LD) -L $(BUILD_DIR) -o $@.elf $(O_FILES) $(BUILD_DIR)/src/pc/gfx/shader.shbin.o $(MINIMAP_O) $(MINIMAP_T3X_O) $(SOUND_OBJ_FILES) $(ULTRA_O_FILES) $(GODDARD_O_FILES) $(LDFLAGS)
899896
3dsxtool $@.elf $@ --smdh=$(BUILD_DIR)/$(SMDH_ICON)
900897

901898
# stolen from /opt/devkitpro/devkitARM/base_tools
902899
define bin2o
903-
bin2s -a 4 -H $(BUILD_DIR)/$(MINIMAP_TEXTURES)/`(echo $(<F) | tr . _)`.h $(BUILD_DIR)/$< | $(AS) -o $(BUILD_DIR)/$(MINIMAP_TEXTURES)/$(<F).o
900+
bin2s -a 4 -H $(BUILD_DIR)/$(MINIMAP_TEXTURES)/`(echo $(<F) | tr . _)`.h $< | $(AS) -o $(BUILD_DIR)/$(MINIMAP_TEXTURES)/$(<F).o
904901
endef
905902

906903
# TODO: simplify dependency chain
907-
$(BUILD_DIR)/src/pc/gfx/gfx_citro3d.o: $(BUILD_DIR)/src/pc/gfx/gfx_3ds.o
908-
$(BUILD_DIR)/src/pc/gfx/gfx_3ds.o: $(BUILD_DIR)/src/pc/gfx/gfx_3ds_menu.o
904+
$(BUILD_DIR)/src/pc/gfx/gfx_citro3d.o: $(MINIMAP_O)
905+
$(BUILD_DIR)/src/pc/gfx/gfx_3ds.o: $(MINIMAP_O)
906+
$(BUILD_DIR)/src/pc/gfx/gfx_3ds_minimap.o: $(MINIMAP_O)
909907
$(BUILD_DIR)/src/pc/gfx/gfx_3ds_menu.o: $(MINIMAP_T3X_HEADERS)
908+
$(MINIMAP_O): $(MINIMAP_T3X_HEADERS)
910909

911-
%.t3x.o $(BUILD_DIR)/%_t3x.h: %.t3x
910+
%.t3x.o %_t3x.h: %.t3x
912911
$(bin2o)
913912

914913
%.t3x: %.t3s
915-
tex3ds -i $(BUILD_DIR)/$< -o $(BUILD_DIR)/$@
914+
tex3ds -i $< -o $@
916915

917916
%.t3s: %.png
918-
@printf -- "-f rgba -z auto\n../../../../../$(<)\n" > $(BUILD_DIR)/$@
919-
917+
@printf -- "-f rgba -z auto\n$(<F)\n" > $@
918+
919+
$(BUILD_DIR)/%.png: %.png
920+
cp $< $@
921+
$(BUILD_DIR)/$(MINIMAP_TEXTURES)/mario.png: textures/segment2/segment2.05A00.rgba16.png
922+
cp $< $@
923+
$(BUILD_DIR)/$(MINIMAP_TEXTURES)/arrow.png: textures/segment2/segment2.081D0.rgba16.png
924+
cp $< $@
920925

921926
%.smdh: %.png
922927
smdhtool --create "$(SMDH_TITLE)" "$(SMDH_DESCRIPTION)" "$(SMDH_AUTHOR)" $< $(BUILD_DIR)/$@

README.md

+6
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ A prior copy of the game is required to extract the assets.
2424
- [Puppycam](enhancements/puppycam.patch)
2525
- [Show FPS](enhancements/fps.patch)
2626
- Choice to disable audio at build-time; add build flag `DISABLE_AUDIO=1`
27+
- Experimental Mini-Map; bottom screen displays an overview of the current level
2728

2829
## Building
2930

@@ -257,6 +258,11 @@ sm64
257258
## Credits
258259

259260
- Credits go to [Gericom](https://github.com/Gericom) for the [sm64_3ds](https://github.com/sm64-port/sm64_3ds) port that this flavour is based off.
261+
- Minimap models:
262+
- [alecpike](https://www.models-resource.com/submitter/alecpike/); BOB
263+
- [Turtle Boy](https://www.models-resource.com/submitter/Turtle+Boy/); LLL; WF
264+
- SlyP54; Castle Grounds
265+
- Bruz; Castle Interior
260266

261267
## Contributing
262268

0 commit comments

Comments
 (0)