Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/accuracy_issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Accuracy Issue
about: Report a discrepancy or inaccuracy in the game
title: "Description of the inaccuracy"
labels: bug
assignees: ''
---

- [ ] I have checked checked the known issues and searched Github to ensure this issue has not already been reported.

### Description of the inaccuracy:
<!-- A clear and concise description of what the inaccuracy is and where it occurs in the game. -->

### Screenshots or videos of Ghostship's behavior:

### Screenshots or videos of the original hardware's behavior:
<!-- If these were not sourced from original hardware please provide details on where they came from (Ares, Project64, etc) -->

### System Information:
- OS:
- GFX Backend: Metal, OpenGL, or DirectX
- Game Version:
- Rom Version:

### Additional Information:
<!-- Add any other context about the problem here. -->
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/crash_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: Crash Report
about: Report a crash, unexpected exit, or freeze
title: "Description of the crash"
labels: bug, crash
assignees: ''
---

### Description of the crash:
<!-- A clear and concise description of what the crash was and what you were doing when it happened. -->

### Can you reproduce? If so please list the steps:
- [ ] No, I cannot reproduce this crash
- [ ] Yes, here are the steps to reproduce the crash:
<!--
1. Warp to...
2. Do this...
3. Crash
-->

### Screenshots or videos:
<!-- If applicable, add screenshots or videos to help explain your problem. -->

### Logs:
<!-- 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 -->

### System Information:
- OS:
- GFX Backend: Metal, OpenGL, or DirectX
- Game Version:
- Rom Version:

### Additional Information:
<!-- Add any other context about the problem here. -->
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/general_bug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: General Bug
about: Other bugs related to Ghostship and it's features
title: "Description of the bug"
labels: bug
assignees: ''
---

- [ ] I have checked the known issues and searched Github to ensure this issue has not already been reported.
- [ ] This is not a feature request, I know those belong on Discord/Github Discussions.

### Description of the bug:
<!-- A clear and concise description of what the bug or enhancement is. -->

### Can you reproduce? If so please list the steps:
- [ ] No, I cannot reproduce this bug
- [ ] Yes, here are the steps to reproduce the bug:
<!--
1. Go to...
2. Do this...
3. See the bug
-->

### Expected behavior:
<!-- A clear and concise description of what you expected to happen or what the enhancement should achieve. -->

### Screenshots or videos:
<!-- If applicable, add screenshots or videos to help explain your problem or suggestion. -->

### System Information:
- OS:
- GFX Backend: Metal, OpenGL, or DirectX
- Game Version:
- Rom Version:

