Skip to content

Commit e023e39

Browse files
authored
Merge pull request #12 from lilousky/TrackCheck
Update to 2.0.4
2 parents e65ca50 + 4b1642b commit e023e39

Some content is hidden

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

42 files changed

+237
-91
lines changed

.github/workflows/main.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ jobs:
77
runs-on: ubuntu-20.04
88
timeout-minutes: 20
99
steps:
10-
- uses: actions/checkout@v2
10+
- uses: actions/checkout@v4
1111

1212
- name: Cache
1313
id: cache-1
14-
uses: actions/cache@v2
14+
uses: actions/cache@v4
1515
with:
1616
path: cache
1717
key: ${{ runner.os }}-cache-33
@@ -33,7 +33,7 @@ jobs:
3333
3434
- name: Compile
3535
run: |
36-
PATH=$(pwd)/devkitpro/devkitPPC/bin:$PATH DEVKITPPC=$(pwd)/devkitpro/devkitPPC DEVKITPRO=$(pwd)/devkitpro
36+
cp -r $(pwd)/devkitpro/devkitPPC devkitPPC/
3737
cd src
3838
python3 make.py
3939

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ src/bin
55
files/UIPatches/*.szs
66
__pycache__/
77
*.zip
8+
devkitPPC/
9+
.vscode/

build/ISO/Build.bat

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ echo.
107107
SET /P FRAMERATE=Force 30 FPS? (Y/N):
108108
IF /i %FRAMERATE%==Y (wit\wit.exe dolpatch mkw.d/sys/main.dol 8000400F=01 -q) ELSE (wit\wit.exe dolpatch mkw.d/sys/main.dol 8000400F=00 -q)
109109

110-
wit\wit.exe dolpatch mkw.d/sys/main.dol 8000629C=4BFFDF4C load=80004010,hns/Loader.bin -q
110+
wit\wit.exe dolpatch mkw.d/sys/main.dol 8000629C=4BFFDF58 load=80004010,hns/Loader.bin -q
111111

112112
echo.
113113
echo Format Selection:

build/Riivo/riivolution/hns.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
<folder disc="/Scene/UI" external="/hns/UI" create="true" />
3939
<!--Load Code-->
4040
<memory valuefile="/hns/Loader.bin" offset="0x80004010" />
41-
<memory offset="0x8000629C" value="4BFFDF4C" />
41+
<memory offset="0x8000629C" value="4BFFDF58" />
4242
<folder external="/hns/hns" disc="/hns" create="true"/>
4343
</patch>
4444
<patch id="mythingsctgp">
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

src/include/dwc.h

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#pragma once
2+
#include "common.h"
3+
4+
int DWC_CloseConnectionHard(u8 playerAid);
5+
bool DWC_IsServerMyself();

src/include/hidenseek.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#pragma once
2-
#include <common.h>
2+
#include "common.h"
33

44
typedef struct {
5-
u8 isStopped, isSeeker, isRealSeeker, unused;
5+
u8 isStopped, isSeeker, isRealSeeker, doneTrackCheck;
66
} HideNSeekPlayer;
77

88
typedef struct {

src/include/inputdata.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#pragma once
2-
#include <common.h>
2+
#include "common.h"
33

44
// Documentation by Seeky, SwareJonge and _tZ
55

src/include/itemholder.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#pragma once
2-
#include <common.h>
2+
#include "common.h"
33

44
typedef struct {
55
u8 unk[0x8C];

src/include/jgpt.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#pragma once
2-
#include <common.h>
3-
#include <vec.h>
2+
#include "common.h"
3+
#include "vec.h"
44

55
typedef struct {
66
VEC3 pos, rot;

src/include/killdata.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#pragma once
2-
#include <common.h>
3-
#include <screentext.h>
2+
#include "common.h"
3+
#include "screentext.h"
44

55
extern void* GetBMGPlayer(u16 pid);
66
extern void ApplyKillData(screenText* textData);

src/include/menudata.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#pragma once
2-
#include <common.h>
3-
#include <inputdata.h>
2+
#include "common.h"
3+
#include "inputdata.h"
44

55
typedef struct {
66
u32 controllerInfo, unk, wantsController;

src/include/musichandler.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#pragma once
2-
#include <common.h>
2+
#include "common.h"
33

44
typedef struct {
55
u8 unk[0x40];

src/include/os.h

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#pragma once
2+
3+
#include "common.h"
4+
5+
bool OSDisableInterrupts();
6+
bool OSRestoreInterrupts(bool);
7+
void OSReport(const char *format, ...);

src/include/player.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#pragma once
2-
#include <common.h>
2+
#include "common.h"
33

44
// Documentation by stebler, SwareJonge and 1superchip
55

src/include/racedata.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#pragma once
2-
#include <common.h>
2+
#include "common.h"
33

44
// Documentation by Seeky, TheLordScruffy, WhatIsLoaf and riidefi
55

src/include/raceinfo.h

+11-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#pragma once
2-
#include <common.h>
2+
#include "common.h"
33

44
// Documentation by Seeky, _tZ, Kevin, Leseratte, stebler and Melg
55

@@ -60,14 +60,16 @@ typedef struct {
6060
} RaceinfoPlayer; // Total size 0x54
6161

6262
typedef struct {
63-
void* vtable;
64-
void* random1;
65-
void* random2;
66-
RaceinfoPlayer **players;
67-
void* gamemodeData;
68-
TimerManager* timerManager;
69-
u8 unk[0x10];
70-
u32 raceState;
63+
void* vtable;
64+
void* random1;
65+
void* random2;
66+
RaceinfoPlayer **players;
67+
void* gamemodeData;
68+
TimerManager* timerManager;
69+
u8 unk[8];
70+
u32 timer;
71+
u8 unk2[4];
72+
u32 raceState;
7173
} _Raceinfo;
7274

7375
extern _Raceinfo* Raceinfo;

src/include/racemodeonline.h

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#pragma once
2+
#include "common.h"
3+
#include "raceinfo.h"
4+
5+
typedef struct {
6+
u8 packedBits[15];
7+
u8 _F;
8+
u8 localPlayerId[2];
9+
u8 _12;
10+
u8 localPlayerCount;
11+
u32 timeSinceLeaderFinish;
12+
u32 minimumRaceFinishTime;
13+
bool disconnecting;
14+
u8 _1D;
15+
u16 idleTimers[2];
16+
u16 idleCountdowns[2];
17+
u16 _26;
18+
} RaceHeader2VS;
19+
20+
typedef struct {
21+
void* vtable;
22+
_Raceinfo *raceinfo;
23+
} RaceMode;
24+
25+
typedef struct {
26+
RaceMode inherit;
27+
u8 unk[0xF0];
28+
RaceHeader2VS outPacket;
29+
u8 unk2[0x54];
30+
} RaceModeOnlineVs; // Total size 0x174
31+
32+
RaceHeader2VS* GetRaceHeader2Buffer(u32 param_1, u32 playerId);
33+
void clearSendRH2(u32 ptr_miscPacketHandler);

src/include/racepacket.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#pragma once
2-
#include <common.h>
2+
#include "common.h"
33

44
typedef struct {
55
u32 checksum[2];

src/include/rknetcontroller.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#pragma once
2-
#include <common.h>
2+
#include "common.h"
33

44
// Documentation by Seeky
55

src/include/screentext.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#pragma once
2-
#include <common.h>
2+
#include "common.h"
33

44
// Documentation by Kevin
55

src/include/selecthandler.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#pragma once
2-
#include <common.h>
2+
#include "common.h"
33

44
// Documentation by Seeky
55

src/include/utils.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#pragma once
2-
#include <common.h>
3-
#include <player.h>
4-
#include <raceinfo.h>
2+
#include "common.h"
3+
#include "player.h"
4+
#include "raceinfo.h"
55

66
int UtilRandint(int lo, int hi);
77
void UtilRandomSeed(int seed);

src/include/vec.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#pragma once
2-
#include <common.h>
2+
#include "common.h"
33

44
typedef struct {
55
float x, y, z;

src/make.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from elftools.elf.elffile import ELFFile as elf
55

66
# Locate various things
7-
gcc = 'powerpc-eabi-gcc'
8-
objcopy = 'powerpc-eabi-objcopy'
7+
gcc = os.path.join("..", "devkitPPC", "bin", "powerpc-eabi-gcc")
8+
objcopy = os.path.join("..", "devkitPPC", "bin", "powerpc-eabi-objcopy")
99
destdir = 'bin'
1010

1111
# Initialize variables
@@ -73,6 +73,7 @@ def build(isBootStrap: bool):
7373
print('Insert', hex(instruction), 'at', hex(startHook))
7474

7575
# Convert to binary
76+
print(f'Converting {region} to binary...')
7677
c = call([objcopy, '-O', 'binary', '-R', '.eh_frame', '-R', '.eh_frame_hdr', outputfile + 'o', outputfile + 'bin'])
7778
if c != 0:
7879
print('Build failed!')

src/payload/main.c

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#include "common.h"
2-
32
// Forward declarations
43
void CupScreenPatch();
54
void BattleCupScreenPatch();
@@ -143,7 +142,7 @@ void loadCodes() {
143142
directWriteBranch(GuestSendHook, GuestSend, false);
144143
directWriteBranch(HostCheckHook, HostCheck, false);
145144
directWriteBranch(HostCheckHelperHook, HostCheckHelper, true);
146-
directWrite8(Version, 7);
145+
directWrite8(Version, 8);
147146

148147
// Improved Position Interpolation (by stebler)
149148
directWrite32(NoInterpolation, 0x3F800000);
@@ -345,6 +344,10 @@ void loadCodes() {
345344
directWriteBranch(TagDistanceHook2, TagDistanceFunc, true);
346345
directWriteBranch(TagShowHook, HandleTags, true);
347346

347+
// Track Check (by CLF78 and Lami)
348+
directWriteBranch(InsertTrackIdentHook, InsertTrackIdent, false);
349+
directWriteBranch(CheckTrackIdentHook, CheckTrackIdent, false);
350+
348351
// Disable Track Music (by CosmoCourtney)
349352
if (NoMusic == 1) {
350353
directWrite32(NoMusicHook, 0x38600000);

src/payload/main/battlefixes.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
#include <common.h>
2-
#include <hidenseek.h>
3-
#include <jgpt.h>
4-
#include <raceinfo.h>
5-
#include <player.h>
6-
#include <vec.h>
1+
#include "common.h"
2+
#include "hidenseek.h"
3+
#include "jgpt.h"
4+
#include "raceinfo.h"
5+
#include "player.h"
6+
#include "vec.h"
77

88
#define DELFINOPIERCRC 0x72836BEE
99

src/payload/main/hnsdata.c

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
#include <common.h>
2-
#include <hidenseek.h>
3-
#include <racedata.h>
4-
#include <rknetcontroller.h>
5-
#include <utils.h>
1+
#include "common.h"
2+
#include "hidenseek.h"
3+
#include "racedata.h"
4+
#include "rknetcontroller.h"
5+
#include "utils.h"
66

77
int pidHelper(char currentpid, char prevaid1, char prevaid2, int index) {
88

src/payload/main/hudedits.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
#include <common.h>
2-
#include <hidenseek.h>
3-
#include <racedata.h>
4-
#include <raceinfo.h>
1+
#include "common.h"
2+
#include "hidenseek.h"
3+
#include "racedata.h"
4+
#include "raceinfo.h"
55

66
int ScoreSound(int score) {
77

src/payload/main/invisibility.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
#include <common.h>
2-
#include <hidenseek.h>
3-
#include <racedata.h>
4-
#include <racepacket.h>
5-
#include <rknetcontroller.h>
6-
#include <utils.h>
1+
#include "common.h"
2+
#include "hidenseek.h"
3+
#include "racedata.h"
4+
#include "racepacket.h"
5+
#include "rknetcontroller.h"
6+
#include "utils.h"
77

88
void InvisibilityFunc(RacePacket* packet, int length, int aid) {
99

src/payload/main/itemhit.c

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
#include <common.h>
2-
#include <hidenseek.h>
3-
#include <killdata.h>
4-
#include <musichandler.h>
5-
#include <player.h>
6-
#include <racedata.h>
7-
#include <racepacket.h>
8-
#include <rknetcontroller.h>
9-
#include <utils.h>
1+
#include "common.h"
2+
#include "hidenseek.h"
3+
#include "killdata.h"
4+
#include "musichandler.h"
5+
#include "player.h"
6+
#include "racedata.h"
7+
#include "racepacket.h"
8+
#include "rknetcontroller.h"
9+
#include "utils.h"
1010

1111
void PlayerKiller(char pid) {
1212

src/payload/main/killdata.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#include <common.h>
2-
#include <killdata.h>
3-
#include <screentext.h>
1+
#include "common.h"
2+
#include "killdata.h"
3+
#include "screentext.h"
44

55
void AddNewKillData(u16 type, u16 int1, u16 int2) {
66

src/payload/main/noclip.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#include <hidenseek.h>
2-
#include <player.h>
1+
#include "hidenseek.h"
2+
#include "player.h"
33

44
bool NoClip(PlayerPointers** player1) {
55
register PlayerSub18* player2 asm("r30");

0 commit comments

Comments
 (0)