Merge remote-tracking branch 'lethosor/pre-commit' into develop

develop
lethosor 2022-04-12 21:17:15 -04:00
commit 0f464b13b3
No known key found for this signature in database
GPG Key ID: 76A269552F4F58C1
119 changed files with 516 additions and 543 deletions

@ -5,7 +5,7 @@ on:
inputs: inputs:
pull_request: pull_request:
description: Pull request ID description: Pull request ID
type: number type: string
required: true # remove if we support commit rebuilds later required: true # remove if we support commit rebuilds later
jobs: jobs:

@ -0,0 +1,35 @@
ci:
autofix_prs: false
repos:
# shared across repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.1.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-executables-have-shebangs
- id: check-merge-conflict
- id: check-shebang-scripts-are-executable
- id: check-symlinks
- id: check-xml
- id: check-yaml
- id: destroyed-symlinks
- id: end-of-file-fixer
- id: mixed-line-ending
args: ['--fix=lf']
- id: trailing-whitespace
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.14.2
hooks:
- id: check-github-workflows
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.1.13
hooks:
- id: forbid-tabs
exclude_types:
- json
- id: remove-tabs
exclude_types:
- json
# specific to dfhack:
exclude: '^(depends/|data/examples/.*\.json$|.*\.diff$)'

@ -13,4 +13,3 @@ find_package_handle_standard_args(Sphinx DEFAULT_MSG
) )
mark_as_advanced(SPHINX_EXECUTABLE) mark_as_advanced(SPHINX_EXECUTABLE)

@ -13,4 +13,4 @@
<body> <body>
Follow this <a href='./docs/index.html'>link to the documentation.</a> Follow this <a href='./docs/index.html'>link to the documentation.</a>
</body> </body>
</html> </html>

