Skip to content

Commit a87264c

Browse files
Merge pull request #96 from Caladius/develop-rando-rebase
[Rando] Implements Randomizer Framework
2 parents 4d1ec3a + 815d35e commit a87264c

71 files changed

Lines changed: 3359 additions & 369 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
name: Accuracy Issue
3+
about: Report a discrepancy or inaccuracy in the game
4+
title: "Description of the inaccuracy"
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
- [ ] I have checked checked the known issues and searched Github to ensure this issue has not already been reported.
10+
11+
### Description of the inaccuracy:
12+
<!-- A clear and concise description of what the inaccuracy is and where it occurs in the game. -->
13+
14+
### Screenshots or videos of Ghostship's behavior:
15+
16+
### Screenshots or videos of the original hardware's behavior:
17+
<!-- If these were not sourced from original hardware please provide details on where they came from (Ares, Project64, etc) -->
18+
19+
### System Information:
20+
- OS:
21+
- GFX Backend: Metal, OpenGL, or DirectX
22+
- Game Version:
23+
- Rom Version:
24+
25+
### Additional Information:
26+
<!-- Add any other context about the problem here. -->
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: Crash Report
3+
about: Report a crash, unexpected exit, or freeze
4+
title: "Description of the crash"
5+
labels: bug, crash
6+
assignees: ''
7+
---
8+
9+
### Description of the crash:
10+
<!-- A clear and concise description of what the crash was and what you were doing when it happened. -->
11+
12+
### Can you reproduce? If so please list the steps:
13+
- [ ] No, I cannot reproduce this crash
14+
- [ ] Yes, here are the steps to reproduce the crash:
15+
<!--
16+
1. Warp to...
17+
2. Do this...
18+
3. Crash
19+
-->
20+
21+
### Screenshots or videos:
22+
<!-- If applicable, add screenshots or videos to help explain your problem. -->
23+
24+
### Logs:
25+
<!-- Please attach the crash logs or any relevant log files. These are located in the logs/ directory next to the executable or on MacOS in the application support directory -->
26+
27+
### System Information:
28+
- OS:
29+
- GFX Backend: Metal, OpenGL, or DirectX
30+
- Game Version:
31+
- Rom Version:
32+
33+
### Additional Information:
34+
<!-- Add any other context about the problem here. -->
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
name: General Bug
3+
about: Other bugs related to Ghostship and it's features
4+
title: "Description of the bug"
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
- [ ] I have checked the known issues and searched Github to ensure this issue has not already been reported.
10+
- [ ] This is not a feature request, I know those belong on Discord/Github Discussions.
11+
12+
### Description of the bug:
13+
<!-- A clear and concise description of what the bug or enhancement is. -->
14+
15+
### Can you reproduce? If so please list the steps:
16+
- [ ] No, I cannot reproduce this bug
17+
- [ ] Yes, here are the steps to reproduce the bug:
18+
<!--
19+
1. Go to...
20+
2. Do this...
21+
3. See the bug
22+
-->
23+
24+
### Expected behavior:
25+
<!-- A clear and concise description of what you expected to happen or what the enhancement should achieve. -->
26+
27+
### Screenshots or videos:
28+
<!-- If applicable, add screenshots or videos to help explain your problem or suggestion. -->
29+
30+
### System Information:
31+
- OS:
32+
- GFX Backend: Metal, OpenGL, or DirectX
33+
- Game Version:
34+
- Rom Version:
35+
36+
### Additional Information:
37+
<!-- Add any other context about the problem or suggestion here. -->

