Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • STJr/SRB2
  • Sryder/SRB2
  • wolfy852/SRB2
  • Alpha2244/SRB2
  • Inuyasha/SRB2
  • yoshibot/SRB2
  • TehRealSalt/SRB2
  • PrisimaTF/SRB2
  • Hatninja/SRB2
  • SteelT/SRB2
  • james/SRB2
  • ShaderWraith/SRB2
  • SinnamonLat/SRB2
  • mazmazz_/SRB2
  • filpAM/SRB2
  • chaoloveicemdboy/SRB2
  • Whooa21/SRB2
  • Machturne/SRB2
  • Golden/SRB2
  • Tatsuru/SRB2
  • Snu/SRB2
  • Zwip-Zwap_Zapony/SRB2
  • fickleheart/SRB2
  • alphaRexJames/SRB2
  • JJK/SRB2
  • diskpoppy/SRB2
  • Hannu_Hanhi/SRB2
  • ZipperQR/SRB2
  • kays/SRB2
  • spherallic/SRB2
  • Zippy_Zolton/SRB2
  • namiishere/SRB2
  • Ors/SRB2
  • SMS_Alfredo/SRB2
  • sonic_edge/SRB2
  • lavla/SRB2
  • ashi/SRB2
  • X.organic/SRB2
  • Fafabis/SRB2
  • Meziu/SRB2
  • v-rob/SRB2
  • tertu/SRB2
  • bitten2up/SRB2
  • flarn2006/SRB2
  • Krabs/SRB2
  • clairebun/SRB2
  • Lactozilla/SRB2
  • thehackstack/SRB2
  • Spice/SRB2
  • win8linux/SRB2
  • JohnFrostFox/SRB2
  • talktoneon726/SRB2
  • Wane/SRB2
  • Lamibe/SRB2
  • spectrumuk2/srb-2
  • nerdyminer18/srb-2
  • 256nil/SRB2
  • ARJr/SRB2
  • Alam/SRB2
  • Zenya/srb-2-marathon-demos
  • Acelite/srb-2-archivedmodifications
  • MIDIMan/SRB2
  • Lach/SRB2
  • Frostiikin/bounce-tweaks
  • Jaden/SRB2
  • Tyron/SRB2
  • Astronight/SRB2
  • Mari0shi06/SRB2
  • aiire/SRB2
  • Galactice/SRB2
  • srb2-ports/srb2-dreamcast
  • sdasdas/SRB2
  • chreas/srb-2-vr
  • StarManiaKG/the-story-of-sinically-rocketing-and-botching-the-2nd
  • LoganAir/SRB2
  • NepDisk/srb-2
  • alufolie91/SRB2
  • Felicia.iso/SRB2
  • twi/SRB2
  • BarrelsOFun/SRB2
  • Speed2411/SRB2
  • Leather_Realms/SRB2
  • Ayemar/SRB2
  • Acelite/SRB2
  • VladDoc/SRB2
  • kaldrum/model-features
  • strawberryfox417/SRB2
  • Lugent/SRB2
  • Rem/SRB2
  • Refrag/SRB2
  • Henry_3230/srb-3230
  • TehPuertoRicanSpartan2/tprs-srb2
  • Leminn/srb-2-marathon-stuff
  • chromaticpipe2/SRB2
  • MiguelGustavo15/SRB2
  • Maru/srb-2-tests
  • SilicDev/SRB2
  • UnmatchedBracket/SRB2
  • HybridDog/SRB2
  • xordspar0/SRB2
  • jsjhbewfhh/SRB2
  • Fancy2209/SRB2
  • Lorsoen/SRB2
  • shindoukin/SRB2
  • GamerOfDays/SRB2
  • Craftyawesome/SRB2
  • tenshi-tensai-tennoji/SRB2
  • Scarfdudebalder/SRB2
  • luigi-budd/srb-2-fix-interplag-lockon
  • mskluesner/SRB2
  • johnpetersa19/SRB2
  • Pheazant/SRB2
  • chromaticpipe2/srb2classic
  • romoney5/SRB2
  • PAS/SRB2Classic
  • BlueStaggo/SRB2
  • Jisk/srb-2-beef-jerky
117 results
Select Git revision
  • 1392-2-2-15-attempting-to-draw-a-hud-graphic-with-the-same-lump-name-as-a-lua-script-crashes-the
  • 21-installer-nodd
  • 2210-pre1
  • 2210-pre2
  • 2210-rc1
  • 2210-rc2
  • 2210-rc3
  • 2211-pre1
  • 2211-pre2
  • 2211-rc1
  • 2212-pre1
  • 2212-pre2
  • 2212-pre3
  • 2212-rc1
  • 2213
  • 2214-pre1
  • 2214-pre2
  • 2214-pre3
  • 2214-pre4
  • 2_2_12
  • 64-gl-log
  • COM_ImmedExecute-lua
  • DJGPP
  • accel-momentum
  • acs
  • action-args
  • alpha-fixes
  • any-resolution
  • appveyor
  • blend-locking
  • blentran
  • blua-unary-not-fix
  • boost-tickrate
  • bustablesoundz
  • cleanup-opengl
  • cleanupmusic
  • clipmidtex
  • cmake-valgrind
  • crawlacommander-sprites
  • custom-map-names
  • custom-teams
  • cutscene-cleanup
  • dd-music-bypass
  • dd-music-fix
  • delfile2
  • deprecate-lua-dedicated-server
  • dpl-2
  • dropshadows-spawning
  • dynabsp
  • emblem-drawing
  • exchndl-xp-fix
  • extra-textures
  • few-kart-lua-changes
  • ffloorclip
  • fix-167
  • fix-cvar-conflicts
  • fix-opengl-parameter-crash
  • fix-opengl-shear-roll
  • flipfuncpointers
  • fof-lightlist-fixes
  • font-FUCK
  • frictionrefactor
  • fuck-macros-1
  • gamepad-luakeydown
  • gamepad-morefixes
  • gamepad_experiments
  • gametype-refactor
  • gametype-refactor-1
  • gametype-refactor-player-spawns
  • ghost-networking
  • gif-splitting
  • grr-lj
  • hitboxviewer
  • hwr-texture-cache-refactor
  • hwrender2
  • improve-439
  • increase-maxconditionsets
  • increase-packet-tics
  • input-display
  • input-display-translucency
  • io
  • joystick-juggling-maz
  • just-in-case
  • keycodes-only
  • ksf-wadfiles
  • ld413-mp-fix
  • levelstruct
  • libpng-version-support
  • linedef-actions
  • lj-test
  • lol-states
  • loopedsounds
  • lower-unpegged-fix
  • lua-change-gametype
  • lua-command-netids
  • lua-gfx-2
  • lua-gfx-sprites
  • lua-local
  • makefile-auto-mingw-gcc
  • makefile-tinkering
  • SRB2_release_2.1
  • SRB2_release_2.1.1
  • SRB2_release_2.1.10
  • SRB2_release_2.1.11
  • SRB2_release_2.1.12
  • SRB2_release_2.1.14
  • SRB2_release_2.1.15
  • SRB2_release_2.1.16
  • SRB2_release_2.1.16a
  • SRB2_release_2.1.17
  • SRB2_release_2.1.18
  • SRB2_release_2.1.19
  • SRB2_release_2.1.2
  • SRB2_release_2.1.20
  • SRB2_release_2.1.21
  • SRB2_release_2.1.22
  • SRB2_release_2.1.23
  • SRB2_release_2.1.24
  • SRB2_release_2.1.25
  • SRB2_release_2.1.3
  • SRB2_release_2.1.4
  • SRB2_release_2.1.5
  • SRB2_release_2.1.6
  • SRB2_release_2.1.7
  • SRB2_release_2.1.8
  • SRB2_release_2.1.9
  • SRB2_release_2.2.0
  • SRB2_release_2.2.1
  • SRB2_release_2.2.10
  • SRB2_release_2.2.11
  • SRB2_release_2.2.12
  • SRB2_release_2.2.13
  • SRB2_release_2.2.15
  • SRB2_release_2.2.2
  • SRB2_release_2.2.3
  • SRB2_release_2.2.4
  • SRB2_release_2.2.5
  • SRB2_release_2.2.6
  • SRB2_release_2.2.7
  • SRB2_release_2.2.8
  • SRB2_release_2.2.9
  • td-release-v1.0.0