@ -7,88 +7,88 @@ LUA_PATCH=1
ME=$PWD/`basename $0` ME=$PWD/`basename $0`
usage() { usage() {
echo "Usage: $0 [options] {DF_OSX_PATH}" echo "Usage: $0 [options] {DF_OSX_PATH}"
echo -e "\told\t- use on pre-Snow Leopard OSX installations" echo -e "\told\t- use on pre-Snow Leopard OSX installations"
echo -e "\tbrew\t- if GCC 4.5 was installed with homebrew" echo -e "\tbrew\t- if GCC 4.5 was installed with homebrew"
echo -e "\tport\t- if GCC 4.5 was insalled with macports" echo -e "\tport\t- if GCC 4.5 was insalled with macports"
echo -e "\tclean\t- delete ../build-osx before compiling" echo -e "\tclean\t- delete ../build-osx before compiling"
echo "Example:" echo "Example:"
echo -e "\t$0 old brew ../../../personal/df_osx" echo -e "\t$0 old brew ../../../personal/df_osx"
echo -e "\t$0 port clean /Users/dfplayer/df_osx" echo -e "\t$0 port clean /Users/dfplayer/df_osx"
exit $1 exit $1
} }
options() { options() {
case $1 in case $1 in
brew) brew)
echo "Using homebrew gcc." echo "Using homebrew gcc."
export CC=/usr/local/bin/gcc-4.5 export CC=/usr/local/bin/gcc-4.5
export CXX=/usr/local/bin/g++-4.5 export CXX=/usr/local/bin/g++-4.5
targetted=1 targetted=1
;; ;;
port) port)
echo "Using macports gcc." echo "Using macports gcc."
export CC=/opt/local/bin/gcc-mp-4.5 export CC=/opt/local/bin/gcc-mp-4.5
export CXX=/opt/local/bin/g++-mp-4.5 export CXX=/opt/local/bin/g++-mp-4.5
targetted=1 targetted=1
;; ;;
old) old)
LUA_PATCH=0 LUA_PATCH=0
;; ;;
clean) clean)
echo "Deleting ../build-osx" echo "Deleting ../build-osx"
rm -rf ../build-osx rm -rf ../build-osx
;; ;;
*) *)
;; ;;
esac esac
} }
# sanity checks # sanity checks
if [[ $# -lt 1 ]] if [[ $# -lt 1 ]]
then then
echo "Not enough arguments." echo "Not enough arguments."
usage 0 usage 0
fi fi
if [[ $# -gt 4 ]] if [[ $# -gt 4 ]]
then then
echo "Too many arguments." echo "Too many arguments."
usage 1 usage 1
fi fi
# run through the arguments # run through the arguments
for last for last
do do
options $last options $last
done done
# last keeps the last argument # last keeps the last argument
if [[ $targetted -eq 0 ]] if [[ $targetted -eq 0 ]]
then then
echo "You did not specify whether you intalled GCC 4.5 from brew or ports." echo "You did not specify whether you intalled GCC 4.5 from brew or ports."
echo "If you continue, your default compiler will be used." echo "If you continue, your default compiler will be used."
read -p "Are you sure you want to continue? [y/N] " -n 1 -r read -p "Are you sure you want to continue? [y/N] " -n 1 -r
echo # (optional) move to a new line echo # (optional) move to a new line
if [[ ! $REPLY =~ ^[Yy]$ ]] if [[ ! $REPLY =~ ^[Yy]$ ]]
then then
exit 0 exit 0
fi fi
fi fi
# check for build folder and start working there # check for build folder and start working there
if [[ ! -d ../build-osx ]] if [[ ! -d ../build-osx ]]
then then
mkdir ../build-osx mkdir ../build-osx
fi fi
cd ../build-osx cd ../build-osx
# patch if necessary # patch if necessary
if [[ $LUA_PATCH -ne 0 ]] if [[ $LUA_PATCH -ne 0 ]]
then then
cd .. cd ..
echo "$PWD" echo "$PWD"
sed -e '1,/'"PATCH""CODE"'/d' "$ME" | patch -p0 sed -e '1,/'"PATCH""CODE"'/d' "$ME" | patch -p0
cd - cd -
fi fi
echo "Generate" echo "Generate"
@ -101,17 +101,17 @@ make install
# unpatch if /libarary/luaTypes.cpp was patched # unpatch if /libarary/luaTypes.cpp was patched
if [[ $LUA_PATCH -ne 0 ]] if [[ $LUA_PATCH -ne 0 ]]
then then
cd .. cd ..
echo -n "un" echo -n "un"
sed -e '1,/'"PATCH""CODE"'/d' "$ME" | patch -p0 -R sed -e '1,/'"PATCH""CODE"'/d' "$ME" | patch -p0 -R
cd - cd -
fi fi
exit 0 exit 0
# PATCHCODE - everything below this line is fed into patch # PATCHCODE - everything below this line is fed into patch
--- library/LuaTypes.cpp 2014-08-20 00:13:17.000000000 -0700 --- library/LuaTypes.cpp 2014-08-20 00:13:17.000000000 -0700
+++ library/LuaTypes.cpp 2014-08-31 23:31:00.000000000 -0700 +++ library/LuaTypes.cpp 2014-08-31 23:31:00.000000000 -0700
@@ -464,7 +464,7 @@ @@ -464,7 +464,7 @@
{ {
case struct_field_info::STATIC_STRING: case struct_field_info::STATIC_STRING:

@ -1,34 +1,34 @@
{ {
"folders": "folders":
[ [
{ {
"path": "." "path": "."
} }
], ],
"build_systems": "build_systems":
[ [
{ {
"name": "DFHack make", "name": "DFHack make",
"working_dir": "$project_path", "working_dir": "$project_path",
"cmd": ["python", "$project_path/build/sublime/make.py", "$file"], "cmd": ["python", "$project_path/build/sublime/make.py", "$file"],
"variants": [ "variants": [
{ {
"name": "Build all", "name": "Build all",
"cmd": ["python", "$project_path/build/sublime/make.py", "-a"] "cmd": ["python", "$project_path/build/sublime/make.py", "-a"]
}, },
{ {
"name": "Build+install all", "name": "Build+install all",
"cmd": ["python", "$project_path/build/sublime/make.py", "-ai"] "cmd": ["python", "$project_path/build/sublime/make.py", "-ai"]
}, },
{ {
"name": "Build plugin", "name": "Build plugin",
"cmd": ["python", "$project_path/build/sublime/make.py", "-ap", "$file"] "cmd": ["python", "$project_path/build/sublime/make.py", "-ap", "$file"]
}, },
{ {
"name": "Build+install plugin", "name": "Build+install plugin",
"cmd": ["python", "$project_path/build/sublime/make.py", "-aip", "$file"] "cmd": ["python", "$project_path/build/sublime/make.py", "-aip", "$file"]
} }
] ]
} }
] ]
} }

@ -1,4 +1,4 @@
call "%VS140COMNTOOLS%vsvars32.bat" call "%VS140COMNTOOLS%vsvars32.bat"
cd VC2015_32 cd VC2015_32
msbuild /m /p:Platform=Win32 /p:Configuration=RelWithDebInfo ALL_BUILD.vcxproj msbuild /m /p:Platform=Win32 /p:Configuration=RelWithDebInfo ALL_BUILD.vcxproj
cd .. cd ..

@ -2,4 +2,4 @@ call "%VS140COMNTOOLS%vsvars32.bat"
cd VC2015_32 cd VC2015_32
msbuild /m /p:Platform=Win32 /p:Configuration=Release ALL_BUILD.vcxproj msbuild /m /p:Platform=Win32 /p:Configuration=Release ALL_BUILD.vcxproj
cd .. cd ..
pause pause

@ -1,4 +1,4 @@
call "%VS140COMNTOOLS%vsvars32.bat" call "%VS140COMNTOOLS%vsvars32.bat"
cd VC2015_32 cd VC2015_32
msbuild /m /p:Platform=Win32 /p:Configuration=RelWithDebInfo INSTALL.vcxproj msbuild /m /p:Platform=Win32 /p:Configuration=RelWithDebInfo INSTALL.vcxproj
cd .. cd ..

@ -1,4 +1,4 @@
call "%VS140COMNTOOLS%vsvars32.bat" call "%VS140COMNTOOLS%vsvars32.bat"
cd VC2015_32 cd VC2015_32
msbuild /m /p:Platform=Win32 /p:Configuration=Release INSTALL.vcxproj msbuild /m /p:Platform=Win32 /p:Configuration=Release INSTALL.vcxproj
cd .. cd ..

@ -3,4 +3,4 @@ call "%VS140COMNTOOLS%vsvars32.bat"
cd VC2015_32 cd VC2015_32
msbuild /m /p:Platform=Win32 /p:Configuration=RelWithDebInfo PACKAGE.vcxproj msbuild /m /p:Platform=Win32 /p:Configuration=RelWithDebInfo PACKAGE.vcxproj
cd .. cd ..
exit %ERRORLEVEL% exit %ERRORLEVEL%

@ -11,7 +11,7 @@ If fso.FileExists("DF_PATH.txt") Then
fso.DeleteFile "DF_PATH.txt", True fso.DeleteFile "DF_PATH.txt", True
End If End If
If IsValue(objF) Then If IsValue(objF) Then
If InStr(1, TypeName(objF), "Folder") > 0 Then If InStr(1, TypeName(objF), "Folder") > 0 Then
Set spoFile = fso.CreateTextFile("DF_PATH.txt", True) Set spoFile = fso.CreateTextFile("DF_PATH.txt", True)
spoFile.WriteLine(objF.Self.Path) spoFile.WriteLine(objF.Self.Path)
@ -29,4 +29,4 @@ Function IsValue(obj)
IsValue = True IsValue = True
End If End If
On Error GoTo 0 On Error GoTo 0
End Function End Function

@ -3,4 +3,4 @@ call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd6
cd VC2015 cd VC2015
msbuild /m /p:Platform=x64 /p:Configuration=RelWithDebInfo PACKAGE.vcxproj msbuild /m /p:Platform=x64 /p:Configuration=RelWithDebInfo PACKAGE.vcxproj
cd .. cd ..
exit %ERRORLEVEL% exit %ERRORLEVEL%

@ -11,7 +11,7 @@ If fso.FileExists("DF_PATH.txt") Then
fso.DeleteFile "DF_PATH.txt", True fso.DeleteFile "DF_PATH.txt", True
End If End If
If IsValue(objF) Then If IsValue(objF) Then
If InStr(1, TypeName(objF), "Folder") > 0 Then If InStr(1, TypeName(objF), "Folder") > 0 Then
Set spoFile = fso.CreateTextFile("DF_PATH.txt", True) Set spoFile = fso.CreateTextFile("DF_PATH.txt", True)
spoFile.WriteLine(objF.Self.Path) spoFile.WriteLine(objF.Self.Path)
@ -29,4 +29,4 @@ Function IsValue(obj)
IsValue = True IsValue = True
End If End If
On Error GoTo 0 On Error GoTo 0
End Function End Function

@ -1,4 +1,3 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
DFHack documentation build configuration file DFHack documentation build configuration file

@ -14,4 +14,3 @@ if(BUILD_TESTS)
DESTINATION blueprints/library/test DESTINATION blueprints/library/test
) )
endif() endif()

@ -58,4 +58,3 @@ u <- drainage level
,,,,,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r ,,,,,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r
,,,,,,,,,,,,r ,,,,,,,,,,,,r
,,,,,,,,,,,,r ,,,,,,,,,,,,r

Can't render this file because it has a wrong number of fields in line 38.

@ -66,7 +66,7 @@ quickfort undo library/dreamfort.csv -n /perimeter,# Clean up after you find you
quickfort run library/dreamfort.csv -n /surface1,# Run when you find your center tile. quickfort run library/dreamfort.csv -n /surface1,# Run when you find your center tile.
quickfort run library/dreamfort.csv -n /dig_all,"# Run when you find a suitable rock layer for the industry level. It designates digging for industry, services, guildhall, suites, and apartments all in one go. This list does not include the farming level, which we'll dig in the uppermost soil layer a bit later. Note that it is more efficient for your miners if you designate your digging before they dig the central stairs past that level since the stairs are dug at a low priority. This keeps your miners focused on one level at a time. If you need to designate your levels individually due to caverns interrupting the sequence or just because it is your preference, run the level-specific dig blueprints (i.e. /industry1, /services1, /guildhall1, /suites1, and 5 levels of /apartments1) instead of running /dig_all." quickfort run library/dreamfort.csv -n /dig_all,"# Run when you find a suitable rock layer for the industry level. It designates digging for industry, services, guildhall, suites, and apartments all in one go. This list does not include the farming level, which we'll dig in the uppermost soil layer a bit later. Note that it is more efficient for your miners if you designate your digging before they dig the central stairs past that level since the stairs are dug at a low priority. This keeps your miners focused on one level at a time. If you need to designate your levels individually due to caverns interrupting the sequence or just because it is your preference, run the level-specific dig blueprints (i.e. /industry1, /services1, /guildhall1, /suites1, and 5 levels of /apartments1) instead of running /dig_all."
"" ""
-- Core fort (should finish at about the third migration wave) -- -- Core fort (should finish at about the third migration wave) --
quickfort run library/dreamfort.csv -n /surface2,# Run after initial trees are cleared. quickfort run library/dreamfort.csv -n /surface2,# Run after initial trees are cleared.
quickfort run library/dreamfort.csv -n /farming1,# Run when channels are dug and the additional designated trees are cleared. quickfort run library/dreamfort.csv -n /farming1,# Run when channels are dug and the additional designated trees are cleared.
quickfort run library/dreamfort.csv -n /farming2,# Run when the farming level has been dug out. quickfort run library/dreamfort.csv -n /farming2,# Run when the farming level has been dug out.
@ -82,11 +82,11 @@ prioritize ConstructBuilding,# Run when you see the bridges ready to be built so
"quickfort run,orders library/dreamfort.csv -n /surface6",# Run when at least the beehives and weapon rack are constructed and you have linked all levers to their respective bridges. "quickfort run,orders library/dreamfort.csv -n /surface6",# Run when at least the beehives and weapon rack are constructed and you have linked all levers to their respective bridges.
"quickfort run,orders library/dreamfort.csv -n /surface7",# Run after the surface walls are completed and any marked trees are chopped down. "quickfort run,orders library/dreamfort.csv -n /surface7",# Run after the surface walls are completed and any marked trees are chopped down.
"" ""
-- Plumbing -- -- Plumbing --
"This is a good time to fill your well cisterns, either with a bucket brigade or by routing water from a freshwater stream or an aquifer (see the library/aquifer_tap.csv blueprint for help with this)." "This is a good time to fill your well cisterns, either with a bucket brigade or by routing water from a freshwater stream or an aquifer (see the library/aquifer_tap.csv blueprint for help with this)."
"Also consider bringing magma up to your services level so you can replace the forge and furnaces on your industry level with more powerful magma versions. This is especially important if your embark has insufficient trees to convert into charcoal. Keep in mind that moving magma is a tricky process and can take a long time. Don't forget to continue making progress through the checklist! If you choose to use magma, I suggest getting it in place before importing the military and smelting automation orders since they make heavy use of furnaces and forges." "Also consider bringing magma up to your services level so you can replace the forge and furnaces on your industry level with more powerful magma versions. This is especially important if your embark has insufficient trees to convert into charcoal. Keep in mind that moving magma is a tricky process and can take a long time. Don't forget to continue making progress through the checklist! If you choose to use magma, I suggest getting it in place before importing the military and smelting automation orders since they make heavy use of furnaces and forges."
"" ""
-- Mature fort (third migration wave onward) -- -- Mature fort (third migration wave onward) --
orders import furnace,# Automated production of basic furnace-related items. Don't forget to create a sand collection zone (or remove the sand- and glass-related orders if you have no sand). orders import furnace,# Automated production of basic furnace-related items. Don't forget to create a sand collection zone (or remove the sand- and glass-related orders if you have no sand).
"quickfort run,orders library/dreamfort.csv -n /suites2",# Run when the suites level has been dug out. "quickfort run,orders library/dreamfort.csv -n /suites2",# Run when the suites level has been dug out.
"quickfort run,orders library/dreamfort.csv -n /surface8","# Run if/when you need longer trap corridors on the surface for larger sieges, anytime after you run /surface7." "quickfort run,orders library/dreamfort.csv -n /surface8","# Run if/when you need longer trap corridors on the surface for larger sieges, anytime after you run /surface7."
@ -334,7 +334,7 @@ corridor/surface_corridor
message(Once the central stairs are mined out deeply enough, you should start digging the industry level in a non-aquifer rock layer. You'll need the boulders from the digging to make blocks. message(Once the central stairs are mined out deeply enough, you should start digging the industry level in a non-aquifer rock layer. You'll need the boulders from the digging to make blocks.
If your wagon is within the fort perimeter, deconstruct it to get it out of the way. If your wagon is within the fort perimeter, deconstruct it to get it out of the way.
Once the marked trees are all chopped down (if any), continue with /surface2.) clear trees and set up pastures" Once the marked trees are all chopped down (if any), continue with /surface2.) clear trees and set up pastures"
central_stairs/central_stairs repeat(down 10) central_stairs/central_stairs repeat(down 10)
clear_small/surface_clear_small clear_small/surface_clear_small
zones/surface_zones zones/surface_zones
name_zones/surface_name_zones name_zones/surface_name_zones
@ -2897,4 +2897,3 @@ build2_apartments/apartments_build2
,,,,n,`,h,,n,`,h,,n,`,h,,n,`,h,,n,`,h,,n,`,h,,n,`,h ,,,,n,`,h,,n,`,h,,n,`,h,,n,`,h,,n,`,h,,n,`,h,,n,`,h
,,,,`,~,`,,`,~,`,,`,~,`,,`,~,`,,`,~,`,,`,~,`,,`,~,` ,,,,`,~,`,,`,~,`,,`,~,`,,`,~,`,,`,~,`,,`,~,`,,`,~,`
,,,,n,`,f,,n,`,f,,n,`,f,,n,`,f,,n,`,f,,n,`,f,,n,`,f ,,,,n,`,f,,n,`,f,,n,`,f,,n,`,f,,n,`,f,,n,`,f,,n,`,f

Can't render this file because it has a wrong number of fields in line 58.

@ -765,4 +765,4 @@ r+,,,,,,,,r+,,r+,,,,,,,,,r+,,r+,,,,,,,,,#
,,,,,,,,,,,,,,,,,,,,,Tl,Tl,Tl,d,,,,,,# ,,,,,,,,,,,,,,,,,,,,,Tl,Tl,Tl,d,,,,,,#
,,,,,,,,,,,,,,,,,,,,,,Tl,,,,,d,Msm,Msm,# ,,,,,,,,,,,,,,,,,,,,,,Tl,,,,,d,Msm,Msm,#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,# ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,# #,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#

Can't render this file because it has a wrong number of fields in line 29.

@ -150,4 +150,3 @@ Wilder
Wisdom Wisdom
Wyatt Wyatt
Zephyr Zephyr

@ -175,4 +175,3 @@ The script interface simply lets you designate one of the squads that
are assigned to the barracks/armory containing the selected stand as are assigned to the barracks/armory containing the selected stand as
the intended user. In order to aid in the choice, it shows the number the intended user. In order to aid in the choice, it shows the number
of currently assigned racks for every valid squad. of currently assigned racks for every valid squad.

@ -112,4 +112,3 @@ If you're not comfortable programming, you can help by:
All those things are crucial, and often under-represented. So if that's All those things are crucial, and often under-represented. So if that's
your thing, go get started! your thing, go get started!

@ -31,4 +31,3 @@ of DF-structures:
/library/xml/SYNTAX /library/xml/SYNTAX
/library/xml/how-to-update /library/xml/how-to-update

@ -18,4 +18,3 @@ These are pages relevant to people developing for DFHack.
/docs/Structures-intro /docs/Structures-intro
/docs/Memory-research /docs/Memory-research
/docs/Binpatches /docs/Binpatches

@ -20,4 +20,4 @@
<body> <body>
Follow this <a href='./html/index.html'>link to the documentation.</a> Follow this <a href='./html/index.html'>link to the documentation.</a>
</body> </body>
</html> </html>

@ -131,4 +131,3 @@ namespace DFHack
}; };
} }
} }

