Skip to content

Commit 46ec453

Browse files
Initial commit
First open-source release of showfloor. It's a bit messy, but it will improve over time. Big thanks to everybody who helped make this possible.
0 parents  commit 46ec453

2,660 files changed

Lines changed: 385078 additions & 0 deletions

File tree

Some content is hidden

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

.clang-format

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
IndentWidth: 4
2+
Language: Cpp
3+
AlignAfterOpenBracket: Align
4+
SortIncludes: false
5+
ColumnLimit: 104
6+
PointerAlignment: Right
7+
AllowShortFunctionsOnASingleLine: false
8+
AllowShortIfStatementsOnASingleLine: false
9+
BinPackArguments: true
10+
BinPackParameters: true
11+
SpaceAfterCStyleCast: true
12+
BreakBeforeBraces: Attach
13+
BreakBeforeTernaryOperators: true
14+
BreakBeforeBinaryOperators: NonAssignment
15+
Cpp11BracedListStyle: false
16+
IndentCaseLabels: true
17+
AlignTrailingComments: true
18+
UseTab: Never

.clang-tidy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
Checks: '-*,readability-braces-around-statements'
3+
WarningsAsErrors: ''
4+
HeaderFilterRegex: '(src|include|enhancements)\/.*\.h$'
5+
FormatStyle: 'file'
6+
CheckOptions:

.gitattributes

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Set the default behavior, in case people don't have core.autocrlf set.
2+
* text=auto
3+
4+
# List text files in case git doesn't characterize correctly
5+
*.c text
6+
*.h text
7+
*.s text
8+
*.in text
9+
*.js text
10+
*.md text
11+
*.py text
12+
*.sh text
13+
*.ld text
14+
*.inc text
15+
*.txt text
16+
*.json text
17+
*.yaml text
18+
19+
# Same for binary
20+
*.bin binary
21+
*.m64 binary
22+
*.png binary
23+
*.aiff binary

.gitignore

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Object files
2+
*.o
3+
*.obj
4+
*.elf
5+
6+
# Linker output
7+
*.ilk
8+
*.exp
9+
10+
# Precompiled Headers
11+
*.gch
12+
*.pch
13+
14+
# Libraries
15+
*.lib
16+
*.a
17+
*.la
18+
*.lo
19+
20+
# Shared objects (inc. Windows DLLs)
21+
*.dll
22+
*.so
23+
*.so.*
24+
*.dylib
25+
26+
# Executables
27+
*.exe
28+
*.out
29+
*.app
30+
*.hex
31+
32+
# Debug files
33+
*.dSYM/
34+
*.su
35+
*.idb
36+
*.pdb
37+
38+
# datadump
39+
/tools/ddump/*
40+
41+
# Text editor remnants
42+
*.swp
43+
.vscode/*
44+
45+
# General project-specific ignores
46+
build/*
47+
*.dump
48+
*.mio0
49+
*.z64
50+
*.map
51+
.assets-local.txt
52+
**/.DS_Store

Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
FROM ubuntu:18.04 as build
2+
3+
RUN apt-get update && \
4+
apt-get install -y \
5+
binutils-mips-linux-gnu \
6+
build-essential \
7+
git \
8+
pkgconf \
9+
python3
10+
11+
RUN mkdir /sm64
12+
WORKDIR /sm64
13+
ENV PATH="/sm64/tools:${PATH}"
14+
15+
CMD echo 'usage: docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 sm64 make VERSION=us -j4\n' \
16+
'see https://github.com/n64decomp/sm64/blob/master/README.md for advanced usage'

Jenkinsfile

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
pipeline {
2+
agent any
3+
stages {
4+
stage('Build Tools') {
5+
steps {
6+
sh 'make -j4 -C tools/'
7+
}
8+
}
9+
stage('Extract Assets') {
10+
steps {
11+
sh 'ln -s "$ROMS_DIR/Super Mario 64 (J) [!].z64" baserom.jp.z64'
12+
sh 'ln -s "$ROMS_DIR/Super Mario 64 (U) [!].z64" baserom.us.z64'
13+
sh 'ln -s "$ROMS_DIR/Super Mario 64 (E) (M3) [!].z64" baserom.eu.z64'
14+
sh 'ln -s "$ROMS_DIR/Super Mario 64 - Shindou Edition (J) [!].z64" baserom.sh.z64'
15+
sh 'ln -s "$ROMS_DIR/Super Mario 64 - iQue (Ch).z64" baserom.cn.z64'
16+
// verify no assets were committed to repo
17+
sh '[ -z "$(find {actors,levels,textures}/ -name \'*.png\')" ]'
18+
sh '[ -z "$(find assets/ -name \'*.m64\' -or \'*.bin\')" ]'
19+
sh './extract_assets.py jp us eu sh cn'
20+
}
21+
}
22+
stage('Build US Source') {
23+
steps {
24+
sh 'make -j4 VERSION=us VERBOSE=1 COLOR=0'
25+
}
26+
}
27+
stage('Build SH Source') {
28+
steps {
29+
sh 'make -j4 VERSION=sh VERBOSE=1 COLOR=0'
30+
}
31+
}
32+
stage('Build EU Source') {
33+
steps {
34+
sh 'make -j4 VERSION=eu VERBOSE=1 COLOR=0'
35+
}
36+
}
37+
stage('Build JP Source') {
38+
steps {
39+
sh 'make -j4 VERSION=jp VERBOSE=1 COLOR=0'
40+
}
41+
}
42+
stage('Build CN Source') {
43+
steps {
44+
sh 'make -j4 VERSION=cn VERBOSE=1 COLOR=0 COMPARE=0'
45+
}
46+
}
47+
stage('Test Enhancements') {
48+
steps {
49+
sh '''
50+
set -e
51+
for f in enhancements/*.patch
52+
do
53+
git clean -fd .
54+
git checkout -- .
55+
echo 'y' | tools/apply_patch.sh "$f"
56+
make -j4 VERSION=us COMPARE=0 VERBOSE=1
57+
done
58+
'''
59+
}
60+
}
61+
}
62+
environment {
63+
QEMU_IRIX = credentials('qemu-irix')
64+
ROMS_DIR = credentials('roms')
65+
}
66+
}

0 commit comments

Comments
 (0)