.github/workflows/main.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,11 @@ jobs:
6161
- name: Create Package
6262
run: |
6363
mkdir ghostship-release
64+
mkdir ghostship-release/debug
6465
mv build/x64/Release/Ghostship.exe ghostship-release/
6566
mv build/x64/Release/ghostship.o2r ghostship-release/
67+
mv build/x64/Release/*.pdb ghostship-release/debug/
68+
mv README.md ghostship-release/readme.txt
6669
mv config.yml ghostship-release/
6770
mv assets ghostship-release/
6871
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt" -OutFile "ghostship-release/gamecontrollerdb.txt"
@@ -179,7 +182,7 @@ jobs:
179182
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Debug
180183
cmake --build build-cmake --config Debug -j3
181184
(cd build-cmake && cpack -G External)
182-
wget -O gamecontrollerdb.txt https://github.com/mdqinc/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt
185+
wget -O gamecontrollerdb.txt https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/refs/heads/master/gamecontrollerdb.txt
183186
mv README.md readme.txt
184187
mv build-cmake/*.appimage ghostship.appimage
185188
- name: Upload build
@@ -212,7 +215,7 @@ jobs:
212215
sudo sh /tmp/cmake.sh --prefix=/usr/local/ --exclude-subdir
213216
cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake
214217
cmake --build build-switch --config Release -j3
215-
wget -O gamecontrollerdb.txt https://github.com/mdqinc/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt
218+
wget -O gamecontrollerdb.txt https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/refs/heads/master/gamecontrollerdb.txt
216219
mv README.md readme.txt
217220
mv build-switch/*.nro Ghostship.nro
218221
- name: Upload build

CMakeLists.txt

Lines changed: 44 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.16.0 FATAL_ERROR)
22

33
# Set the project version and language
4-
project(Ghostship VERSION 1.0.1 LANGUAGES C CXX ASM)
4+
project(Ghostship VERSION 1.0.2 LANGUAGES C CXX ASM)
55
include(FetchContent)
66

77
include(cmake/ghostship-cvars.cmake)
@@ -426,75 +426,44 @@ endif()
426426
# Compile and link options
427427
################################################################################
428428
if(MSVC)
429-
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
430-
target_compile_options(${PROJECT_NAME} PRIVATE
431-
$<$<CONFIG:Debug>:
432-
/w;
433-
/Od;
434-
/MTd
435-
>
436-
$<$<CONFIG:Release>:
437-
/Oi;
438-
/Gy;
439-
/W3;
440-
/MT
441-
>
442-
/permissive-;
443-
/MP;
444-
${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT};
445-
${DEFAULT_CXX_EXCEPTION_HANDLING}
446-
)
447-
target_compile_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>:/ZI;>)
448-
target_compile_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:Release>:/Zi;>)
449-
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
450-
target_compile_options(${PROJECT_NAME} PRIVATE
451-
$<$<CONFIG:Debug>:
452-
/MTd
453-
>
454-
$<$<CONFIG:Release>:
455-
/O2;
456-
/Oi;
457-
/Gy;
458-
/MT
459-
>
460-
/permissive-;
461-
/MP;
462-
/w;
463-
${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT};
464-
${DEFAULT_CXX_EXCEPTION_HANDLING}
465-
)
466-
endif()
467-
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
468-
target_link_options(${PROJECT_NAME} PRIVATE
469-
$<$<CONFIG:Debug>:
470-
/INCREMENTAL
471-
>
472-
$<$<CONFIG:Release>:
473-
/OPT:REF;
474-
/OPT:ICF;
475-
/INCREMENTAL:NO;
476-
/FORCE:MULTIPLE
477-
>
478-
/MANIFEST:NO;
479-
/DEBUG;
480-
/SUBSYSTEM:WINDOWS
481-
)
482-
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
483-
target_link_options(${PROJECT_NAME} PRIVATE
484-
$<$<CONFIG:Debug>:
485-
/STACK:8777216
486-
>
487-
$<$<CONFIG:Release>:
488-
/OPT:REF;
489-
/OPT:ICF;
490-
/INCREMENTAL:NO;
491-
/FORCE:MULTIPLE
492-
>
493-
/MANIFEST:NO;
494-
/DEBUG;
495-
/SUBSYSTEM:WINDOWS
496-
)
497-
endif()
429+
target_compile_options(${PROJECT_NAME} PRIVATE
430+
$<$<CONFIG:Debug>:
431+
/w;
432+
/Od
433+
>
434+
$<$<CONFIG:Release>:
435+
/Oi;
436+
/Gy;
437+
/W3
438+
>
439+
440+
/wd4024 #different types for formal and actual parameter [x]. Usually seen along side 4047.
441+
/wd4047 #'uintptr_t' differs in levels of indirection from 'Gfx *'. Usually caused by passing a uintptr_t into a function expecting a pointer-types
442+
/wd4090 #'initializing': different 'const' qualifiers. Caused when initializing a non const struct member with a const char*.
443+
/wd4101 # unreferenced local variable. Things like stack pads.
444+
/wd4133 #incompatible types. Usually caused by passing a c string into a function that takes a pointer.
445+
/wd4244 #conversion from [a] to [b]. Used to warn when copying to smaller type without a cast.
446+
/sdl-;
447+
/permissive-;
448+
/MP;
449+
${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT};
450+
${DEFAULT_CXX_EXCEPTION_HANDLING}
451+
)
452+
target_compile_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>:/ZI;>)
453+
target_link_options(${PROJECT_NAME} PRIVATE
454+
$<$<CONFIG:Debug>:
455+
/INCREMENTAL
456+
>
457+
$<$<CONFIG:Release>:
458+
/OPT:REF;
459+
/OPT:ICF;
460+
/INCREMENTAL:NO;
461+
/FORCE:MULTIPLE
462+
>
463+
/MANIFEST:NO;
464+
/DEBUG;
465+
/SUBSYSTEM:WINDOWS
466+
)
498467

499468
# Remove /RTC from msvc flags
500469
foreach (fentry
@@ -662,6 +631,11 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
662631
install(FILES "${CMAKE_BINARY_DIR}/config.yml" DESTINATION . COMPONENT ${PROJECT_NAME})
663632
endif()
664633

634+
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
635+
install(FILES $<TARGET_PDB_FILE:${PROJECT_NAME}> DESTINATION ./debug COMPONENT ${PROJECT_NAME})
636+
install(FILES "${CMAKE_BINARY_DIR}/ghostship.o2r" DESTINATION . COMPONENT ${PROJECT_NAME})
637+
endif()
638+
665639
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
666640
add_custom_target(CreateOSXIcons
667641
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/macosx/ghostship.iconset

Torch

actors/group11.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616
#include "assets/actors/spiny_egg.h"
1717

1818
// wiggler_body
19-
#include "assets/actors/wiggler_body.h"
20-
21-
// wiggler_head
22-
#include "assets/actors/wiggler_head.h"
19+
#include "assets/actors/wiggler.h"
2320

2421
#endif

include/assets/actors/bowser_flame.h

Lines changed: 41 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,59 @@
55

66
static const ALIGN_ASSET(2) char flame_seg6_texture_06000000[] = "__OTR__actors/bowser_flame/bowser_flame_0";
77

8-
static const ALIGN_ASSET(2) char flame_seg6_texture_06002000[] = "__OTR__actors/bowser_flame/bowser_flame_1";
8+
static const ALIGN_ASSET(2) char flame_seg6_texture_06001000[] = "__OTR__actors/bowser_flame/bowser_flame_1";
99

10-
static const ALIGN_ASSET(2) char flame_seg6_texture_06004000[] = "__OTR__actors/bowser_flame/bowser_flame_2";
10+
static const ALIGN_ASSET(2) char flame_seg6_texture_06002000[] = "__OTR__actors/bowser_flame/bowser_flame_2";
1111

12-
static const ALIGN_ASSET(2) char flame_seg6_texture_06006000[] = "__OTR__actors/bowser_flame/bowser_flame_3";
12+
static const ALIGN_ASSET(2) char flame_seg6_texture_06003000[] = "__OTR__actors/bowser_flame/bowser_flame_3";
1313

14-
static const ALIGN_ASSET(2) char flame_seg6_texture_06008000[] = "__OTR__actors/bowser_flame/bowser_flame_4";
14+
static const ALIGN_ASSET(2) char flame_seg6_texture_06004000[] = "__OTR__actors/bowser_flame/bowser_flame_4";
1515

16-
static const ALIGN_ASSET(2) char flame_seg6_texture_0600A000[] = "__OTR__actors/bowser_flame/bowser_flame_5";
16+
static const ALIGN_ASSET(2) char flame_seg6_texture_06005000[] = "__OTR__actors/bowser_flame/bowser_flame_5";
1717

18-
static const ALIGN_ASSET(2) char flame_seg6_texture_0600C000[] = "__OTR__actors/bowser_flame/bowser_flame_6";
18+
static const ALIGN_ASSET(2) char flame_seg6_texture_06006000[] = "__OTR__actors/bowser_flame/bowser_flame_6";
1919

20-
static const ALIGN_ASSET(2) char flame_seg6_texture_0600E000[] = "__OTR__actors/bowser_flame/bowser_flame_7";
20+
static const ALIGN_ASSET(2) char flame_seg6_texture_06007000[] = "__OTR__actors/bowser_flame/bowser_flame_7";
2121

22-
static const ALIGN_ASSET(2) char flame_seg6_texture_06010000[] = "__OTR__actors/bowser_flame/bowser_flame_8";
22+
static const ALIGN_ASSET(2) char flame_seg6_texture_06008000[] = "__OTR__actors/bowser_flame/bowser_flame_8";
2323

24-
static const ALIGN_ASSET(2) char flame_seg6_texture_06012000[] = "__OTR__actors/bowser_flame/bowser_flame_9";
24+
static const ALIGN_ASSET(2) char flame_seg6_texture_06009000[] = "__OTR__actors/bowser_flame/bowser_flame_9";
2525

26-
static const ALIGN_ASSET(2) char flame_seg6_texture_06014000[] = "__OTR__actors/bowser_flame/bowser_flame_10";
26+
static const ALIGN_ASSET(2) char flame_seg6_texture_0600A000[] = "__OTR__actors/bowser_flame/bowser_flame_10";
2727

28-
static const ALIGN_ASSET(2) char flame_seg6_texture_06016000[] = "__OTR__actors/bowser_flame/bowser_flame_11";
28+
static const ALIGN_ASSET(2) char flame_seg6_texture_0600B000[] = "__OTR__actors/bowser_flame/bowser_flame_11";
2929

30-
static const ALIGN_ASSET(2) char flame_seg6_texture_06018000[] = "__OTR__actors/bowser_flame/bowser_flame_12";
30+
static const ALIGN_ASSET(2) char flame_seg6_texture_0600C000[] = "__OTR__actors/bowser_flame/bowser_flame_12";
3131

32-
static const ALIGN_ASSET(2) char flame_seg6_texture_0601A000[] = "__OTR__actors/bowser_flame/bowser_flame_13";
32+
static const ALIGN_ASSET(2) char flame_seg6_texture_0600D000[] = "__OTR__actors/bowser_flame/bowser_flame_13";
33+
34+
static const ALIGN_ASSET(2) char flame_seg6_texture_0600E000[] = "__OTR__actors/bowser_flame/bowser_flame_14";
35+
36+
static const ALIGN_ASSET(2) char flame_seg6_texture_0600F000[] = "__OTR__actors/bowser_flame/bowser_flame_15";
37+
38+
static const ALIGN_ASSET(2) char flame_seg6_texture_06010000[] = "__OTR__actors/bowser_flame/bowser_flame_16";
39+
40+
static const ALIGN_ASSET(2) char flame_seg6_texture_06011000[] = "__OTR__actors/bowser_flame/bowser_flame_17";
41+
42+
static const ALIGN_ASSET(2) char flame_seg6_texture_06012000[] = "__OTR__actors/bowser_flame/bowser_flame_18";
43+
44+
static const ALIGN_ASSET(2) char flame_seg6_texture_06013000[] = "__OTR__actors/bowser_flame/bowser_flame_19";
45+
46+
static const ALIGN_ASSET(2) char flame_seg6_texture_06014000[] = "__OTR__actors/bowser_flame/bowser_flame_20";
47+
48+
static const ALIGN_ASSET(2) char flame_seg6_texture_06015000[] = "__OTR__actors/bowser_flame/bowser_flame_21";
49+
50+
static const ALIGN_ASSET(2) char flame_seg6_texture_06016000[] = "__OTR__actors/bowser_flame/bowser_flame_22";
51+
52+
static const ALIGN_ASSET(2) char flame_seg6_texture_06017000[] = "__OTR__actors/bowser_flame/bowser_flame_23";
53+
54+
static const ALIGN_ASSET(2) char flame_seg6_texture_06018000[] = "__OTR__actors/bowser_flame/bowser_flame_24";
55+
56+
static const ALIGN_ASSET(2) char flame_seg6_texture_06019000[] = "__OTR__actors/bowser_flame/bowser_flame_25";
57+
58+
static const ALIGN_ASSET(2) char flame_seg6_texture_0601A000[] = "__OTR__actors/bowser_flame/bowser_flame_26";
59+
60+
static const ALIGN_ASSET(2) char flame_seg6_texture_0601B000[] = "__OTR__actors/bowser_flame/bowser_flame_27";
3361

3462
static const ALIGN_ASSET(2) char flame_seg6_vertex_0601C000[] = "__OTR__actors/bowser_flame/flame_seg6_vertex_0601C000";
3563

include/assets/actors/impact_smoke.h

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,21 @@
33
#include "sm64.h"
44
#include "impact_smoke/geo.h"
55

6-
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_0605AA28[] = "__OTR__actors/impact_smoke/impact_smoke_0";
6+
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_0605AB78[] = "__OTR__actors/impact_smoke/impact_smoke_0";
77

8-
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_0605CA28[] = "__OTR__actors/impact_smoke/impact_smoke_1";
8+
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_0605BB78[] = "__OTR__actors/impact_smoke/impact_smoke_1";
99

10-
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_0605EA28[] = "__OTR__actors/impact_smoke/impact_smoke_2";
10+
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_0605CB78[] = "__OTR__actors/impact_smoke/impact_smoke_2";
1111

12-
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_06060A28[] = "__OTR__actors/impact_smoke/impact_smoke_3";
12+
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_0605DB78[] = "__OTR__actors/impact_smoke/impact_smoke_3";
13+
14+
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_0605EB78[] = "__OTR__actors/impact_smoke/impact_smoke_4";
15+
16+
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_0605FB78[] = "__OTR__actors/impact_smoke/impact_smoke_5";
17+
18+
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_06060B78[] = "__OTR__actors/impact_smoke/impact_smoke_6";
19+
20+
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_06061B78[] = "__OTR__actors/impact_smoke/impact_smoke_7";
1321

1422
static const ALIGN_ASSET(2) char impact_smoke_seg6_vertex_06062A28[] = "__OTR__actors/impact_smoke/impact_smoke_seg6_vertex_06062A28";
1523

0 commit comments

Comments
 (0)