@ -93,4 +93,3 @@ DFhackCExport int egg_sdl_event(SDL::Event* event);
// hook - ncurses event. return -1 to consume // hook - ncurses event. return -1 to consume
DFhackCExport int egg_curses_event(int orig_return); DFhackCExport int egg_curses_event(int orig_return);

@ -240,4 +240,3 @@ namespace LuaWrapper {
void AttachDFGlobals(lua_State *state); void AttachDFGlobals(lua_State *state);
}} }}

@ -57,4 +57,3 @@ namespace DFHack
}; };
} }
#endif //MODULE_H_INCLUDED #endif //MODULE_H_INCLUDED

@ -207,4 +207,4 @@ namespace SDL
UserEvent user; UserEvent user;
SysWMEvent syswm; SysWMEvent syswm;
}; };
} }

@ -58,4 +58,4 @@ namespace SDL
/** This is the mask which refers to all hotkey bindings */ /** This is the mask which refers to all hotkey bindings */
#define ALL_HOTKEYS 0xFFFFFFFF #define ALL_HOTKEYS 0xFFFFFFFF
} }

@ -326,4 +326,4 @@ namespace SDL
KMOD_ALT = (KMOD_LALT|KMOD_RALT), KMOD_ALT = (KMOD_LALT|KMOD_RALT),
KMOD_META = (KMOD_LMETA|KMOD_RMETA) KMOD_META = (KMOD_LMETA|KMOD_RMETA)
}; };
} }