142 results
Show changes
Commits on Source (27)
#!/bin/bash
set -e
# Make Linux AppImage program data
# https://docs.appimage.org/reference/appdir.html
# PWD: {repo_root}/build
# See deployer.sh for usage
RESET="\e[0m"
FAILURE="\e[91m"
SUCCESS="\e[92m"
NOTICE="\e[93m"
VERBOSE="\e[94m"
verbosity=0 # By default don't print anything unless it's *ultra* important.
quiet=0 # Also don't print anything if they supplied the quiet argument
function print { ((quiet == 0)) && echo "$@" || :; } # echo if not quiet
function coloredText { printf $1; print "${@:2}"; printf $RESET; } # use print to inherit quiet
function success { coloredText $SUCCESS "$@"; } # use coloredText to inherit quiet
function important { coloredText $NOTICE "$@"; } # use coloredText to inherit quiet
function verboseOnly { (( verbosity >= $1 )) && (coloredText $VERBOSE "${@:2}") || :; } # use coloredText to inherit quiet
# Parses an argument with a single dash
function parseSingleDashArg() {
while read -n 1 char; do
if [[ $char == '-' || $char == '' ]]; then
:
elif [[ $char == 'h' ]]; then
helppassed=1
elif [[ $char == 'q' ]]; then
quiet=1
elif [[ $char == 'v' ]]; then
verbosity=$((verbosity + 1))
elif [[ $char == 'd' ]]; then
dry=1
elif [[ $char == 's' ]]; then
small=1
else
echo "$0: invalid option -- '$1'"
echo "Try '$0 --help' for more information."
return 1
fi
done <<<"$1"
}
# Simple help argument checker.
currentarg=1; # Which argument is --help...
for arg in "$@"; do # For $arg in the argument array...
if [[ $arg == "--help" ]]; then # Is it a help argument?
helppassed=1; # Help is passed, set $helppassed!
set -- "${@:1:$currentarg-1}" "${@:$currentarg+1}"; # Remove argument from list
elif [[ $arg == "--quiet" ]]; then
quiet=1
set -- "${@:1:$currentarg-1}" "${@:$currentarg+1}"; # Remove argument from list
elif [[ $arg == "--verbose" ]]; then
verbosity=$((verbosity + 1)) # Increase verbosity!
set -- "${@:1:$currentarg-1}" "${@:$currentarg+1}"; # Remove argument from list
elif [[ $arg == "--dry" ]]; then
dry=1; # Show parameters instead of using them.
set -- "${@:1:$currentarg-1}" "${@:$currentarg+1}"; # Remove argument from list
elif [[ $arg == "--small" ]]; then
small=1; # Don't copy assets to save on bandwidth.
set -- "${@:1:$currentarg-1}" "${@:$currentarg+1}"; # Remove argument from list
elif [[ ! $arg == *'--'* && $arg == *'-'* ]]; then
parseSingleDashArg $arg
if [[ $? == 0 ]]; then
set -- "${@:1:$currentarg-1}" "${@:$currentarg+1}"; # Remove argument from list
fi
elif [[ $arg == *'--'* ]]; then
print "$0: invalid option -- '$1'"
print "Try '$0 --help' for more information."
return 1;
else
currentarg=$((currentarg+1)); # Increment current argument number otherwise...
fi
done
important "SRB2 AppImage Packager v1.0, by mazmazz and Golden."
# Get root directory from the full path of this script.
__ROOT_DIR=${3:-$(dirname $(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)/$(basename "${BASH_SOURCE[0]}"))}
# If it starts with '.', put the current working directory behind it so things work.
if [[ "$__ROOT_DIR" == '.' || "$__ROOT_DIR" == '..' ]]; then
__ROOT_DIR=$PWD/$__ROOT_DIR
fi
__PROGRAM_NAME=${PROGRAM_NAME:-Sonic Robo Blast 2}
__PROGRAM_DESCRIPTION=${PROGRAM_DESCRIPTION:-A 3D Sonic the Hedgehog fangame inspired by the original Sonic games on the Sega Genesis.}
__PROGRAM_FILENAME=${PROGRAM_FILENAME:-lsdl2srb2}
__PROGRAM_ASSETS=${PROGRAM_ASSETS:-$__ROOT_DIR/assets/installer}
__BUILD_DIR=${1:-$PWD}
__OUTPUT_FILENAME=${2:-$__PROGRAM_FILENAME.AppImage}
if [[ ! -z $4 ]]; then
__APPIMAGETOOL="$4" # appimagetool will be automatically downloaded if the path isn't given
fi
# Stuff that prints and exits.
# Prints setup text using method given by arguments.
# Example: printSetup "print" # print "Setup for AppImage...
function printSetup {
$@ "Setup for AppImage in BUILD_DIR: '$__BUILD_DIR'..."
$@ "With the OUTPUT_FILENAME: '$__OUTPUT_FILENAME'"
$@ "And SRB2 Repository Root ROOT_DIR: '$__ROOT_DIR'"
$@ "Using APPIMAGETOOL: '$([ -z "$__APPIMAGETOOL" ] && echo '(download)' || echo $__APPIMAGETOOL)'"
$@ ""
$@ "This should be run from a Makefile or from the directory of the build. If it is not, then change to that directory or specify that directory as an argument."
$@ "If ROOT_DIR isn't SRB2's repository root, specify that as an argument too."
$@ "Make must have built the program before you run this script."
$@ ""
$@ "Make sure these Environment Variables are correct."
$@ "If not, then enter: export PROGRAM_VARIABLE=value"
$@ "PROGRAM_NAME: $__PROGRAM_NAME"
$@ "PROGRAM_DESCRIPTION: $__PROGRAM_DESCRIPTION"
$@ "PROGRAM_FILENAME: $__PROGRAM_FILENAME"
$@ "PROGRAM_ASSETS: $__PROGRAM_ASSETS"
}
if [[ $helppassed ]]; then
print "Usage: $(basename "$0") [OPTION]... [BUILD_DIR] [OUTPUT_NAME] [ROOT_DIR] [APPIMAGETOOL]"
print "Packages a SRB2 binary into an AppImage."
print "OPTIONs may be included anywhere within the arguments."
print ""
print "Arguments:"
print " -h, --help display this help and exit."
print " -q, --quiet don't display any text."
print " -v, --verbose make commands more verbose, will always print."
print " -s, --small don't copy SRB2 assets to save on bandwidth."
print " parameters regardless of --dry."
print " -d, --dry print parameters and exit."
print ""
if (( $verbosity > 0 )) || [[ $dry ]]; then
printSetup "print"
else
print "This should be run from a Makefile or from the directory of the build."
print "Make must have built the program before you run this script."
fi
exit;
fi
if (( $verbosity > 0 )) || [[ $dry ]]; then
printSetup "verboseOnly" "0"
verboseOnly 0 ""
if [[ $dry ]]; then
set -n; # Enable debug mode and verbose for dry run.
fi
fi
# End stuff that prints and exits.
if (( $verbosity >= 4 )); then
set -v; # Really verbose? Print *everything*!
fi
# Define AppDir structure
mkdir -p $__BUILD_DIR/AppDir/usr/bin
mkdir -p $__BUILD_DIR/AppDir/lib
mkdir -p $__BUILD_DIR/AppDir/usr/share/applications
mkdir -p $__BUILD_DIR/AppDir/usr/share/icons/hicolor/256x256/apps
# Copy program data
if [[ ! $small ]]; then
verboseOnly 1 "Packaging program assets..."
cp -r $__PROGRAM_ASSETS/* $__BUILD_DIR/AppDir/usr/bin/
cp -r $__BUILD_DIR/$__PROGRAM_FILENAME $__BUILD_DIR/AppDir/usr/bin
else
verboseOnly 1 "Skipping program asset packing, --small or -s passed..."
fi
verboseOnly 1 "Packaging SRB2..."
verboseOnly 1 "Assuming executable name $__PROGRAM_FILENAME"
cp -r $__BUILD_DIR/$__PROGRAM_FILENAME $__BUILD_DIR/AppDir/usr/bin
# Copy required dependencies, but only if the program is dynamically linked.
verboseOnly 1 "Testing if this build is dynamically linked..."
set +e # Disable auto-exit for ldd.
ldd $__BUILD_DIR/$__PROGRAM_FILENAME >> /dev/null
exitcode=$?
set -e
if (( exitcode == 0 )); then
verboseOnly 1 "This build *is* dynamically linked! Continuing with Python script."
__LDD_LIST=$(python3 "$__ROOT_DIR/AppImage_prunedepends.py" "$__BUILD_DIR/$__PROGRAM_FILENAME")
IFS=' ' read -r -a paths <<< "$__LDD_LIST"
for path in "${paths[@]}";
do
if [ -f "$path" ]; then
verboseOnly 2 "Packaging dependency $(basename $path)...";
cp "$path" $__BUILD_DIR/AppDir/lib/;
else
verboseOnly 2 "Dependency $(basename $path) not found";
fi;
done;
else
verboseOnly 1 "This SRB2 build is statically linked, skipping dependency packing."
fi
cd $__BUILD_DIR/AppDir
# Copy icons
verboseOnly 1 "Packaging resources..."
cp $__ROOT_DIR/srb2.png ./usr/share/icons/hicolor/256x256/apps/$__PROGRAM_FILENAME.png
ln -sf ./usr/share/icons/hicolor/256x256/apps/$__PROGRAM_FILENAME.png ./.DirIcon
ln -sf ./usr/share/icons/hicolor/256x256/apps/$__PROGRAM_FILENAME.png ./$__PROGRAM_FILENAME.png
# Make desktop descriptor
cat > ./usr/share/applications/$__PROGRAM_FILENAME.desktop <<EOF
[Desktop Entry]
Type=Application
Name=${__PROGRAM_NAME}
Comment=${__PROGRAM_DESCRIPTION}
Icon=${__PROGRAM_FILENAME}
Exec=AppRun %F
Categories=Game;
EOF
ln -sf ./usr/share/applications/$__PROGRAM_FILENAME.desktop ./$__PROGRAM_FILENAME.desktop
# Make entry point
echo -e \#\!$(dirname $SHELL)/sh > ./AppRun
echo -e 'HERE="$(dirname "$(readlink -f "${0}")")"' >> ./AppRun
echo -e 'SRB2WADDIR=$HERE/usr/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HERE/lib exec $HERE/usr/bin/'$__PROGRAM_FILENAME' "$@"' >> ./AppRun
chmod +x ./AppRun
cd ..
# Package AppImage
if [ -z "$__APPIMAGETOOL" ] || (! command -v $__APPIMAGETOOL &> /dev/null); then
verboseOnly 1 "No valid appimagetool path given, downloading appimagetool..."
# Print notice for internet connection.
important "If the command hangs here, check your internet connection, or download appimagetool and add it to your \$PATH and try compiling again."
url="https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
(( verbosity >= 3 )) && wget $url || wget -q $url
APPIMAGETOOL=./appimagetool-x86_64.AppImage
chmod a+x $APPIMAGETOOL
else
verboseOnly 1 "appimagetool path given, no download required."
APPIMAGETOOL=$__APPIMAGETOOL
fi
verboseOnly 1 "Packing AppImage $__OUTPUT_FILENAME"
if (( verbosity >= 3 )); then
$APPIMAGETOOL ./AppDir $__OUTPUT_FILENAME
elif (( verbosity >= 2 )); then
$APPIMAGETOOL ./AppDir $__OUTPUT_FILENAME >/dev/null
else
$APPIMAGETOOL ./AppDir $__OUTPUT_FILENAME >/dev/null 2>&1
fi
success "AppImage ready!"
verboseOnly 1 "Cleaning up files..."
rm -r ./AppDir
if [ -z "$__APPIMAGETOOL" ]; then
rm ./appimagetool-x86_64.AppImage
fi
cd $__ROOT_DIR
\ No newline at end of file
#!/usr/bin/python3
##############################
# Select Linux dependencies for inclusion into AppImage (`ldd` command)
##############################
from urllib.request import urlopen
import subprocess
import sys
import re
import os
__WHITELIST = [
'libnsl',
'libSDL2',
'libSDL2_mixer',
'libgme',
'libopenmpt',
'libpng',
'libfluidsynth',
'libpulse',
'libmodplug',
'libvorbisfile',
'libopusfile',
'libFLAC',
'libmad',
'libmpg123',
'libvorbis',
'libpulsecommon',
'libsndfile',
'libsndio',
'libogg',
'libvorbisenc',
'libjson',
'libreadline',
'libwrap',
'libtinfo',
'libtirpc',
'libpng16'
]
if len(sys.argv) < 2:
raise ValueError("First argument must be a path to the program executable.")
#print('Whitelist: Matching libraries against {} names. See {} for the list.'.format(len(__WHITELIST), os.path.basename(__file__)))
# Get most recent excludelist for AppImage depends
#with urlopen('https://raw.githubusercontent.com/AppImage/pkg2appimage/master/excludelist') as f:
# excludelist = f.read().decode('utf-8')
# Get only the filenames from excludelist
#exlist = re.sub(r'#.*', '', excludelist)
#exlist = re.sub(r'\s.*$', '', exlist)
#exlist = [s for s in exlist.splitlines() if s]
# Get list of dependencies for EXE name
ldd = subprocess.check_output(['ldd',sys.argv[1]]).decode('utf-8')
ldd = re.sub(r' \(.*', '', ldd)
ldd = ldd.splitlines()
# Format list of dependencies
deps = []
for line in ldd:
keyval = line.split(' => ')
if len(keyval) < 2:
continue
# Perform basename because a depend may have a path prefix
#if os.path.basename(keyval[0]) not in exlist:
#if any([(os.path.basename(keyval[0]).find(s) > -1): for s in __WHITELIST]):
deps.append(keyval[1])
print(' '.join(deps))
...@@ -220,7 +220,13 @@ dbg:=$(bin)/$(DBGNAME) ...@@ -220,7 +220,13 @@ dbg:=$(bin)/$(DBGNAME)
build_done==== Build is done, look for \ build_done==== Build is done, look for \
$(<F) at $(abspath $(<D)) === $(<F) at $(abspath $(<D)) ===
all : $(exe) ifdef APPIMAGE
appimage:=$(exe).AppImage
else
appimage:=
endif
all : $(exe) $(appimage)
$(call Echo,$(build_done)) $(call Echo,$(build_done))
ifndef VALGRIND ifndef VALGRIND
...@@ -328,9 +334,21 @@ $(dbg).txt : $(dbg) ...@@ -328,9 +334,21 @@ $(dbg).txt : $(dbg)
$(.)$(OBJDUMP) $(OBJDUMP_OPTS) $< > $@ $(.)$(OBJDUMP) $(OBJDUMP_OPTS) $< > $@
$(.)$(GZIP) $(GZIP_OPTS) $@ $(.)$(GZIP) $(GZIP_OPTS) $@
ifdef APPIMAGE
$(appimage) : $(exe)
$(call Echo,Building AppImage...)
ifdef APPIMAGE_NOASSETS
$(.)../AppImage_build.sh -q --small $(bin) $(EXENAME).AppImage .. appimagetool
else
$(.)../AppImage_build.sh -q $(bin) $(EXENAME).AppImage .. appimagetool
endif
$(call Echo,AppImage build complete!)
endif
# '::' means run unconditionally # '::' means run unconditionally
# this really updates comptime.h # this really updates comptime.h
comptime.c :: comptime.c ::
ifdef WINDOWSHELL ifdef WINDOWSHELL
-$(.)..\comptime.bat . -$(.)..\comptime.bat .
else else
......
...@@ -138,7 +138,6 @@ FILE *fopenfile(const char*, const char*); ...@@ -138,7 +138,6 @@ FILE *fopenfile(const char*, const char*);
extern FILE *logstream; extern FILE *logstream;
extern char logfilename[1024]; extern char logfilename[1024];
#endif #endif
/* A mod name to further distinguish versions. */ /* A mod name to further distinguish versions. */
#define SRB2APPLICATION "SRB2" #define SRB2APPLICATION "SRB2"
......
...@@ -434,15 +434,15 @@ CV_PossibleValue_t gametype_cons_t[NUMGAMETYPES+1]; ...@@ -434,15 +434,15 @@ CV_PossibleValue_t gametype_cons_t[NUMGAMETYPES+1];
consvar_t cv_newgametype = CVAR_INIT ("newgametype", "Co-op", CV_HIDEN|CV_CALL, gametype_cons_t, Newgametype_OnChange); consvar_t cv_newgametype = CVAR_INIT ("newgametype", "Co-op", CV_HIDEN|CV_CALL, gametype_cons_t, Newgametype_OnChange);
static CV_PossibleValue_t serversort_cons_t[] = { static CV_PossibleValue_t serversort_cons_t[] = {
{0,"Ping"}, {0,"P-Ping"},
{1,"Modified State"}, {1,"M-Modified S-State"},
{2,"Most Players"}, {2,"M-Most P-P-Pwayews"},
{3,"Least Players"}, {3,"W-Weast Pwayews OwO"},
{4,"Max Player Slots"}, {4,"Max Pwayew Swots"},
{5,"Gametype"}, {5,"G-Gametype"},
{0,NULL} {0,NULL}
}; };
consvar_t cv_serversort = CVAR_INIT ("serversort", "Ping", CV_HIDEN | CV_CALL, serversort_cons_t, M_SortServerList); consvar_t cv_serversort = CVAR_INIT ("serversort", "P-Ping", CV_HIDEN | CV_CALL, serversort_cons_t, M_SortServerList);
// first time memory // first time memory
consvar_t cv_tutorialprompt = CVAR_INIT ("tutorialprompt", "On", CV_SAVE, CV_OnOff, NULL); consvar_t cv_tutorialprompt = CVAR_INIT ("tutorialprompt", "On", CV_SAVE, CV_OnOff, NULL);
...@@ -499,12 +499,12 @@ consvar_t cv_dummyloadless = CVAR_INIT ("dummyloadless", "In-game", CV_HIDEN, lo ...@@ -499,12 +499,12 @@ consvar_t cv_dummyloadless = CVAR_INIT ("dummyloadless", "In-game", CV_HIDEN, lo
// --------- // ---------
static menuitem_t MainMenu[] = static menuitem_t MainMenu[] =
{ {
{IT_STRING|IT_CALL, NULL, "1 Player", M_SinglePlayerMenu, 76}, {IT_STRING|IT_CALL, NULL, "1 P-P-Pwayew",M_SinglePlayerMenu, 76},
{IT_STRING|IT_SUBMENU, NULL, "Multiplayer", &MP_MainDef, 84}, {IT_STRING|IT_SUBMENU, NULL, "M-Muwtiwayew",&MP_MainDef, 84},
{IT_STRING|IT_CALL, NULL, "Extras", M_SecretsMenu, 92}, {IT_STRING|IT_CALL, NULL, "E-Extwas", M_SecretsMenu, 92},
{IT_CALL |IT_STRING, NULL, "Addons", M_Addons, 100}, {IT_CALL |IT_STRING, NULL, "A-Addons", M_Addons, 100},
{IT_STRING|IT_CALL, NULL, "Options", M_Options, 108}, {IT_STRING|IT_CALL, NULL, "O-O-Options", M_Options, 108},
{IT_STRING|IT_CALL, NULL, "Quit Game", M_QuitSRB2, 116}, {IT_STRING|IT_CALL, NULL, "*sob* Quit G-G-G-Game", M_QuitSRB2, 116},
}; };
typedef enum typedef enum
...@@ -527,11 +527,11 @@ static menuitem_t MISC_AddonsMenu[] = ...@@ -527,11 +527,11 @@ static menuitem_t MISC_AddonsMenu[] =
// --------------------------------- // ---------------------------------
static menuitem_t MAPauseMenu[] = static menuitem_t MAPauseMenu[] =
{ {
{IT_CALL | IT_STRING, NULL, "Emblem Hints...", M_EmblemHints, 32}, {IT_CALL | IT_STRING, NULL, "Embwem H-Hints... OwO", M_EmblemHints, 32},
{IT_CALL | IT_STRING, NULL, "Continue", M_SelectableClearMenus,48}, {IT_CALL | IT_STRING, NULL, "Continyue", M_SelectableClearMenus,48},
{IT_CALL | IT_STRING, NULL, "Retry", M_ModeAttackRetry, 56}, {IT_CALL | IT_STRING, NULL, "W-Wetwy", M_ModeAttackRetry, 56},
{IT_CALL | IT_STRING, NULL, "Abort", M_ModeAttackEndGame, 64}, {IT_CALL | IT_STRING, NULL, "A-A-Abowt", M_ModeAttackEndGame, 64},
}; };
typedef enum typedef enum
...@@ -547,25 +547,25 @@ typedef enum ...@@ -547,25 +547,25 @@ typedef enum
// --------------------- // ---------------------
static menuitem_t MPauseMenu[] = static menuitem_t MPauseMenu[] =
{ {
{IT_STRING | IT_CALL, NULL, "Add-ons...", M_Addons, 8}, {IT_STRING | IT_CALL, NULL, "A-Add-ons...", M_Addons, 8},
{IT_STRING | IT_SUBMENU, NULL, "Scramble Teams...", &MISC_ScrambleTeamDef, 16}, {IT_STRING | IT_SUBMENU, NULL, "S-Scwambwe Teams...", &MISC_ScrambleTeamDef, 16},
{IT_STRING | IT_CALL, NULL, "Emblem Hints...", M_EmblemHints, 24}, {IT_STRING | IT_CALL, NULL, "E-Embwem H-H-Hints...", M_EmblemHints, 24},
{IT_STRING | IT_CALL, NULL, "Switch Gametype/Level...", M_MapChange, 32}, {IT_STRING | IT_CALL, NULL, "S-Switch G-Gametype/Wevew...", M_MapChange, 32},
{IT_STRING | IT_CALL, NULL, "Continue", M_SelectableClearMenus,48}, {IT_STRING | IT_CALL, NULL, "Continyue", M_SelectableClearMenus,48},
{IT_STRING | IT_CALL, NULL, "Player 1 Setup", M_SetupMultiPlayer, 56}, // splitscreen {IT_STRING | IT_CALL, NULL, "P-P-Pwayew 1 Setup", M_SetupMultiPlayer, 56}, // splitscreen
{IT_STRING | IT_CALL, NULL, "Player 2 Setup", M_SetupMultiPlayer2, 64}, {IT_STRING | IT_CALL, NULL, "P-Pwayew 2 S-Setup", M_SetupMultiPlayer2, 64},
{IT_STRING | IT_CALL, NULL, "Spectate", M_ConfirmSpectate, 56}, // alone {IT_STRING | IT_CALL, NULL, "S-S-Spectate", M_ConfirmSpectate, 56}, // alone
{IT_STRING | IT_CALL, NULL, "Enter Game", M_ConfirmEnterGame, 56}, {IT_STRING | IT_CALL, NULL, "E-Entew Game", M_ConfirmEnterGame, 56},
{IT_STRING | IT_SUBMENU, NULL, "Switch Team...", &MISC_ChangeTeamDef, 56}, {IT_STRING | IT_SUBMENU, NULL, "S-S-Switch Team...", &MISC_ChangeTeamDef, 56},
{IT_STRING | IT_CALL, NULL, "Player Setup", M_SetupMultiPlayer, 64}, {IT_STRING | IT_CALL, NULL, "P-Pwayew Setup", M_SetupMultiPlayer, 64},
{IT_STRING | IT_CALL, NULL, "Options", M_Options, 72}, {IT_STRING | IT_CALL, NULL, "O-Options", M_Options, 72},
{IT_STRING | IT_CALL, NULL, "Return to Title", M_EndGame, 88}, {IT_STRING | IT_CALL, NULL, "Wetuwn to T-Titwe", M_EndGame, 88},
{IT_STRING | IT_CALL, NULL, "Quit Game", M_QuitSRB2, 96}, {IT_STRING | IT_CALL, NULL, "Q-Q-Quit G-G-Game??", M_QuitSRB2, 96},
}; };
typedef enum typedef enum
...@@ -594,16 +594,16 @@ typedef enum ...@@ -594,16 +594,16 @@ typedef enum
static menuitem_t SPauseMenu[] = static menuitem_t SPauseMenu[] =
{ {
// Pandora's Box will be shifted up if both options are available // Pandora's Box will be shifted up if both options are available
{IT_CALL | IT_STRING, NULL, "Pandora's Box...", M_PandorasBox, 16}, {IT_CALL | IT_STRING, NULL, "Pandowa's Box...", M_PandorasBox, 16},
{IT_CALL | IT_STRING, NULL, "Emblem Hints...", M_EmblemHints, 24}, {IT_CALL | IT_STRING, NULL, "Embwem H-Hints...", M_EmblemHints, 24},
{IT_CALL | IT_STRING, NULL, "Level Select...", M_PauseLevelSelect, 32}, {IT_CALL | IT_STRING, NULL, "hehe Wevew Sewect...", M_PauseLevelSelect, 32},
{IT_CALL | IT_STRING, NULL, "Continue", M_SelectableClearMenus,48}, {IT_CALL | IT_STRING, NULL, "Continyue", M_SelectableClearMenus,48},
{IT_CALL | IT_STRING, NULL, "Retry", M_Retry, 56}, {IT_CALL | IT_STRING, NULL, "Wetwy", M_Retry, 56},
{IT_CALL | IT_STRING, NULL, "Options", M_Options, 64}, {IT_CALL | IT_STRING, NULL, "O-Options", M_Options, 64},
{IT_CALL | IT_STRING, NULL, "Return to Title", M_EndGame, 80}, {IT_CALL | IT_STRING, NULL, "Wetuwn to Titwe", M_EndGame, 80},
{IT_CALL | IT_STRING, NULL, "Quit Game", M_QuitSRB2, 88}, {IT_CALL | IT_STRING, NULL, "Q-Quit G-Game??", M_QuitSRB2, 88},
}; };
typedef enum typedef enum
...@@ -626,26 +626,26 @@ typedef enum ...@@ -626,26 +626,26 @@ typedef enum
// Prefix: MISC_ // Prefix: MISC_
static menuitem_t MISC_ScrambleTeamMenu[] = static menuitem_t MISC_ScrambleTeamMenu[] =
{ {
{IT_STRING|IT_CVAR, NULL, "Scramble Method", &cv_dummyscramble, 30}, {IT_STRING|IT_CVAR, NULL, "Scwambwe M-Method", &cv_dummyscramble, 30},
{IT_WHITESTRING|IT_CALL, NULL, "Confirm", M_ConfirmTeamScramble, 90}, {IT_WHITESTRING|IT_CALL, NULL, "Confiwm", M_ConfirmTeamScramble, 90},
}; };
static menuitem_t MISC_ChangeTeamMenu[] = static menuitem_t MISC_ChangeTeamMenu[] =
{ {
{IT_STRING|IT_CVAR, NULL, "Select Team", &cv_dummyteam, 30}, {IT_STRING|IT_CVAR, NULL, "Sewect T-Team", &cv_dummyteam, 30},
{IT_WHITESTRING|IT_CALL, NULL, "Confirm", M_ConfirmTeamChange, 90}, {IT_WHITESTRING|IT_CALL, NULL, "Confiwm", M_ConfirmTeamChange, 90},
}; };
gtdesc_t gametypedesc[NUMGAMETYPES] = gtdesc_t gametypedesc[NUMGAMETYPES] =
{ {
{{ 54, 54}, "Play through the single-player campaign with your friends, teaming up to beat Dr Eggman's nefarious challenges!"}, {{ 54, 54}, "Pway thwough the singwe-pwayew campaign w-with youw fwends, teaming up to beat Dw Eggman's nyefawious chawwenges!"},
{{103, 103}, "Speed your way through the main acts, competing in several different categories to see who's the best."}, {{103, 103}, "Speed youw way thwough the main acts, competing in sevewaw diffewent kittehegowies to see who's the best."},
{{190, 190}, "There's not much to it - zoom through the level faster than everyone else."}, {{190, 190}, "hehe Thewe's nyot m-much to it - zoom thwough the wevew f-fastew t-than evewyonye ewse."},
{{ 66, 66}, "Sling rings at your foes in a free-for-all battle. Use the special weapon rings to your advantage!"}, {{ 66, 66}, "Swing wings at youw foes in a fwee-fow-aww battwe. Use the speciaw weapon wings to youw advantage!"},
{{153, 37}, "Sling rings at your foes in a color-coded battle. Use the special weapon rings to your advantage!"}, {{153, 37}, "Swing wings at youw foes in a cowow-coded b-battwe. Use the speciaw weapon wings to youw advantage!"},
{{123, 123}, "Whoever's IT has to hunt down everyone else. If you get caught, you have to turn on your former friends!"}, {{123, 123}, "Whoevew's IT has to hunt down evewyonye ewse. If you get caught, you have t-to tuwn on youw f-fowmew fwends!"},
{{150, 150}, "Try and find a good hiding place in these maps - we dare you."}, {{150, 150}, "Twy and find a good hiding pwace in these maps - we dawe you."},
{{ 37, 153}, "Steal the flag from the enemy's base and bring it back to your own, but watch out - they could just as easily steal yours!"}, {{ 37, 153}, "Steaw t-the fwag fwom the e-enyemy wyemy's base and bwing it back to youw own, but watch out - they couwd just as easiwy wasiwy steaw youws!"},
}; };
static menuitem_t MISC_ChangeLevelMenu[] = static menuitem_t MISC_ChangeLevelMenu[] =
...@@ -670,26 +670,26 @@ static menuitem_t MISC_HelpMenu[] = ...@@ -670,26 +670,26 @@ static menuitem_t MISC_HelpMenu[] =
// Pause Menu Pandora's Box Options // Pause Menu Pandora's Box Options
static menuitem_t SR_PandorasBox[] = static menuitem_t SR_PandorasBox[] =
{ {
{IT_STRING | IT_CALL, NULL, "Mid-game add-ons...", M_Addons, 0}, {IT_STRING | IT_CALL, NULL, "Mid-game a-add-ons...", M_Addons, 0},
{IT_STRING | IT_CVAR, NULL, "Rings", &cv_dummyrings, 20}, {IT_STRING | IT_CVAR, NULL, "Rings", &cv_dummyrings, 20},
{IT_STRING | IT_CVAR, NULL, "Lives", &cv_dummylives, 30}, {IT_STRING | IT_CVAR, NULL, "Lives", &cv_dummylives, 30},
{IT_STRING | IT_CVAR, NULL, "Continues", &cv_dummycontinues, 40}, {IT_STRING | IT_CVAR, NULL, "Continyues", &cv_dummycontinues, 40},
{IT_STRING | IT_CVAR, NULL, "Gravity", &cv_gravity, 60}, {IT_STRING | IT_CVAR, NULL, "Gwavity Wavity", &cv_gravity, 60},
{IT_STRING | IT_CVAR, NULL, "Throw Rings", &cv_ringslinger, 70}, {IT_STRING | IT_CVAR, NULL, "Thwow Wings", &cv_ringslinger, 70},
{IT_STRING | IT_CALL, NULL, "Enable Super form", M_AllowSuper, 90}, {IT_STRING | IT_CALL, NULL, "Enyabwe Supew fowm", M_AllowSuper, 90},
{IT_STRING | IT_CALL, NULL, "Get All Emeralds", M_GetAllEmeralds, 100}, {IT_STRING | IT_CALL, NULL, "Get Aww Emewawds", M_GetAllEmeralds, 100},
{IT_STRING | IT_CALL, NULL, "Destroy All Robots", M_DestroyRobots, 110}, {IT_STRING | IT_CALL, NULL, "Destwoy Westwoy Aww Wobots ", M_DestroyRobots, 110},
{IT_STRING | IT_CALL, NULL, "Ultimate Cheat", M_UltimateCheat, 130}, {IT_STRING | IT_CALL, NULL, "Uwtimate Cheat", M_UltimateCheat, 130},
}; };
// Sky Room Custom Unlocks // Sky Room Custom Unlocks
static menuitem_t SR_MainMenu[MAXUNLOCKABLES+1] = static menuitem_t SR_MainMenu[MAXUNLOCKABLES+1] =
{ {
{IT_STRING|IT_SUBMENU,NULL, "Extras Checklist", &SR_UnlockChecklistDef, 0}, {IT_STRING|IT_SUBMENU,NULL, "Extwas Checkwist", &SR_UnlockChecklistDef, 0},
// The remaining (MAXUNLOCKABLES) items are now initialized in M_SecretsMenu // The remaining (MAXUNLOCKABLES) items are now initialized in M_SecretsMenu
}; };
...@@ -711,7 +711,7 @@ static menuitem_t SR_SoundTestMenu[] = ...@@ -711,7 +711,7 @@ static menuitem_t SR_SoundTestMenu[] =
static menuitem_t SR_EmblemHintMenu[] = static menuitem_t SR_EmblemHintMenu[] =
{ {
{IT_STRING | IT_ARROWS, NULL, "Page", M_HandleEmblemHints, 10}, {IT_STRING | IT_ARROWS, NULL, "Page", M_HandleEmblemHints, 10},
{IT_STRING|IT_CVAR, NULL, "Emblem Radar", &cv_itemfinder, 20}, {IT_STRING|IT_CVAR, NULL, "hehe Embwem Wadaw", &cv_itemfinder, 20},
{IT_WHITESTRING|IT_CALL, NULL, "Back", M_GoBack, 30} {IT_WHITESTRING|IT_CALL, NULL, "Back", M_GoBack, 30}
}; };
...@@ -724,11 +724,11 @@ static menuitem_t SR_EmblemHintMenu[] = ...@@ -724,11 +724,11 @@ static menuitem_t SR_EmblemHintMenu[] =
static menuitem_t SP_MainMenu[] = static menuitem_t SP_MainMenu[] =
{ {
// Note: If changing the positions here, also change them in M_SinglePlayerMenu() // Note: If changing the positions here, also change them in M_SinglePlayerMenu()
{IT_CALL | IT_STRING, NULL, "Start Game", M_LoadGame, 76}, {IT_CALL | IT_STRING, NULL, "Stawt Game ", M_LoadGame, 76},
{IT_SECRET, NULL, "Record Attack", M_TimeAttack, 84}, {IT_SECRET, NULL, "Wecowd Attack", M_TimeAttack, 84},
{IT_SECRET, NULL, "NiGHTS Mode", M_NightsAttack, 92}, {IT_SECRET, NULL, "NyiGHTS Mode", M_NightsAttack, 92},
{IT_SECRET, NULL, "Marathon Run", M_Marathon, 100}, {IT_SECRET, NULL, "Mawathon Wun", M_Marathon, 100},
{IT_CALL | IT_STRING, NULL, "Tutorial", M_StartTutorial, 108}, {IT_CALL | IT_STRING, NULL, "Tutowiaw", M_StartTutorial, 108},
{IT_CALL | IT_STRING, NULL, "Statistics", M_Statistics, 116} {IT_CALL | IT_STRING, NULL, "Statistics", M_Statistics, 116}
}; };
...@@ -763,13 +763,13 @@ static menuitem_t SP_TimeAttackLevelSelectMenu[] = ...@@ -763,13 +763,13 @@ static menuitem_t SP_TimeAttackLevelSelectMenu[] =
// Single Player Time Attack // Single Player Time Attack
static menuitem_t SP_TimeAttackMenu[] = static menuitem_t SP_TimeAttackMenu[] =
{ {
{IT_STRING|IT_KEYHANDLER, NULL, "Level Select...", M_HandleTimeAttackLevelSelect, 62}, {IT_STRING|IT_KEYHANDLER, NULL, "Wevew Sewect...", M_HandleTimeAttackLevelSelect, 62},
{IT_STRING|IT_CVAR, NULL, "Character", &cv_chooseskin, 72}, {IT_STRING|IT_CVAR, NULL, "Chawactew", &cv_chooseskin, 72},
{IT_DISABLED, NULL, "Guest Option...", &SP_GuestReplayDef, 100}, {IT_DISABLED, NULL, "Guest Option...", &SP_GuestReplayDef, 100},
{IT_DISABLED, NULL, "Replay...", &SP_ReplayDef, 110}, {IT_DISABLED, NULL, "Wepway ...", &SP_ReplayDef, 110},
{IT_DISABLED, NULL, "Ghosts...", &SP_GhostDef, 120}, {IT_DISABLED, NULL, "Ghosts...", &SP_GhostDef, 120},
{IT_WHITESTRING|IT_CALL|IT_CALL_NOTMODIFIED, NULL, "Start", M_ChooseTimeAttack, 130}, {IT_WHITESTRING|IT_CALL|IT_CALL_NOTMODIFIED, NULL, "Stawt", M_ChooseTimeAttack, 130},
}; };
enum enum
...@@ -785,35 +785,35 @@ enum ...@@ -785,35 +785,35 @@ enum
static menuitem_t SP_ReplayMenu[] = static menuitem_t SP_ReplayMenu[] =
{ {
{IT_WHITESTRING|IT_CALL, NULL, "Replay Best Score", M_ReplayTimeAttack, 0}, {IT_WHITESTRING|IT_CALL, NULL, "Wepway Best Scowe", M_ReplayTimeAttack, 0},
{IT_WHITESTRING|IT_CALL, NULL, "Replay Best Time", M_ReplayTimeAttack, 8}, {IT_WHITESTRING|IT_CALL, NULL, "Wepway Best Time", M_ReplayTimeAttack, 8},
{IT_WHITESTRING|IT_CALL, NULL, "Replay Best Rings", M_ReplayTimeAttack,16}, {IT_WHITESTRING|IT_CALL, NULL, "Wepway Best Wings", M_ReplayTimeAttack,16},
{IT_WHITESTRING|IT_CALL, NULL, "Replay Last", M_ReplayTimeAttack,29}, {IT_WHITESTRING|IT_CALL, NULL, "Wepway Wast", M_ReplayTimeAttack,29},
{IT_WHITESTRING|IT_CALL, NULL, "Replay Guest", M_ReplayTimeAttack,37}, {IT_WHITESTRING|IT_CALL, NULL, "Wepway Gwest", M_ReplayTimeAttack,37},
{IT_WHITESTRING|IT_SUBMENU, NULL, "Back", &SP_TimeAttackDef, 50} {IT_WHITESTRING|IT_SUBMENU, NULL, "Back", &SP_TimeAttackDef, 50}
}; };
static menuitem_t SP_NightsReplayMenu[] = static menuitem_t SP_NightsReplayMenu[] =
{ {
{IT_WHITESTRING|IT_CALL, NULL, "Replay Best Score", M_ReplayTimeAttack, 8}, {IT_WHITESTRING|IT_CALL, NULL, "Wepway Best Scowe", M_ReplayTimeAttack, 8},
{IT_WHITESTRING|IT_CALL, NULL, "Replay Best Time", M_ReplayTimeAttack,16}, {IT_WHITESTRING|IT_CALL, NULL, "Wepway Best Time", M_ReplayTimeAttack,16},
{IT_WHITESTRING|IT_CALL, NULL, "Replay Last", M_ReplayTimeAttack,29}, {IT_WHITESTRING|IT_CALL, NULL, "Wepway Wast", M_ReplayTimeAttack,29},
{IT_WHITESTRING|IT_CALL, NULL, "Replay Guest", M_ReplayTimeAttack,37}, {IT_WHITESTRING|IT_CALL, NULL, "Wepway Gwest", M_ReplayTimeAttack,37},
{IT_WHITESTRING|IT_SUBMENU, NULL, "Back", &SP_NightsAttackDef, 50} {IT_WHITESTRING|IT_SUBMENU, NULL, "Back", &SP_NightsAttackDef, 50}
}; };
static menuitem_t SP_GuestReplayMenu[] = static menuitem_t SP_GuestReplayMenu[] =
{ {
{IT_WHITESTRING|IT_CALL, NULL, "Save Best Score as Guest", M_SetGuestReplay, 0}, {IT_WHITESTRING|IT_CALL, NULL, "Save Best Scowe as Gwest", M_SetGuestReplay, 0},
{IT_WHITESTRING|IT_CALL, NULL, "Save Best Time as Guest", M_SetGuestReplay, 8}, {IT_WHITESTRING|IT_CALL, NULL, "Save Best Time as Gwest", M_SetGuestReplay, 8},
{IT_WHITESTRING|IT_CALL, NULL, "Save Best Rings as Guest", M_SetGuestReplay,16}, {IT_WHITESTRING|IT_CALL, NULL, "Save Best Wings as Gwest", M_SetGuestReplay,16},
{IT_WHITESTRING|IT_CALL, NULL, "Save Last as Guest", M_SetGuestReplay,24}, {IT_WHITESTRING|IT_CALL, NULL, "Save Wast as Gwest", M_SetGuestReplay,24},
{IT_WHITESTRING|IT_CALL, NULL, "Delete Guest Replay", M_SetGuestReplay,37}, {IT_WHITESTRING|IT_CALL, NULL, "Dewete Guest Wepway", M_SetGuestReplay,37},
{IT_WHITESTRING|IT_SUBMENU, NULL, "Back", &SP_TimeAttackDef, 50} {IT_WHITESTRING|IT_SUBMENU, NULL, "Back", &SP_TimeAttackDef, 50}
}; };
...@@ -922,33 +922,33 @@ static menuitem_t SP_PlayerMenu[] = ...@@ -922,33 +922,33 @@ static menuitem_t SP_PlayerMenu[] =
// Separated splitscreen and normal servers. // Separated splitscreen and normal servers.
static menuitem_t MP_SplitServerMenu[] = static menuitem_t MP_SplitServerMenu[] =
{ {
{IT_STRING|IT_CALL, NULL, "Select Gametype/Level...", M_MapChange, 100}, {IT_STRING|IT_CALL, NULL, "Sewect Gametype/Wevew...", M_MapChange, 100},
{IT_STRING|IT_CALL, NULL, "More Options...", M_ServerOptions, 130}, {IT_STRING|IT_CALL, NULL, "hehe Mowe Options...", M_ServerOptions, 130},
{IT_WHITESTRING|IT_CALL, NULL, "Start", M_StartServer, 140}, {IT_WHITESTRING|IT_CALL, NULL, "Swawt", M_StartServer, 140},
}; };
static menuitem_t MP_MainMenu[] = static menuitem_t MP_MainMenu[] =
{ {
{IT_HEADER, NULL, "Join a game", NULL, 0}, {IT_HEADER, NULL, "Join a game", NULL, 0},
{IT_STRING|IT_CALL, NULL, "Server browser...", M_ConnectMenuModChecks, 12}, {IT_STRING|IT_CALL, NULL, "Sewvew bwowsew...", M_ConnectMenuModChecks, 12},
{IT_STRING|IT_KEYHANDLER, NULL, "Specify server address:", M_HandleConnectIP, 22}, {IT_STRING|IT_KEYHANDLER, NULL, "Specify Wecify sewvew addwess:", M_HandleConnectIP, 22},
{IT_HEADER, NULL, "Host a game", NULL, 54}, {IT_HEADER, NULL, "Host a game", NULL, 54},
{IT_STRING|IT_CALL, NULL, "Internet/LAN...", M_StartServerMenu, 66}, {IT_STRING|IT_CALL, NULL, "Intewnyet/WAN...", M_StartServerMenu, 66},
{IT_STRING|IT_CALL, NULL, "Splitscreen...", M_StartSplitServerMenu, 76}, {IT_STRING|IT_CALL, NULL, "Spwitscween...", M_StartSplitServerMenu, 76},
{IT_HEADER, NULL, "Player setup", NULL, 94}, {IT_HEADER, NULL, "hehe Pwayew setup", NULL, 94},
{IT_STRING|IT_CALL, NULL, "Player 1...", M_SetupMultiPlayer, 106}, {IT_STRING|IT_CALL, NULL, "Pwayew 1 ...", M_SetupMultiPlayer, 106},
{IT_STRING|IT_CALL, NULL, "Player 2... ", M_SetupMultiPlayer2, 116}, {IT_STRING|IT_CALL, NULL, "Pwayew 2... ", M_SetupMultiPlayer2, 116},
}; };
static menuitem_t MP_ServerMenu[] = static menuitem_t MP_ServerMenu[] =
{ {
{IT_STRING|IT_CALL, NULL, "Room...", M_RoomMenu, 10}, {IT_STRING|IT_CALL, NULL, "Room...", M_RoomMenu, 10},
{IT_STRING|IT_CVAR|IT_CV_STRING, NULL, "Server Name", &cv_servername, 20}, {IT_STRING|IT_CVAR|IT_CV_STRING, NULL, "Sewvew Nyame", &cv_servername, 20},
{IT_STRING|IT_CVAR, NULL, "Max Players", &cv_maxplayers, 46}, {IT_STRING|IT_CVAR, NULL, "Max Pwayews", &cv_maxplayers, 46},
{IT_STRING|IT_CVAR, NULL, "Allow Add-on Downloading", &cv_downloading, 56}, {IT_STRING|IT_CVAR, NULL, "Awwow Add-on Downwoading ", &cv_downloading, 56},
{IT_STRING|IT_CALL, NULL, "Select Gametype/Level...", M_MapChange, 100}, {IT_STRING|IT_CALL, NULL, "Sewect Gametype/Wevew...", M_MapChange, 100},
{IT_STRING|IT_CALL, NULL, "More Options...", M_ServerOptions, 130}, {IT_STRING|IT_CALL, NULL, "Mowe Options...", M_ServerOptions, 130},
{IT_WHITESTRING|IT_CALL, NULL, "Start", M_StartServer, 140}, {IT_WHITESTRING|IT_CALL, NULL, "Swawt", M_StartServer, 140},
}; };
enum enum
...@@ -1027,40 +1027,40 @@ static menuitem_t MP_PlayerSetupMenu[] = ...@@ -1027,40 +1027,40 @@ static menuitem_t MP_PlayerSetupMenu[] =
// Prefix: OP_ // Prefix: OP_
static menuitem_t OP_MainMenu[] = static menuitem_t OP_MainMenu[] =
{ {
{IT_SUBMENU | IT_STRING, NULL, "Player 1 Controls...", &OP_P1ControlsDef, 10}, {IT_SUBMENU | IT_STRING, NULL, "Pwayew 1 Contwows...", &OP_P1ControlsDef, 10},
{IT_SUBMENU | IT_STRING, NULL, "Player 2 Controls...", &OP_P2ControlsDef, 20}, {IT_SUBMENU | IT_STRING, NULL, "Pwayew 2 Contwows...", &OP_P2ControlsDef, 20},
{IT_CVAR | IT_STRING, NULL, "Controls per key", &cv_controlperkey, 30}, {IT_CVAR | IT_STRING, NULL, "Contwows pew key", &cv_controlperkey, 30},
{IT_CALL | IT_STRING, NULL, "Video Options...", M_VideoOptions, 50}, {IT_CALL | IT_STRING, NULL, "Video Options...", M_VideoOptions, 50},
{IT_SUBMENU | IT_STRING, NULL, "Sound Options...", &OP_SoundOptionsDef, 60}, {IT_SUBMENU | IT_STRING, NULL, "Sound Options...", &OP_SoundOptionsDef, 60},
{IT_CALL | IT_STRING, NULL, "Server Options...", M_ServerOptions, 80}, {IT_CALL | IT_STRING, NULL, "hehe Sewvew Options...", M_ServerOptions, 80},
{IT_SUBMENU | IT_STRING, NULL, "Data Options...", &OP_DataOptionsDef, 100}, {IT_SUBMENU | IT_STRING, NULL, "Data Options...", &OP_DataOptionsDef, 100},
}; };
static menuitem_t OP_P1ControlsMenu[] = static menuitem_t OP_P1ControlsMenu[] =
{ {
{IT_CALL | IT_STRING, NULL, "Control Configuration...", M_Setup1PControlsMenu, 10}, {IT_CALL | IT_STRING, NULL, "Contwow Configuwation...", M_Setup1PControlsMenu, 10},
{IT_SUBMENU | IT_STRING, NULL, "Mouse Options...", &OP_MouseOptionsDef, 20}, {IT_SUBMENU | IT_STRING, NULL, "Mouse Options...", &OP_MouseOptionsDef, 20},
{IT_SUBMENU | IT_STRING, NULL, "Gamepad Options...", &OP_Joystick1Def , 30}, {IT_SUBMENU | IT_STRING, NULL, "Gamepad Options...", &OP_Joystick1Def , 30},
{IT_SUBMENU | IT_STRING, NULL, "Camera Options...", &OP_CameraOptionsDef, 50}, {IT_SUBMENU | IT_STRING, NULL, "Camewa Options...", &OP_CameraOptionsDef, 50},
{IT_STRING | IT_CVAR, NULL, "Automatic braking", &cv_autobrake, 70}, {IT_STRING | IT_CVAR, NULL, "Automatic bwaking", &cv_autobrake, 70},
{IT_CALL | IT_STRING, NULL, "Play Style...", M_Setup1PPlaystyleMenu, 80}, {IT_CALL | IT_STRING, NULL, "Pway Stywe...", M_Setup1PPlaystyleMenu, 80},
}; };
static menuitem_t OP_P2ControlsMenu[] = static menuitem_t OP_P2ControlsMenu[] =
{ {
{IT_CALL | IT_STRING, NULL, "Control Configuration...", M_Setup2PControlsMenu, 10}, {IT_CALL | IT_STRING, NULL, "Second Contwow Configuwation...", M_Setup2PControlsMenu, 10},
{IT_SUBMENU | IT_STRING, NULL, "Second Mouse Options...", &OP_Mouse2OptionsDef, 20}, {IT_SUBMENU | IT_STRING, NULL, "Second Mouse Options...", &OP_Mouse2OptionsDef, 20},
{IT_SUBMENU | IT_STRING, NULL, "Second Gamepad Options...", &OP_Joystick2Def , 30}, {IT_SUBMENU | IT_STRING, NULL, "Second Gamepad Options...", &OP_Joystick2Def , 30},
{IT_SUBMENU | IT_STRING, NULL, "Camera Options...", &OP_Camera2OptionsDef, 50}, {IT_SUBMENU | IT_STRING, NULL, "Camewa Options...", &OP_Camera2OptionsDef, 50},
{IT_STRING | IT_CVAR, NULL, "Automatic braking", &cv_autobrake2, 70}, {IT_STRING | IT_CVAR, NULL, "Automatic bwaking", &cv_autobrake2, 70},
{IT_CALL | IT_STRING, NULL, "Play Style...", M_Setup2PPlaystyleMenu, 80}, {IT_CALL | IT_STRING, NULL, "Pway Stywe...", M_Setup2PPlaystyleMenu, 80},
}; };
static menuitem_t OP_ChangeControlsMenu[] = static menuitem_t OP_ChangeControlsMenu[] =
...@@ -8276,7 +8276,6 @@ static void M_StartTutorial(INT32 choice) ...@@ -8276,7 +8276,6 @@ static void M_StartTutorial(INT32 choice)
CV_StealthSet(&cv_skin, DEFAULTSKIN); // tutorial accounts for sonic only CV_StealthSet(&cv_skin, DEFAULTSKIN); // tutorial accounts for sonic only
G_DeferedInitNew(false, G_BuildMapName(tutorialmap), 0, false, false); G_DeferedInitNew(false, G_BuildMapName(tutorialmap), 0, false, false);
} }
// ============== // ==============
// LOAD GAME MENU // LOAD GAME MENU
// ============== // ==============
...@@ -8954,13 +8953,13 @@ static void M_HandleLoadSave(INT32 choice) ...@@ -8954,13 +8953,13 @@ static void M_HandleLoadSave(INT32 choice)
{ {
loadgamescroll = 0; loadgamescroll = 0;
S_StartSound(NULL, sfx_skid); S_StartSound(NULL, sfx_skid);
M_StartMessage("Are you sure you want to play\n\x85ultimate mode\x80? It isn't remotely fair,\nand you don't even get an emblem for it.\n\n(Press 'Y' to confirm)\n",M_SaveGameUltimateResponse,MM_YESNO); M_StartMessage("Awe you suwe you want t-to pway\n\x85uwtimate mode\x80? I-It isn't wemotewy faiw,\nyand you don't even get an embwem fow it.\n\n(Pwess 'Y' to confiwm)\n",M_SaveGameUltimateResponse,MM_YESNO);
} }
else if (saveSlotSelected != NOSAVESLOT && savegameinfo[saveSlotSelected-1].lives == -42 && usedCheats) else if (saveSlotSelected != NOSAVESLOT)
{ {
loadgamescroll = 0; loadgamescroll = 0;
S_StartSound(NULL, sfx_skid); S_StartSound(NULL, sfx_skid);
M_StartMessage(M_GetText("This cannot be done in a cheated game.\n\n(Press a key)\n"), NULL, MM_NOTHING); M_StartMessage(M_GetText("T-T-This cannyot b-b-be donye in this game.\n\n(Pwess a key) OwO\n"), NULL, MM_NOTHING);
} }
else if (saveSlotSelected == NOSAVESLOT || savegameinfo[saveSlotSelected-1].lives != -666) // don't allow loading of "bad saves" else if (saveSlotSelected == NOSAVESLOT || savegameinfo[saveSlotSelected-1].lives != -666) // don't allow loading of "bad saves"
{ {
...@@ -11173,14 +11172,14 @@ static void M_DrawRoomMenu(void) ...@@ -11173,14 +11172,14 @@ static void M_DrawRoomMenu(void)
// use generic drawer for cursor, items and title // use generic drawer for cursor, items and title
M_DrawGenericMenu(); M_DrawGenericMenu();
V_DrawString(currentMenu->x - 16, currentMenu->y, V_YELLOWMAP, M_GetText("Select a room")); V_DrawString(currentMenu->x - 16, currentMenu->y, V_YELLOWMAP, M_GetText("Sewect a woom OwO"));
if (m_waiting_mode == M_NOT_WAITING) if (m_waiting_mode == M_NOT_WAITING)
{ {
M_DrawTextBox(144, 24, 20, 20); M_DrawTextBox(144, 24, 20, 20);
if (itemOn == 0) if (itemOn == 0)
rmotd = M_GetText("Don't connect to the Master Server."); rmotd = M_GetText("Don't connyect to the Mastew Sewvew.");
else else
rmotd = room_list[itemOn-1].motd; rmotd = room_list[itemOn-1].motd;
...@@ -11193,11 +11192,11 @@ static void M_DrawRoomMenu(void) ...@@ -11193,11 +11192,11 @@ static void M_DrawRoomMenu(void)
// Display a little "please wait" message. // Display a little "please wait" message.
M_DrawTextBox(52, BASEVIDHEIGHT/2-10, 25, 3); M_DrawTextBox(52, BASEVIDHEIGHT/2-10, 25, 3);
if (m_waiting_mode == M_WAITING_VERSION) if (m_waiting_mode == M_WAITING_VERSION)
waiting_message = "Checking for updates..."; waiting_message = "Checking fow u-u-updates...";
else else
waiting_message = "Fetching room info..."; waiting_message = "F-Fetching woom info...";
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, 0, waiting_message); V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, 0, waiting_message);
V_DrawCenteredString(BASEVIDWIDTH/2, (BASEVIDHEIGHT/2)+12, 0, "Please wait."); V_DrawCenteredString(BASEVIDWIDTH/2, (BASEVIDHEIGHT/2)+12, 0, "Pwease wait.");
} }
} }
...@@ -11216,7 +11215,7 @@ static void M_DrawConnectMenu(void) ...@@ -11216,7 +11215,7 @@ static void M_DrawConnectMenu(void)
// Room name // Room name
if (cv_masterserver_room_id.value < 0) if (cv_masterserver_room_id.value < 0)
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + MP_ConnectMenu[mp_connect_room].alphaKey, V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + MP_ConnectMenu[mp_connect_room].alphaKey,
V_YELLOWMAP, (itemOn == mp_connect_room) ? "<Select to change>" : "<Unlisted Mode>"); V_YELLOWMAP, (itemOn == mp_connect_room) ? "<Sewect to change>" : "<Unwisted Mode>");
else else
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + MP_ConnectMenu[mp_connect_room].alphaKey, V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + MP_ConnectMenu[mp_connect_room].alphaKey,
V_YELLOWMAP, room_list[menuRoomIndex].name); V_YELLOWMAP, room_list[menuRoomIndex].name);
...@@ -11229,7 +11228,7 @@ static void M_DrawConnectMenu(void) ...@@ -11229,7 +11228,7 @@ static void M_DrawConnectMenu(void)
V_DrawFill(1, currentMenu->y+40, 318, 1, 0); V_DrawFill(1, currentMenu->y+40, 318, 1, 0);
if (serverlistcount <= 0) if (serverlistcount <= 0)
V_DrawString(currentMenu->x,currentMenu->y+SERVERHEADERHEIGHT, 0, "No servers found"); V_DrawString(currentMenu->x,currentMenu->y+SERVERHEADERHEIGHT, 0, "Nyo sewvews f-found");
else else
for (i = 0; i < min(serverlistcount - serverlistpage * SERVERS_PER_PAGE, SERVERS_PER_PAGE); i++) for (i = 0; i < min(serverlistcount - serverlistpage * SERVERS_PER_PAGE, SERVERS_PER_PAGE); i++)
{ {
...@@ -11243,7 +11242,7 @@ static void M_DrawConnectMenu(void) ...@@ -11243,7 +11242,7 @@ static void M_DrawConnectMenu(void)
if (serverlist[slindex].info.modifiedgame) if (serverlist[slindex].info.modifiedgame)
V_DrawSmallString(currentMenu->x+202, S_LINEY(i)+8, globalflags, "\x85" "Mod"); V_DrawSmallString(currentMenu->x+202, S_LINEY(i)+8, globalflags, "\x85" "Mod");
if (serverlist[slindex].info.cheatsenabled) if (serverlist[slindex].info.cheatsenabled)
V_DrawSmallString(currentMenu->x+222, S_LINEY(i)+8, globalflags, "\x83" "Cheats"); V_DrawSmallString(currentMenu->x+222, S_LINEY(i)+8, globalflags, "\x83" "C-Cheatah");
if (Net_IsNodeIPv6(serverlist[slindex].node)) if (Net_IsNodeIPv6(serverlist[slindex].node))
V_DrawSmallString(currentMenu->x+252, S_LINEY(i)+8, globalflags, "\x84" "IPv6"); V_DrawSmallString(currentMenu->x+252, S_LINEY(i)+8, globalflags, "\x84" "IPv6");
...@@ -11273,8 +11272,8 @@ static void M_DrawConnectMenu(void) ...@@ -11273,8 +11272,8 @@ static void M_DrawConnectMenu(void)
{ {
// Display a little "please wait" message. // Display a little "please wait" message.
M_DrawTextBox(52, BASEVIDHEIGHT/2-10, 25, 3); M_DrawTextBox(52, BASEVIDHEIGHT/2-10, 25, 3);
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, 0, "Searching for servers..."); V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, 0, "Seawching fow sewvews...");
V_DrawCenteredString(BASEVIDWIDTH/2, (BASEVIDHEIGHT/2)+12, 0, "Please wait."); V_DrawCenteredString(BASEVIDWIDTH/2, (BASEVIDHEIGHT/2)+12, 0, "Pwease wait.");
} }
} }
...@@ -11424,7 +11423,7 @@ Check_new_version_thread (int *id) ...@@ -11424,7 +11423,7 @@ Check_new_version_thread (int *id)
if (m_waiting_mode) if (m_waiting_mode)
{ {
m_waiting_mode = M_NOT_WAITING; m_waiting_mode = M_NOT_WAITING;
MP_RoomMenu[0].text = "<Offline Mode>"; MP_RoomMenu[0].text = "<Offwinye Mode>";
} }
} }
I_unlock_mutex(m_menu_mutex); I_unlock_mutex(m_menu_mutex);
...@@ -11462,7 +11461,7 @@ static void M_ConnectMenuModChecks(INT32 choice) ...@@ -11462,7 +11461,7 @@ static void M_ConnectMenuModChecks(INT32 choice)
if (modifiedgame) if (modifiedgame)
{ {
M_StartMessage(M_GetText("You have add-ons loaded.\nYou won't be able to join netgames!\n\nTo play online, restart the game\nand don't load any addons.\nSRB2 will automatically add\neverything you need when you join.\n\n(Press a key)\n"),M_ConnectMenu,MM_EVENTHANDLER); M_StartMessage(M_GetText("You have add-ons w-woaded.\nYou won't be abwe to join nyetgames!\n\nTo pway onwinye, w-westawt the game\nyand d-don't woad any addons.\nSWB2 wiww automaticawwy wutomaticawwy add\nyevewything y-you nyeed when y-you join.\n\n(Pwess a key)\n"),M_ConnectMenu,MM_EVENTHANDLER);
return; return;
} }
...@@ -11482,8 +11481,8 @@ static void M_RoomMenu(INT32 choice) ...@@ -11482,8 +11481,8 @@ static void M_RoomMenu(INT32 choice)
// Display a little "please wait" message. // Display a little "please wait" message.
M_DrawTextBox(52, BASEVIDHEIGHT/2-10, 25, 3); M_DrawTextBox(52, BASEVIDHEIGHT/2-10, 25, 3);
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, 0, "Fetching room info..."); V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, 0, "Fetching woom info...");
V_DrawCenteredString(BASEVIDWIDTH/2, (BASEVIDHEIGHT/2)+12, 0, "Please wait."); V_DrawCenteredString(BASEVIDWIDTH/2, (BASEVIDHEIGHT/2)+12, 0, "P-Pwease wait.");
I_OsPolling(); I_OsPolling();
I_UpdateNoBlit(); I_UpdateNoBlit();
if (rendermode == render_soft) if (rendermode == render_soft)
...@@ -11609,10 +11608,10 @@ static void M_DrawServerMenu(void) ...@@ -11609,10 +11608,10 @@ static void M_DrawServerMenu(void)
// Room name // Room name
if (currentMenu == &MP_ServerDef) if (currentMenu == &MP_ServerDef)
{ {
M_DrawLevelPlatterHeader(currentMenu->y - lsheadingheight/2, "Server settings", true, false); M_DrawLevelPlatterHeader(currentMenu->y - lsheadingheight/2, "Sewvew settings OwO", true, false);
if (cv_masterserver_room_id.value < 0) if (cv_masterserver_room_id.value < 0)
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + MP_ServerMenu[mp_server_room].alphaKey, V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + MP_ServerMenu[mp_server_room].alphaKey,
V_YELLOWMAP, (itemOn == mp_server_room) ? "<Select to change>" : "<Unlisted Mode>"); V_YELLOWMAP, (itemOn == mp_server_room) ? "<Sewect to change>" : "<Unwisted Mode>");
else else
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + MP_ServerMenu[mp_server_room].alphaKey, V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + MP_ServerMenu[mp_server_room].alphaKey,
V_YELLOWMAP, room_list[menuRoomIndex].name); V_YELLOWMAP, room_list[menuRoomIndex].name);
...@@ -11653,7 +11652,7 @@ static void M_MapChange(INT32 choice) ...@@ -11653,7 +11652,7 @@ static void M_MapChange(INT32 choice)
if (!M_PrepareLevelPlatter(cv_newgametype.value, (currentMenu == &MPauseDef))) if (!M_PrepareLevelPlatter(cv_newgametype.value, (currentMenu == &MPauseDef)))
{ {
M_StartMessage(M_GetText("No selectable levels found.\n"),NULL,MM_NOTHING); M_StartMessage(M_GetText("*giggles* Nyo sewectabwe wevews found OwO.\n"),NULL,MM_NOTHING);
return; return;
} }
...@@ -11791,13 +11790,13 @@ static void M_DrawMPMainMenu(void) ...@@ -11791,13 +11790,13 @@ static void M_DrawMPMainMenu(void)
M_DrawGenericMenu(); M_DrawGenericMenu();
V_DrawRightAlignedString(BASEVIDWIDTH-x, y+66, V_DrawRightAlignedString(BASEVIDWIDTH-x, y+66,
((itemOn == 4) ? V_YELLOWMAP : 0), va("(2-%d players)", MAXPLAYERS)); ((itemOn == 4) ? V_YELLOWMAP : 0), va("(2-%d pwayews)", MAXPLAYERS));
V_DrawRightAlignedString(BASEVIDWIDTH-x, y+76, V_DrawRightAlignedString(BASEVIDWIDTH-x, y+76,
((itemOn == 5) ? V_YELLOWMAP : 0), "(2 players)"); ((itemOn == 5) ? V_YELLOWMAP : 0), "(2 pwayews)");
V_DrawRightAlignedString(BASEVIDWIDTH-x, y+116, V_DrawRightAlignedString(BASEVIDWIDTH-x, y+116,
((itemOn == 8) ? V_YELLOWMAP : 0), "(splitscreen)"); ((itemOn == 8) ? V_YELLOWMAP : 0), "(spwitscween)");
M_DrawConnectIP(); M_DrawConnectIP();
} }
...@@ -11811,7 +11810,7 @@ static void M_ConnectIP(INT32 choice) ...@@ -11811,7 +11810,7 @@ static void M_ConnectIP(INT32 choice)
if (*setupm_ip == 0) if (*setupm_ip == 0)
{ {
M_StartMessage("You must specify an IP address.\n", NULL, MM_NOTHING); M_StartMessage("You must specify wecify an I-I-IP addwess.\n", NULL, MM_NOTHING);
return; return;
} }
...@@ -11821,7 +11820,7 @@ static void M_ConnectIP(INT32 choice) ...@@ -11821,7 +11820,7 @@ static void M_ConnectIP(INT32 choice)
// A little "please wait" message. // A little "please wait" message.
M_DrawTextBox(56, BASEVIDHEIGHT/2-12, 24, 2); M_DrawTextBox(56, BASEVIDHEIGHT/2-12, 24, 2);
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, 0, "Connecting to server..."); V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, 0, "Connyecting to sewvew... OwO");
I_OsPolling(); I_OsPolling();
I_UpdateNoBlit(); I_UpdateNoBlit();
if (rendermode == render_soft) if (rendermode == render_soft)
...@@ -12513,7 +12512,7 @@ colordraw: ...@@ -12513,7 +12512,7 @@ colordraw:
? 0 ? 0
: V_TRANSLUCENT) : V_TRANSLUCENT)
| ((itemOn == 3) ? V_YELLOWMAP : 0), | ((itemOn == 3) ? V_YELLOWMAP : 0),
"Save as default"); "Save a-as defauwt");
if (itemOn == 3) if (itemOn == 3)
cursory = y; cursory = y;
......
...@@ -123,32 +123,32 @@ static void CL_DrawConnectionStatus(void) ...@@ -123,32 +123,32 @@ static void CL_DrawConnectionStatus(void)
{ {
fileneeded_t *file = &fileneeded[filedownload.current]; fileneeded_t *file = &fileneeded[filedownload.current];
cltext = M_GetText("Downloading game state..."); cltext = M_GetText("Downwoading game state...");
DrawFileProgress(file, BASEVIDHEIGHT-16); DrawFileProgress(file, BASEVIDHEIGHT-16);
} }
else else
cltext = M_GetText("Waiting to download game state..."); cltext = M_GetText("Waiting to downwoad game state...");
break; break;
case CL_ASKFULLFILELIST: case CL_ASKFULLFILELIST:
case CL_CHECKFILES: case CL_CHECKFILES:
cltext = M_GetText("Checking server addon list..."); cltext = M_GetText("Checking sewvew addon wist...");
break; break;
case CL_CONFIRMCONNECT: case CL_CONFIRMCONNECT:
cltext = ""; cltext = "";
break; break;
case CL_LOADFILES: case CL_LOADFILES:
cltext = M_GetText("Loading server addons..."); cltext = M_GetText("Woading sewvew addons...");
break; break;
case CL_ASKJOIN: case CL_ASKJOIN:
case CL_WAITJOINRESPONSE: case CL_WAITJOINRESPONSE:
if (serverisfull) if (serverisfull)
cltext = M_GetText("Server full, waiting for a slot..."); cltext = M_GetText("Sewvew fuww, waiting fow a swot...");
else else
cltext = M_GetText("Requesting to join..."); cltext = M_GetText("*blushes* Wequesting to join...");
break; break;
default: default:
cltext = M_GetText("Connecting to server..."); cltext = M_GetText("Connyecting to s-sewvew...");
break; break;
} }
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-24, V_YELLOWMAP, cltext); V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-24, V_YELLOWMAP, cltext);
...@@ -160,7 +160,7 @@ static void CL_DrawConnectionStatus(void) ...@@ -160,7 +160,7 @@ static void CL_DrawConnectionStatus(void)
INT32 totalfileslength; INT32 totalfileslength;
INT32 loadcompletednum = 0; INT32 loadcompletednum = 0;
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-16, V_YELLOWMAP, "Press ESC to abort"); V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-16, V_YELLOWMAP, "Pwess ESC to abowt");
// ima just count files here // ima just count files here
if (fileneeded) if (fileneeded)
...@@ -171,13 +171,13 @@ static void CL_DrawConnectionStatus(void) ...@@ -171,13 +171,13 @@ static void CL_DrawConnectionStatus(void)
} }
// Loading progress // Loading progress
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-24, V_YELLOWMAP, "Loading server addons..."); V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-24, V_YELLOWMAP, "W-Woading s-sewvew addons...");
totalfileslength = (INT32)((loadcompletednum/(double)(fileneedednum)) * 256); totalfileslength = (INT32)((loadcompletednum/(double)(fileneedednum)) * 256);
M_DrawTextBox(BASEVIDWIDTH/2-128-8, BASEVIDHEIGHT-16-8, 32, 1); M_DrawTextBox(BASEVIDWIDTH/2-128-8, BASEVIDHEIGHT-16-8, 32, 1);
V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-16, 256, 8, 111); V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-16, 256, 8, 111);
V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-16, totalfileslength, 8, 96); V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-16, totalfileslength, 8, 96);
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16, V_20TRANS|V_MONOSPACE, V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16, V_20TRANS|V_MONOSPACE,
va(" %2u/%2u files",loadcompletednum,fileneedednum)); va(" %2u/%2u fiwes",loadcompletednum,fileneedednum));
} }
else if (filedownload.current != -1) else if (filedownload.current != -1)
{ {
...@@ -218,10 +218,10 @@ static void CL_DrawConnectionStatus(void) ...@@ -218,10 +218,10 @@ static void CL_DrawConnectionStatus(void)
// (also it doesn't really fit on a typical SRB2 screen) // (also it doesn't really fit on a typical SRB2 screen)
#if 0 #if 0
const char *download_str = cl_mode == CL_DOWNLOADHTTPFILES const char *download_str = cl_mode == CL_DOWNLOADHTTPFILES
? M_GetText("HTTP downloading \"%s\"") ? M_GetText(" H-HTTP downwoading OwO\"%s\"")
: M_GetText("Downloading \"%s\""); : M_GetText("D-downwoading \"%s\"");
#else #else
const char *download_str = M_GetText("Downloading \"%s\""); const char *download_str = M_GetText("Downwoading \"%s\"");
#endif #endif
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-24, V_ALLOWLOWERCASE|V_YELLOWMAP, V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-24, V_ALLOWLOWERCASE|V_YELLOWMAP,
...@@ -245,12 +245,12 @@ static void CL_DrawConnectionStatus(void) ...@@ -245,12 +245,12 @@ static void CL_DrawConnectionStatus(void)
} }
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-16, V_ALLOWLOWERCASE|V_YELLOWMAP, V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-16, V_ALLOWLOWERCASE|V_YELLOWMAP,
va(M_GetText("from %s"), tempname)); va(M_GetText("fwom %s"), tempname));
} }
else else
{ {
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-16, V_ALLOWLOWERCASE|V_YELLOWMAP, V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-16, V_ALLOWLOWERCASE|V_YELLOWMAP,
M_GetText("from the server")); M_GetText("fwom t-the sewvew"));
} }
DrawFileProgress(file, BASEVIDHEIGHT-16); DrawFileProgress(file, BASEVIDHEIGHT-16);
...@@ -262,7 +262,7 @@ static void CL_DrawConnectionStatus(void) ...@@ -262,7 +262,7 @@ static void CL_DrawConnectionStatus(void)
DrawConnectionStatusBox(); DrawConnectionStatusBox();
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-24, V_YELLOWMAP, V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-24, V_YELLOWMAP,
M_GetText("Waiting to download files...")); M_GetText("Waiting to downwoad fiwes... OwO"));
} }
} }
} }
...@@ -285,7 +285,7 @@ boolean CL_SendJoin(void) ...@@ -285,7 +285,7 @@ boolean CL_SendJoin(void)
UINT8 localplayers = 1; UINT8 localplayers = 1;
char const *player2name; char const *player2name;
if (netgame) if (netgame)
CONS_Printf(M_GetText("Sending join request...\n")); CONS_Printf(M_GetText("S-Sending join wequest...\n"));
netbuffer->packettype = PT_CLIENTJOIN; netbuffer->packettype = PT_CLIENTJOIN;
netbuffer->u.clientcfg.modversion = MODVERSION; netbuffer->u.clientcfg.modversion = MODVERSION;
...@@ -603,9 +603,9 @@ static void BeginDownload(boolean direct) ...@@ -603,9 +603,9 @@ static void BeginDownload(boolean direct)
// why was this its own cl_mode_t? // why was this its own cl_mode_t?
M_StartMessage(M_GetText( M_StartMessage(M_GetText(
"The direct downloader encountered an error.\n" "*giggles* The d-diwect downwoadew encountewed an ewwow.\n"
"See the logfile for more info.\n\n" "See the wogfiwe fow m-mowe info. OwO\n\n"
"Press ESC\n" "Pwess ESC\n"
), NULL, MM_NOTHING); ), NULL, MM_NOTHING);
} }
} }
...@@ -662,18 +662,18 @@ static void ShowDownloadConsentMessage(void) ...@@ -662,18 +662,18 @@ static void ShowDownloadConsentMessage(void)
if (serverisfull) if (serverisfull)
M_StartMessage(va(M_GetText( M_StartMessage(va(M_GetText(
"This server is full!\n" "*blushes* This sewvew is f-fuww!\n"
"Download of %s of additional\ncontent is required to join.\n" "Downwoad of %s of additionyaw\ncontent is wequiwed to join. OwO\n"
"\n" "\n"
"You may download server addons,\nand wait for a slot.\n" "You may downwoad sewvew a-addons,\nyand wait fow a s-swot.\n"
"\n" "\n"
"Press ENTER to continue\nor ESC to cancel.\n" "Pwess ENTER to continue\nor ESC to cancel.\n"
), downloadsize), M_ConfirmConnect, MM_EVENTHANDLER); ), downloadsize), M_ConfirmConnect, MM_EVENTHANDLER);
else else
M_StartMessage(va(M_GetText( M_StartMessage(va(M_GetText(
"Download of %s of additional\ncontent is required to join.\n" "Downwoad of %s of a-additionyaw\ncontent is wequiwed to join.\n"
"\n" "\n"
"Press ENTER to continue\nor ESC to cancel.\n" "Pwess ENTER to continue\now ESC to cancel.\n"
), downloadsize), M_ConfirmConnect, MM_EVENTHANDLER); ), downloadsize), M_ConfirmConnect, MM_EVENTHANDLER);
cl_mode = CL_CONFIRMCONNECT; cl_mode = CL_CONFIRMCONNECT;
...@@ -685,13 +685,13 @@ static const char *GetDirectDownloadFailReason(UINT8 dlstatus) ...@@ -685,13 +685,13 @@ static const char *GetDirectDownloadFailReason(UINT8 dlstatus)
switch (dlstatus) switch (dlstatus)
{ {
case DLSTATUS_TOOLARGE: case DLSTATUS_TOOLARGE:
return M_GetText("Some addons are larger than the server is willing to send."); return M_GetText("Some a-addons awe wawgew t-than the sewvew is wiwwing to s-send.");
case DLSTATUS_WONTSEND: case DLSTATUS_WONTSEND:
return M_GetText("The server is not allowing download requests."); return M_GetText("The sewvew is nyot awwowing downwoad wequests.");
case DLSTATUS_NODOWNLOAD: case DLSTATUS_NODOWNLOAD:
return M_GetText("All addons downloadable, but you have chosen to disable addon downloading."); return M_GetText("Aww addons downwoadabwe, b-b-but you have chosen to disabwe addon downwoading.");
case DLSTATUS_FOLDER: case DLSTATUS_FOLDER:
return M_GetText("One or more addons were added as a folder, which the server cannot send."); return M_GetText("Onye ow mowe addons wewe added as a fowdew, which the sewvew cannyot send.");
} }
return "Unknown reason"; return "Unknown reason";
...@@ -700,7 +700,7 @@ static const char *GetDirectDownloadFailReason(UINT8 dlstatus) ...@@ -700,7 +700,7 @@ static const char *GetDirectDownloadFailReason(UINT8 dlstatus)
static void HandleDirectDownloadFail(UINT8 dlstatus) static void HandleDirectDownloadFail(UINT8 dlstatus)
{ {
// not downloadable, put reason in console // not downloadable, put reason in console
CONS_Alert(CONS_NOTICE, M_GetText("You need additional addons to connect to this server:\n")); CONS_Alert(CONS_NOTICE, M_GetText("You nyeed additionyaw addons to c-connyect t-to this sewvew:\n"));
for (UINT8 i = 0; i < fileneedednum; i++) for (UINT8 i = 0; i < fileneedednum; i++)
{ {
...@@ -745,10 +745,10 @@ static boolean CL_FinishedFileList(void) ...@@ -745,10 +745,10 @@ static boolean CL_FinishedFileList(void)
{ {
AbortConnection(); AbortConnection();
M_StartMessage(M_GetText( M_StartMessage(M_GetText(
"You have too many WAD files loaded\n" "You have too m-m-many WAD f-fiwes woaded\n"
"to add ones the server is using.\n" "to add onyes the sewvew is using OwO.\n"
"Please restart SRB2 before connecting.\n\n" "Pwease westawt SWB2 befowe connyecting.\n\n"
"Press ESC\n" "Pwess ESC\n"
), NULL, MM_NOTHING); ), NULL, MM_NOTHING);
return false; return false;
} }
...@@ -756,14 +756,14 @@ static boolean CL_FinishedFileList(void) ...@@ -756,14 +756,14 @@ static boolean CL_FinishedFileList(void)
{ {
AbortConnection(); AbortConnection();
M_StartMessage(M_GetText( M_StartMessage(M_GetText(
"You have the wrong addons loaded.\n" "You have the wwong addons woaded.\n"
"\n" "\n"
"To play on this server, restart\n" "To pway on this sewvew, westawt\n"
"the game and don't load any addons.\n" "the game and don't w-woad any addons.\n"
"SRB2 will automatically add\n" "SWB2 w-wiww automaticawwy wutomaticawwy add\n"
"everything you need when you join.\n" "evewything y-you nyeed when y-you join.\n"
"\n" "\n"
"Press ESC\n" "Pwess ESC\n"
), NULL, MM_NOTHING); ), NULL, MM_NOTHING);
return false; return false;
} }
...@@ -772,11 +772,11 @@ static boolean CL_FinishedFileList(void) ...@@ -772,11 +772,11 @@ static boolean CL_FinishedFileList(void)
if (serverisfull) if (serverisfull)
{ {
M_StartMessage(M_GetText( M_StartMessage(M_GetText(
"This server is full!\n" "This sewvew is f-fuww!\n"
"\n" "\n"
"You may load server addons (if any), and wait for a slot.\n" "You may woad sewvew addons (if any), and wait fow a swot.\n"
"\n" "\n"
"Press ENTER to continue\nor ESC to cancel.\n\n" "Pwess ENTEW to c-continyue\nyow ESC to c-c-c-cancew.\n\n"
), M_ConfirmConnect, MM_EVENTHANDLER); ), M_ConfirmConnect, MM_EVENTHANDLER);
cl_mode = CL_CONFIRMCONNECT; cl_mode = CL_CONFIRMCONNECT;
curfadevalue = 0; curfadevalue = 0;
...@@ -795,13 +795,13 @@ static boolean CL_FinishedFileList(void) ...@@ -795,13 +795,13 @@ static boolean CL_FinishedFileList(void)
HandleDirectDownloadFail(status); HandleDirectDownloadFail(status);
AbortConnection(); AbortConnection();
M_StartMessage(M_GetText( M_StartMessage(M_GetText(
"An error occurred when trying to\n" "An ewwow occuwwed when twying to\n"
"download missing addons.\n" "downwoad missing addons.\n"
"(This is almost always a problem\n" "(This i-is awmost awways a pwobwem\n"
"with the server, not your game.)\n" "w-with the sewvew, n-nyot youw game.)\n"
"\n" "\n"
"See the console or log file\n" "OwO S-S-See the consowe ow wog fiwe\n"
"for additional details.\n" "fow a-additionyaw detaiws.\n"
"\n" "\n"
"Press ESC\n" "Press ESC\n"
), NULL, MM_NOTHING); ), NULL, MM_NOTHING);
...@@ -862,23 +862,23 @@ static const char * InvalidServerReason (serverinfo_pak *info) ...@@ -862,23 +862,23 @@ static const char * InvalidServerReason (serverinfo_pak *info)
{ {
case REFUSE_BANNED: case REFUSE_BANNED:
return return
"You have been banned\n" "You have been bannyed\n"
"from the server.\n" EOT; "from the server.\n" EOT;
case REFUSE_JOINS_DISABLED: case REFUSE_JOINS_DISABLED:
return return
"The server is not accepting\n" "The sewvew is nyot accepting\n"
"joins for the moment.\n" EOT; "joins for the moment.\n" EOT;
case REFUSE_SLOTS_FULL: case REFUSE_SLOTS_FULL:
return va( return va(
"Maximum players reached: %d\n" EOT, "Maximum pwayews weached: %d\n" EOT,
info->maxplayer - D_NumBots()); info->maxplayer - D_NumBots());
default: default:
if (info->refusereason) if (info->refusereason)
{ {
return return
"You can't join.\n" "You c-can't join.\n"
"I don't know why,\n" "Watashi don't knyow why,\n"
"but you can't join.\n" EOT; "byut you can't join.\n" EOT;
} }
} }
...@@ -1366,7 +1366,7 @@ void PT_ServerRefuse(SINT8 node) ...@@ -1366,7 +1366,7 @@ void PT_ServerRefuse(SINT8 node)
return; return;
} }
M_StartMessage(va(M_GetText("Server refuses connection\n\nReason:\n%s"), M_StartMessage(va(M_GetText("Sewvew wefuses connyection\n\nWeason:\n%s"),
reason), NULL, MM_NOTHING); reason), NULL, MM_NOTHING);
AbortConnection(); AbortConnection();
......