bug arreglado dudas resueltas epico bro

This commit is contained in:
OugonNoHane 2022-10-30 22:04:39 +01:00
commit 4b7cc08f8e

View file

@ -5,6 +5,14 @@
#define IMGUI_IMPLEMENTATION #define IMGUI_IMPLEMENTATION
#define GL_SILENCE_DEPRECATION #define GL_SILENCE_DEPRECATION
#define log_debugc(str, ...) do { if (debug) fprintf(stdout, "[DEBUG] (%s:%d): " (str) "\n", __FILE__, __LINE__, ##__VA_ARGS__); } while (0)
#define log_debugcpp(str) do { \
if (debug) std::cout << "[DEBUG]" << "(" << __FILE__ << ":" << __LINE__ << "): " << (str) << std::endl; \
} while (0)
#define log_directory(str) if(debugVerbosity & DEBUG_DIRECTORY) log_debugcpp((str))
#define log_volume(str) if(debugVerbosity & DEBUG_VOLUME) log_debugcpp((str))
#define log_extension(str) if(debugVerbosity & DEBUG_EXTENSION) log_debugcpp((str))
#include "imgui/misc/single_file/imgui_single_file.h" #include "imgui/misc/single_file/imgui_single_file.h"
#include <iostream> #include <iostream>
#include <vector> #include <vector>
@ -25,6 +33,17 @@ static void glfw_error_callback(int error, const char* description)
bool debug = true; bool debug = true;
// int debugVerbosity = 0;
// enum enumDebugVerbosity {
// DEBUG_DIRECTORY = (1<<0),
// DEBUG_VOLUME = (1<<1),
// DEBUG_EXTENSION = (1<<2)
// };
// debugVerbosity = DEBUG_DIRECTORY | DEBUG_EXTENSION;
// debugVerbosity &= ~DEBUG_DIRECTORY;
// if (debugVerbosity & (DEBUG_DIRECTORY | DEBUG_EXTENSION));
typedef struct { typedef struct {
std::vector<uint64_t> size; std::vector<uint64_t> size;
std::vector<char*> name; std::vector<char*> name;
@ -165,7 +184,6 @@ int listVolumes(std::vector<char*> *onPresentPaths){
int volumePathsBufferSize = (MAX_PATH + 1) * sizeof(TCHAR); int volumePathsBufferSize = (MAX_PATH + 1) * sizeof(TCHAR);
unsigned long volumePathLength; unsigned long volumePathLength;
TCHAR volumePaths[volumePathsBufferSize]; TCHAR volumePaths[volumePathsBufferSize];
//TODO necesario? di
std::fill(volumePaths, volumePaths + volumePathsBufferSize, '\0'); std::fill(volumePaths, volumePaths + volumePathsBufferSize, '\0');
hFind = FindFirstVolume(volumeName, volumeNameSize); //if (debug) std::cout << volumeNameSize << std::endl; hFind = FindFirstVolume(volumeName, volumeNameSize); //if (debug) std::cout << volumeNameSize << std::endl;
@ -177,7 +195,7 @@ int listVolumes(std::vector<char*> *onPresentPaths){
if (volumePathLength == 1) { if (debug) std::cout << "Skill Issue" << std::endl; continue; } if (volumePathLength == 1) { if (debug) std::cout << "Skill Issue" << std::endl; continue; }
if (debug) std::cout << volumeName; if (debug) std::cout << volumeName;
if (debug) {
//pathSchecker //pathSchecker
// if (debug && volumePaths[0] == 'E') { // if (debug && volumePaths[0] == 'E') {
// std::cout << volumePathLength << std::endl; // std::cout << volumePathLength << std::endl;
@ -194,10 +212,9 @@ int listVolumes(std::vector<char*> *onPresentPaths){
for (int i = 0; i < onPresentPaths->size(); i++){ for (int i = 0; i < onPresentPaths->size(); i++){
std::cout << onPresentPaths->at(i) << std::endl; std::cout << onPresentPaths->at(i) << std::endl;
} }
} }
//std::cout << volumePaths << std::endl; //std::cout << volumePaths << std::endl;
}
if (debug) std::cout << std::to_string(volumePathLength) + " " ; if (debug) std::cout << std::to_string(volumePathLength) + " " ;
if (debug) std::cout << "THE END" << std::endl; if (debug) std::cout << "THE END" << std::endl;
@ -205,8 +222,7 @@ int listVolumes(std::vector<char*> *onPresentPaths){
if (debug) std::cout << "no volumes found wtf" << std::endl; if (debug) std::cout << "no volumes found wtf" << std::endl;
} }
//TODO necesario? di CAMBIAR 4 A NUL std::fill(volumePaths, volumePaths + volumePathsBufferSize, '\0');
std::fill(volumePaths, volumePaths + volumePathsBufferSize, '4');
} while (FindNextVolume(hFind, volumeName, volumeNameSize) != 0); } while (FindNextVolume(hFind, volumeName, volumeNameSize) != 0);
if (debug) std::cout << std::to_string(onPresentPaths->size()) + " JUST BEFORE MAIN" << std::endl; if (debug) std::cout << std::to_string(onPresentPaths->size()) + " JUST BEFORE MAIN" << std::endl;
@ -341,12 +357,11 @@ int main(int, char**)
static int numVolumes; static int numVolumes;
static std::vector<char*> onPresentPaths; static std::vector<char*> onPresentPaths;
if (debug && isListVolumesAdequate) { if (isListVolumesAdequate) {
isListVolumesAdequate = false; isListVolumesAdequate = false;
//std::cout << isListVolumesAdequate << std::endl; //std::cout << isListVolumesAdequate << std::endl;
numVolumes = listVolumes(&onPresentPaths); numVolumes = listVolumes(&onPresentPaths);
if (debug) std::cout << std::to_string(numVolumes) + "<- depth MAIN size() ->" + std::to_string(onPresentPaths.size()) << std::endl; if (debug) std::cout << std::to_string(numVolumes) + "<- depth MAIN size() ->" + std::to_string(onPresentPaths.size()) << std::endl;
//TODO tiyuria
} }
@ -356,6 +371,7 @@ int main(int, char**)
static char* currentPathPtr = &currentPath[0]; static char* currentPathPtr = &currentPath[0];
static int currentItemIdx = -1; static int currentItemIdx = -1;
//TODO David momento
static std::vector<char*> displayContents; static std::vector<char*> displayContents;
std::vector<char*> directoryContents; std::vector<char*> directoryContents;
static int numFiles = 0; static int numFiles = 0;
@ -363,7 +379,7 @@ int main(int, char**)
if (debug) ImGui::Text("%s primir", currentPath); if (debug) ImGui::Text("%s primir", currentPath);
if(isListDirectoriesAdequate) { if(isListDirectoriesAdequate) {
if (debug) std::cout << "renderiso" << std::endl; log_debugcpp("renderiso");
isListDirectoriesAdequate = false; isListDirectoriesAdequate = false;
if(!retrieveCurrentDirectory(&currentPathPtr)) { if(!retrieveCurrentDirectory(&currentPathPtr)) {
if (debug) std::cout << "pencaste"; if (debug) std::cout << "pencaste";
@ -371,14 +387,22 @@ int main(int, char**)
} }
// //
//TODO ELIMINAR RESTRICCION EXE; PRUEBITA DEL SIGNIORE //TODO ELIMINAR RESTRICCION EXE; PRUEBITA DEL SIGNIORE
static std::vector<std::string> restrictToExe = { "exe" }; static std::vector<std::string> restrictToExe{"exe", "DSDFD"};
numFiles = (listDirectory(std::string(currentPath), &directoryContents));//, &restrictToExe)); numFiles = (listDirectory(std::string(currentPath), &directoryContents));//, &restrictToExe));
//std::cout << numFiles; //std::cout << numFiles;
if (numFiles < 0) { if (numFiles < 0) {
ImGui::Text("Path not valid");
if (debug) std::cout << "pencaste 2 el repencazo"; if (debug) std::cout << "pencaste 2 el repencazo";
goto filepickerFailure; goto filepickerFailure;
} }
if (numFiles == 0) {
if (debug) std::cout << std::to_string (numFiles) << "<- NUM FILES" << std::endl;
char empty[] = "Empty";
numFiles++;
directoryContents.push_back(empty);
}
displayContents = std::move(directoryContents); displayContents = std::move(directoryContents);
directoryContents.clear();
} }
//It's renderin' time //It's renderin' time
@ -392,7 +416,6 @@ int main(int, char**)
for (int i = 0; i < onPresentPaths.size(); i++) { for (int i = 0; i < onPresentPaths.size(); i++) {
if (i > 0) ImGui::SameLine(); if (i > 0) ImGui::SameLine();
// if (debug) std::cout << std::to_string(i) + "<- WE IN" << std::endl; // if (debug) std::cout << std::to_string(i) + "<- WE IN" << std::endl;
//TODO dabid aiuda
// ImGui::PushID(i); // ImGui::PushID(i);
ImGui::PushStyleColor(ImGuiCol_Button, (ImVec4)ImColor::HSV(i / 7.0f, 0.6f, 0.6f)); ImGui::PushStyleColor(ImGuiCol_Button, (ImVec4)ImColor::HSV(i / 7.0f, 0.6f, 0.6f));
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, (ImVec4)ImColor::HSV(i / 7.0f, 0.7f, 0.7f)); ImGui::PushStyleColor(ImGuiCol_ButtonHovered, (ImVec4)ImColor::HSV(i / 7.0f, 0.7f, 0.7f));
@ -405,10 +428,11 @@ int main(int, char**)
// ImGui::PopID(); // ImGui::PopID();
} }
} }
//Permanentes e increiblemente utilitarios botones en Cuatro K //Permanentes e increiblemente utilitarios botones en Cuatro K
//c pervirtio con unicode std::wstring s(L"←→↑↓"); //c pervirtio con unicode std::wstring s(L"←→↑↓");
//TODO TREMENDA MANDING DICK static char moveUp[] = "..";
static char moveUp[2] = {'.', '.'};
static char* moveUpPtr = &moveUp[0]; static char* moveUpPtr = &moveUp[0];
if(ImGui::Button("Move Up")){ if(ImGui::Button("Move Up")){
moveDirectory(&moveUpPtr); moveDirectory(&moveUpPtr);