@ -352,4 +352,3 @@ namespace DFHack
*/ */
DFHACK_EXPORT df::tiletype matchTileMaterial(df::tiletype source, df::tiletype_material tmat); DFHACK_EXPORT df::tiletype matchTileMaterial(df::tiletype source, df::tiletype_material tmat);
} }

@ -18,4 +18,3 @@ bool has_assignments()
{ {
return tile_bitmask.has_assignments(); return tile_bitmask.has_assignments();
} }

@ -42,4 +42,4 @@ coord2d operator%(int number) const
coord2d operator&(int number) const coord2d operator&(int number) const
{ {
return coord2d(x&number, y&number); return coord2d(x&number, y&number);
} }

@ -1,4 +1,4 @@
bool isOre() bool isOre()
{ {
return flags.is_set(df::enums::inorganic_flags::METAL_ORE) || flags.is_set(df::enums::inorganic_flags::THREAD_METAL); return flags.is_set(df::enums::inorganic_flags::METAL_ORE) || flags.is_set(df::enums::inorganic_flags::THREAD_METAL);
} }

@ -86,4 +86,4 @@ namespace DFHack
} }
#endif #endif

@ -207,4 +207,3 @@ DFHACK_EXPORT bool isSquadEquipment(df::item *item);
} }
} }