### Additional Information:
<!-- Add any other context about the problem or suggestion here. -->
7 changes: 5 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,11 @@ jobs:
- name: Create Package
run: |
mkdir ghostship-release
mkdir ghostship-release/debug
mv build/x64/Release/Ghostship.exe ghostship-release/
mv build/x64/Release/ghostship.o2r ghostship-release/
mv build/x64/Release/*.pdb ghostship-release/debug/
mv README.md ghostship-release/readme.txt
mv config.yml ghostship-release/
mv assets ghostship-release/
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt" -OutFile "ghostship-release/gamecontrollerdb.txt"
Expand Down Expand Up @@ -179,7 +182,7 @@ jobs:
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Debug
cmake --build build-cmake --config Debug -j3
(cd build-cmake && cpack -G External)
wget -O gamecontrollerdb.txt https://github.com/mdqinc/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt
wget -O gamecontrollerdb.txt https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/refs/heads/master/gamecontrollerdb.txt
mv README.md readme.txt
mv build-cmake/*.appimage ghostship.appimage
- name: Upload build
Expand Down Expand Up @@ -212,7 +215,7 @@ jobs:
sudo sh /tmp/cmake.sh --prefix=/usr/local/ --exclude-subdir
cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake
cmake --build build-switch --config Release -j3
wget -O gamecontrollerdb.txt https://github.com/mdqinc/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt
wget -O gamecontrollerdb.txt https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/refs/heads/master/gamecontrollerdb.txt
mv README.md readme.txt
mv build-switch/*.nro Ghostship.nro
- name: Upload build
Expand Down
112 changes: 43 additions & 69 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -426,75 +426,44 @@ endif()
# Compile and link options
################################################################################
if(MSVC)
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
target_compile_options(${PROJECT_NAME} PRIVATE
$<$<CONFIG:Debug>:
/w;
/Od;
/MTd
>
$<$<CONFIG:Release>:
/Oi;
/Gy;
/W3;
/MT
>
/permissive-;
/MP;
${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT};
${DEFAULT_CXX_EXCEPTION_HANDLING}
)
target_compile_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>:/ZI;>)
target_compile_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:Release>:/Zi;>)
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
target_compile_options(${PROJECT_NAME} PRIVATE
$<$<CONFIG:Debug>:
/MTd
>
$<$<CONFIG:Release>:
/O2;
/Oi;
/Gy;
/MT
>
/permissive-;
/MP;
/w;
${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT};
${DEFAULT_CXX_EXCEPTION_HANDLING}
)
endif()
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
target_link_options(${PROJECT_NAME} PRIVATE
$<$<CONFIG:Debug>:
/INCREMENTAL
>
$<$<CONFIG:Release>:
/OPT:REF;
/OPT:ICF;
/INCREMENTAL:NO;
/FORCE:MULTIPLE
>
/MANIFEST:NO;
/DEBUG;
/SUBSYSTEM:WINDOWS
)
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
target_link_options(${PROJECT_NAME} PRIVATE
$<$<CONFIG:Debug>:
/STACK:8777216
>
$<$<CONFIG:Release>:
/OPT:REF;
/OPT:ICF;
/INCREMENTAL:NO;
/FORCE:MULTIPLE
>
/MANIFEST:NO;
/DEBUG;
/SUBSYSTEM:WINDOWS
)
endif()
target_compile_options(${PROJECT_NAME} PRIVATE
$<$<CONFIG:Debug>:
/w;
/Od
>
$<$<CONFIG:Release>:
/Oi;
/Gy;
/W3
>

/wd4024 #different types for formal and actual parameter [x]. Usually seen along side 4047.
/wd4047 #'uintptr_t' differs in levels of indirection from 'Gfx *'. Usually caused by passing a uintptr_t into a function expecting a pointer-types
/wd4090 #'initializing': different 'const' qualifiers. Caused when initializing a non const struct member with a const char*.
/wd4101 # unreferenced local variable. Things like stack pads.
/wd4133 #incompatible types. Usually caused by passing a c string into a function that takes a pointer.
/wd4244 #conversion from [a] to [b]. Used to warn when copying to smaller type without a cast.
/sdl-;
/permissive-;
/MP;
${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT};
${DEFAULT_CXX_EXCEPTION_HANDLING}
)
target_compile_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>:/ZI;>)
target_link_options(${PROJECT_NAME} PRIVATE
$<$<CONFIG:Debug>:
/INCREMENTAL
>
$<$<CONFIG:Release>:
/OPT:REF;
/OPT:ICF;
/INCREMENTAL:NO;
/FORCE:MULTIPLE
>
/MANIFEST:NO;
/DEBUG;
/SUBSYSTEM:WINDOWS
)

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

if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
install(FILES $<TARGET_PDB_FILE:${PROJECT_NAME}> DESTINATION ./debug COMPONENT ${PROJECT_NAME})
install(FILES "${CMAKE_BINARY_DIR}/ghostship.o2r" DESTINATION . COMPONENT ${PROJECT_NAME})
endif()

if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
add_custom_target(CreateOSXIcons
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/macosx/ghostship.iconset
Expand Down
2 changes: 1 addition & 1 deletion Torch
5 changes: 1 addition & 4 deletions actors/group11.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@
#include "assets/actors/spiny_egg.h"

// wiggler_body
#include "assets/actors/wiggler_body.h"

// wiggler_head
#include "assets/actors/wiggler_head.h"
#include "assets/actors/wiggler.h"

#endif
54 changes: 41 additions & 13 deletions include/assets/actors/bowser_flame.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,59 @@

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

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

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

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

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

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

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

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

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

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

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

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

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

static const ALIGN_ASSET(2) char flame_seg6_texture_0601A000[] = "__OTR__actors/bowser_flame/bowser_flame_13";
static const ALIGN_ASSET(2) char flame_seg6_texture_0600D000[] = "__OTR__actors/bowser_flame/bowser_flame_13";

static const ALIGN_ASSET(2) char flame_seg6_texture_0600E000[] = "__OTR__actors/bowser_flame/bowser_flame_14";

static const ALIGN_ASSET(2) char flame_seg6_texture_0600F000[] = "__OTR__actors/bowser_flame/bowser_flame_15";

static const ALIGN_ASSET(2) char flame_seg6_texture_06010000[] = "__OTR__actors/bowser_flame/bowser_flame_16";

static const ALIGN_ASSET(2) char flame_seg6_texture_06011000[] = "__OTR__actors/bowser_flame/bowser_flame_17";

static const ALIGN_ASSET(2) char flame_seg6_texture_06012000[] = "__OTR__actors/bowser_flame/bowser_flame_18";

static const ALIGN_ASSET(2) char flame_seg6_texture_06013000[] = "__OTR__actors/bowser_flame/bowser_flame_19";

static const ALIGN_ASSET(2) char flame_seg6_texture_06014000[] = "__OTR__actors/bowser_flame/bowser_flame_20";

static const ALIGN_ASSET(2) char flame_seg6_texture_06015000[] = "__OTR__actors/bowser_flame/bowser_flame_21";

static const ALIGN_ASSET(2) char flame_seg6_texture_06016000[] = "__OTR__actors/bowser_flame/bowser_flame_22";

static const ALIGN_ASSET(2) char flame_seg6_texture_06017000[] = "__OTR__actors/bowser_flame/bowser_flame_23";

static const ALIGN_ASSET(2) char flame_seg6_texture_06018000[] = "__OTR__actors/bowser_flame/bowser_flame_24";

static const ALIGN_ASSET(2) char flame_seg6_texture_06019000[] = "__OTR__actors/bowser_flame/bowser_flame_25";

static const ALIGN_ASSET(2) char flame_seg6_texture_0601A000[] = "__OTR__actors/bowser_flame/bowser_flame_26";

static const ALIGN_ASSET(2) char flame_seg6_texture_0601B000[] = "__OTR__actors/bowser_flame/bowser_flame_27";

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

Expand Down
16 changes: 12 additions & 4 deletions include/assets/actors/impact_smoke.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,21 @@
#include "sm64.h"
#include "impact_smoke/geo.h"

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

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

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

static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_06060A28[] = "__OTR__actors/impact_smoke/impact_smoke_3";
static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_0605DB78[] = "__OTR__actors/impact_smoke/impact_smoke_3";

static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_0605EB78[] = "__OTR__actors/impact_smoke/impact_smoke_4";

static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_0605FB78[] = "__OTR__actors/impact_smoke/impact_smoke_5";

static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_06060B78[] = "__OTR__actors/impact_smoke/impact_smoke_6";

static const ALIGN_ASSET(2) char impact_smoke_seg6_texture_06061B78[] = "__OTR__actors/impact_smoke/impact_smoke_7";

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

Expand Down
Loading
Loading