summaryrefslogtreecommitdiff
path: root/drivers/windows/dir_access_windows.cpp
AgeCommit message (Collapse)Author
2021-05-20Change behavior of String.rightTomasz Chabora
2021-05-17Make all file access 64-bit (uint64_t)Pedro J. Estébanez
This changes the types of a big number of variables. General rules: - Using `uint64_t` in general. We also considered `int64_t` but eventually settled on keeping it unsigned, which is also closer to what one would expect with `size_t`/`off_t`. - We only keep `int64_t` for `seek_end` (takes a negative offset from the end) and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means we only need to guard against passing negative values in `core_bind.cpp`. - Using `uint32_t` integers for concepts not needing such a huge range, like pages, blocks, etc. In addition: - Improve usage of integer types in some related places; namely, `DirAccess`, core binds. Note: - On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for big files on 32-bit Windows builds made with that toolchain. We might add a workaround. Fixes #44363. Fixes godotengine/godot-proposals#400. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-11-23Initialize class/struct variables with default values in core/ and drivers/Rafał Mikrut
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-09-03[Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms.bruvzg
2020-07-06Fix Directory Open CheckNathan Franke
2020-05-28fix(Directory): remove erasing printNathan Franke
Fixes #39106
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-04-02Replace NULL with nullptrlupoDharkael
2020-04-01Fix res:// trimmed to s:// on WindowsPedro J. Estébanez
2020-03-03Improve UX of drive lettersPedro J. Estébanez
Namely, move the drive dropdown to just the left of the path text box and don't include the former in the latter. This improves the UX on Windows. In the UNIX case, since its concept of drives is (ab)used to provide shortcuts to useful paths, its dropdown is kept at the original location.
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-03-10Capitalise drive lettersTwarit
Matches how other application like to display the drive letters
2019-03-03Fix style issues from recent commitsRémi Verschelde
2019-03-02Remove some windows printsJuan Linietsky
2019-01-26Fix code style issuesRémi Verschelde
2019-01-26Fix compilation on UWPHein-Pieter van Braam
It appears that MSVC and Mingw disagree about what conversions are legal here. We just use the 'wide' version of the call and use our native CharType instead of TCHAR.
2019-01-21Add function to obtain filesystem type from DirAccess.Juan Linietsky
Change EditorFileSystem to not use directory modification times on FAT32, fixes #20946
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-02-24Fix Windows file case changingHein-Pieter van Braam
Windows APIs don't really provide a way to change a filename case. This implements a little juggling to make this work. We first create a guaranteed unique temporary file, we then replace the original file with the temporary file and we finally rename it to the desired filename case. (cherry picked from commit d69d58deeaa523c6c38958b3956423ae8f814909)
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-10-13Fixed issue #12019, which prevented the creation of new folders on Windows ↵Falk Moser
platform
2017-09-25Extract logging logicRuslan Mustakov
Previously logging logic was scattered over OS class implementations with plenty of duplication. Major changes in this commit: - Extracted logging logic into a separate Logger hierarchy. It allows easy configuration of logging mechanism depending on compile-time or run-time configuration. - Implemented RotatedFileLogger which is usually used with StdLogger, providing persistency of logs. It is often important to be able to obtain logs of the game even in production to be able to understand what happened prior to some problem. On mobile there previously was no way to obtain the logs aside from having the device connected to your machine. - flush() is not performed in release mode for every logged line. It is only performed for errors.
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-03-24Fix typos in source code using codespellRémi Verschelde
From https://github.com/lucasdemarchi/codespell
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
2017-01-14Fixed dir access return value, changed it to Error like all other funcsJuan Linietsky
2017-01-01Welcome in 2017, dear changelog reader!Rémi Verschelde
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer with state-of-the-art rendering techniques tuned to work as low as middle end handheld devices - without compromising with the possibilities given for higher end desktop games of course. Great times ahead for the Godot community and the gamers that will play our games!
2016-11-03Rename WINRT_ENABLED to UWP_ENABLEDGeorge Marques
2016-09-03Fix drivers coding for WinRTGeorge Marques
- Add a proper function to retrieve IP addresses. - Solve issues with Windows FileAccess and DirAccess to use the same code for WinRT. - Add patches to the GLES2 rasterizer to workaround ANGLE issues.
2016-06-30Fix some bugs in diraccess, closes #5288Juan Linietsky
2016-06-18Fix make_dir for long paths on WindowsGeorge Marques
2016-06-18-made get_space_left() return values more homogenous, also for script, ↵Juan Linietsky
converted to mb, closes #4617
2016-06-18Fixed make_dir and make_dir_recursive erros, closes #1680 closes #1872Juan Linietsky
2016-06-06Somewhat fixed Directory::get_space_left() return values.J08nY
2016-03-01Added relative paths for DirAccess::remove()Zher Huei Lee
Follows similar behaviour to DirAccess::rename()
2016-01-01Update copyright to 2016 in headersGeorge Marques
2015-05-09-Corrected DirAccessWindows functions, fixes #1872, properly fixes #791.Juan Linietsky
2015-05-04Merge remote-tracking branch 'origin/master'Juan Linietsky
Conflicts: drivers/windows/dir_access_windows.cpp
2015-05-04small unicode fixesJuan Linietsky
2015-04-18-fix local and global usage for DirAccess, fixes #791Juan Linietsky
please test anyway..
2015-04-18Updated copyright year in all headersJuan Linietsky
2015-03-22Merge pull request #1512 from the-mech/masterJuan Linietsky
[Fix] make_dir_recursive on Windows
2015-03-21New option to show/hide hidden filesrollenrolm
2015-03-14[Fix] make_dir_recursive on WindowsRoman Nekrassow
function normally tries to create c: which isn't possible, because the access is denied, handling ERROR_ACCESS_DENIED as ERR_ALREADY_EXISTS lets the function skip the creation of c: .