@ -112,4 +112,3 @@ namespace DFHack
DFHACK_EXPORT bool operator== (const df::job &a, const df::job &b); DFHACK_EXPORT bool operator== (const df::job &a, const df::job &b);
} }
#endif #endif

@ -383,4 +383,3 @@ namespace DFHack
}; };
} }
#endif #endif

@ -8,4 +8,3 @@ namespace DFHack {
DFHACK_EXPORT bool doOnce(std::string); DFHACK_EXPORT bool doOnce(std::string);
} }
} }

@ -267,4 +267,4 @@ namespace Windows
} }
}; };
} }
} }

@ -110,4 +110,3 @@ namespace DFHack
} }
} }
#endif #endif

@ -44,4 +44,3 @@ function scheduleUnlessAlreadyScheduled(name,time,timeUnits,func)
end end
return _ENV return _ENV

@ -397,4 +397,3 @@ function GetTileTypeMat(typ, matspec, x, y, z)
end end
return _ENV return _ENV

@ -276,4 +276,3 @@ bool Burrows::setAssignedBlockTile(df::burrow *burrow, df::map_block *block, df:
return true; return true;
} }

@ -1254,4 +1254,3 @@ static void manageInteractionEvent(color_ostream& out) {
//TODO: deduce attacker from latest defend event first //TODO: deduce attacker from latest defend event first
} }
} }

@ -90,4 +90,4 @@ DFTileSurface* Graphic::Call(int x, int y)
} }
return NULL; return NULL;
} }

