-
Notifications
You must be signed in to change notification settings - Fork 167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Crash Screen #466
New Crash Screen #466
Changes from 74 commits
a4eafb3
0d06f83
7739265
fec9b17
76215ff
765261d
a6077a8
8b7c814
48dd449
52a5d81
6a11d8c
786e605
5e23747
a2510e8
d78ca2e
cac14fd
c5489aa
be95781
d4bb8a8
57b6b1e
bba0774
8a62662
71e4b2b
0f5aa47
8efb50b
3108c53
6d431c7
3a65319
9f412b4
c779bf3
d325a36
470ea3c
b983ac4
fbc01c9
e7b7dfc
d4edb36
c7eb787
61fd664
459026c
8be4e56
dffb09f
05bcbe7
806ff24
aa5f9e2
68cd80d
9a0e519
c1011ee
81359dc
3dfb0b3
ed4c509
2c42334
66a8f1b
44cc20d
2b43a72
fc78712
8fcbeee
b8e442b
9d8ab7f
d7d7b90
21df519
5962e27
36751d8
4a68be5
04c4fdd
dd74c24
8cf89d8
cbdf37d
e439d23
9e50c0a
441a1e2
6d7dd94
7e9dbd8
a95e0c6
8bf457f
3edeb75
980f5f5
b35b990
5ccf1e3
d85cb90
2be64da
fb8ed57
b8ef92f
e45c831
2101259
17a245b
1f171b1
5abe193
f85dbda
ae7f005
e3345e5
beafe00
ee7ad98
7d93146
e05fbec
f6ded6c
937e3d6
8fb56aa
4abe16b
e84ce50
68c2ad9
ca5c378
3782fa6
cb5e566
222031b
2a5a701
657527b
35203c2
4ba1994
a925a4d
e249c44
7006497
b0ef240
1806cfe
2ed1892
6db53fc
884cd68
a838b47
1ee7415
dff9b61
de6bc0a
d5d38e7
04fadbd
5ab8373
01d001f
6b7a023
82bd9f6
cf5f130
b641981
f88e090
0d5c78d
f33b1c8
7cc11f6
5128f35
ea3a203
3dab43c
3073303
6755d1e
0cab90c
c77efff
9c91366
372653b
9552922
6bd6af4
738adeb
83392dc
5a9cca4
a772d74
e5b7a47
f9493e4
76ea4f3
ed75f79
66fc5de
b4dfa5c
bb869b6
84c6b21
8e4950d
f362a46
e048478
84cb6e1
bab96a8
9847040
7ddee27
ac3c581
14dad60
78a48e1
74fe186
9a2908d
034306d
a26c4b5
83eef2b
c10dbc2
5276c65
216da32
b1b19eb
cedee53
0131f78
072421b
32aa26d
7faf718
cdcafa6
399d536
251bc0e
ffbaf89
e158586
e2f248c
d9fed14
88e9d3b
584e729
643c275
616bed1
4cf6c28
1b7c28b
cd2dce5
d0050ca
cb0718c
a6700b4
b6ca9ff
cbaacbf
50cfd18
a59a944
e197e87
14ad9af
6fa0274
48cdefd
bcfa6a1
64c5c4c
42633dc
c437424
cc3f1f6
dc5bd6a
99e9e36
e342f8d
79cd81f
972c8c0
f56f7b8
216fca5
a7c8223
337272b
6d9d7a9
5e4b059
954a5af
ae0010c
38fb684
1338223
71daa02
fc231ea
96e822a
cf3e089
2eef280
7f40c65
8377fd9
271cf7f
0ce3bb0
fea0858
6ede47f
1a39538
ec385f7
48bea33
38f25d2
01c3f20
9056a10
7de18d1
bb73ec3
7e9fd41
81eff90
b423f68
637603f
57f581d
23f2d5f
4831380
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -85,8 +85,8 @@ else ifeq ($(VERSION),sh) | |
DEFINES += VERSION_SH=1 | ||
endif | ||
|
||
DEBUG_MAP_STACKTRACE_FLAG := -D DEBUG_MAP_STACKTRACE | ||
|
||
# TARGET - | ||
TARGET := sm64 | ||
|
||
|
||
|
@@ -374,7 +374,7 @@ ACTOR_DIR := actors | |
LEVEL_DIRS := $(patsubst levels/%,%,$(dir $(wildcard levels/*/header.h))) | ||
|
||
# Directories containing source files | ||
SRC_DIRS += src src/boot src/game src/engine src/audio src/menu src/buffers actors levels bin data assets asm lib sound | ||
SRC_DIRS += src src/boot src/game src/engine src/audio src/menu src/buffers src/images src/crash_screen actors levels bin data assets asm lib sound | ||
LIBZ_SRC_DIRS := src/libz | ||
GODDARD_SRC_DIRS := src/goddard src/goddard/dynlists | ||
BIN_DIRS := bin bin/$(VERSION) | ||
|
@@ -585,7 +585,8 @@ libultra: $(BUILD_DIR)/libultra.a | |
|
||
# Extra object file dependencies | ||
$(BUILD_DIR)/asm/boot.o: $(IPL3_RAW_FILES) | ||
$(BUILD_DIR)/src/game/crash_screen.o: $(CRASH_TEXTURE_C_FILES) | ||
$(BUILD_DIR)/src/crash_screen/crash_screen.o: $(CRASH_TEXTURE_C_FILES) | ||
$(BUILD_DIR)/src/images/crash_screen_crashed.o: $(CRASH_TEXTURE_2_C_FILES) | ||
$(BUILD_DIR)/src/game/version.o: $(BUILD_DIR)/src/game/version_data.h | ||
$(BUILD_DIR)/lib/aspMain.o: $(BUILD_DIR)/rsp/audio.bin | ||
$(SOUND_BIN_DIR)/sound_data.o: $(SOUND_BIN_DIR)/sound_data.ctl $(SOUND_BIN_DIR)/sound_data.tbl $(SOUND_BIN_DIR)/sequences.bin $(SOUND_BIN_DIR)/bank_sets | ||
|
@@ -834,7 +835,7 @@ $(BUILD_DIR)/rsp/%.bin $(BUILD_DIR)/rsp/%_data.bin: rsp/%.s | |
# Run linker script through the C preprocessor | ||
$(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT) $(BUILD_DIR)/goddard.txt | ||
$(call print,Preprocessing linker script:,$<,$@) | ||
$(V)$(CPP) $(CPPFLAGS) -DBUILD_DIR=$(BUILD_DIR) $(DEBUG_MAP_STACKTRACE_FLAG) -MMD -MP -MT $@ -MF [email protected] -o $@ $< | ||
$(V)$(CPP) $(CPPFLAGS) -DBUILD_DIR=$(BUILD_DIR) -MMD -MP -MT $@ -MF [email protected] -o $@ $< | ||
|
||
# Link libgoddard | ||
$(BUILD_DIR)/libgoddard.a: $(GODDARD_O_FILES) | ||
|
@@ -847,7 +848,7 @@ $(BUILD_DIR)/libz.a: $(LIBZ_O_FILES) | |
$(V)$(AR) rcs -o $@ $(LIBZ_O_FILES) | ||
|
||
# SS2: Goddard rules to get size | ||
$(BUILD_DIR)/sm64_prelim.ld: sm64.ld $(O_FILES) $(YAY0_OBJ_FILES) $(SEG_FILES) $(BUILD_DIR)/libgoddard.a $(BUILD_DIR)/libz.a | ||
$(BUILD_DIR)/sm64_prelim.ld: $(LD_SCRIPT) $(O_FILES) $(YAY0_OBJ_FILES) $(SEG_FILES) $(BUILD_DIR)/libgoddard.a $(BUILD_DIR)/libz.a | ||
$(call print,Preprocessing preliminary linker script:,$<,$@) | ||
$(V)$(CPP) $(CPPFLAGS) -DPRELIMINARY=1 -DBUILD_DIR=$(BUILD_DIR) -MMD -MP -MT $@ -MF [email protected] -o $@ $< | ||
|
||
|
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,11 +15,21 @@ | |
#include "macros.h" | ||
#include "segments.h" | ||
|
||
// Crash handler enhancement | ||
#ifdef CRASH_SCREEN_INCLUDED | ||
#define DEBUG_ASSERT(exp) do { if (!(exp)) _n64_assert(__FILE__, __LINE__, #exp, 1); } while (0) | ||
extern char *__n64Assert_Filename; | ||
extern u32 __n64Assert_LineNum; | ||
extern char *__n64Assert_Message; | ||
extern void __n64Assert(char *fileName, u32 lineNum, char *message); | ||
|
||
#define ASSERT(cond, message) do {\ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. imo if this is a runtime assert that follows the C standard then it should be named There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. on second thought that requires a bit of extra work (including meddling with n64_assert.s and the assert parser) so consider this comment optional |
||
if (!(cond)) { \ | ||
__n64Assert(__FILE__, __LINE__, (message)); \ | ||
} \ | ||
} while (0); | ||
|
||
#ifdef ENABLE_DEBUG_ASSERTS | ||
#define DEBUG_ASSERT(cond, message) ASSERT(cond, message) | ||
#else | ||
#define DEBUG_ASSERT(exp) | ||
#define DEBUG_ASSERT(cond, message) | ||
#endif | ||
|
||
// Pointer casting is technically UB, and avoiding it gets rid of endian issues as well as a nice side effect. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remember this