99 lines
4.0 KiB
Bash
99 lines
4.0 KiB
Bash
documentation() {
|
|
if [[ "$2" == "Become a Patron" ]]; then
|
|
return
|
|
fi
|
|
if [[ "$2" == "Donate" ]]; then
|
|
return
|
|
fi
|
|
if ! command -v w3m &> /dev/null ; then
|
|
echo "This feature of audiogame-manager requires w3m. Please install it before continuing."
|
|
exit 1
|
|
fi
|
|
get_bottle "$1"
|
|
echo "Loading documentation, please wait..."
|
|
# Try to find documentation based on common naming conventions.
|
|
local gamePath="$(winepath -u "$2" 2> /dev/null)"
|
|
gamePath="${gamePath%/*}"
|
|
local gameDoc="$(find "$gamePath" -type f -iname 'user_manual.htm*' -or -iname 'user manual.htm*' -or -iname '*user guide.htm*' | head -1)"
|
|
# Game name specific docs, add the name to the for loop.
|
|
if [[ -z "$gameDoc" ]]; then
|
|
for i in "troopanum.txt" "superdeekout.txt" scw.html ; do
|
|
gameDoc="$(find "$gamePath" -type f -iname "$i" -or -iname 'manual.htm' | head -1)"
|
|
done
|
|
fi
|
|
if [[ -z "$gameDoc" ]]; then
|
|
gameDoc="$(find "$gamePath" -type f -path '*/Manual/index.html' | head -1)"
|
|
fi
|
|
if [[ -z "$gameDoc" ]]; then
|
|
gameDoc="$(find "$gamePath" -type f -iname '[A-Z]*Help.htm' -or -iname '[A-Z]*Help.html' | head -1)"
|
|
fi
|
|
if [[ -z "$gameDoc" ]]; then
|
|
gameDoc="$(find "$gamePath" -type f -iname 'manual.html' -or -iname 'manual.htm' | head -1)"
|
|
fi
|
|
if [[ -z "$gameDoc" ]]; then
|
|
gameDoc="$(find "$gamePath" -type f -iname 'en.html' -or -iname 'en.htm' | head -1)"
|
|
fi
|
|
if [[ -z "$gameDoc" ]]; then
|
|
gameDoc="$(find "$gamePath" -type f -iname 'readme.html' -or -iname 'readme.htm' | head -1)"
|
|
fi
|
|
if [[ -z "$gameDoc" ]]; then
|
|
gameDoc="$(find "$gamePath" -type f -iname 'manual.txt' | head -1)"
|
|
fi
|
|
if [[ -z "$gameDoc" ]]; then
|
|
gameDoc="$(find "$gamePath" -type f -iname 'readme.txt' -or -iname 'help.txt' | head -1)"
|
|
fi
|
|
if [[ -z "$gameDoc" ]]; then
|
|
gameDoc="$(find "$gamePath" -type f -iname '*.url' -exec grep -i 'url=' {} \; | grep -iv 'score' | head -1)"
|
|
gameDoc="${gameDoc#*=}"
|
|
gameDoc="${gameDoc//[[:cntrl:]]/}"
|
|
fi
|
|
# Display documentation if available.
|
|
if [[ -n "$gameDoc" ]]; then
|
|
w3m "$gameDoc"
|
|
else
|
|
echo "No documentation found."
|
|
fi
|
|
exit 0
|
|
}
|
|
|
|
license() {
|
|
cat << EOF
|
|
■The contents of this file are subject to the Common Public Attribution
|
|
License Version 1.0 (the ■License■); you may not use this file except in
|
|
compliance with the License. You may obtain a copy of the License at
|
|
https://opensource.org/licenses/CPAL-1.0. The License is based on the Mozilla Public License Version
|
|
1.1 but Sections 14 and 15 have been added to cover use of software over a
|
|
computer network and provide for limited attribution for the Original
|
|
Developer. In addition, Exhibit A has been modified to be consistent with
|
|
Exhibit B.
|
|
|
|
Software distributed under the License is distributed on an ■AS IS■ basis,
|
|
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
for the specific language governing rights and limitations under the
|
|
License.
|
|
|
|
The Original Code is audiogame manager.
|
|
|
|
The Original Developer is not the Initial Developer and is . If
|
|
left blank, the Original Developer is the Initial Developer.
|
|
|
|
The Initial Developer of the Original Code is Billy "Storm Dragon" Wolfe. All portions of
|
|
the code written by Billy Wolfe are Copyright (c) 2020, 2024. All Rights
|
|
Reserved.
|
|
|
|
Contributor Michael Taboada.
|
|
|
|
Attribution Copyright Notice: Audiogame manager copyright 2020 Storm Dragon. All rights reserved.
|
|
|
|
Attribution Phrase (not exceeding 10 words): A Stormux project
|
|
|
|
Attribution URL: https://stormgames.wolfe.casa
|
|
|
|
Graphic Image as provided in the Covered Code, if any.
|
|
|
|
Display of Attribution Information is required in Larger
|
|
Works which are defined in the CPAL as a work which combines Covered Code
|
|
or portions thereof with code not governed by the terms of the CPAL.
|
|
EOF
|
|
}
|