@ -1153,4 +1153,3 @@ df::enums::biome_type::biome_type Maps::GetBiomeType(int world_coord_x, int worl
{ {
return Maps::GetBiomeTypeWithRef(world_coord_x, world_coord_y, world_coord_y); return Maps::GetBiomeTypeWithRef(world_coord_x, world_coord_y, world_coord_y);
} }

@ -13,4 +13,3 @@ bool DFHack::Once::alreadyDone(string bob) {
bool DFHack::Once::doOnce(string bob) { bool DFHack::Once::doOnce(string bob) {
return thingsDone.insert(bob).second; return thingsDone.insert(bob).second;
} }

@ -646,7 +646,7 @@ bool Units::isHidden(df::unit *unit)
if (*df::global::debug_showambush) if (*df::global::debug_showambush)
return false; return false;
if (*gamemode == game_mode::ADVENTURE) if (*gamemode == game_mode::ADVENTURE)
{ {
if (unit == world->units.active[0]) if (unit == world->units.active[0])

@ -115,4 +115,4 @@ Windows::df_tilebuf Windows::top_level_window::getBuffer()
buf.height = df::global::gps->dimy; buf.height = df::global::gps->dimy;
buf.width = df::global::gps->dimx; buf.width = df::global::gps->dimx;
return buf; return buf;
} }

@ -4,11 +4,11 @@ cd "${PWD}"
#thanks to Iriel for figuring this out #thanks to Iriel for figuring this out
OSREV=`uname -r | cut -d. -f1` OSREV=`uname -r | cut -d. -f1`
if [ "$OSREV" -ge 11 ] ; then if [ "$OSREV" -ge 11 ] ; then
export DYLD_LIBRARY_PATH="./hack:./libs:./hack/libs" export DYLD_LIBRARY_PATH="./hack:./libs:./hack/libs"
export DYLD_FRAMEWORK_PATH="./hack:./libs:./hack/libs" export DYLD_FRAMEWORK_PATH="./hack:./libs:./hack/libs"
else else
export DYLD_FALLBACK_LIBRARY_PATH="./hack:./libs:./hack/libs" export DYLD_FALLBACK_LIBRARY_PATH="./hack:./libs:./hack/libs"
export DYLD_FALLBACK_FRAMEWORK_PATH="./hack:./libs:./hack/libs" export DYLD_FALLBACK_FRAMEWORK_PATH="./hack:./libs:./hack/libs"
fi fi
# attempt to remove quarantine flag: https://github.com/DFHack/dfhack/issues/1465 # attempt to remove quarantine flag: https://github.com/DFHack/dfhack/issues/1465

@ -55,7 +55,7 @@ modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be author's reputation will not be affected by problems that might be
introduced by others. introduced by others.
Finally, software patents pose a constant threat to the existence of Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a effectively restrict the users of a free program by obtaining a
@ -111,7 +111,7 @@ modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The "work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must former contains code derived from the library, whereas the latter must
be combined with the library in order to run. be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
@ -158,7 +158,7 @@ Library.
You may charge a fee for the physical act of transferring a copy, You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a and you may at your option offer warranty protection in exchange for a
fee. fee.
2. You may modify your copy or copies of the Library or any portion 2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1 distribute such modifications or work under the terms of Section 1
@ -216,7 +216,7 @@ instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in that version instead if you wish.) Do not make any other change in
these notices. these notices.
Once this change is made in a given copy, it is irreversible for Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy. subsequent copies and derivative works made from that copy.
@ -267,7 +267,7 @@ Library will still fall under Section 6.)
distribute the object code for the work under the terms of Section 6. distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6, Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself. whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or 6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work work containing portions of the Library, and distribute that work
@ -329,7 +329,7 @@ restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you use both them and the Library together in an executable that you
distribute. distribute.
7. You may place library facilities that are a work based on the 7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined facilities not covered by this License, and distribute such a combined
@ -370,7 +370,7 @@ subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein. restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with You are not responsible for enforcing compliance by third parties with
this License. this License.
11. If, as a consequence of a court judgment or allegation of patent 11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues), infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or conditions are imposed on you (whether by court order, agreement or
@ -422,7 +422,7 @@ conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by license version number, you may choose any version ever published by
the Free Software Foundation. the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free 14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these, programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is write to the author to ask for permission. For software which is
@ -456,7 +456,7 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES. DAMAGES.
END OF TERMS AND CONDITIONS END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest If you develop a new library, and you want it to be of the greatest

@ -453,4 +453,3 @@ static command_result autofarm(color_ostream& out, std::vector<std::string>& par
return CR_OK; return CR_OK;
} }

@ -83,4 +83,4 @@ DFhackCExport command_result plugin_init ( color_ostream &out, vector <PluginCom
DFhackCExport command_result plugin_shutdown ( color_ostream &out ) DFhackCExport command_result plugin_shutdown ( color_ostream &out )
{ {
return CR_OK; return CR_OK;
} }

@ -194,4 +194,3 @@ void unitAttack(color_ostream& out, void* ptr) {
out.print(" %s\n", part->name_singular[0]->c_str()); out.print(" %s\n", part->name_singular[0]->c_str());
} }
} }

@ -32,4 +32,3 @@ command_result onceExample (color_ostream &out, std::vector <std::string> & para
} }
return CR_OK; return CR_OK;
} }

@ -273,4 +273,3 @@ static command_result stockcheck(color_ostream &out, vector <string> & parameter
return CR_OK; return CR_OK;
} }

@ -80,4 +80,3 @@ command_result df_gzoom (color_ostream &out, std::vector<std::string> & paramete
Gui::setViewCoords(x,y,z); Gui::setViewCoords(x,y,z);
return CR_OK; return CR_OK;
} }

@ -1543,4 +1543,3 @@ command_result digtype (color_ostream &out, vector <string> & parameters)
delete mCache; delete mCache;
return CR_OK; return CR_OK;
} }

@ -11,4 +11,3 @@
using namespace std; using namespace std;
int32_t assignJob(DFHack::color_ostream& out, Edge firstImportantEdge, unordered_map<df::coord,df::coord,PointHash> parentMap, unordered_map<df::coord,cost_t,PointHash>& costMap, vector<int32_t>& invaders, unordered_set<df::coord,PointHash>& requiresZNeg, unordered_set<df::coord,PointHash>& requiresZPos, MapExtras::MapCache& cache, DigAbilities& abilities); int32_t assignJob(DFHack::color_ostream& out, Edge firstImportantEdge, unordered_map<df::coord,df::coord,PointHash> parentMap, unordered_map<df::coord,cost_t,PointHash>& costMap, vector<int32_t>& invaders, unordered_set<df::coord,PointHash>& requiresZNeg, unordered_set<df::coord,PointHash>& requiresZPos, MapExtras::MapCache& cache, DigAbilities& abilities);

@ -631,5 +631,3 @@ df::coord getRoot(df::coord point, map<df::coord, df::coord>& rootMap) {
rootMap[point] = root; rootMap[point] = root;
return root; return root;
} }

@ -482,4 +482,3 @@ vector<Edge>* getEdgeSet(color_ostream &out, df::coord point, MapExtras::MapCach
return result; return result;
} }

@ -95,4 +95,3 @@ struct PointHash {
cost_t getEdgeCost(DFHack::color_ostream& out, df::coord pt1, df::coord pt2, DigAbilities& abilities); cost_t getEdgeCost(DFHack::color_ostream& out, df::coord pt1, df::coord pt2, DigAbilities& abilities);
std::vector<Edge>* getEdgeSet(DFHack::color_ostream &out, df::coord point, MapExtras::MapCache& cache, int32_t xMax, int32_t yMax, int32_t zMax, DigAbilities& abilities); std::vector<Edge>* getEdgeSet(DFHack::color_ostream &out, df::coord point, MapExtras::MapCache& cache, int32_t xMax, int32_t yMax, int32_t zMax, DigAbilities& abilities);

@ -68,7 +68,7 @@ namespace embark_assist {
Woodland, Woodland,
Heavily_Forested Heavily_Forested
}; };
// only contains those attributes that are being handled during incursion processing // only contains those attributes that are being handled during incursion processing
struct mid_level_tile_incursion_base { struct mid_level_tile_incursion_base {
uint8_t aquifer = Clear_Aquifer_Bits; uint8_t aquifer = Clear_Aquifer_Bits;
@ -419,4 +419,4 @@ namespace embark_assist {
typedef void(*find_callbacks) (embark_assist::defs::finders finder); typedef void(*find_callbacks) (embark_assist::defs::finders finder);
} }
} }

@ -14,4 +14,4 @@ namespace embark_assist {
void activate(); void activate();
void shutdown(); void shutdown();
} }
} }

@ -12,4 +12,4 @@ namespace embark_assist {
namespace help_ui { namespace help_ui {
void init(DFHack::Plugin *plugin_self); void init(DFHack::Plugin *plugin_self);
} }
} }

@ -885,7 +885,7 @@ namespace embark_assist {
// Region Type // Region Type
result.region_types[world_data->regions[survey_results->at(x).at(y).biome_index[mlt->at(i).at(k).biome_offset]]->type] = true; result.region_types[world_data->regions[survey_results->at(x).at(y).biome_index[mlt->at(i).at(k).biome_offset]]->type] = true;
// Metals // Metals
result.metal_1 = result.metal_1 || mlt->at(i).at(k).metals[finder->metal_1]; result.metal_1 = result.metal_1 || mlt->at(i).at(k).metals[finder->metal_1];
result.metal_2 = result.metal_2 || mlt->at(i).at(k).metals[finder->metal_2]; result.metal_2 = result.metal_2 || mlt->at(i).at(k).metals[finder->metal_2];
@ -1194,7 +1194,7 @@ namespace embark_assist {
k, k,
&failed_match); &failed_match);
} }
if (failed_match) return false; if (failed_match) return false;
} }
@ -1881,7 +1881,7 @@ namespace embark_assist {
case embark_assist::defs::tree_ranges::NA: case embark_assist::defs::tree_ranges::NA:
case embark_assist::defs::tree_ranges::None: case embark_assist::defs::tree_ranges::None:
break; break;
case embark_assist::defs::tree_ranges::Very_Scarce: case embark_assist::defs::tree_ranges::Very_Scarce:
if (tile->max_tree_level < embark_assist::defs::tree_levels::Very_Scarce) { if (tile->max_tree_level < embark_assist::defs::tree_levels::Very_Scarce) {
if (trace) out.print("matcher::world_tile_match: Min_Trees Very_Scarce (%i, %i)\n", x, y); if (trace) out.print("matcher::world_tile_match: Min_Trees Very_Scarce (%i, %i)\n", x, y);
@ -2099,7 +2099,7 @@ namespace embark_assist {
return false; return false;
} }
} }
// Biome 3 // Biome 3
if (finder->biome_3 != -1) { if (finder->biome_3 != -1) {
if (!tile->neighboring_biomes[finder->biome_3]) { if (!tile->neighboring_biomes[finder->biome_3]) {
@ -2281,7 +2281,7 @@ namespace embark_assist {
// Waterfall // Requires survey // Waterfall // Requires survey
// Flat. No world tile checks. Need to look at the details // Flat. No world tile checks. Need to look at the details
// Clay // Clay
// With no preliminary survey we don't know if incursions might bring clay, so we can't really exclude any tiles. // With no preliminary survey we don't know if incursions might bring clay, so we can't really exclude any tiles.
@ -3299,7 +3299,7 @@ uint16_t embark_assist::matcher::find(embark_assist::defs::match_iterators *iter
} }
} }
} }
// The complete set of biomes and region types is stored in the "neighboring" elements, which is a little misleading. // The complete set of biomes and region types is stored in the "neighboring" elements, which is a little misleading.
for (uint8_t l = 0; l < 10; l++) { for (uint8_t l = 0; l < 10; l++) {
if (current->biome_index[l] != -1) { if (current->biome_index[l] != -1) {

@ -21,4 +21,4 @@ namespace embark_assist {
void setup(); void setup();
void shutdown(); void shutdown();
} }
} }

@ -35,4 +35,4 @@ namespace embark_assist {
void fileresult(); void fileresult();
void shutdown(); void shutdown();
} }
} }

@ -4,4 +4,4 @@ namespace embark_assist {
namespace screen { namespace screen {
bool paintString(const DFHack::Screen::Pen &pen, int x, int y, const std::string &text, bool map = false); bool paintString(const DFHack::Screen::Pen &pen, int x, int y, const std::string &text, bool map = false);
} }
} }

@ -1269,7 +1269,7 @@ void embark_assist::survey::survey_mid_level_tile(embark_assist::defs::geo_data
} }
} }
} }
for (uint8_t i = 1; i < 16; i++) { for (uint8_t i = 1; i < 16; i++) {
for (uint8_t k = 0; k < 16; k++) { for (uint8_t k = 0; k < 16; k++) {
auto western_neighbour = mlt->at(i - 1).at(k); auto western_neighbour = mlt->at(i - 1).at(k);
@ -2549,4 +2549,3 @@ void embark_assist::survey::shutdown() {
delete state; delete state;
state = nullptr; state = nullptr;
} }

@ -77,4 +77,4 @@ namespace embark_assist {
void shutdown(); void shutdown();
} }
} }

@ -2458,4 +2458,3 @@ command_result labormanager(color_ostream &out, std::vector <std::string> & para
return CR_OK; return CR_OK;
} }
} }

@ -491,4 +491,3 @@ protected:
int display_max_rows; int display_max_rows;
int max_item_width; int max_item_width;
}; };

@ -20,4 +20,4 @@ local _ENV = mkmodule('plugins.burrows')
rawset_default(_ENV, dfhack.burrows) rawset_default(_ENV, dfhack.burrows)
return _ENV return _ENV

@ -21,7 +21,7 @@ function crng:new(engineID, destroyEngineOnDestruction, distrib)
self.__index = self self.__index = self
local idtype = type(engineID) local idtype = type(engineID)
local flagtype = type(destroyEngineOnDestruction) local flagtype = type(destroyEngineOnDestruction)
if idtype == 'number' then if idtype == 'number' then
o.rngID = engineID o.rngID = engineID
elseif idtype == 'nil' then elseif idtype == 'nil' then
@ -211,4 +211,4 @@ function num_sequence:shuffle()
ShuffleSequence(self.rngID, self.seqID) ShuffleSequence(self.rngID, self.seqID)
end end
return _ENV return _ENV

@ -8,4 +8,4 @@ local _ENV = mkmodule('plugins.liquids')
--]] --]]
return _ENV return _ENV

@ -46,7 +46,7 @@ local client=defclass(client,socket)
function client:receive( pattern ) function client:receive( pattern )
local pattern=pattern or "*l" local pattern=pattern or "*l"
local bytes=-1 local bytes=-1
if type(pattern)== 'number' then if type(pattern)== 'number' then
bytes=pattern bytes=pattern
end end

@ -8,4 +8,4 @@ local _ENV = mkmodule('plugins.map-render')
--]] --]]
return _ENV return _ENV

@ -8,4 +8,4 @@ local _ENV = mkmodule('plugins.power-meter')
--]] --]]
return _ENV return _ENV

@ -10,4 +10,4 @@ local _ENV = mkmodule('plugins.rename')
--]] --]]
return _ENV return _ENV

@ -1,4 +1,4 @@
local _ENV = mkmodule('plugins.rendermax') local _ENV = mkmodule('plugins.rendermax')
return _ENV return _ENV

@ -52,4 +52,4 @@ end
make_sort_order = utils.make_sort_order make_sort_order = utils.make_sort_order
return _ENV return _ENV

@ -58,4 +58,4 @@ orders.material = {
end end
} }
return _ENV return _ENV

@ -9,4 +9,4 @@ local _ENV = mkmodule('plugins.zone')
--]] --]]
return _ENV return _ENV

@ -204,4 +204,3 @@ command_result misery(color_ostream &out, vector<string>& parameters) {
return CR_OK; return CR_OK;
} }

@ -121,4 +121,3 @@ static command_result nestboxes(color_ostream &out, vector <string> & parameters
} }
return CR_OK; return CR_OK;
} }

@ -87,4 +87,3 @@ DFHACK_PLUGIN_LUA_FUNCTIONS {
DFHACK_LUA_FUNCTION(paintScreen), DFHACK_LUA_FUNCTION(paintScreen),
DFHACK_LUA_END DFHACK_LUA_END
}; };

@ -209,4 +209,3 @@ DFhackCExport command_result plugin_enable(color_ostream &out, bool enable)
return CR_OK; return CR_OK;
} }

@ -1,22 +1,22 @@
building_spatter building_spatter
[OBJECT:BUILDING] [OBJECT:BUILDING]
[BUILDING_WORKSHOP:GREASING_STATION] [BUILDING_WORKSHOP:GREASING_STATION]
[NAME:Greasing Station] [NAME:Greasing Station]
[NAME_COLOR:2:0:1] [NAME_COLOR:2:0:1]
[DIM:1:1] [DIM:1:1]
[WORK_LOCATION:1:1] [WORK_LOCATION:1:1]
[BUILD_LABOR:DYER] [BUILD_LABOR:DYER]
[BUILD_KEY:CUSTOM_ALT_G] [BUILD_KEY:CUSTOM_ALT_G]
[BLOCK:1:0] [BLOCK:1:0]
[TILE:0:1:150] [TILE:0:1:150]
[COLOR:0:1:0:0:1] [COLOR:0:1:0:0:1]
[TILE:1:1:150] [TILE:1:1:150]
[COLOR:1:1:MAT] [COLOR:1:1:MAT]
[TILE:2:1:8] [TILE:2:1:8]
[COLOR:2:1:MAT] [COLOR:2:1:MAT]
[TILE:3:1:8] [TILE:3:1:8]
[COLOR:3:1:7:5:0] [COLOR:3:1:7:5:0]
[BUILD_ITEM:1:BUCKET:NONE:NONE:NONE][CAN_USE_ARTIFACT] [BUILD_ITEM:1:BUCKET:NONE:NONE:NONE][CAN_USE_ARTIFACT]
[BUILD_ITEM:1:NONE:NONE:NONE:NONE][BUILDMAT] [BUILD_ITEM:1:NONE:NONE:NONE:NONE][BUILDMAT]

Some files were not shown because too many files have changed in this diff Show More