├── ._build ├── ._output ├── .gitignore ├── Makefile ├── README.md ├── cblocks ├── OSInteraction.cbp ├── OSInteraction.cbp.old ├── OSInteraction.layout └── OSInteraction.layout.old ├── examples └── simple │ ├── Makefile │ └── simple.cpp ├── extlib ├── directx │ ├── include │ │ ├── XInput.h │ │ ├── d3d9.h │ │ ├── dinput.h │ │ └── readme.txt │ └── lib │ │ ├── XInput_32.lib │ │ ├── XInput_64.lib │ │ ├── d3d9_32.lib │ │ ├── d3d9_64.lib │ │ ├── dinput8_32.lib │ │ ├── dinput8_64.lib │ │ ├── dxguid_32.lib │ │ ├── dxguid_64.lib │ │ └── readme.txt └── oGL │ └── include │ ├── KHR │ └── khrplatform.h │ ├── glcorearb.h │ ├── glext.h │ ├── glxext.h │ └── wglext.h ├── include ├── osiChar.h ├── osiCocoa.h ├── osiDisplay.h ├── osiGlDisable.h ├── osiGlExt.h ├── osiGlRenderer.h ├── osiInput.h ├── osiRenderer.h ├── osiVulkan.h ├── osiWindow.h ├── osinteraction.h └── util │ ├── chainList.hpp │ ├── circleList.hpp │ ├── errorHandling.h │ ├── fileOp.h │ ├── imgClass.h │ ├── mlib.hpp │ ├── mzPacker.h │ ├── rgb.hpp │ ├── segList.h │ ├── str16.h │ ├── str32.h │ ├── str8.h │ ├── strCommon.h │ └── typeShortcuts.h ├── lib ├── osi.gl.win64.dbg.lib ├── osi.gl.win64.lib ├── osi.vk.win64.dbg.idb ├── osi.vk.win64.dbg.lib ├── osi.vk.win64.dbg.pdb ├── osi.vk.win64.lib ├── osi.win64.dbg.idb ├── osi.win64.dbg.lib ├── osi.win64.dbg.pdb ├── osi.win64.lib └── osi.win64.pdb ├── nbeans ├── .dep.inc ├── Makefile └── nbproject │ ├── Makefile-impl.mk │ ├── Makefile-lin32.dbg.mk │ ├── Makefile-lin32.mk │ ├── Makefile-lin64.dbg.mk │ ├── Makefile-lin64.mk │ ├── Makefile-variables.mk │ ├── Makefile-vk.lin64.dbg.mk │ ├── Package-lin32.bash │ ├── Package-lin32.dbg.bash │ ├── Package-lin64.bash │ ├── Package-lin64.dbg.bash │ ├── Package-vk.lin64.dbg.bash │ ├── configurations.xml │ ├── private │ ├── Makefile-variables.mk │ ├── c_standard_headers_indexer.c │ ├── configurations.xml │ ├── cpp_standard_headers_indexer.cpp │ ├── launcher.properties │ └── private.xml │ └── project.xml ├── src ├── Resource.aps ├── Resource.rc ├── icon.ico ├── keysyms.out.txt ├── keysyms.txt ├── osiChar.cpp ├── osiCocoa.mm ├── osiDisplay.cpp ├── osiGlExt.cpp ├── osiGlRenderer.cpp ├── osiInput.cpp ├── osiVulkan.cpp ├── osiWindow.cpp ├── osinteraction.cpp ├── transfers.txt └── util │ ├── errorHandling.cpp │ ├── fileOp.cpp │ ├── filePNG.cpp │ ├── fileTGA.cpp │ ├── imgClass.cpp │ ├── mzPacker.cpp │ ├── segList.cpp │ ├── str16.cpp │ ├── str32.cpp │ ├── str8.cpp │ └── strCommon.cpp ├── vstudio ├── .vs │ └── OSInteraction │ │ └── v16 │ │ └── .suo ├── OSInteraction.sln ├── OSInteraction.v11.suo ├── OSInteraction.v12.suo ├── OSInteraction.vcxproj ├── OSInteraction.vcxproj.filters ├── OSInteraction.vcxproj.user ├── OSInteraction_dbg.psess └── OSInteraction_dbg140408.vsp └── xcode └── OSInteraction ├── .DS_Store ├── OSInteraction.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── OSInteraction.xcscmblueprint │ └── xcuserdata │ │ └── alec.xcuserdatad │ │ ├── UserInterfaceState.xcuserstate │ │ └── WorkspaceSettings.xcsettings └── xcuserdata │ └── alec.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ ├── OSInteraction.xcscheme │ └── xcschememanagement.plist └── OSInteraction └── OSInteraction.1 /._build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/._build -------------------------------------------------------------------------------- /._output: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/._output -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | nbeans/build/ 3 | extlib/vulkan/lib 4 | vstudio/build 5 | *.idb 6 | *.pdb 7 | 8 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | #TODO: Add options to cross-compile to other OSES and archs (MingW and so on) 2 | #TODO: Look into ranlib 3 | #TODO: Make subdirectories recursivly and automaticly 4 | 5 | CC :=clang++ 6 | 7 | #get architecture, should work EVERYWHERE 8 | ARCH :=$(shell $(CC) -dumpmachine) 9 | 10 | # No rtti and no exceptions are required for highly stable and memory use restricted programs, pretty much embedded system and high-end games for mobile or consoles. 11 | # No common increases peformance and its more compilant to ISO 12 | CC_FLAGS :=-std=c++11 -fno-rtti -fno-common -fno-exceptions 13 | CC_FLAGS_RELEASE :=$(CC_FLAGS) -O3 14 | CC_FLAGS_DEBUG :=$(CC_FLAGS) -g -Wall -Wpedantic 15 | 16 | CC_INCLUDE :=-Iinclude/ 17 | 18 | SRC :=$(wildcard src/*.cpp) 19 | SRC_UTIL :=$(wildcard src/util/*.cpp) 20 | 21 | RELEASE_DYNAMIC_OBJ_FILES :=$(addprefix build/$(ARCH)/,$(notdir $(SRC:.cpp=.o))) 22 | RELEASE_DYNAMIC_OBJ_FILES +=$(addprefix build/$(ARCH)/util/,$(notdir $(SRC_UTIL:.cpp=.o))) 23 | 24 | DEBUG_DYNAMIC_OBJ_FILES :=$(addprefix build/$(ARCH)/,$(notdir $(SRC:.cpp=-d.o))) 25 | DEBUG_DYNAMIC_OBJ_FILES +=$(addprefix build/$(ARCH)/util/,$(notdir $(SRC_UTIL:.cpp=-d.o))) 26 | 27 | RELEASE_STATIC_OBJ_FILES :=$(addprefix build/$(ARCH)/,$(notdir $(SRC:.cpp=-s.o))) 28 | RELEASE_STATIC_OBJ_FILES +=$(addprefix build/$(ARCH)/util/,$(notdir $(SRC_UTIL:.cpp=-s.o))) 29 | 30 | LIBS :=-lX11 -lXrandr -lXinerama -lGL -lGLEW -lGLU 31 | 32 | #List avaliable options in case there's no autocomplete 33 | all: 34 | @echo 35 | @echo - Options are: release-dynamic, release-debug, release-static and clean. 36 | @echo 37 | 38 | #create required directories (targets starting with "_" are considered private in scope) 39 | _directories: 40 | @echo 41 | @echo - Detected architecture: $(ARCH) 42 | @mkdir -p build/$(ARCH)/util 43 | @mkdir -p lib/$(ARCH) 44 | @echo 45 | @echo - Compiling outdated files 46 | 47 | #Compiles every single file for a dynamic release 48 | # -fPIC for position-independent code 49 | build/$(ARCH)/%.o: src/%.cpp 50 | $(CC) $(CC_FLAGS_RELEASE) $(CC_INCLUDE) -fPIC -c -o $@ $< 51 | 52 | #Same thing but with warning flags (Lot of warnings currently) 53 | build/$(ARCH)/%-d.o: src/%.cpp 54 | $(CC) $(CC_FLAGS_DEBUG) $(CC_INCLUDE) -fPIC -c -o $@ $< 55 | 56 | #this one will be a static archive so we dont need fPIC 57 | build/$(ARCH)/%-s.o: src/%.cpp 58 | $(CC) $(CC_FLAGS_RELEASE) $(CC_INCLUDE) -c -o $@ $< 59 | 60 | #This one strips the lib from all symbols 61 | release-dynamic: _directories $(RELEASE_DYNAMIC_OBJ_FILES) 62 | @echo 63 | @echo Linking: 64 | $(CC) -s -shared -Wl,-soname,libOSI.so -o lib/$(ARCH)/libOSI.so $(RELEASE_DYNAMIC_OBJ_FILES) $(LIBS) 65 | @echo 66 | @echo - lib/$(ARCH)/libOSI.so 67 | @echo 68 | 69 | #This one links with all possible symbols 70 | debug-dynamic: _directories $(DEBUG_DYNAMIC_OBJ_FILES) 71 | @echo 72 | @echo Linking: 73 | $(CC) -g3 -shared -Wl,-soname,libOSI-d.so -o lib/$(ARCH)/libOSI-d.so $(DEBUG_DYNAMIC_OBJ_FILES) $(LIBS) 74 | @echo 75 | @echo - lib/$(ARCH)/libOSI-d.so 76 | @echo 77 | 78 | #this creates the static archive 79 | release-static: _directories $(RELEASE_STATIC_OBJ_FILES) 80 | @echo 81 | @echo Archiving: 82 | ar rcs lib/$(ARCH)/libOSI.a $(RELEASE_STATIC_OBJ_FILES) 83 | @echo 84 | @echo - lib/$(ARCH)/libOSI.a 85 | @echo 86 | 87 | #clean everything! 88 | clean: 89 | rm -rf build 90 | rm -rf lib -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | The wiki has detailed information on everything (https://github.com/alec101/OSInteraction/wiki) 3 | 4 | SOME features: 5 | -------------- 6 | * When you write a program using OSI, the same code will run under Windows, Linux and MacOS, without changing any line of code. 7 | * One of the main features of OSI is to create any number of OpenGL windows, on any number of monitors. If the system has multiple graphics cards, all of them can be used in rendering. Each of these windows can be a full screen window, normal window or a window that spans on **all system monitors** (this last type of window uses only 1 graphics card to render with OpenGL - to use all graphics cards, 1 full screen window per monitor must be created). Today's games and applications do not use more than 1 graphics card usually and for sure will not work on all 3 big operating systems. Imagine a strategy game: on one monitor you have the map, on the other, building queues, factories, maybe a radar etc... don't know why so very few games use this kind of feature. 8 | * Mouse/Keyboard/Joystick/ Gamepad (every kind) / GameWheel (all main HID's) support, for all OS-es, with almost all driver types (XInput, DirectInput, linux joystick.h method, etc) 9 | * The Keyboard class was designed to be able to build Mortal-Kombat style games, if you wish - it has a history of the keys that were pressed and their time when they were pressed and depressed. It has support for text input and editing in unicode and many more things, about everything you need from a keyboard. 10 | * osiDisplay class scans every monitor connected to the system, and stores it's capabilities - resolutions frequencies, etc. This data is easy to access, and is sorted and stored in the same manner under Windows/Linux/Mac. 11 | * High performance timers for all OS-es (same function names, same variable outputs). 12 | * OpenGL functions that have different usage mode/names under each OS, are nicely combined under 1 function. (ex: call glMakeCurrent(....), which knows to call wglMakeCurrent under WIN, glxMakeCurrent under LINUX, blaBlaBla under MAC) 13 | * tired of setting the locale to utf8/blabla, that just doesn't work on all systems? or just doesn't work, period? use supplied str8 class that uses only UTF-8 strings, or the UTF-32 class str32. Str namespace have functions that apply to UTF-8 / UTF-32 strings 14 | * Tons of other nice stuff. 15 | 16 | - 17 | 18 | 19 | - 20 | USAGE example: 21 | -------------- 22 | 23 | #include "osinteraction.h" // the only thing needed to be included 24 | 25 | main() { 26 | osi.createGLWindow(&osi.win[0], // creates an OpenGL window - first parameter is what window object to use (there are 64 pre-alocated) 27 | &osi.display.monitor[0], // specify on what monitor to create the window 28 | "Win 0", // window name 29 | 500, 500, // window size OR if fullscreen, what resolution to change the monitor to 30 | 1); // window mode: 1-normal window; 2-fullscreen; 3-fullscreen window(ignores size); 4-fullscreen window on all monitors(also ignores size) 31 | 32 | in.init(); // initializes mouse / keyboard / rest of HIDs 33 | 34 | while(1) { // a basic program loop 35 | 36 | osi.checkMSG(); // checks system messages 37 | in.update(); // updates HIDs (mouse / keyboard / activated joysticks 38 | if(in.k.key[in.Kv.esc] || osi.flags.exit) // if escape key is pressed or the system signaled the program to close, break from the loop 39 | break; 40 | } 41 | } 42 | 43 | 44 | - 45 | Needs tons of bug squishing - all this was done only by me (alec.paunescu@gmail.com), so i expect tons of bugs that i missed 46 | 47 | - 48 | Check out OSinteraction.h for further compiling instructions & other info 49 | 50 | - 51 | Needed libraries to compile: 52 | 53 | * LINUX libraries: [X11] [GL] [GLU] [Xrandr] [Xinerama] 54 | * WIN libraries: [opengl32] [glu32] [d3d9] [dinput8] [dxguid] [xinput] 55 | * MAC frameworks: [-framework Opengl] [-framework cocoa] [-framework IOKit] [-framework CoreFoundation] 56 | 57 | - 58 | Detail library explanation: 59 | 60 | LINUX libs: [X11] - libX base - don't leave home without it 61 | [GL] [GLU] - OpenGL libraries 62 | [Xrandr] - used for monitor / GPU info / monitor resoulution changes 63 | [Xinerama] - used for monitor position info only 64 | 65 | WIN libs: [opengl32] [glu32] - OpenGL libraries 66 | 67 | if any dinput, xinput or direct3d are used, some directx sdk files (libs+includes) are provided, but directx sdk can be downloaded and used instead 68 | [d3d9]: [#define USING_DIRECT3D] must be set in osinteraction.h - used ONLY for GPU detection (hopefully oGL will have an extension for this, in the future) 69 | [dinput8] [dxguid]: [#define USING_DIRECTINPUT] must be set in osinteration.h - used for direct input HIDs - joysticks gamepads etc 70 | [xinput]: [#define USING_XINPUT] must be set in osinteraction.h - used for xinput HIDs - probly only gamepads 71 | 72 | the next libs should be auto-included, but here is the list in case something is missing: 73 | 74 | kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) 75 | 76 | 77 | MAC frameworks: [-framework Opengl]: opengl library, basically 78 | [-framework cocoa]: macOSX api 79 | [-framework IOKit]: some monitor functions use this lib 80 | [-framework CoreFoundation]: used for simple error message boxes only 81 | 82 | 83 | - 84 | How to get the neccesary libs under Linux / Ubuntu: 85 | 86 | * sudo apt-get install mesa-common-dev GL/gl.h GL/glx.h 87 | * sudo apt-get install libglu1-mesa-dev GL/glu.h 88 | * or the freeglu one 89 | * sudo apt-get install libx11-dev for X11/Xlib.h - probably this is already installed 90 | * sudo apt-get install libxrandr-dev used for resolution changes 91 | * sudo apt-get install libc6-dev-i386 the 32-bit C libraries (only 64bit libs are in linux64) 92 | * sudo apt-get install xxxxxxxxxxxx the 64-bit C libraries (only 32bit libs are in linux32) 93 | * sudo apt-get install libxinerama-dev Xinerama header files, used to identify monitors 94 | * sudo apt-get install gcc-4.8-multilib g++-4.8-multilib - or whatever your gcc version is, if you get [fatal error: 'bits/c++config.h' file not found] 95 | 96 | - 97 | ###Licence: 98 | http://unlicense.org/ - so you can do whatever you want to do with this code - copy, change, wipe the floor, etc without any kind of pressure. Hope it helps! 99 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /cblocks/OSInteraction.cbp: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 139 | 140 | -------------------------------------------------------------------------------- /cblocks/OSInteraction.cbp.old: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 77 | 78 | -------------------------------------------------------------------------------- /cblocks/OSInteraction.layout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /cblocks/OSInteraction.layout.old: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /examples/simple/Makefile: -------------------------------------------------------------------------------- 1 | CC := clang++ 2 | ARCH :=$(shell $(CC) -dumpmachine) 3 | 4 | all: 5 | $(CC) -std=c++11 simple.cpp -I../../include/ -L../../lib/$(ARCH)/ -lOSI -lGL -o simple 6 | 7 | clean: 8 | rm -rf simple 9 | -------------------------------------------------------------------------------- /examples/simple/simple.cpp: -------------------------------------------------------------------------------- 1 | #include "osinteraction.h" // the only thing needed to be included 2 | 3 | int main() { 4 | osi.createGLWindow(&osi.win[0], // creates an OpenGL window - first parameter is what window object to use (there are 64 pre-alocated) 5 | &osi.display.monitor[0], // specify on what monitor to create the window 6 | "Win 0", // window name 7 | 500, 500, // window size OR if fullscreen, what resolution to change the monitor to 8 | 1); // window mode: 1-normal window; 2-fullscreen; 3-fullscreen window(ignores size); 4-fullscreen window on all monitors(also ignores size) 9 | 10 | in.init(); // initializes mouse / keyboard / rest of HIDs 11 | 12 | while(1) { // a basic program loop 13 | 14 | osi.checkMSG(); // checks system messages 15 | in.update(); // updates HIDs (mouse / keyboard / activated joysticks 16 | 17 | if(in.k.key[in.Kv.esc] || osi.flags.exit) // if escape key is pressed or the system signaled the program to close, break from the loop 18 | break; 19 | } 20 | return 0; 21 | } 22 | -------------------------------------------------------------------------------- /extlib/directx/include/readme.txt: -------------------------------------------------------------------------------- 1 | You must download DirectX SDK from microsoft's site and link to those files. 2 | 3 | These are tmp files that will be removed in the near future !!! 4 | 5 | Taken and renamed from DirectX9 2010j SDK. 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /extlib/directx/lib/XInput_32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/extlib/directx/lib/XInput_32.lib -------------------------------------------------------------------------------- /extlib/directx/lib/XInput_64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/extlib/directx/lib/XInput_64.lib -------------------------------------------------------------------------------- /extlib/directx/lib/d3d9_32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/extlib/directx/lib/d3d9_32.lib -------------------------------------------------------------------------------- /extlib/directx/lib/d3d9_64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/extlib/directx/lib/d3d9_64.lib -------------------------------------------------------------------------------- /extlib/directx/lib/dinput8_32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/extlib/directx/lib/dinput8_32.lib -------------------------------------------------------------------------------- /extlib/directx/lib/dinput8_64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/extlib/directx/lib/dinput8_64.lib -------------------------------------------------------------------------------- /extlib/directx/lib/dxguid_32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/extlib/directx/lib/dxguid_32.lib -------------------------------------------------------------------------------- /extlib/directx/lib/dxguid_64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/extlib/directx/lib/dxguid_64.lib -------------------------------------------------------------------------------- /extlib/directx/lib/readme.txt: -------------------------------------------------------------------------------- 1 | You must download DirectX SDK from microsoft's site and link to those files. 2 | 3 | These are tmp files that will be removed in the near future !!! 4 | 5 | Taken and renamed from DirectX9 2010j SDK. 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /include/osiChar.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | // -these constants are for in.k.charTyped: stream with unicode characters / string manipulation characters 5 | // -keys that have same character meaning, are combined: 6 | // keypad enter and enter have the same Kch_enter constant 7 | // keypad down arrow and normal down arrow have the same Kch_down constant ETC. 8 | 9 | #define Kch_enter '\n' 10 | #define Kch_backSpace '\b' 11 | #define Kch_delete 0xFFFF0000 12 | #define Kch_home 0xFFFF0001 13 | #define Kch_end 0xFFFF0002 14 | #define Kch_pgUp 0xFFFF0003 15 | #define Kch_pgDown 0xFFFF0004 16 | #define Kch_left 0xFFFF0005 17 | #define Kch_up 0xFFFF0006 18 | #define Kch_right 0xFFFF0007 19 | #define Kch_down 0xFFFF0008 20 | 21 | #define Kch_cut 0xFFFF0010 // ctrl+ x or ctrl+ delete 22 | #define Kch_copy 0xFFFF0011 // ctrl+ c or ctrl+ insert 23 | #define Kch_paste 0xFFFF0012 // ctrl+ v or shift+ insert 24 | 25 | #define Kch_selHome 0xFFFF0020 // selection change: shift+ home 26 | #define Kch_selEnd 0xFFFF0021 // selection change: shift+ end 27 | #define Kch_selPgUp 0xFFFF0022 // selection change: shift+ pgUp 28 | #define Kch_selPgDown 0xFFFF0023 // selection change: shift+ pgDown 29 | #define Kch_selLeft 0xFFFF0024 // selection change: shift+ left 30 | #define Kch_selUp 0xFFFF0025 // selection change: shift+ up 31 | #define Kch_selRight 0xFFFF0026 // selection change: shift+ right 32 | #define Kch_selDown 0xFFFF0027 // selection change: shift+ down 33 | 34 | 35 | // THE OLD MANIP CHAR, BEFORE THE char/manip MERGE: 36 | /* 37 | #define Kch_enter '\n' 38 | #define Kch_backSpace '\b' 39 | #define Kch_delete 0x10 0xFFFF0000 40 | #define Kch_home 0x11 41 | #define Kch_end 0x12 42 | #define Kch_pgUp 0x13 43 | #define Kch_pgDown 0x14 44 | #define Kch_left 0x15 45 | #define Kch_up 0x16 46 | #define Kch_right 0x17 47 | #define Kch_down 0x18 48 | 49 | #define Kch_cut 0x20 // ctrl+ x or ctrl+ delete 50 | #define Kch_copy 0x21 // ctrl+ c or ctrl+ insert 51 | #define Kch_paste 0x22 // ctrl+ v or shift+ insert 52 | 53 | #define Kch_selHome 0x30 // selection change: shift+ home 54 | #define Kch_selEnd 0x31 // selection change: shift+ end 55 | #define Kch_selPgUp 0x32 // selection change: shift+ pgUp 56 | #define Kch_selPgDown 0x33 // selection change: shift+ pgDown 57 | #define Kch_selLeft 0x34 // selection change: shift+ left 58 | #define Kch_selUp 0x35 // selection change: shift+ up 59 | #define Kch_selRight 0x36 // selection change: shift+ right 60 | #define Kch_selDown 0x37 // selection change: shift+ down 61 | */ 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /include/osiCocoa.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifdef OS_MAC 4 | 5 | // this is a wrapper for Objective-C functions 6 | 7 | class osiCocoa { 8 | 9 | public: 10 | 11 | void setProgramPath(); /// under mac is not certain that it is set, it seems 12 | bool createWindow(osiWindow *w, const char *iconFile); 13 | bool createSplashWindow(osiWindow *w, uint8_t *bitmap, int dx, int dy, int bpp, int bpc); 14 | 15 | bool changeRes(osiWindow *w, osiMonitor *m, int32_t dx, int32_t dy, int8_t bpp, int16_t freq= 0); 16 | bool displayName(uint32_t id, str8 *out); // returns in out the name of the display 17 | bool displayGPU(uint32_t id, str8 *out); /// returns the gpu string (the only info i could find about the gpu) 18 | 19 | void setIcon(uint8_t *bitmap, int dx, int dy, int bpp, int bpc); 20 | str8 getCmdLine(); 21 | void sleep(int ms); /// cocoa sleep function (in miliseconds) 22 | int passedTime(void); /// this might be scraped 23 | void setPastebin(uint8_t *in_text); /// pastebin=clipboard - copy/paste operations 24 | void getPastebin(uint8_t **out_text); /// pastebin=clipboard - copy/paste operations 25 | 26 | void getWindowSize(osiWindow *w, int32_t *dx, int32_t *dy); 27 | void setWindowSize(osiWindow *w, int dx, int dy); 28 | void setWindowPos(osiWindow *w, int x, int y); 29 | void setWindowName(osiWindow *w, const char *name); 30 | void setWindowHidden(osiWindow *w); 31 | void setWindowShown(osiWindow *w); 32 | void delWindow(osiWindow *w); 33 | 34 | // oGL related 35 | 36 | bool glCreateWindow(osiWindow *w, const char* iconFile); 37 | 38 | bool createPixelFormat(osiGlRenderer *, uint32_t oglDisplayMask); 39 | bool createContext(osiGlRenderer *r, uint32_t oglDisplayMask); 40 | 41 | void setRendererVertSync(osiGlRenderer *r, bool vertSync= true); 42 | void delContext(void *); // dealloc memory 43 | void delPixelFormat(void *); // dealloc memory 44 | void delNSImage(void *); // dealloc memory 45 | void swapBuffers(osiWindow *w); 46 | bool makeCurrent(osiGlRenderer *, osiWindow *); 47 | 48 | osiCocoa(); 49 | ~osiCocoa(); 50 | }; 51 | 52 | extern osiCocoa cocoa; 53 | 54 | #endif /// OS_MAC 55 | 56 | -------------------------------------------------------------------------------- /include/osiDisplay.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // check osinteraction.h for more linux / other os info & how to initialize & use everything 4 | 5 | struct osiResolution; 6 | struct osiMonitor; 7 | struct osiGPU; 8 | class osinteraction; 9 | class osiWindow; 10 | 11 | 12 | 13 | // ---------------==============DISPLAY CLASS=================--------------- // 14 | ///--------------------------------------------------------------------------/// 15 | class osiDisplay { 16 | public: 17 | void populate(bool onlyVulkan= false); // this is auto-called on osi constructor; can be called multiple times to rescan the displays. after vulkan is initialized, it should be called to further populate everything vulkan can find. if is true, only the vulkan part will populate 18 | 19 | int16_t nrMonitors; /// nr of active monitors connected to the system 20 | int32_t vx0, vy0; /// virtual desktop position - win+linux top-left origin, mac bottom-right origin 21 | int32_t vdx, vdy; /// VIRTUAL DESKTOP size (all monitors are placed inside this virtual desktop/ fullscreen virtual desktop mode, uses these) 22 | int32_t vyMax; /// virtual desktop y-axis max point (vy0+ vdy- 1)- used in TOP-BOTTOM origin point compute (a shortcut) 23 | 24 | int16_t nrGPUs; /// nr of GPU's on the current machine - IF THIS IS 0, THERE WAS NO WAY TO AQUIRE THIS DATA 25 | osiGPU *GPU; /// array with all GPU's on the current machine 26 | 27 | osiMonitor *monitor; /// array with all monitors - array size is nrMonitors 28 | osiMonitor *primary; /// pointer to the primary monitor 29 | 30 | bool bResCanBeChanged; /// monitor resolution change is possible 31 | str8 bResCanBeChangedReason; /// if monitor resolution change is not possible (reason) 32 | bool bGPUinfoAvaible; /// GPU information avaible 33 | str8 bGPUinfoAvaibleReason; /// if no GPU info is avaible, the reason for it 34 | 35 | //MULTI MONITOR HANDLERS 36 | 37 | bool changeRes(osiMonitor *m, int32_t dx, int32_t dy, int16_t freq= 0); // change specific monitor resolution (this is actually the main resolution change func) 38 | void restoreRes(osiMonitor *m); /// restores original resolution of a specific monitor 39 | void restoreAllRes(); /// restores all original resolutions 40 | 41 | //primary monitor; use these for sigle monitor resolution change 42 | 43 | bool changePrimary(int32_t dx, int32_t dy, int16_t freq= 0); /// change primary display& primary monitor resolution (calls changeRes, nothing more) 44 | void restorePrimary(); 45 | 46 | osiDisplay(); 47 | ~osiDisplay(); 48 | void delData(); // called by destroyer -standard 49 | 50 | #ifdef OS_LINUX 51 | int _top, _bottom, _left, _right; /// [internal] used for _NET_WM_FULLSCREEN_MONITORS. check populate(), end of linux part 52 | #endif /// OS_LINUX 53 | 54 | private: 55 | void _vkPopulate(); 56 | friend class osinteraction; 57 | }; 58 | 59 | 60 | // --------------======== osiResolution =======----------------------- 61 | struct osiResolution { 62 | int32_t dx, dy; // resolution size 63 | int32_t nrFreq; // nr of frequencies supported 64 | int16_t *freq; // list of supported frequencies in this resolution 65 | /// bpp is ignored ATM, as 32bpp is default, and i don't think anything else will be ever used 66 | 67 | osiResolution(); // set everything to 0 (needed) 68 | ~osiResolution(); // calls delData() 69 | void delData(); // clears data/ deallocs everything 70 | 71 | // private stuff from here 72 | 73 | #ifdef OS_LINUX 74 | Rotation _rotation; // [internal] X if it is used... 75 | RRMode *_resID; // [internal] it is tied with frequency (RRMode[nrFreq]) 76 | #endif /// OS_LINUX 77 | 78 | #ifdef OS_MAC 79 | uint32_t *_id; /// [internal] resolution id (mac) - tied with frequency (id[nrFreq]) 80 | //possible that a CGDisplayModeRef must be used 81 | #endif /// OS_MAC 82 | 83 | }; 84 | 85 | 86 | // -------------========= osiMonitor =======------------------ 87 | struct osiMonitor { 88 | 89 | str8 name; // monitor name (product description or something that can identify it) 90 | 91 | int32_t x0, y0; // position on the VIRTUAL DESKTOP 92 | int32_t dx, dy; // current size) 93 | 94 | //int32_t resDx, resDy; // real monitor resolution, unafected by scale - SCRAPE THAT, WHAT WOULD A PROGRAM BUILT WITH OSI NEED ANY SCALING OR SCALING INFO? 95 | //uint32_t scale; // monitor scale 96 | 97 | bool primary; // is it the primary display 98 | osiGPU *GPU; // on what GPU is attached 99 | osiWindow *win; // the window that is on this monitor (if there is one) 100 | 101 | int16_t nrRes; // nr of resolutions monitor can handle 102 | osiResolution *res; // all resolutions the display supports (res[nrRes]) 103 | 104 | // the next vars are kinda internal stuff 105 | 106 | bool inOriginal; // monitor is in original resolution (false= in program resolution) 107 | osiResolution original; // original resolution @ program start (freq[0] is ID, not hertz) 108 | osiResolution progRes; // program resolution. original&program used to detect a resolution CHANGE, and ignore multiple resolution changes if already in requested resolution (freq[0] is ID, not hertz) 109 | void *renderer; // first renderer that was created on this monitor 110 | 111 | osiMonitor(); 112 | ~osiMonitor(); 113 | void delData(); 114 | 115 | // internals from here on - these are not made private, because they might be useful 116 | 117 | #ifdef OS_WIN 118 | str8 _id; // [internal] win- display ID 119 | //str8 name; // [internal] display's card name 120 | str8 _monitorID; // [internal] monitor id (NOT USED FOR ANYTHING?... wincrap rulz) 121 | str8 _monitorName; // [internal] monitor description (did not find any use for it ina ANY windows function) 122 | //void *_hMonitor; // JUST DISABLED, NO NEED; monitorData func can populate this 123 | // if a monitor is set to duplicate another monitor, windows returns only one display, 124 | // with combined resolution options, and monitorID+monitorName for each. Can't do anything with any of them, so im not storing them anywhere. 125 | //friend LRESULT CALLBACK _processMSG(HWND hWnd, UINT m, WPARAM wParam, LPARAM lParam); 126 | #endif /// OS_WIN 127 | 128 | #ifdef OS_LINUX 129 | int _screen; // [internal] monitor id (number) 130 | Window _root; // [internal] root window of screen (monitor) 131 | RROutput _outID; // [internal] xrandr output (phisical out that a monitor can be attached to; this output holds connected monitor info/supported modes too) 132 | RRCrtc _crtcID; // [internal] xrandr crtc (some internal graphics card thingie that handles pixels sent to outputs->monitors) 133 | int _XineramaID; // [internal] used only for _NET_WM_FULLSCREEN_MONITORS, it is found in display.populate() @ end of linux part 134 | osiMonitor *_right; // [internal] points to a monitor next to this one, to the right, or NULL 135 | osiMonitor *_bottom; // [internal] points to a monitor next to this one, to the bottom, or NULL 136 | #endif /// OS_LINUX 137 | 138 | #ifdef OS_MAC 139 | unsigned int _id; // [internal] quartz monitor id 140 | str8 _GPUinfo; // [internal] GPU info string, should be unique for each GPU 141 | uint32_t _oglDisplayMask; // [internal] OpenGL Display Mask. each monitor have a place in this mask 142 | #endif /// OS_MAC 143 | 144 | int32_t _y0; // not changed, os specific, monitor position on the y axis 145 | 146 | private: 147 | bool _inProgRes; // [internal] flag used for res changes 148 | 149 | friend class osiDisplay; 150 | friend void _osiGetMonitorPos(osiMonitor *m); 151 | friend void _osiUpdateVirtualDesktop(); 152 | friend bool _osiDoChange(osiMonitor *, osiResolution *, int16_t); 153 | friend void _osiPopulateGrCards(osiDisplay *); 154 | }; 155 | 156 | 157 | 158 | struct osiGPU { 159 | str8 name; // GPU description 160 | 161 | bool primary; // primary GPU has the primary monitor 162 | 163 | int16_t nrMonitors; // nr monitors attached 164 | osiMonitor **monitor; // array with all attached monitors; [nrMonitors] in size 165 | 166 | int32_t ram; // WIP 167 | int32_t clock; // WIP 168 | 169 | void *vkGPU; // if vulkan is on the system, this is the link to the VkPhysicalDevice 170 | 171 | uint64_t LUID; // LUID of the graphics card; 172 | 173 | osiGPU() { ram= clock= 0; nrMonitors= 0; monitor= NULL; primary= false; vkGPU= NULL; LUID= 0; } 174 | 175 | void delData() { if(nrMonitors) { delete[] monitor; nrMonitors= 0; monitor= NULL; } primary= false; name.delData(); ram= clock= 0; } 176 | 177 | ~osiGPU() { delData(); } 178 | }; 179 | -------------------------------------------------------------------------------- /include/osiGlRenderer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifdef OSI_USE_OPENGL 3 | #include "osiRenderer.h" 4 | 5 | 6 | ///=========================================================/// 7 | // GLRENDERER class - manages OpenGL contexts and extensions // 8 | ///=========================================================/// 9 | 10 | 11 | 12 | struct osiGlExtFuncs; 13 | 14 | class osiGlRenderer: public osiRenderer { 15 | public: 16 | 17 | bool isActive; // a simple check to see if it is already active when calling glMakeCurrent() is WAAAY faster than switching contexts... 18 | //osiMonitor *monitor; /// the monitor on which the renderer was created. assigning a renderer to render to a different monitor that is handled by a different GPU, can be bad 19 | // osiGPU ?!!?!?!? this should be a thing i think 20 | 21 | // renderer / graphics card parameters 22 | 23 | str8 glVersion; /// OpenGL version utf-8 format 24 | int glVerMajor, glVerMinor; /// OpenGL version integer format 25 | str8 glVendor; /// this can be used for various checks, as it never changes 26 | str8 glRenderer; /// this can be used for various checks, as it never changes 27 | int max3Dtexture; /// maximum 3D texture size this renderer can operate 28 | GLint maxTexelUnits; /// maximum texel units this renderer can operate 29 | int maxTextureAnisotropy; /// maximum texture anisotropy (if extension is present) 30 | 31 | // OpenGL extensions - these are defined in osiGlExt.cpp - by default, all extensions are auto-checked and aquired 32 | 33 | void checkExt(); // checks all all extension availability and populates glExtList[] array - MUST BE CALLED BEFORE aquiring extension functions 34 | void getExtFuncs(); /// gets all oGL extensions funcs for this renderer; renderer MUST be active-> glMakeCurrent (no problems if called multiple times) 35 | bool isExtensionARB(const char *); /// returns the availability of selected ARB extension 36 | bool isExtensionEXT(const char *); /// returns the availability of selected EXT extension (vendor extensions too - NV/ATI/etc) 37 | bool isExtensionOTHER(const char *);/// returns the availability of selected extension that is not catalogued in ARB or EXT (there's a few) 38 | osiGlExt *glARBlist; /// all openGL ARB extensions list and their avaibility on this renderer 39 | osiGlExt *glEXTlist; /// all openGL EXT(and the rest) extensions list and their avaibility on this renderer 40 | osiGlExt *glOTHERlist; /// all openGL extensions that are not listed anywhere 41 | 42 | // ogl context and a struct with all extension funcs 43 | 44 | #ifdef OS_WIN 45 | HGLRC glContext; // ze thing needed - destructor deletes oGL render context if it is created 46 | osiGlExtFuncs glExt; /// each renderer has it's own oGL extensions functions, under windows 47 | #endif /// OS_WIN 48 | 49 | #ifdef OS_LINUX 50 | GLXContext glContext; // oGL rendering context 51 | osiGlExtFuncs &glExt; /// reference to a global struct that holds all extension functions 52 | #endif /// OS_LINUX 53 | 54 | #ifdef OS_MAC 55 | void *glContext; /// NSOpenGLContext object (which wraps a CGL renderer which wraps the context and all these are wrapped by osiRenderer. Do you even wrap?) 56 | osiGlExtFuncs &glExt; /// NOT USED 57 | #endif 58 | 59 | // constructor, destructor 60 | 61 | osiGlRenderer(); 62 | ~osiGlRenderer(); 63 | void delData(); 64 | 65 | private: 66 | 67 | //friend bool _getContextFuncs(osiWindow *, osiGlRenderer *); 68 | bool _bContextFuncsGot; // wip 69 | 70 | #ifdef OS_MAC 71 | friend class osiCocoa; 72 | void *_pixelFormat; /// NSOpenGLPixelFomat object 73 | #endif 74 | }; 75 | 76 | 77 | // VERTEX ARRAY OBJECT CLASS that creates vertex arrays on all renderers - VAOs are not context shared 78 | ///===================================================================================================/// 79 | // this class is very slow to initialize the VAOs, but it's ok when binding the VAOs, 80 | // therefore, if the VAO is constant/static/nothing is changing in it's attribs (enable/disable of vertex arrays, pointers, etc), 81 | // this class is ok to use and it _handles multiple contexts_ 82 | 83 | extern int _VAOrenderer; 84 | GLAPI void APIENTRY glBindVertexArray (GLuint array); 85 | 86 | class glVAO { 87 | public: 88 | unsigned int *id; 89 | 90 | void genArray(); /// same as glGenVertexArrays(..) but for one array only - VERY SLOW - switches contexts if there is more than one renderer active but returns to curent context 91 | void delArray(); /// same as glDeleteVertexArrays(..) but deletes all arrays in this object - VERY SLOW - switches contexts if there is more than one renderer active but returns to curent context 92 | 93 | void bindAndVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); /// VERY SLOW - switches contexts if there is more than one renderer active but returns to curent context 94 | void bindAndVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); /// VERY SLOW - switches contexts if there is more than one renderer active but returns to curent context 95 | void enableVertexAttribArray(GLuint index); // VERY SLOW - same as glEnableVertexAttribArray but it enables on all the contexts 96 | void disableVertexAttribArray(GLuint index); // VERY SLOW - avoid using - use only the enabler on init - if you keep enabling/disabling the speed decrease is very big on multiple contexts 97 | //void bindBuffer(GLenum target, GLuint buffer); // VERY SLOW - use this on VAO init, to bind the buffers on all contexts (for the VAO) 98 | 99 | // this is the func that is important: 100 | inline void bind() { glBindVertexArray(id[_VAOrenderer]); } // fast func - binds VAO, depending on current renderer 101 | 102 | glVAO() { id= NULL; } 103 | ~glVAO() { delData(); } 104 | void delData() { if(id) delete[] id; id= NULL; } 105 | }; 106 | 107 | 108 | extern osiGlRenderer *_glr; // CURRENTLY ACTIVE ogl RENDERER - same as [osi.glr] 109 | 110 | #include "osiGlExt.h" 111 | 112 | 113 | #endif /// OSI_USE_OPENGL 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | -------------------------------------------------------------------------------- /include/osiRenderer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | class osiRenderer: public chainData { 5 | public: 6 | int8_t type; // 0= opengl, 1= vulkan // VULKAN SCRAPED- VKO handles everything - each vulkan window will still have one for INFO 7 | 8 | osiMonitor *monitor; // the monitor on which the renderer was created. assigning a renderer to render to a different monitor that is handled by a different GPU, can be bad 9 | osiGPU *GPU; // GPU it belongs to 10 | }; 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /include/osiVulkan.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | namespace osiVk { 5 | 6 | void init(osinteraction *o); 7 | void close(); 8 | 9 | // surface handling funcs 10 | 11 | bool createSurface(vkObject *vk, osiWindow *in_win); // creates VkSurfaceKHR on the window (osiWindow::vkSurface) 12 | void destroySurface(vkObject *vk, osiWindow *in_win); // destroys the VkSurfaceKHR on the window (osiWindow::vkSurface) 13 | bool recreateSurface(vkObject *vk, osiWindow *in_win); // call to try recreate the surface after a VK_ERROR_SURFACE_LOST_KHR error on the swapchain 14 | bool chooseVisual(vkObject *in_vk, osiWindow *in_win); // chooses a visual that works with the device 15 | 16 | }; /// namespace osiVk 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /include/util/chainList.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifndef CHAINLIST_DEFINED 3 | #define CHAINLIST_DEFINED 1 4 | 5 | #include 6 | 7 | //#define CHAINLIST_SAFECHECKS 1 //to check for bad calls to chainList 8 | 9 | #ifndef CHAINLIST_DEALLOC 10 | #define CHAINLIST_DEALLOC(x) delete x 11 | #endif 12 | 13 | 14 | 15 | // DERIVE classes from this one & DEFINE what vars are in the node inside it 16 | class chainData { 17 | public: 18 | chainData *next, *prev; 19 | 20 | /// don't create a constructor, it won't be called by derived class... big source of errors 21 | virtual ~chainData() {} // being virtual, it seems delete[] knows to dealloc the derived parts... it never crashed/ no garbage remains in memory 22 | }; 23 | 24 | 25 | 26 | 27 | /// manipulator class, no derives necesary, just make a var from this one 28 | struct chainList { 29 | chainData *first, *last; // last is important for add(), else there has to be a passthru till the last member (if the list is 100k long?) 30 | uint32_t nrNodes; // VERY USEFUL - number of nodes in list 31 | 32 | // fast funcs 33 | 34 | void add(chainData *); // [FAST] alloc mem, then pass pointer to add(). fast function, no searches involved 35 | void addFirst(chainData *); // [FAST] adds the node to the front of the list not the back (makes it first) 36 | void addAfter(chainData *, chainData *afterPoint); // [FAST] alloc mem, then pass pointer. it will be inserted in the list, after the specified chainNode 37 | void addBefore(chainData *, chainData *beforePoint); // [FAST] alloc mem, then pass pointer. it will be inserted in the list, before the specified chainNode 38 | void del(chainData *); // [FAST] deletes specified chainList - NO searches involved 39 | void release(chainData *); // [FAST] releases object from the chainList, doesn't delete the object from memory - NO searches involved 40 | 41 | // slow funcs 42 | 43 | // [SLOW] dels specified item number - searches involved - SLOW for large lists 44 | void deli(uint32_t); 45 | 46 | void addi(chainData *, uint32_t);// [SLOW] alloc mem, then pass pointer. it will be inserted in the list, at the specified position. searches involved - SLOW for large lists 47 | void releasei(uint32_t); // [SLOW] releases selected object (based on it's index number) from the chainList, doesn't delete the object from memory - SLOW for large lists 48 | chainData *get(uint32_t); // [SLOW] returns specified item number - searches involved - SLOW for large lists 49 | uint32_t search(chainData *); // [SLOW] returns ~0u (max uint32) if failed to find - SLOW for large lists 50 | 51 | bool isMember(chainData *); // [SLOW] returns true if the chainData is part of this list 52 | 53 | // constructor / destructor 54 | 55 | chainList(): first(nullptr), last(nullptr), nrNodes(0) {} 56 | ~chainList() { delData(); } 57 | void delData() { while(first) del(first); } // teh real destructor - can be called at any time to dealloc everything 58 | }; /// chainList class 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | ///========================/// 81 | // SRC =========----------- // 82 | ///========================/// 83 | 84 | 85 | // must alloc from code, then call this func. 86 | ///------------------------------------------ 87 | 88 | inline void chainList::add(chainData *p2) { 89 | if(last) { /// list has members 90 | last->next= p2; 91 | p2->prev= last; 92 | p2->next= nullptr; /// do not depend on the constructor! it wont be called in the derived class! ...nice source of errors 93 | last= p2; 94 | } else { /// list is empty 95 | first= last= p2; 96 | p2->next= nullptr; /// do not depend on the constructor! it wont be called in the derived class! ...nice source of errors 97 | p2->prev= nullptr; /// this is the place to initialize these vars 98 | } 99 | 100 | nrNodes++; 101 | } 102 | 103 | 104 | inline void chainList::addFirst(chainData *p2) { 105 | if(first) { // list has members 106 | first->prev= p2; 107 | p2->next= first; 108 | p2->prev= nullptr; /// do not depend on the constructor! it wont be called in the derived class! ...nice source of errors 109 | first= p2; 110 | } else { // list is empty 111 | first= last= p2; 112 | p2->next= nullptr; /// do not depend on the constructor! it wont be called in the derived class! ...nice source of errors 113 | p2->prev= nullptr; /// this is the place to initialize these vars 114 | } 115 | 116 | nrNodes++; 117 | } 118 | 119 | 120 | inline void chainList::addAfter(chainData *p, chainData *afterPoint) { 121 | #ifdef CHAINLIST_SAFECHECKS 122 | if((!p) || (!afterPoint)) return; 123 | #endif 124 | 125 | if(afterPoint->next) afterPoint->next->prev= p; 126 | else last= p; 127 | p->next= afterPoint->next; 128 | afterPoint->next= p; 129 | p->prev= afterPoint; 130 | nrNodes++; 131 | } 132 | 133 | 134 | inline void chainList::addBefore(chainData *p, chainData *beforePoint) { 135 | #ifdef CHAINLIST_SAFECHECKS 136 | if((!p) || (!beforePoint)) return; 137 | #endif 138 | 139 | if(beforePoint->prev) beforePoint->prev->next= p; 140 | else first= p; 141 | p->prev= beforePoint->prev; 142 | beforePoint->prev= p; 143 | p->next= beforePoint; 144 | nrNodes++; 145 | } 146 | 147 | 148 | inline void chainList::addi(chainData *p, uint32_t n) { 149 | #ifdef CHAINLIST_SAFECHECKS 150 | if((n> nrNodes) || (!p)) return; 151 | #endif 152 | 153 | /// find the node that will be inserted before 154 | chainData *t= first; 155 | for(uint32_t a= n; a> 0; a--) // <<< SLOW PART >>> 156 | t= t->next; 157 | 158 | if(!t) add(p); 159 | else addBefore(p, t); 160 | } 161 | 162 | 163 | // fast - few instructions - NO SEARCHES / PASSTHRUs 164 | inline void chainList::del(chainData *p) { 165 | #ifdef CHAINLIST_SAFECHECKS 166 | if((!nrNodes) || (!p)) { 167 | //AfxMessageBox("strange error in chainList::delNode(chainData *)"); 168 | return; 169 | } 170 | #endif 171 | 172 | /// make the links next/prev 173 | if(p->prev) p->prev->next= p->next; 174 | if(p->next) p->next->prev= p->prev; 175 | if(p== first) first= p->next; 176 | if(p== last) last= p->prev; 177 | 178 | /// delete 179 | CHAINLIST_DEALLOC(p); 180 | nrNodes--; 181 | } 182 | 183 | // slow - goes thru the list, with many instructions per cicle 184 | inline void chainList::deli(uint32_t nr) { 185 | #ifdef CHAINLIST_SAFECHECKS 186 | if(nr> nrNodes) return; 187 | #endif 188 | 189 | chainData *p= get(nr); 190 | if(p) del(p); 191 | } 192 | 193 | 194 | // [FAST] releases object from the chainList, doesn't delete the object from memory - NO searches involved 195 | inline void chainList::release(chainData *p) { 196 | #ifdef CHAINLIST_SAFECHECKS 197 | if((!nrNodes) || (!p)) 198 | return; 199 | #endif 200 | 201 | /// make the links next/prev 202 | if(p->prev) p->prev->next= p->next; 203 | if(p->next) p->next->prev= p->prev; 204 | if(p== first) first= p->next; 205 | if(p== last) last= p->prev; 206 | 207 | /// p belongs to no list from now on 208 | p->next= nullptr; 209 | p->prev= nullptr; 210 | 211 | /// update nr nodes 212 | nrNodes--; 213 | } 214 | 215 | 216 | // [SLOW] releases object from the chainList, doesn't delete the object from memory - NO searches involved 217 | inline void chainList::releasei(uint32_t nr) { 218 | chainData *p= get(nr); 219 | release(p); 220 | } 221 | 222 | ///---------------------------------------------------------------/// 223 | // GET - SEARCH list funcs - not to be used regulary or in a cycle // 224 | ///---------------------------------------------------------------/// 225 | 226 | // get must be used rarely: if there's a for() {get()} it will pass n*n times thru list. if the list is 100000 items long... do the math... MANY zeroes of instructions... 227 | inline chainData *chainList::get(uint32_t nr) { 228 | #ifdef CHAINLIST_SAFECHECKS 229 | if(!nrNodes) return null; 230 | if(nr> nrNodes) return null; 231 | #endif 232 | 233 | chainData *p= first; 234 | for(uint32_t a= nr; a> 0; a--) // <<< SLOW PART >>> 235 | p= p->next; 236 | 237 | return p; 238 | } 239 | 240 | // same as get, use RARELY 241 | inline uint32_t chainList::search(chainData *e) { 242 | chainData *p= first; 243 | for(uint32_t a= 0; a< nrNodes; a++, p= p->next) // <<< SLOW PART >>> 244 | if(p== e) return a; 245 | 246 | return ~0u; 247 | } 248 | 249 | 250 | inline bool chainList::isMember(chainData *in_p) { 251 | for(chainData *c= first; c; c= c->next) 252 | if(c== in_p) 253 | return true; 254 | return false; 255 | } 256 | 257 | 258 | 259 | #endif /// ifndef CHAINLIST_HPP 260 | 261 | -------------------------------------------------------------------------------- /include/util/circleList.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // !!! IMPORTANT !!! 4 | // the derived classes's constructors, must ensure the base class constructor is called 5 | // OR, in the constructors place " prev= next= this; " 6 | // OR, make sure somehow next and prev are pointing to itself 7 | 8 | // DERIVE classes from this & DEFINE what vars are in the node inside it 9 | class circleList { 10 | public: 11 | circleList *next, *prev; 12 | 13 | void add(circleList *in_node); // inserts in_node in the list, after this node 14 | void addBefore(circleList *in_node); // inserts in_node in the list, before this node 15 | 16 | void del(); // deletes this node, don't use this node for anything after calling this 17 | static void del(circleList *in_l); 18 | bool delNext(); // deletes next node, if there is one; returns false if there's no other node but this in the list 19 | bool delPrev(); // deletes previous node, if there is one; returns false if there's no other node but this in the list 20 | //static void del(circleList *in_node); // releases the node, then deletes from mem 21 | void delAll(); // deletes all nodes - deletes list 22 | 23 | void release(); // takes this node out of the loop 24 | 25 | circleList(): next(this), prev(this) {} // !!! IMPORTANT !!! derived class, use derivedList(): circleList(), etcVar(bla), etcVar(bla) {} 26 | virtual ~circleList() { del(); } // being virtual, it seems delete[] knows to dealloc the derived parts... it never crashed/ no garbage remains in memory 27 | }; 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | ///================/// 41 | // funcs definition // 42 | ///================/// 43 | 44 | // inserts in_node in the list, after this node 45 | inline void circleList::add(circleList *in_l) { 46 | circleList *p= next; 47 | next= in_l; 48 | in_l->prev= this; 49 | in_l->next= p; 50 | p->prev= in_l; 51 | } 52 | 53 | // inserts in_node in the list, before this node 54 | inline void circleList::addBefore(circleList *in_l) { 55 | circleList *p= prev; 56 | prev= in_l; 57 | in_l->next= this; 58 | in_l->prev= p; 59 | p->next= in_l; 60 | } 61 | 62 | // deletes next node, if there is one; returns false if there's no other node but this in the list 63 | inline bool circleList::delNext() { 64 | if(next== this) return false; 65 | 66 | circleList *p= next->next; 67 | delete next; 68 | next= p; 69 | p->prev= this; 70 | 71 | return true; 72 | } 73 | 74 | // deletes previous node, if there is one; returns false if there's no other node but this in the list 75 | inline bool circleList::delPrev() { 76 | if(prev== this) return false; 77 | circleList *p= prev->prev; 78 | delete prev; 79 | prev= p; 80 | p->next= this; 81 | 82 | return true; 83 | } 84 | 85 | // deletes this node, don't use this node for anything after calling this 86 | inline void circleList::del() { 87 | release(); 88 | delete this; 89 | } 90 | 91 | // releases the node, then deletes from mem 92 | inline void circleList::del(circleList *in_l) { 93 | in_l->release(); 94 | delete in_l; 95 | } 96 | 97 | // takes this node out of the loop 98 | inline void circleList::release() { 99 | if(next== this) return; 100 | next->prev= prev; 101 | prev->next= next; 102 | next= prev= this; 103 | } 104 | 105 | 106 | 107 | inline void circleList::delAll() { 108 | while(delNext()); 109 | del(); 110 | } 111 | 112 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /include/util/errorHandling.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | USAGE ========================================================================== 5 | * just use error.simple() to print an error message * - fastest way 6 | 7 | useConsoleFlag: use the ixConsole, it wont create any window 8 | useWindowsFlag: use OS windows (MessageBox/ XBlaBla/ etc) 9 | both flags are false (DEFAULT): print to OS console / terminal / watever - just printf something 10 | if both flags are true, priority will be ixConsole > OS window > OS terminal 11 | 12 | using window(...) will force a OS window only msg 13 | using console(...) will force a ixConsole only print - this class must be created before ixConsole 14 | using terminal(...) will force a OS terminal/ console / watever printf only 15 | =============================================================================== 16 | */ 17 | 18 | // 19 | #define __FUNC_LINE__ str8().f("f[%s] l[%d]", __FUNCTION__, __LINE__) 20 | extern void (*(_FUNCconsole)) (const char *txt, bool exit, void (*exitFunc)(void)); // console print pointer. ixConsole sets this to it's own printing func, for example 21 | #define errorMAKEME error.detail("makeme", __FUNCTION__, __LINE__, true) 22 | 23 | #ifdef OSI_USE_OPENGL 24 | #define USING_OPENGL 1 // << enables OpenGL error handling 25 | #endif 26 | 27 | //#ifdef OSI_USE_VKO 28 | //#define USING_VULKAN 1 29 | //#endif 30 | 31 | 32 | class ErrorHandling { 33 | public: 34 | 35 | // USAGE FLAGS 36 | 37 | bool useConsoleFlag; // use the ConsoleClass (only) 38 | bool useWindowsFlag; // use OS windows (MessageBox/ XBlaBla/ etc) 39 | 40 | // main call funcs 41 | 42 | void simple(const char *txt, bool exit= false, void (*exitFunc)(void)= NULL); // exitFunc: func to call before exit program 43 | void detail(const char *txt, const char *func, int line= -1, bool exit= false, void (*exitFunc)(void)= NULL); 44 | void makeme(const char *func, int line= -1, bool exit= false, void (*exitFunc)(void)= NULL); 45 | void alloc(const char *func= NULL, int line= -1, bool exit= false, void (*exitFunc)(void)= NULL); 46 | 47 | // these funcs will force a type of window/ print to something 48 | 49 | void window(const char *txt, bool exit= false, void (*exitFunc)(void)= NULL); 50 | inline void console(const char *txt, bool exit= false, void (*exitFunc)(void)= NULL) { _FUNCconsole(txt, exit, exitFunc); } 51 | void terminal(const char *txt, bool exit= false, void (*exitFunc)(void)= NULL); 52 | 53 | 54 | 55 | #ifdef USING_DIRECTINPUT 56 | void dinput(int64_t nr); // direct input error nr as text (msgbox etc) 57 | #endif 58 | 59 | #ifdef USING_OPENGL 60 | void glFlushErrors(); 61 | int glError(const char *text= NULL, bool exit= false); /// returns the error nr or 0, and prints with simple() func the error, IF there is one; text is used for additional text to print 62 | #endif /// OPENGL 63 | 64 | #ifdef VK_VERSION_1_0 65 | // returns false on error, true on success 66 | inline bool vkCheck(VkResult in_err, const char *in_extraText= NULL, bool in_exit= false, void (*in_exitFunc)(void)= NULL) { 67 | if(in_err) { vkPrint(in_err, in_extraText, in_exit, in_exitFunc); return false; } else return true; 68 | } 69 | 70 | inline void vkPrint(VkResult in_err, const char *in_extraText= NULL, bool in_exit= false, void (*in_exitFunc)(void)= NULL) { 71 | if(!in_err) return; 72 | str8 s("Vulkan Error: "); 73 | s+= vkStrResult(in_err); 74 | 75 | if(in_extraText) 76 | s+= " ", s+= in_extraText; 77 | simple(s, in_exit, in_exitFunc); 78 | } 79 | 80 | inline void vkWindow(const char *in_text, const char *in_vkoErrText, VkResult in_res, bool in_exit= false, void (*in_exitFunc)(void)= NULL) { 81 | window(str8().f("%s\nVKO error: %s\nvkResult: %s", (in_text? in_text: ""), (in_vkoErrText? in_vkoErrText: ""), vkStrResult(in_res)), in_exit, in_exitFunc); 82 | } 83 | 84 | inline void vkSimple(const char *in_text, const char *in_vkoErrText, VkResult in_res, bool in_exit= false, void (*in_exitFunc)(void)= NULL) { 85 | simple(str8().f("%s\nVKO error: %s\nvkResult: %s", (in_text? in_text: ""), (in_vkoErrText? in_vkoErrText: ""), vkStrResult(in_res)), in_exit, in_exitFunc); 86 | } 87 | 88 | inline const char *vkStrResult(VkResult in_r) { 89 | if(in_r== VK_SUCCESS) return "VK_SUCCESS"; 90 | else if(in_r== VK_NOT_READY) return "VK_NOT_READY"; 91 | else if(in_r== VK_TIMEOUT) return "VK_TIMEOUT"; 92 | else if(in_r== VK_EVENT_SET) return "VK_EVENT_SET"; 93 | else if(in_r== VK_EVENT_RESET) return "VK_EVENT_RESET"; 94 | else if(in_r== VK_INCOMPLETE) return "VK_INCOMPLETE"; 95 | else if(in_r== VK_ERROR_OUT_OF_HOST_MEMORY) return "VK_ERROR_OUT_OF_HOST_MEMORY"; 96 | else if(in_r== VK_ERROR_OUT_OF_DEVICE_MEMORY) return "VK_ERROR_OUT_OF_DEVICE_MEMORY"; 97 | else if(in_r== VK_ERROR_INITIALIZATION_FAILED) return "VK_ERROR_INITIALIZATION_FAILED"; 98 | else if(in_r== VK_ERROR_DEVICE_LOST) return "VK_ERROR_DEVICE_LOST"; 99 | else if(in_r== VK_ERROR_MEMORY_MAP_FAILED) return "VK_ERROR_MEMORY_MAP_FAILED"; 100 | else if(in_r== VK_ERROR_LAYER_NOT_PRESENT) return "VK_ERROR_LAYER_NOT_PRESENT"; 101 | else if(in_r== VK_ERROR_EXTENSION_NOT_PRESENT) return "VK_ERROR_EXTENSION_NOT_PRESENT"; 102 | else if(in_r== VK_ERROR_FEATURE_NOT_PRESENT) return "VK_ERROR_FEATURE_NOT_PRESENT"; 103 | else if(in_r== VK_ERROR_INCOMPATIBLE_DRIVER) return "VK_ERROR_INCOMPATIBLE_DRIVER"; 104 | else if(in_r== VK_ERROR_TOO_MANY_OBJECTS) return "VK_ERROR_TOO_MANY_OBJECTS"; 105 | else if(in_r== VK_ERROR_FORMAT_NOT_SUPPORTED) return "VK_ERROR_FORMAT_NOT_SUPPORTED"; 106 | else if(in_r== VK_ERROR_FRAGMENTED_POOL) return "VK_ERROR_FRAGMENTED_POOL"; 107 | else if(in_r== VK_ERROR_OUT_OF_POOL_MEMORY) return "VK_ERROR_OUT_OF_POOL_MEMORY"; 108 | else if(in_r== VK_ERROR_INVALID_EXTERNAL_HANDLE) return "VK_ERROR_INVALID_EXTERNAL_HANDLE"; 109 | else if(in_r== VK_ERROR_SURFACE_LOST_KHR) return "VK_ERROR_SURFACE_LOST_KHR"; 110 | else if(in_r== VK_ERROR_NATIVE_WINDOW_IN_USE_KHR) return "VK_ERROR_NATIVE_WINDOW_IN_USE_KHR"; 111 | else if(in_r== VK_SUBOPTIMAL_KHR) return "VK_SUBOPTIMAL_KHR"; 112 | else if(in_r== VK_ERROR_OUT_OF_DATE_KHR) return "VK_ERROR_OUT_OF_DATE_KHR"; 113 | else if(in_r== VK_ERROR_INCOMPATIBLE_DISPLAY_KHR) return "VK_ERROR_INCOMPATIBLE_DISPLAY_KHR"; 114 | else if(in_r== VK_ERROR_VALIDATION_FAILED_EXT) return "VK_ERROR_VALIDATION_FAILED_EXT"; 115 | else if(in_r== VK_ERROR_INVALID_SHADER_NV) return "VK_ERROR_INVALID_SHADER_NV"; 116 | else if(in_r== VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT) return "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT"; 117 | else if(in_r== VK_ERROR_FRAGMENTATION_EXT) return "VK_ERROR_FRAGMENTATION_EXT"; 118 | else if(in_r== VK_ERROR_NOT_PERMITTED_EXT) return "VK_ERROR_NOT_PERMITTED_EXT"; 119 | else return "Unknown error"; 120 | } 121 | 122 | 123 | #endif 124 | 125 | ErrorHandling(); 126 | ~ErrorHandling(); 127 | void delData(); 128 | 129 | private: 130 | #ifdef __linux__ 131 | void messageBox(const char *text); // linux specific messageBox window 132 | #endif /// OS_LINUX 133 | }; 134 | 135 | 136 | 137 | extern ErrorHandling error; // only 1 global class 138 | 139 | 140 | 141 | 142 | -------------------------------------------------------------------------------- /include/util/fileOp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifndef _CRT_SECURE_NO_WARNINGS 3 | #define _CRT_SECURE_NO_WARNINGS 1 4 | #endif 5 | 6 | 7 | bool readLine8(void *stdioFILE, str8 *out_str); // works with wrapped str8's 8 | bool readLine16(void *stdioFILE, str16 *out_str); // wrapping not done 9 | bool readLine32(void *stdioFILE, str32 *out_str); // wrapping not done 10 | bool readFile(void *stdioFILE, uint8_t **out_buf); // reads the file, from the current location. adds 7 terminators, in case it should be a utf32 file, for failsafe 11 | 12 | bool secureRead8(const char *name, str8 *out_str); 13 | bool secureRead16(const char *name, str16 *out_str); 14 | bool secureRead32(const char *name, str32 *out_str); 15 | 16 | int64_t fileSize(void *stdioFILE); 17 | int64_t fileRemain(void *stdioFILE); 18 | 19 | void getFileExt(const char *in_fn, str8 *out_ext); // out_ext will contain the file extension 20 | const char *pointFileExt(const char *in_fn); // returns the start of the extension, pointing to the same string 21 | int getFileNameLen(const char *in_fn); // returns the file name length in bytes, stops when '.' or str teminator is found 22 | void getFileName(const char *in_f, str8 *out_name); // return in [out_name] only the name of the file, without the extension 23 | void getFilePath(const char *in_file, str8 *out_path); 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /include/util/mzPacker.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // IMPORTANT: 4 | // - ~5% of times, mainly if using small buffers, the (de)compiler will not write data in ouput, but will process input 5 | // this means, that a check should be done to see if mzPacker::results.outFilled, HAS a value (it can be 0) and some src was processed 6 | 7 | 8 | #define MZ_BUFFER_SIZE 524288 // 0.5MB // 1048576 // 1MB buffer for decomp/ comp 9 | 10 | enum mzTarget { 11 | INT_BUFFER= 0, // uses internal .5mb buffer for source/ output 12 | USR_BUFFER, // preallocate user buffer - it's size must be specified in [src/outLen] 13 | STDIO_FILE, // preopen the file, go to desired file location and pass stdio [FILE *] pointer 14 | STDIO_FULL_FILE // pass a filename - this file will be opened and it's full contents will be used for the operation 15 | }; 16 | 17 | 18 | class mzPacker { 19 | void *_partDecomp, *_partComp; 20 | void *_file, *_file2; 21 | int64_t _nrBytes; 22 | uint8_t *_inBuffer, *_outBuffer, *_inUsr, *_outUsr; 23 | uint8_t *_pIn, *_pOut; 24 | int8_t _inType, _outType; 25 | bool _bMoreIn, _bMoreOut, _bAllIn; 26 | int64_t _bytesProcessed; 27 | int64_t _inSize, _outSize, _inUsrSize, _outUsrSize; 28 | 29 | public: 30 | 31 | int8_t compressionLevel; 32 | void setCompressionLevel(int8_t); /// 1- 10 (10 should not be used- it's "uber") 33 | void setDefaultCompressionLevel() { setCompressionLevel(6); } 34 | 35 | // use these to know how big an archive can get, to prealloc a buffer 36 | int64_t compressBound(int64_t srcSize); /// max size of the compressed data 37 | int64_t decompressBound(int64_t srcSize); /// max size of the decompressed data 38 | 39 | // ---=== compress & decompress ===--- 40 | /// basic functions; source and output buffers MUST handle the whole comp/decomp process 41 | /// make shure output buffer is big enough to handle the whole decompressed source 42 | bool compress(const void *src, int64_t srcLen, void *out, int64_t outLen); 43 | bool decompress(const void *src, int64_t srcLen, void *out, int64_t outLen); 44 | 45 | 46 | // startAdv(De)Comp: call this before each (de)compress process, to (re)set all values 47 | // [nrBytes]: number of bytes, in total to (de)compress; this is ignored when using STDIO_FULL_FILE as input, as it will process the whole file 48 | // 49 | // srcType / outType for startAdv(de)Comp: 50 | /// INT_BUFFER: [src/out] ignored - [src/outLen] ignored (using internal .5mb buffers) 51 | /// USR_BUFFER: [src/out] pointer to the buffer - [src/outLen] buffer's size (using user specified buffers) 52 | /// STDIO_FILE: [src/out] stdio FILE * pointer - [src/outLen] ignored (using internal .5mb buffers) 53 | /// STDIO_FULL_FILE: [src/out] null-terminated string of the file's name - [src/outLen] ignored (using internal .5mb buffers) 54 | 55 | // doAdv(de)comp: keep calling this function until it returns null - signifieing the process is done 56 | // check [mzPack::err] to see if any error ocurred during the last call 57 | // [chunkSize]- the maximum chunk to process, in bytes; by default is 0, meaning that it should process all it can; 58 | // when using only files, it will process everything, without stopping; for buffers, it will stop to ask for more data 59 | // [return]- it will return a pointer to the decompressed data 60 | // - or 1 to signal that there is still work to be done 61 | // - or 0 or NULL, to signal that the WORK IS DONE 62 | // when working with files, it will return a bool (null or 1), when working with output pointer, it will return a pointer 63 | // [retLen]- optional - how much output was filled during the last function call 64 | 65 | // advanced compression funcs 66 | 67 | bool startAdvComp(int64_t nrBytes, mzTarget srcType, const void *src, int64_t srcLen, mzTarget outType, const void *out, int64_t outLen); 68 | void *doAdvComp(int64_t chunkSize= 0, int64_t *retLen= NULL); 69 | 70 | // advanced decompression funcs 71 | 72 | bool startAdvDecomp(int64_t nrBytes, mzTarget srcType, const void *src, int64_t srcLen, mzTarget outType, const void *out, int64_t outLen); 73 | void *doAdvDecomp(int64_t chunkSize= 0, int64_t *retLen= NULL); 74 | 75 | // these 2 funcs work when using USR_BUFFERS only - after a buffer is full/fully processed, it can be changed 76 | 77 | void setSrc(void *p, int64_t s) { _inUsr= (uint8_t *)p; _inUsrSize= s; } 78 | void setOut(void *p, int64_t s) { _outUsr= (uint8_t *)p; _outUsrSize= s; } 79 | 80 | 81 | 82 | 83 | // compress / decompress RESULTS - check these vars after each compress / decompress operation 84 | struct _mzPackerResults { 85 | int64_t srcProcessed; /// how many bytes were compressed/ decompressed in src buffer 86 | int64_t srcTotalProcessed; /// how much data was compressed / decompressed in total, after multiple comp/decomp operations 87 | int64_t srcRemaining; /// how many bytes remaining to compress / decompress in src buffer 88 | bool srcFullyProcessed; /// src buffer FULLY processed (compress / decompress) 89 | 90 | int64_t outFilled; /// how much of the out buffer was filled after a compress/decompress operation 91 | int64_t outTotalFilled; /// how much data was compressed / decompressed in total, after multiple comp/decomp operations 92 | int64_t outRemaining; /// how many bytes remaining in out buffer 93 | bool outIsFull; /// out buffer is FULL 94 | 95 | _mzPackerResults(); 96 | void delData(); 97 | void delPartialData(); 98 | } results; 99 | 100 | // util funcs 101 | 102 | uint32_t crc32_MK1(uint32_t crc, const void *dat, uint64_t buf_len); 103 | uint32_t crc32_MK2(uint32_t crc, const void *ptr, uint64_t buf_len); 104 | // error handling - if funcs do not return true, check err number / getErr in text 105 | 106 | unsigned int err; 107 | const char *getErr(); 108 | 109 | // constructor / destructor 110 | 111 | mzPacker(); 112 | ~mzPacker(); 113 | void delData(); 114 | 115 | }; 116 | 117 | 118 | 119 | 120 | /* ERROR values ([err] var) 121 | 122 | multiple errors can be flagged in [err] << SUBJECT TO CHANGE, this might be an encuberance!!!!!!!!!!!!!!!!!!! 123 | 124 | 0000 = OK, no errors 125 | 0001 = failed (unknown reason) 126 | 0002 = source buffer error 127 | 0004 = output buffer error 128 | 0008 = func parameter error 129 | 000F = adler32 mismatch 130 | 0010 = more input needed 131 | 0020 = have more output data 132 | 0040 = file read error 133 | 0080 = file write error 134 | 00F0 = file open error 135 | 0100 = processed data overflow 136 | 0200 = 137 | 0400 = 138 | 0800 = 139 | 0F00 = 140 | 141 | 142 | 143 | 144 | */ 145 | 146 | 147 | 148 | 149 | 150 | -------------------------------------------------------------------------------- /include/util/rgb.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "osi/include/util/rgb.hpp" 4 | 5 | #define b2f(x) ((float)x)* (1.0f/ 255.0f) 6 | #define f2b(x) (uint8_t)(((float)x)* 255.0f) 7 | 8 | struct rgb; 9 | 10 | 11 | 12 | ///=====================/// 13 | // RGBA (4 bytes, 0-255) // 14 | ///=====================/// 15 | 16 | struct rgba { 17 | union { 18 | struct { uint8_t r, g, b, a; }; 19 | uint8_t c[4]; 20 | }; 21 | 22 | // constructors 23 | 24 | inline rgba(): r(0), g(0), b(0), a(255) {} 25 | inline rgba(uint8_t _r, uint8_t _g, uint8_t _b, uint8_t _a): r(_r), g(_g), b(_b), a(_a) {} 26 | inline rgba(uint8_t v[]): r(v[0]), g(v[1]), b(v[2]), a(v[3]) {} 27 | inline rgba(const rgba &o): r(o.r), g(o.g), b(o.b), a(o.a) {} 28 | inline rgba(const rgb &o); // at end of file 29 | inline rgba(const mlib::vec4 &o): r(f2b(o.r)), g(f2b(o.g)), b(f2b(o.b)), a(f2b(o.a)) {} 30 | inline rgba(const mlib::vec3 &o): r(f2b(o.r)), g(f2b(o.g)), b(f2b(o.b)), a(255) {} 31 | inline rgba(uint32_t n) { setUInt32(n); } 32 | inline rgba(uint16_t n) { setUInt16(n); } 33 | 34 | // operators 35 | 36 | inline rgba& operator= (const rgba &o) { r= o.r, g= o.g, b= o.b, a= o.a; return *this; } 37 | inline rgba& operator= (const rgb &o); // at end of file 38 | inline rgba& operator= (const mlib::vec4 &o) { r= f2b(o.r), g= f2b(o.g), b= f2b(o.b), a= f2b(o.a); return *this; } 39 | inline rgba& operator= (const mlib::vec3 &o) { r= f2b(o.r), g= f2b(o.g), b= f2b(o.b), a= 255; return *this; } 40 | inline rgba& operator= (uint32_t v) { setUInt32(v); return *this; } 41 | inline rgba& operator= (uint16_t v) { setUInt16(v); return *this; } 42 | 43 | inline operator uint8_t *() { return c; } 44 | inline operator const uint8_t *() const { return c; } 45 | inline uint8_t& operator[](int i) { return c[i]; } 46 | 47 | // funcs 48 | 49 | inline rgba& setUInt32(uint32_t v) { r= (uint8_t)(v>> 16), 50 | g= (uint8_t)((uint16_t)v>> 8), 51 | b= (uint8_t)v, 52 | a= (uint8_t)(v>> 24); return *this; } 53 | 54 | inline uint32_t getUInt32() { return ((uint32_t)a<< 24)+ ((uint32_t)r<< 16)+ ((uint32_t)g<< 8)+ (uint32_t)b; } 55 | 56 | inline rgba& setUInt16(uint16_t value) { r= ((value>> 8)>> 3)<< 3, 57 | g= (value>> 5)<< 2, 58 | b= (uint16_t) (((uint16_t)value<< 11)>> 11) << 3, 59 | a= 255; return *this; } 60 | 61 | inline uint16_t getUInt16() { return (uint16_t)((b>> 3)+ ((g>> 2)<< 5)+ ((r>> 3)<< 0xb)); } 62 | 63 | inline rgba& set(uint8_t _r, uint8_t _g, uint8_t _b, uint8_t _a= 255) { r= _r, g= _g, b= _b, a= _a; return *this; } 64 | }; 65 | 66 | 67 | 68 | 69 | 70 | ///====================/// 71 | // RGB (3 bytes, 0-255) // 72 | ///====================/// 73 | 74 | struct rgb { 75 | union { 76 | struct { uint8_t r, g, b; }; 77 | uint8_t c[3]; 78 | }; 79 | 80 | // constructors 81 | 82 | inline rgb(): r(0), g(0), b(0) {} 83 | inline rgb(uint8_t _r, uint8_t _g, uint8_t _b): r(_r), g(_g), b(_b) {} 84 | inline rgb(const uint8_t v[]): r(v[0]), g(v[1]), b(v[2]) {} 85 | inline rgb(const rgb &o): r(o.r), g(o.g), b(o.b) {} 86 | inline rgb(const rgba &o): r(o.r), g(o.g), b(o.b) {} 87 | inline rgb(const mlib::vec3 &o): r(f2b(o.r)), g(f2b(o.g)), b(f2b(o.b)) {} 88 | inline rgb(const mlib::vec4 &o): r(f2b(o.r)), g(f2b(o.g)), b(f2b(o.b)) {} 89 | inline rgb(uint32_t n) { setUInt32(n); } 90 | inline rgb(uint16_t n) { setUInt16(n); } 91 | 92 | // operators 93 | 94 | inline rgb& operator= (const rgb &o) { r= o.r, g= o.g, b= o.b; return *this; } 95 | inline rgb& operator= (const rgba &o) { r= o.r, g= o.g, b= o.b; return *this; } 96 | inline rgb& operator= (const mlib::vec3 &o) { r= f2b(o.r), g= f2b(o.g), b= f2b(o.b); return *this; } 97 | inline rgb& operator= (const mlib::vec4 &o) { r= f2b(o.r), g= f2b(o.g), b= f2b(o.b); return *this; } 98 | inline rgb& operator= (uint32_t v) { setUInt32(v); return *this; } 99 | inline rgb& operator= (uint16_t v) { setUInt16(v); return *this; } 100 | 101 | inline operator uint8_t*() { return c; } 102 | inline operator const uint8_t *() const { return c; } 103 | inline unsigned char & operator[](const int i) { return c[i]; } 104 | 105 | // funcs 106 | 107 | inline rgb &setUInt32(uint32_t v) { r= (uint8_t)(v>> 16), 108 | g= (uint8_t)((uint16_t)v>> 8), 109 | b= (uint8_t)v; return *this; } 110 | 111 | inline uint32_t getUInt32() { return ((uint32_t)255<< 24)+ ((uint32_t)r<< 16)+ ((uint32_t)g<< 8)+ (uint32_t)b; } 112 | 113 | inline rgb &setUInt16(uint16_t value) { r= ((value>> 8)>> 3)<< 3, 114 | g= (value>> 5)<< 2, 115 | b= (uint16_t) (((uint16_t)value<< 11)>> 11) << 3; return *this; } 116 | 117 | inline uint16_t getUInt16() { return (uint16_t)((b>> 3)+ ((g>> 2)<< 5)+ ((r>> 3)<< 0xb)); } 118 | 119 | inline rgb &set(uint8_t _r, uint8_t _g, uint8_t _b) { r= _r, g= _g, b= _b; return *this; } 120 | }; 121 | 122 | 123 | inline rgba::rgba(const rgb &o): r(o.r), g(o.g), b(o.b), a(255) {} 124 | inline rgba &rgba::operator=(const rgb &o) { r= o.r, g= o.g, b= o.b, a= 255; return *this; } 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | -------------------------------------------------------------------------------- /include/util/segList.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "chainList.hpp" 3 | //#define CHAINLIST_SAFECHECKS 1 //to check for bad calls to chainList 4 | 5 | // ADVANTAGES: -few to no memory allocs/deallocs (should be a huge boost in speed) 6 | // DISADVANTAGES: -additional memory space for each unit - [2* sizeof(void*)] per unit - not a big hit 7 | // (32bytes total memory for one node: *prev, *next, *seglistSpecial, *segment - on a 64bit system) 8 | 9 | 10 | // SEGLIST CREATION: segList( 'segment size', sizeof('segData derived class')); 11 | 12 | // constructors that use segLists, that start before any thread starts, should set ignoreLocking to true, because the std::mutex is not working in these situations 13 | 14 | 15 | /// Memory alloc is automatic, everything you need to think about is the segment size (number of chainList nodes that are allocated per segment); 16 | /// it must be right, so not too many allocs happen 17 | 18 | /// You can call checkIdle() from time to time, to auto deallocate memory of idle segments 19 | /// Set timeMaxIdle (milisecs) to a desired idle time (default is 5 mins) after wich a segment is deallocated 20 | 21 | // FUNCTIONS THAT WILL WORK ON ALL CREATED segList's: 22 | /// call segList::checkIdleALL() to check ALL CREATED LISTS for idle segments that can be deallocated 23 | /// call segList::delEmptySegmentsALL() to force dealloc ALL CREATED LISTS unused segments 24 | 25 | 26 | 27 | // TODO: i think there is a posibility to auto-know the derived class size, so the constructor will only need to know a segment size ( and not a unit size ) 28 | 29 | 30 | class segList; 31 | class _segment; 32 | 33 | // DERIVE classes from this one & DEFINE what vars are in the chain (node/blabla) 34 | class segData { 35 | friend class segList; 36 | _segment *seg; 37 | public: 38 | segData *next, *prev; 39 | 40 | // there are no virtual constructors / base constructor will not be called by derived class... 41 | // this is big source of errors, therefore, just do not create a constructor 42 | virtual ~segData() {}; /// being virtual, it seems delete[] knows to dealloc the derived parts... it never crashed/ no garbage remains in memory 43 | }; 44 | 45 | 46 | 47 | // ------------------================= SEGLIST CLASS ====================------------------ 48 | ///======================================================================================== 49 | 50 | // 'handler' class, just make a variable from this one 51 | class segList { 52 | friend class segData; 53 | 54 | // memory alloc private vars, nothing to bother 55 | 56 | int unitSize; /// each segData (derived class) size 57 | int segSize; /// segment size 58 | chainList seg; /// chainlist with all segments of memory allocated / memory alloc is automatic, nothing to bother 59 | inline void addSegment(); /// memory allocation 60 | //inline void removeSegment(); /// memory deallocation 61 | 62 | public: 63 | segData *first, *last; // last is important for add(), else there has to be a loop that passes thru all the list (if the list has 100k nodes... goodbye speed) 64 | int nrNodes; // VERY USEFULL - nr nodes in list 65 | 66 | // fast funcs 67 | 68 | segData *add(); // [FAST] returns pointer to the space allocated (it allocs mem only when no segment has free space) 69 | segData *addFirst(); // [FAST] adds the node to the front of the list not the back (makes it first) 70 | void del(segData *); // [FAST] remove specified node - NO searches involved 71 | 72 | // slow funcs 73 | 74 | void deli(int); /// [SLOW] removes specified node number - good to have but searches are involved 75 | segData *get(int); /// [SLOW] returns node with specified number - searches involved 76 | int search(segData *); /// [SLOW] returns number ID of the specified node or -1 if failed to find 77 | 78 | // idle time check func 79 | 80 | unsigned int timeMaxIdle; /// miliseconds: idle time after wich an empty segment is dealocated - default is 5 mins 81 | void checkIdle(); // [SLOW] call this func RARELY to check for idle memory segments that need to dealocate 82 | void delEmptySegments(); // [SLOW] forced delete of all segments that are not used 83 | 84 | // funcs that will work for _ALL_ created segments; (there is a hidden chainList with all created segments) 85 | 86 | // THESE TWO FUNCTIONS ARE _NOT THREAD SAFE_. USE THEM ONLY WHEN USING SEGLISTS IN A SINGLE THREAD, ELSE CHECK EACH LIST IN IT'S THREAD 87 | static void checkIdleALL(); // [VERY SLOW NOT THREAD SAFE] this is like checkIdle, but for ALL segments that were created; 88 | static void delEmptySegmentsALL();// [VERY SLOW NOT THREAD SAFE] same as delEmptySegments() but for ALL segLists that were created; basically a garbage collector 89 | 90 | // constructor / destructor 91 | 92 | segList(int segmentSize, int uSize, bool ignoreLocking= false, int idleTime= 300000); // initialize by providing a segment size, and a sizeof(derived segData) ignoreLocking is used to tell segList not to lock it's internal mutex - used on constructors when no thread actually started 93 | ~segList(); 94 | void delData(); /// teh real destructor (tm) - can be called at any time to dealloc everything (removes EVERYTHING tho) 95 | }; 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | // INTERNAL STUFF - nothing to bother here 106 | 107 | /// allocation / deallocation segment list 108 | class _segment: protected chainData { 109 | friend class segList; 110 | void *data; /// actual memory allocated 111 | 112 | void **freeSpc; /// list with all free spaces in segment ( unitSize* segSize total space) 113 | int freeSpcPeak; /// peak of freeSpc. acts like some kind of stack: u pick a free space from the top/ u put the space taken back 114 | 115 | uint64_t timeIdle; /// if 0, segment is in use. Else it holds the time @ start idling (used internally by segList::checkIdle()) 116 | 117 | _segment(); 118 | ~_segment(); 119 | }; 120 | 121 | 122 | -------------------------------------------------------------------------------- /include/util/typeShortcuts.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | 5 | // these will always have 8/16/32/64 bits - fixed sizes (NO MORE, NO LESS) 6 | 7 | #define int8 int8_t // guaranteed 8 bit 8 | #define int16 int16_t // guaranteed 16 bit 9 | #define int32 int32_t // guaranteed 32 bit 10 | #define int64 int64_t // guaranteed 64 bit 11 | 12 | #define uint8 uint8_t // guaranteed 8 bit 13 | #define uint16 uint16_t // guaranteed 16 bit 14 | #define uint32 uint32_t // guaranteed 32 bit 15 | #define uint64 uint64_t // guaranteed 64 bit 16 | 17 | #define cint8 const int8_t // guaranteed 8 bit 18 | #define cint16 const int16_t // guaranteed 16 bit 19 | #define cint32 const int32_t // guaranteed 32 bit 20 | #define cint64 const int64_t // guaranteed 64 bit 21 | 22 | #define cuint8 const uint8_t // guaranteed 8 bit 23 | #define cuint16 const uint16_t // guaranteed 16 bit 24 | #define cuint32 const uint32_t // guaranteed 32 bit 25 | #define cuint64 const uint64_t // guaranteed 64 bit 26 | 27 | #define char8 uint8_t // on mac, char= unsigned int8, in windows char= signed int8 28 | #define cchar8 const uint8_t // 29 | #define char16 char16_t // 30 | #define char32 char32_t // 31 | #define cchar16 const char16_t // 32 | #define cchar32 const char32_t // 33 | 34 | #define byte uint8_t // guaranteed 8 bit 35 | #define word uint16_t // guaranteed 16 bit 36 | #define dword uint32_t // guaranteed 32 bit 37 | #define qword uint64_t // guaranteed 64 bit 38 | 39 | // useful shortcuts - these can vary in size, but they have at LEAST n bits (check each comment for n) 40 | 41 | #define uint unsigned int // at least 16 bit (usually this is 32bit, nowadays... note: nowadays) 42 | #define uchar unsigned char // at least 8 bit 43 | #define ushort unsigned short // at least 16 bit 44 | #define ulong unsigned long // at least 32 bit (under Ubuntu64 this is 64bit, under win32/64 32bit) 45 | #define ulong64 unsigned long long // at least 64 bit (never know what will happen in the future, 128bit? etc) 46 | 47 | #define cint const int // at least 16 bit 48 | #define cchar const char // at least 8 bit 49 | #define cshort const short // at least 16 bit 50 | #define clong const long // at least 32 bit 51 | #define clong64 const long long // at least 64 bit 52 | 53 | #define cuint const unsigned int // at least 16 bit 54 | #define cuchar const unsigned char // at least 8 bit 55 | #define cushort const unsigned short // at least 16 bit 56 | #define culong const unsigned long // at least 32 bit 57 | #define culong64 const unsigned long long // at least 64 bit 58 | 59 | #define cvoid const void 60 | 61 | //#define string str8 // ?????????? stringClass 62 | //#define cstring const str8 // ?????????? stringClass 63 | 64 | #define cfloat const float 65 | #define cdouble const double 66 | 67 | #ifndef NULL 68 | #define NULL 0 69 | #endif 70 | 71 | // Microsoft alignment 72 | #if defined(_MSC_VER) 73 | #ifndef ALIGNED 74 | #define ALIGNED(x) __declspec(align(x)) 75 | #endif 76 | #else 77 | // clang / gnu alignment 78 | //#if defined(__GNUC__) 79 | #ifndef ALIGNED 80 | #define ALIGNED(x) __attribute__ ((aligned(x))) 81 | #endif 82 | //#endif 83 | #endif 84 | 85 | 86 | 87 | #define null NULL 88 | 89 | #define wchar wchar_t // this is 16bit under windows, 32bit under linux, so... i would recommand against using this 90 | 91 | #define MAKEUINT32(a,b,c,d) ((uint32)((((uint8)(d)|((uint16)((uint8)(c))<<8))|(((uint32)(uint8)(b))<<16))|(((uint32)(uint8)(a))<<24))) 92 | #define GETBYTE4UINT32(a) ((uint8)(a)) 93 | #define GETBYTE3UINT32(a) ((uint8)((a)>> 8)) 94 | #define GETBYTE2UINT32(a) ((uint8)((a)>>16)) 95 | #define GETBYTE1UINT32(a) ((uint8)((a)>>24)) 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /lib/osi.gl.win64.dbg.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/lib/osi.gl.win64.dbg.lib -------------------------------------------------------------------------------- /lib/osi.gl.win64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/lib/osi.gl.win64.lib -------------------------------------------------------------------------------- /lib/osi.vk.win64.dbg.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/lib/osi.vk.win64.dbg.idb -------------------------------------------------------------------------------- /lib/osi.vk.win64.dbg.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/lib/osi.vk.win64.dbg.lib -------------------------------------------------------------------------------- /lib/osi.vk.win64.dbg.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/lib/osi.vk.win64.dbg.pdb -------------------------------------------------------------------------------- /lib/osi.vk.win64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/lib/osi.vk.win64.lib -------------------------------------------------------------------------------- /lib/osi.win64.dbg.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/lib/osi.win64.dbg.idb -------------------------------------------------------------------------------- /lib/osi.win64.dbg.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/lib/osi.win64.dbg.lib -------------------------------------------------------------------------------- /lib/osi.win64.dbg.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/lib/osi.win64.dbg.pdb -------------------------------------------------------------------------------- /lib/osi.win64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/lib/osi.win64.lib -------------------------------------------------------------------------------- /lib/osi.win64.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/lib/osi.win64.pdb -------------------------------------------------------------------------------- /nbeans/.dep.inc: -------------------------------------------------------------------------------- 1 | # This code depends on make tool being used 2 | DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES} ${TESTOBJECTFILES})) 3 | ifneq (${DEPFILES},) 4 | include ${DEPFILES} 5 | endif 6 | -------------------------------------------------------------------------------- /nbeans/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # There exist several targets which are by default empty and which can be 3 | # used for execution of your targets. These targets are usually executed 4 | # before and after some main targets. They are: 5 | # 6 | # .build-pre: called before 'build' target 7 | # .build-post: called after 'build' target 8 | # .clean-pre: called before 'clean' target 9 | # .clean-post: called after 'clean' target 10 | # .clobber-pre: called before 'clobber' target 11 | # .clobber-post: called after 'clobber' target 12 | # .all-pre: called before 'all' target 13 | # .all-post: called after 'all' target 14 | # .help-pre: called before 'help' target 15 | # .help-post: called after 'help' target 16 | # 17 | # Targets beginning with '.' are not intended to be called on their own. 18 | # 19 | # Main targets can be executed directly, and they are: 20 | # 21 | # build build a specific configuration 22 | # clean remove built files from a configuration 23 | # clobber remove all built files 24 | # all build all configurations 25 | # help print help mesage 26 | # 27 | # Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and 28 | # .help-impl are implemented in nbproject/makefile-impl.mk. 29 | # 30 | # Available make variables: 31 | # 32 | # CND_BASEDIR base directory for relative paths 33 | # CND_DISTDIR default top distribution directory (build artifacts) 34 | # CND_BUILDDIR default top build directory (object files, ...) 35 | # CONF name of current configuration 36 | # CND_PLATFORM_${CONF} platform name (current configuration) 37 | # CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration) 38 | # CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration) 39 | # CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration) 40 | # CND_PACKAGE_DIR_${CONF} directory of package (current configuration) 41 | # CND_PACKAGE_NAME_${CONF} name of package (current configuration) 42 | # CND_PACKAGE_PATH_${CONF} path to package (current configuration) 43 | # 44 | # NOCDDL 45 | 46 | 47 | # Environment 48 | MKDIR=mkdir 49 | CP=cp 50 | CCADMIN=CCadmin 51 | 52 | 53 | # build 54 | build: .build-post 55 | 56 | .build-pre: 57 | # Add your pre 'build' code here... 58 | 59 | .build-post: .build-impl 60 | # Add your post 'build' code here... 61 | 62 | 63 | # clean 64 | clean: .clean-post 65 | 66 | .clean-pre: 67 | # Add your pre 'clean' code here... 68 | 69 | .clean-post: .clean-impl 70 | # Add your post 'clean' code here... 71 | 72 | 73 | # clobber 74 | clobber: .clobber-post 75 | 76 | .clobber-pre: 77 | # Add your pre 'clobber' code here... 78 | 79 | .clobber-post: .clobber-impl 80 | # Add your post 'clobber' code here... 81 | 82 | 83 | # all 84 | all: .all-post 85 | 86 | .all-pre: 87 | # Add your pre 'all' code here... 88 | 89 | .all-post: .all-impl 90 | # Add your post 'all' code here... 91 | 92 | 93 | # build tests 94 | build-tests: .build-tests-post 95 | 96 | .build-tests-pre: 97 | # Add your pre 'build-tests' code here... 98 | 99 | .build-tests-post: .build-tests-impl 100 | # Add your post 'build-tests' code here... 101 | 102 | 103 | # run tests 104 | test: .test-post 105 | 106 | .test-pre: build-tests 107 | # Add your pre 'test' code here... 108 | 109 | .test-post: .test-impl 110 | # Add your post 'test' code here... 111 | 112 | 113 | # help 114 | help: .help-post 115 | 116 | .help-pre: 117 | # Add your pre 'help' code here... 118 | 119 | .help-post: .help-impl 120 | # Add your post 'help' code here... 121 | 122 | 123 | 124 | # include project implementation makefile 125 | include nbproject/Makefile-impl.mk 126 | 127 | # include project make variables 128 | include nbproject/Makefile-variables.mk 129 | -------------------------------------------------------------------------------- /nbeans/nbproject/Makefile-impl.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a pre- and a post- target defined where you can add customization code. 6 | # 7 | # This makefile implements macros and targets common to all configurations. 8 | # 9 | # NOCDDL 10 | 11 | 12 | # Building and Cleaning subprojects are done by default, but can be controlled with the SUB 13 | # macro. If SUB=no, subprojects will not be built or cleaned. The following macro 14 | # statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf 15 | # and .clean-reqprojects-conf unless SUB has the value 'no' 16 | SUB_no=NO 17 | SUBPROJECTS=${SUB_${SUB}} 18 | BUILD_SUBPROJECTS_=.build-subprojects 19 | BUILD_SUBPROJECTS_NO= 20 | BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} 21 | CLEAN_SUBPROJECTS_=.clean-subprojects 22 | CLEAN_SUBPROJECTS_NO= 23 | CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} 24 | 25 | 26 | # Project Name 27 | PROJECTNAME=nbeans 28 | 29 | # Active Configuration 30 | DEFAULTCONF=lin64.dbg 31 | CONF=${DEFAULTCONF} 32 | 33 | # All Configurations 34 | ALLCONFS=lin64.dbg lin64 lin32.dbg lin32 mac64.dbg mac64 mac32.dbg mac32 vk.lin64.dbg 35 | 36 | 37 | # build 38 | .build-impl: .build-pre .validate-impl .depcheck-impl 39 | @#echo "=> Running $@... Configuration=$(CONF)" 40 | "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf 41 | 42 | 43 | # clean 44 | .clean-impl: .clean-pre .validate-impl .depcheck-impl 45 | @#echo "=> Running $@... Configuration=$(CONF)" 46 | "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf 47 | 48 | 49 | # clobber 50 | .clobber-impl: .clobber-pre .depcheck-impl 51 | @#echo "=> Running $@..." 52 | for CONF in ${ALLCONFS}; \ 53 | do \ 54 | "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \ 55 | done 56 | 57 | # all 58 | .all-impl: .all-pre .depcheck-impl 59 | @#echo "=> Running $@..." 60 | for CONF in ${ALLCONFS}; \ 61 | do \ 62 | "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \ 63 | done 64 | 65 | # build tests 66 | .build-tests-impl: .build-impl .build-tests-pre 67 | @#echo "=> Running $@... Configuration=$(CONF)" 68 | "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf 69 | 70 | # run tests 71 | .test-impl: .build-tests-impl .test-pre 72 | @#echo "=> Running $@... Configuration=$(CONF)" 73 | "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf 74 | 75 | # dependency checking support 76 | .depcheck-impl: 77 | @echo "# This code depends on make tool being used" >.dep.inc 78 | @if [ -n "${MAKE_VERSION}" ]; then \ 79 | echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES} \$${TESTOBJECTFILES}))" >>.dep.inc; \ 80 | echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ 81 | echo "include \$${DEPFILES}" >>.dep.inc; \ 82 | echo "endif" >>.dep.inc; \ 83 | else \ 84 | echo ".KEEP_STATE:" >>.dep.inc; \ 85 | echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ 86 | fi 87 | 88 | # configuration validation 89 | .validate-impl: 90 | @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ 91 | then \ 92 | echo ""; \ 93 | echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \ 94 | echo "See 'make help' for details."; \ 95 | echo "Current directory: " `pwd`; \ 96 | echo ""; \ 97 | fi 98 | @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ 99 | then \ 100 | exit 1; \ 101 | fi 102 | 103 | 104 | # help 105 | .help-impl: .help-pre 106 | @echo "This makefile supports the following configurations:" 107 | @echo " ${ALLCONFS}" 108 | @echo "" 109 | @echo "and the following targets:" 110 | @echo " build (default target)" 111 | @echo " clean" 112 | @echo " clobber" 113 | @echo " all" 114 | @echo " help" 115 | @echo "" 116 | @echo "Makefile Usage:" 117 | @echo " make [CONF=] [SUB=no] build" 118 | @echo " make [CONF=] [SUB=no] clean" 119 | @echo " make [SUB=no] clobber" 120 | @echo " make [SUB=no] all" 121 | @echo " make help" 122 | @echo "" 123 | @echo "Target 'build' will build a specific configuration and, unless 'SUB=no'," 124 | @echo " also build subprojects." 125 | @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no'," 126 | @echo " also clean subprojects." 127 | @echo "Target 'clobber' will remove all built files from all configurations and," 128 | @echo " unless 'SUB=no', also from subprojects." 129 | @echo "Target 'all' will will build all configurations and, unless 'SUB=no'," 130 | @echo " also build subprojects." 131 | @echo "Target 'help' prints this message." 132 | @echo "" 133 | 134 | -------------------------------------------------------------------------------- /nbeans/nbproject/Makefile-lin32.dbg.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a -pre and a -post target defined where you can add customized code. 6 | # 7 | # This makefile implements configuration specific macros and targets. 8 | 9 | 10 | # Environment 11 | MKDIR=mkdir 12 | CP=cp 13 | GREP=grep 14 | NM=nm 15 | CCADMIN=CCadmin 16 | RANLIB=ranlib 17 | CC=clang 18 | CCC=clang++ 19 | CXX=clang++ 20 | FC=gfortran 21 | AS=as 22 | 23 | # Macros 24 | CND_PLATFORM=GNU-Linux 25 | CND_DLIB_EXT=so 26 | CND_CONF=lin32.dbg 27 | CND_DISTDIR=dist 28 | CND_BUILDDIR=build 29 | 30 | # Include project Makefile 31 | include Makefile 32 | 33 | # Object Directory 34 | OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} 35 | 36 | # Object Files 37 | OBJECTFILES= \ 38 | ${OBJECTDIR}/_ext/511e4115/osiChar.o \ 39 | ${OBJECTDIR}/_ext/511e4115/osiCocoa.o \ 40 | ${OBJECTDIR}/_ext/511e4115/osiDisplay.o \ 41 | ${OBJECTDIR}/_ext/511e4115/osiGlExt.o \ 42 | ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o \ 43 | ${OBJECTDIR}/_ext/511e4115/osiInput.o \ 44 | ${OBJECTDIR}/_ext/511e4115/osiVulkan.o \ 45 | ${OBJECTDIR}/_ext/511e4115/osiWindow.o \ 46 | ${OBJECTDIR}/_ext/511e4115/osinteraction.o \ 47 | ${OBJECTDIR}/_ext/c34564bc/errorHandling.o \ 48 | ${OBJECTDIR}/_ext/c34564bc/fileOp.o \ 49 | ${OBJECTDIR}/_ext/c34564bc/filePNG.o \ 50 | ${OBJECTDIR}/_ext/c34564bc/fileTGA.o \ 51 | ${OBJECTDIR}/_ext/c34564bc/imgClass.o \ 52 | ${OBJECTDIR}/_ext/c34564bc/mzPacker.o \ 53 | ${OBJECTDIR}/_ext/c34564bc/segList.o \ 54 | ${OBJECTDIR}/_ext/c34564bc/str16.o \ 55 | ${OBJECTDIR}/_ext/c34564bc/str32.o \ 56 | ${OBJECTDIR}/_ext/c34564bc/str8.o \ 57 | ${OBJECTDIR}/_ext/c34564bc/strCommon.o 58 | 59 | 60 | # C Compiler Flags 61 | CFLAGS=-m32 62 | 63 | # CC Compiler Flags 64 | CCFLAGS=-m32 65 | CXXFLAGS=-m32 66 | 67 | # Fortran Compiler Flags 68 | FFLAGS=-m32 69 | 70 | # Assembler Flags 71 | ASFLAGS=--32 72 | 73 | # Link Libraries and Options 74 | LDLIBSOPTIONS= 75 | 76 | # Build Targets 77 | .build-conf: ${BUILD_SUBPROJECTS} 78 | "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ../lib/osi.lin32.dbg.so 79 | 80 | ../lib/osi.lin32.dbg.so: ${OBJECTFILES} 81 | ${MKDIR} -p ../lib 82 | ${RM} ../lib/osi.lin32.dbg.so 83 | ${AR} -rv ../lib/osi.lin32.dbg.so ${OBJECTFILES} 84 | $(RANLIB) ../lib/osi.lin32.dbg.so 85 | 86 | ${OBJECTDIR}/_ext/511e4115/osiChar.o: ../src/osiChar.cpp 87 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 88 | ${RM} "$@.d" 89 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiChar.o ../src/osiChar.cpp 90 | 91 | ${OBJECTDIR}/_ext/511e4115/osiCocoa.o: ../src/osiCocoa.mm 92 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 93 | ${RM} "$@.d" 94 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiCocoa.o ../src/osiCocoa.mm 95 | 96 | ${OBJECTDIR}/_ext/511e4115/osiDisplay.o: ../src/osiDisplay.cpp 97 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 98 | ${RM} "$@.d" 99 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiDisplay.o ../src/osiDisplay.cpp 100 | 101 | ${OBJECTDIR}/_ext/511e4115/osiGlExt.o: ../src/osiGlExt.cpp 102 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 103 | ${RM} "$@.d" 104 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiGlExt.o ../src/osiGlExt.cpp 105 | 106 | ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o: ../src/osiGlRenderer.cpp 107 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 108 | ${RM} "$@.d" 109 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o ../src/osiGlRenderer.cpp 110 | 111 | ${OBJECTDIR}/_ext/511e4115/osiInput.o: ../src/osiInput.cpp 112 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 113 | ${RM} "$@.d" 114 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiInput.o ../src/osiInput.cpp 115 | 116 | ${OBJECTDIR}/_ext/511e4115/osiVulkan.o: ../src/osiVulkan.cpp 117 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 118 | ${RM} "$@.d" 119 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiVulkan.o ../src/osiVulkan.cpp 120 | 121 | ${OBJECTDIR}/_ext/511e4115/osiWindow.o: ../src/osiWindow.cpp 122 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 123 | ${RM} "$@.d" 124 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiWindow.o ../src/osiWindow.cpp 125 | 126 | ${OBJECTDIR}/_ext/511e4115/osinteraction.o: ../src/osinteraction.cpp 127 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 128 | ${RM} "$@.d" 129 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osinteraction.o ../src/osinteraction.cpp 130 | 131 | ${OBJECTDIR}/_ext/c34564bc/errorHandling.o: ../src/util/errorHandling.cpp 132 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 133 | ${RM} "$@.d" 134 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/errorHandling.o ../src/util/errorHandling.cpp 135 | 136 | ${OBJECTDIR}/_ext/c34564bc/fileOp.o: ../src/util/fileOp.cpp 137 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 138 | ${RM} "$@.d" 139 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/fileOp.o ../src/util/fileOp.cpp 140 | 141 | ${OBJECTDIR}/_ext/c34564bc/filePNG.o: ../src/util/filePNG.cpp 142 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 143 | ${RM} "$@.d" 144 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/filePNG.o ../src/util/filePNG.cpp 145 | 146 | ${OBJECTDIR}/_ext/c34564bc/fileTGA.o: ../src/util/fileTGA.cpp 147 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 148 | ${RM} "$@.d" 149 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/fileTGA.o ../src/util/fileTGA.cpp 150 | 151 | ${OBJECTDIR}/_ext/c34564bc/imgClass.o: ../src/util/imgClass.cpp 152 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 153 | ${RM} "$@.d" 154 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/imgClass.o ../src/util/imgClass.cpp 155 | 156 | ${OBJECTDIR}/_ext/c34564bc/mzPacker.o: ../src/util/mzPacker.cpp 157 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 158 | ${RM} "$@.d" 159 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/mzPacker.o ../src/util/mzPacker.cpp 160 | 161 | ${OBJECTDIR}/_ext/c34564bc/segList.o: ../src/util/segList.cpp 162 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 163 | ${RM} "$@.d" 164 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/segList.o ../src/util/segList.cpp 165 | 166 | ${OBJECTDIR}/_ext/c34564bc/str16.o: ../src/util/str16.cpp 167 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 168 | ${RM} "$@.d" 169 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str16.o ../src/util/str16.cpp 170 | 171 | ${OBJECTDIR}/_ext/c34564bc/str32.o: ../src/util/str32.cpp 172 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 173 | ${RM} "$@.d" 174 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str32.o ../src/util/str32.cpp 175 | 176 | ${OBJECTDIR}/_ext/c34564bc/str8.o: ../src/util/str8.cpp 177 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 178 | ${RM} "$@.d" 179 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str8.o ../src/util/str8.cpp 180 | 181 | ${OBJECTDIR}/_ext/c34564bc/strCommon.o: ../src/util/strCommon.cpp 182 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 183 | ${RM} "$@.d" 184 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VULKAN -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/strCommon.o ../src/util/strCommon.cpp 185 | 186 | # Subprojects 187 | .build-subprojects: 188 | 189 | # Clean Targets 190 | .clean-conf: ${CLEAN_SUBPROJECTS} 191 | ${RM} -r ${CND_BUILDDIR}/${CND_CONF} 192 | 193 | # Subprojects 194 | .clean-subprojects: 195 | 196 | # Enable dependency checking 197 | .dep.inc: .depcheck-impl 198 | 199 | include .dep.inc 200 | -------------------------------------------------------------------------------- /nbeans/nbproject/Makefile-lin32.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a -pre and a -post target defined where you can add customized code. 6 | # 7 | # This makefile implements configuration specific macros and targets. 8 | 9 | 10 | # Environment 11 | MKDIR=mkdir 12 | CP=cp 13 | GREP=grep 14 | NM=nm 15 | CCADMIN=CCadmin 16 | RANLIB=ranlib 17 | CC=clang 18 | CCC=clang++ 19 | CXX=clang++ 20 | FC=gfortran 21 | AS=as 22 | 23 | # Macros 24 | CND_PLATFORM=GNU-Linux 25 | CND_DLIB_EXT=so 26 | CND_CONF=lin32 27 | CND_DISTDIR=dist 28 | CND_BUILDDIR=build 29 | 30 | # Include project Makefile 31 | include Makefile 32 | 33 | # Object Directory 34 | OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} 35 | 36 | # Object Files 37 | OBJECTFILES= \ 38 | ${OBJECTDIR}/_ext/511e4115/osiChar.o \ 39 | ${OBJECTDIR}/_ext/511e4115/osiCocoa.o \ 40 | ${OBJECTDIR}/_ext/511e4115/osiDisplay.o \ 41 | ${OBJECTDIR}/_ext/511e4115/osiGlExt.o \ 42 | ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o \ 43 | ${OBJECTDIR}/_ext/511e4115/osiInput.o \ 44 | ${OBJECTDIR}/_ext/511e4115/osiVulkan.o \ 45 | ${OBJECTDIR}/_ext/511e4115/osiWindow.o \ 46 | ${OBJECTDIR}/_ext/511e4115/osinteraction.o \ 47 | ${OBJECTDIR}/_ext/c34564bc/errorHandling.o \ 48 | ${OBJECTDIR}/_ext/c34564bc/fileOp.o \ 49 | ${OBJECTDIR}/_ext/c34564bc/filePNG.o \ 50 | ${OBJECTDIR}/_ext/c34564bc/fileTGA.o \ 51 | ${OBJECTDIR}/_ext/c34564bc/imgClass.o \ 52 | ${OBJECTDIR}/_ext/c34564bc/mzPacker.o \ 53 | ${OBJECTDIR}/_ext/c34564bc/segList.o \ 54 | ${OBJECTDIR}/_ext/c34564bc/str16.o \ 55 | ${OBJECTDIR}/_ext/c34564bc/str32.o \ 56 | ${OBJECTDIR}/_ext/c34564bc/str8.o \ 57 | ${OBJECTDIR}/_ext/c34564bc/strCommon.o 58 | 59 | 60 | # C Compiler Flags 61 | CFLAGS=-m32 62 | 63 | # CC Compiler Flags 64 | CCFLAGS=-m32 65 | CXXFLAGS=-m32 66 | 67 | # Fortran Compiler Flags 68 | FFLAGS=-m32 69 | 70 | # Assembler Flags 71 | ASFLAGS=--32 72 | 73 | # Link Libraries and Options 74 | LDLIBSOPTIONS= 75 | 76 | # Build Targets 77 | .build-conf: ${BUILD_SUBPROJECTS} 78 | "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ../lib/osi.lin32.so 79 | 80 | ../lib/osi.lin32.so: ${OBJECTFILES} 81 | ${MKDIR} -p ../lib 82 | ${RM} ../lib/osi.lin32.so 83 | ${AR} -rv ../lib/osi.lin32.so ${OBJECTFILES} 84 | $(RANLIB) ../lib/osi.lin32.so 85 | 86 | ${OBJECTDIR}/_ext/511e4115/osiChar.o: ../src/osiChar.cpp 87 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 88 | ${RM} "$@.d" 89 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiChar.o ../src/osiChar.cpp 90 | 91 | ${OBJECTDIR}/_ext/511e4115/osiCocoa.o: ../src/osiCocoa.mm 92 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 93 | ${RM} "$@.d" 94 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiCocoa.o ../src/osiCocoa.mm 95 | 96 | ${OBJECTDIR}/_ext/511e4115/osiDisplay.o: ../src/osiDisplay.cpp 97 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 98 | ${RM} "$@.d" 99 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiDisplay.o ../src/osiDisplay.cpp 100 | 101 | ${OBJECTDIR}/_ext/511e4115/osiGlExt.o: ../src/osiGlExt.cpp 102 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 103 | ${RM} "$@.d" 104 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiGlExt.o ../src/osiGlExt.cpp 105 | 106 | ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o: ../src/osiGlRenderer.cpp 107 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 108 | ${RM} "$@.d" 109 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o ../src/osiGlRenderer.cpp 110 | 111 | ${OBJECTDIR}/_ext/511e4115/osiInput.o: ../src/osiInput.cpp 112 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 113 | ${RM} "$@.d" 114 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiInput.o ../src/osiInput.cpp 115 | 116 | ${OBJECTDIR}/_ext/511e4115/osiVulkan.o: ../src/osiVulkan.cpp 117 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 118 | ${RM} "$@.d" 119 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiVulkan.o ../src/osiVulkan.cpp 120 | 121 | ${OBJECTDIR}/_ext/511e4115/osiWindow.o: ../src/osiWindow.cpp 122 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 123 | ${RM} "$@.d" 124 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiWindow.o ../src/osiWindow.cpp 125 | 126 | ${OBJECTDIR}/_ext/511e4115/osinteraction.o: ../src/osinteraction.cpp 127 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 128 | ${RM} "$@.d" 129 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osinteraction.o ../src/osinteraction.cpp 130 | 131 | ${OBJECTDIR}/_ext/c34564bc/errorHandling.o: ../src/util/errorHandling.cpp 132 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 133 | ${RM} "$@.d" 134 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/errorHandling.o ../src/util/errorHandling.cpp 135 | 136 | ${OBJECTDIR}/_ext/c34564bc/fileOp.o: ../src/util/fileOp.cpp 137 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 138 | ${RM} "$@.d" 139 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/fileOp.o ../src/util/fileOp.cpp 140 | 141 | ${OBJECTDIR}/_ext/c34564bc/filePNG.o: ../src/util/filePNG.cpp 142 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 143 | ${RM} "$@.d" 144 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/filePNG.o ../src/util/filePNG.cpp 145 | 146 | ${OBJECTDIR}/_ext/c34564bc/fileTGA.o: ../src/util/fileTGA.cpp 147 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 148 | ${RM} "$@.d" 149 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/fileTGA.o ../src/util/fileTGA.cpp 150 | 151 | ${OBJECTDIR}/_ext/c34564bc/imgClass.o: ../src/util/imgClass.cpp 152 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 153 | ${RM} "$@.d" 154 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/imgClass.o ../src/util/imgClass.cpp 155 | 156 | ${OBJECTDIR}/_ext/c34564bc/mzPacker.o: ../src/util/mzPacker.cpp 157 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 158 | ${RM} "$@.d" 159 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/mzPacker.o ../src/util/mzPacker.cpp 160 | 161 | ${OBJECTDIR}/_ext/c34564bc/segList.o: ../src/util/segList.cpp 162 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 163 | ${RM} "$@.d" 164 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/segList.o ../src/util/segList.cpp 165 | 166 | ${OBJECTDIR}/_ext/c34564bc/str16.o: ../src/util/str16.cpp 167 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 168 | ${RM} "$@.d" 169 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str16.o ../src/util/str16.cpp 170 | 171 | ${OBJECTDIR}/_ext/c34564bc/str32.o: ../src/util/str32.cpp 172 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 173 | ${RM} "$@.d" 174 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str32.o ../src/util/str32.cpp 175 | 176 | ${OBJECTDIR}/_ext/c34564bc/str8.o: ../src/util/str8.cpp 177 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 178 | ${RM} "$@.d" 179 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str8.o ../src/util/str8.cpp 180 | 181 | ${OBJECTDIR}/_ext/c34564bc/strCommon.o: ../src/util/strCommon.cpp 182 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 183 | ${RM} "$@.d" 184 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/strCommon.o ../src/util/strCommon.cpp 185 | 186 | # Subprojects 187 | .build-subprojects: 188 | 189 | # Clean Targets 190 | .clean-conf: ${CLEAN_SUBPROJECTS} 191 | ${RM} -r ${CND_BUILDDIR}/${CND_CONF} 192 | 193 | # Subprojects 194 | .clean-subprojects: 195 | 196 | # Enable dependency checking 197 | .dep.inc: .depcheck-impl 198 | 199 | include .dep.inc 200 | -------------------------------------------------------------------------------- /nbeans/nbproject/Makefile-lin64.dbg.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a -pre and a -post target defined where you can add customized code. 6 | # 7 | # This makefile implements configuration specific macros and targets. 8 | 9 | 10 | # Environment 11 | MKDIR=mkdir 12 | CP=cp 13 | GREP=grep 14 | NM=nm 15 | CCADMIN=CCadmin 16 | RANLIB=ranlib 17 | CC=clang 18 | CCC=clang++ 19 | CXX=clang++ 20 | FC=gfortran 21 | AS=as 22 | 23 | # Macros 24 | CND_PLATFORM=CLang-Linux 25 | CND_DLIB_EXT=so 26 | CND_CONF=lin64.dbg 27 | CND_DISTDIR=dist 28 | CND_BUILDDIR=build 29 | 30 | # Include project Makefile 31 | include Makefile 32 | 33 | # Object Directory 34 | OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} 35 | 36 | # Object Files 37 | OBJECTFILES= \ 38 | ${OBJECTDIR}/_ext/511e4115/osiChar.o \ 39 | ${OBJECTDIR}/_ext/511e4115/osiCocoa.o \ 40 | ${OBJECTDIR}/_ext/511e4115/osiDisplay.o \ 41 | ${OBJECTDIR}/_ext/511e4115/osiGlExt.o \ 42 | ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o \ 43 | ${OBJECTDIR}/_ext/511e4115/osiInput.o \ 44 | ${OBJECTDIR}/_ext/511e4115/osiVulkan.o \ 45 | ${OBJECTDIR}/_ext/511e4115/osiWindow.o \ 46 | ${OBJECTDIR}/_ext/511e4115/osinteraction.o \ 47 | ${OBJECTDIR}/_ext/c34564bc/errorHandling.o \ 48 | ${OBJECTDIR}/_ext/c34564bc/fileOp.o \ 49 | ${OBJECTDIR}/_ext/c34564bc/filePNG.o \ 50 | ${OBJECTDIR}/_ext/c34564bc/fileTGA.o \ 51 | ${OBJECTDIR}/_ext/c34564bc/imgClass.o \ 52 | ${OBJECTDIR}/_ext/c34564bc/mzPacker.o \ 53 | ${OBJECTDIR}/_ext/c34564bc/segList.o \ 54 | ${OBJECTDIR}/_ext/c34564bc/str16.o \ 55 | ${OBJECTDIR}/_ext/c34564bc/str32.o \ 56 | ${OBJECTDIR}/_ext/c34564bc/str8.o \ 57 | ${OBJECTDIR}/_ext/c34564bc/strCommon.o 58 | 59 | 60 | # C Compiler Flags 61 | CFLAGS=-m64 62 | 63 | # CC Compiler Flags 64 | CCFLAGS=-m64 65 | CXXFLAGS=-m64 66 | 67 | # Fortran Compiler Flags 68 | FFLAGS=-m64 69 | 70 | # Assembler Flags 71 | ASFLAGS=--64 72 | 73 | # Link Libraries and Options 74 | LDLIBSOPTIONS= 75 | 76 | # Build Targets 77 | .build-conf: ${BUILD_SUBPROJECTS} 78 | "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ../lib/osi.lin64.dbg.so 79 | 80 | ../lib/osi.lin64.dbg.so: ${OBJECTFILES} 81 | ${MKDIR} -p ../lib 82 | ${RM} ../lib/osi.lin64.dbg.so 83 | ${AR} -rv ../lib/osi.lin64.dbg.so ${OBJECTFILES} 84 | $(RANLIB) ../lib/osi.lin64.dbg.so 85 | 86 | ${OBJECTDIR}/_ext/511e4115/osiChar.o: ../src/osiChar.cpp 87 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 88 | ${RM} "$@.d" 89 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiChar.o ../src/osiChar.cpp 90 | 91 | ${OBJECTDIR}/_ext/511e4115/osiCocoa.o: ../src/osiCocoa.mm 92 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 93 | ${RM} "$@.d" 94 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiCocoa.o ../src/osiCocoa.mm 95 | 96 | ${OBJECTDIR}/_ext/511e4115/osiDisplay.o: ../src/osiDisplay.cpp 97 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 98 | ${RM} "$@.d" 99 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiDisplay.o ../src/osiDisplay.cpp 100 | 101 | ${OBJECTDIR}/_ext/511e4115/osiGlExt.o: ../src/osiGlExt.cpp 102 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 103 | ${RM} "$@.d" 104 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiGlExt.o ../src/osiGlExt.cpp 105 | 106 | ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o: ../src/osiGlRenderer.cpp 107 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 108 | ${RM} "$@.d" 109 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o ../src/osiGlRenderer.cpp 110 | 111 | ${OBJECTDIR}/_ext/511e4115/osiInput.o: ../src/osiInput.cpp 112 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 113 | ${RM} "$@.d" 114 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiInput.o ../src/osiInput.cpp 115 | 116 | ${OBJECTDIR}/_ext/511e4115/osiVulkan.o: ../src/osiVulkan.cpp 117 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 118 | ${RM} "$@.d" 119 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiVulkan.o ../src/osiVulkan.cpp 120 | 121 | ${OBJECTDIR}/_ext/511e4115/osiWindow.o: ../src/osiWindow.cpp 122 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 123 | ${RM} "$@.d" 124 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiWindow.o ../src/osiWindow.cpp 125 | 126 | ${OBJECTDIR}/_ext/511e4115/osinteraction.o: ../src/osinteraction.cpp 127 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 128 | ${RM} "$@.d" 129 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osinteraction.o ../src/osinteraction.cpp 130 | 131 | ${OBJECTDIR}/_ext/c34564bc/errorHandling.o: ../src/util/errorHandling.cpp 132 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 133 | ${RM} "$@.d" 134 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/errorHandling.o ../src/util/errorHandling.cpp 135 | 136 | ${OBJECTDIR}/_ext/c34564bc/fileOp.o: ../src/util/fileOp.cpp 137 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 138 | ${RM} "$@.d" 139 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/fileOp.o ../src/util/fileOp.cpp 140 | 141 | ${OBJECTDIR}/_ext/c34564bc/filePNG.o: ../src/util/filePNG.cpp 142 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 143 | ${RM} "$@.d" 144 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/filePNG.o ../src/util/filePNG.cpp 145 | 146 | ${OBJECTDIR}/_ext/c34564bc/fileTGA.o: ../src/util/fileTGA.cpp 147 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 148 | ${RM} "$@.d" 149 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/fileTGA.o ../src/util/fileTGA.cpp 150 | 151 | ${OBJECTDIR}/_ext/c34564bc/imgClass.o: ../src/util/imgClass.cpp 152 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 153 | ${RM} "$@.d" 154 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/imgClass.o ../src/util/imgClass.cpp 155 | 156 | ${OBJECTDIR}/_ext/c34564bc/mzPacker.o: ../src/util/mzPacker.cpp 157 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 158 | ${RM} "$@.d" 159 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/mzPacker.o ../src/util/mzPacker.cpp 160 | 161 | ${OBJECTDIR}/_ext/c34564bc/segList.o: ../src/util/segList.cpp 162 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 163 | ${RM} "$@.d" 164 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/segList.o ../src/util/segList.cpp 165 | 166 | ${OBJECTDIR}/_ext/c34564bc/str16.o: ../src/util/str16.cpp 167 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 168 | ${RM} "$@.d" 169 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str16.o ../src/util/str16.cpp 170 | 171 | ${OBJECTDIR}/_ext/c34564bc/str32.o: ../src/util/str32.cpp 172 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 173 | ${RM} "$@.d" 174 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str32.o ../src/util/str32.cpp 175 | 176 | ${OBJECTDIR}/_ext/c34564bc/str8.o: ../src/util/str8.cpp 177 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 178 | ${RM} "$@.d" 179 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str8.o ../src/util/str8.cpp 180 | 181 | ${OBJECTDIR}/_ext/c34564bc/strCommon.o: ../src/util/strCommon.cpp 182 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 183 | ${RM} "$@.d" 184 | $(COMPILE.cc) -g -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/strCommon.o ../src/util/strCommon.cpp 185 | 186 | # Subprojects 187 | .build-subprojects: 188 | 189 | # Clean Targets 190 | .clean-conf: ${CLEAN_SUBPROJECTS} 191 | ${RM} -r ${CND_BUILDDIR}/${CND_CONF} 192 | 193 | # Subprojects 194 | .clean-subprojects: 195 | 196 | # Enable dependency checking 197 | .dep.inc: .depcheck-impl 198 | 199 | include .dep.inc 200 | -------------------------------------------------------------------------------- /nbeans/nbproject/Makefile-lin64.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a -pre and a -post target defined where you can add customized code. 6 | # 7 | # This makefile implements configuration specific macros and targets. 8 | 9 | 10 | # Environment 11 | MKDIR=mkdir 12 | CP=cp 13 | GREP=grep 14 | NM=nm 15 | CCADMIN=CCadmin 16 | RANLIB=ranlib 17 | CC=clang 18 | CCC=clang++ 19 | CXX=clang++ 20 | FC=gfortran 21 | AS=as 22 | 23 | # Macros 24 | CND_PLATFORM=GNU-Linux 25 | CND_DLIB_EXT=so 26 | CND_CONF=lin64 27 | CND_DISTDIR=dist 28 | CND_BUILDDIR=build 29 | 30 | # Include project Makefile 31 | include Makefile 32 | 33 | # Object Directory 34 | OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} 35 | 36 | # Object Files 37 | OBJECTFILES= \ 38 | ${OBJECTDIR}/_ext/511e4115/osiChar.o \ 39 | ${OBJECTDIR}/_ext/511e4115/osiCocoa.o \ 40 | ${OBJECTDIR}/_ext/511e4115/osiDisplay.o \ 41 | ${OBJECTDIR}/_ext/511e4115/osiGlExt.o \ 42 | ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o \ 43 | ${OBJECTDIR}/_ext/511e4115/osiInput.o \ 44 | ${OBJECTDIR}/_ext/511e4115/osiVulkan.o \ 45 | ${OBJECTDIR}/_ext/511e4115/osiWindow.o \ 46 | ${OBJECTDIR}/_ext/511e4115/osinteraction.o \ 47 | ${OBJECTDIR}/_ext/c34564bc/errorHandling.o \ 48 | ${OBJECTDIR}/_ext/c34564bc/fileOp.o \ 49 | ${OBJECTDIR}/_ext/c34564bc/filePNG.o \ 50 | ${OBJECTDIR}/_ext/c34564bc/fileTGA.o \ 51 | ${OBJECTDIR}/_ext/c34564bc/imgClass.o \ 52 | ${OBJECTDIR}/_ext/c34564bc/mzPacker.o \ 53 | ${OBJECTDIR}/_ext/c34564bc/segList.o \ 54 | ${OBJECTDIR}/_ext/c34564bc/str16.o \ 55 | ${OBJECTDIR}/_ext/c34564bc/str32.o \ 56 | ${OBJECTDIR}/_ext/c34564bc/str8.o \ 57 | ${OBJECTDIR}/_ext/c34564bc/strCommon.o 58 | 59 | 60 | # C Compiler Flags 61 | CFLAGS=-m64 62 | 63 | # CC Compiler Flags 64 | CCFLAGS=-m64 65 | CXXFLAGS=-m64 66 | 67 | # Fortran Compiler Flags 68 | FFLAGS=-m64 69 | 70 | # Assembler Flags 71 | ASFLAGS=--64 72 | 73 | # Link Libraries and Options 74 | LDLIBSOPTIONS= 75 | 76 | # Build Targets 77 | .build-conf: ${BUILD_SUBPROJECTS} 78 | "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ../lib/osi.lin64.so 79 | 80 | ../lib/osi.lin64.so: ${OBJECTFILES} 81 | ${MKDIR} -p ../lib 82 | ${RM} ../lib/osi.lin64.so 83 | ${AR} -rv ../lib/osi.lin64.so ${OBJECTFILES} 84 | $(RANLIB) ../lib/osi.lin64.so 85 | 86 | ${OBJECTDIR}/_ext/511e4115/osiChar.o: ../src/osiChar.cpp 87 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 88 | ${RM} "$@.d" 89 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiChar.o ../src/osiChar.cpp 90 | 91 | ${OBJECTDIR}/_ext/511e4115/osiCocoa.o: ../src/osiCocoa.mm 92 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 93 | ${RM} "$@.d" 94 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiCocoa.o ../src/osiCocoa.mm 95 | 96 | ${OBJECTDIR}/_ext/511e4115/osiDisplay.o: ../src/osiDisplay.cpp 97 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 98 | ${RM} "$@.d" 99 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiDisplay.o ../src/osiDisplay.cpp 100 | 101 | ${OBJECTDIR}/_ext/511e4115/osiGlExt.o: ../src/osiGlExt.cpp 102 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 103 | ${RM} "$@.d" 104 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiGlExt.o ../src/osiGlExt.cpp 105 | 106 | ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o: ../src/osiGlRenderer.cpp 107 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 108 | ${RM} "$@.d" 109 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o ../src/osiGlRenderer.cpp 110 | 111 | ${OBJECTDIR}/_ext/511e4115/osiInput.o: ../src/osiInput.cpp 112 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 113 | ${RM} "$@.d" 114 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiInput.o ../src/osiInput.cpp 115 | 116 | ${OBJECTDIR}/_ext/511e4115/osiVulkan.o: ../src/osiVulkan.cpp 117 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 118 | ${RM} "$@.d" 119 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiVulkan.o ../src/osiVulkan.cpp 120 | 121 | ${OBJECTDIR}/_ext/511e4115/osiWindow.o: ../src/osiWindow.cpp 122 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 123 | ${RM} "$@.d" 124 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiWindow.o ../src/osiWindow.cpp 125 | 126 | ${OBJECTDIR}/_ext/511e4115/osinteraction.o: ../src/osinteraction.cpp 127 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 128 | ${RM} "$@.d" 129 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osinteraction.o ../src/osinteraction.cpp 130 | 131 | ${OBJECTDIR}/_ext/c34564bc/errorHandling.o: ../src/util/errorHandling.cpp 132 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 133 | ${RM} "$@.d" 134 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/errorHandling.o ../src/util/errorHandling.cpp 135 | 136 | ${OBJECTDIR}/_ext/c34564bc/fileOp.o: ../src/util/fileOp.cpp 137 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 138 | ${RM} "$@.d" 139 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/fileOp.o ../src/util/fileOp.cpp 140 | 141 | ${OBJECTDIR}/_ext/c34564bc/filePNG.o: ../src/util/filePNG.cpp 142 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 143 | ${RM} "$@.d" 144 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/filePNG.o ../src/util/filePNG.cpp 145 | 146 | ${OBJECTDIR}/_ext/c34564bc/fileTGA.o: ../src/util/fileTGA.cpp 147 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 148 | ${RM} "$@.d" 149 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/fileTGA.o ../src/util/fileTGA.cpp 150 | 151 | ${OBJECTDIR}/_ext/c34564bc/imgClass.o: ../src/util/imgClass.cpp 152 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 153 | ${RM} "$@.d" 154 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/imgClass.o ../src/util/imgClass.cpp 155 | 156 | ${OBJECTDIR}/_ext/c34564bc/mzPacker.o: ../src/util/mzPacker.cpp 157 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 158 | ${RM} "$@.d" 159 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/mzPacker.o ../src/util/mzPacker.cpp 160 | 161 | ${OBJECTDIR}/_ext/c34564bc/segList.o: ../src/util/segList.cpp 162 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 163 | ${RM} "$@.d" 164 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/segList.o ../src/util/segList.cpp 165 | 166 | ${OBJECTDIR}/_ext/c34564bc/str16.o: ../src/util/str16.cpp 167 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 168 | ${RM} "$@.d" 169 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str16.o ../src/util/str16.cpp 170 | 171 | ${OBJECTDIR}/_ext/c34564bc/str32.o: ../src/util/str32.cpp 172 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 173 | ${RM} "$@.d" 174 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str32.o ../src/util/str32.cpp 175 | 176 | ${OBJECTDIR}/_ext/c34564bc/str8.o: ../src/util/str8.cpp 177 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 178 | ${RM} "$@.d" 179 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str8.o ../src/util/str8.cpp 180 | 181 | ${OBJECTDIR}/_ext/c34564bc/strCommon.o: ../src/util/strCommon.cpp 182 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 183 | ${RM} "$@.d" 184 | $(COMPILE.cc) -O2 -DOSI_USE_OPENGL -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/strCommon.o ../src/util/strCommon.cpp 185 | 186 | # Subprojects 187 | .build-subprojects: 188 | 189 | # Clean Targets 190 | .clean-conf: ${CLEAN_SUBPROJECTS} 191 | ${RM} -r ${CND_BUILDDIR}/${CND_CONF} 192 | 193 | # Subprojects 194 | .clean-subprojects: 195 | 196 | # Enable dependency checking 197 | .dep.inc: .depcheck-impl 198 | 199 | include .dep.inc 200 | -------------------------------------------------------------------------------- /nbeans/nbproject/Makefile-variables.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated - do not edit! 3 | # 4 | # NOCDDL 5 | # 6 | CND_BASEDIR=`pwd` 7 | CND_BUILDDIR=build 8 | CND_DISTDIR=dist 9 | # lin64.dbg configuration 10 | CND_PLATFORM_lin64.dbg=CLang-Linux 11 | CND_ARTIFACT_DIR_lin64.dbg=../lib 12 | CND_ARTIFACT_NAME_lin64.dbg=osi.lin64.dbg.so 13 | CND_ARTIFACT_PATH_lin64.dbg=../lib/osi.lin64.dbg.so 14 | CND_PACKAGE_DIR_lin64.dbg=dist/lin64.dbg/CLang-Linux/package 15 | CND_PACKAGE_NAME_lin64.dbg=nbeans.tar 16 | CND_PACKAGE_PATH_lin64.dbg=dist/lin64.dbg/CLang-Linux/package/nbeans.tar 17 | # lin64 configuration 18 | CND_PLATFORM_lin64=GNU-Linux 19 | CND_ARTIFACT_DIR_lin64=../lib 20 | CND_ARTIFACT_NAME_lin64=osi.lin64.so 21 | CND_ARTIFACT_PATH_lin64=../lib/osi.lin64.so 22 | CND_PACKAGE_DIR_lin64=dist/lin64/GNU-Linux/package 23 | CND_PACKAGE_NAME_lin64=nbeans.tar 24 | CND_PACKAGE_PATH_lin64=dist/lin64/GNU-Linux/package/nbeans.tar 25 | # lin32.dbg configuration 26 | CND_PLATFORM_lin32.dbg=GNU-Linux 27 | CND_ARTIFACT_DIR_lin32.dbg=../lib 28 | CND_ARTIFACT_NAME_lin32.dbg=osi.lin32.dbg.so 29 | CND_ARTIFACT_PATH_lin32.dbg=../lib/osi.lin32.dbg.so 30 | CND_PACKAGE_DIR_lin32.dbg=dist/lin32.dbg/GNU-Linux/package 31 | CND_PACKAGE_NAME_lin32.dbg=nbeans.tar 32 | CND_PACKAGE_PATH_lin32.dbg=dist/lin32.dbg/GNU-Linux/package/nbeans.tar 33 | # lin32 configuration 34 | CND_PLATFORM_lin32=GNU-Linux 35 | CND_ARTIFACT_DIR_lin32=../lib 36 | CND_ARTIFACT_NAME_lin32=osi.lin32.so 37 | CND_ARTIFACT_PATH_lin32=../lib/osi.lin32.so 38 | CND_PACKAGE_DIR_lin32=dist/lin32/GNU-Linux/package 39 | CND_PACKAGE_NAME_lin32=nbeans.tar 40 | CND_PACKAGE_PATH_lin32=dist/lin32/GNU-Linux/package/nbeans.tar 41 | # vk.lin64.dbg configuration 42 | CND_PLATFORM_vk.lin64.dbg=CLang-Linux 43 | CND_ARTIFACT_DIR_vk.lin64.dbg=../lib 44 | CND_ARTIFACT_NAME_vk.lin64.dbg=osi.vk.lin64.dbg.so 45 | CND_ARTIFACT_PATH_vk.lin64.dbg=../lib/osi.vk.lin64.dbg.so 46 | CND_PACKAGE_DIR_vk.lin64.dbg=dist/vk.lin64.dbg/CLang-Linux/package 47 | CND_PACKAGE_NAME_vk.lin64.dbg=nbeans.tar 48 | CND_PACKAGE_PATH_vk.lin64.dbg=dist/vk.lin64.dbg/CLang-Linux/package/nbeans.tar 49 | # 50 | # include compiler specific variables 51 | # 52 | # dmake command 53 | ROOT:sh = test -f nbproject/private/Makefile-variables.mk || \ 54 | (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk) 55 | # 56 | # gmake command 57 | .PHONY: $(shell test -f nbproject/private/Makefile-variables.mk || (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk)) 58 | # 59 | include nbproject/private/Makefile-variables.mk 60 | -------------------------------------------------------------------------------- /nbeans/nbproject/Makefile-vk.lin64.dbg.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a -pre and a -post target defined where you can add customized code. 6 | # 7 | # This makefile implements configuration specific macros and targets. 8 | 9 | 10 | # Environment 11 | MKDIR=mkdir 12 | CP=cp 13 | GREP=grep 14 | NM=nm 15 | CCADMIN=CCadmin 16 | RANLIB=ranlib 17 | CC=clang 18 | CCC=clang++ 19 | CXX=clang++ 20 | FC=gfortran 21 | AS=as 22 | 23 | # Macros 24 | CND_PLATFORM=CLang-Linux 25 | CND_DLIB_EXT=so 26 | CND_CONF=vk.lin64.dbg 27 | CND_DISTDIR=dist 28 | CND_BUILDDIR=build 29 | 30 | # Include project Makefile 31 | include Makefile 32 | 33 | # Object Directory 34 | OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} 35 | 36 | # Object Files 37 | OBJECTFILES= \ 38 | ${OBJECTDIR}/_ext/511e4115/osiChar.o \ 39 | ${OBJECTDIR}/_ext/511e4115/osiCocoa.o \ 40 | ${OBJECTDIR}/_ext/511e4115/osiDisplay.o \ 41 | ${OBJECTDIR}/_ext/511e4115/osiGlExt.o \ 42 | ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o \ 43 | ${OBJECTDIR}/_ext/511e4115/osiInput.o \ 44 | ${OBJECTDIR}/_ext/511e4115/osiVulkan.o \ 45 | ${OBJECTDIR}/_ext/511e4115/osiWindow.o \ 46 | ${OBJECTDIR}/_ext/511e4115/osinteraction.o \ 47 | ${OBJECTDIR}/_ext/c34564bc/errorHandling.o \ 48 | ${OBJECTDIR}/_ext/c34564bc/fileOp.o \ 49 | ${OBJECTDIR}/_ext/c34564bc/filePNG.o \ 50 | ${OBJECTDIR}/_ext/c34564bc/fileTGA.o \ 51 | ${OBJECTDIR}/_ext/c34564bc/imgClass.o \ 52 | ${OBJECTDIR}/_ext/c34564bc/mzPacker.o \ 53 | ${OBJECTDIR}/_ext/c34564bc/segList.o \ 54 | ${OBJECTDIR}/_ext/c34564bc/str16.o \ 55 | ${OBJECTDIR}/_ext/c34564bc/str32.o \ 56 | ${OBJECTDIR}/_ext/c34564bc/str8.o \ 57 | ${OBJECTDIR}/_ext/c34564bc/strCommon.o 58 | 59 | 60 | # C Compiler Flags 61 | CFLAGS=-m64 62 | 63 | # CC Compiler Flags 64 | CCFLAGS=-m64 65 | CXXFLAGS=-m64 66 | 67 | # Fortran Compiler Flags 68 | FFLAGS= 69 | 70 | # Assembler Flags 71 | ASFLAGS= 72 | 73 | # Link Libraries and Options 74 | LDLIBSOPTIONS= 75 | 76 | # Build Targets 77 | .build-conf: ${BUILD_SUBPROJECTS} 78 | "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ../lib/osi.vk.lin64.dbg.so 79 | 80 | ../lib/osi.vk.lin64.dbg.so: ${OBJECTFILES} 81 | ${MKDIR} -p ../lib 82 | ${RM} ../lib/osi.vk.lin64.dbg.so 83 | ${AR} -rv ../lib/osi.vk.lin64.dbg.so ${OBJECTFILES} 84 | $(RANLIB) ../lib/osi.vk.lin64.dbg.so 85 | 86 | ${OBJECTDIR}/_ext/511e4115/osiChar.o: ../src/osiChar.cpp 87 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 88 | ${RM} "$@.d" 89 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiChar.o ../src/osiChar.cpp 90 | 91 | ${OBJECTDIR}/_ext/511e4115/osiCocoa.o: ../src/osiCocoa.mm 92 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 93 | ${RM} "$@.d" 94 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiCocoa.o ../src/osiCocoa.mm 95 | 96 | ${OBJECTDIR}/_ext/511e4115/osiDisplay.o: ../src/osiDisplay.cpp 97 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 98 | ${RM} "$@.d" 99 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiDisplay.o ../src/osiDisplay.cpp 100 | 101 | ${OBJECTDIR}/_ext/511e4115/osiGlExt.o: ../src/osiGlExt.cpp 102 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 103 | ${RM} "$@.d" 104 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiGlExt.o ../src/osiGlExt.cpp 105 | 106 | ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o: ../src/osiGlRenderer.cpp 107 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 108 | ${RM} "$@.d" 109 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiGlRenderer.o ../src/osiGlRenderer.cpp 110 | 111 | ${OBJECTDIR}/_ext/511e4115/osiInput.o: ../src/osiInput.cpp 112 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 113 | ${RM} "$@.d" 114 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiInput.o ../src/osiInput.cpp 115 | 116 | ${OBJECTDIR}/_ext/511e4115/osiVulkan.o: ../src/osiVulkan.cpp 117 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 118 | ${RM} "$@.d" 119 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiVulkan.o ../src/osiVulkan.cpp 120 | 121 | ${OBJECTDIR}/_ext/511e4115/osiWindow.o: ../src/osiWindow.cpp 122 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 123 | ${RM} "$@.d" 124 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osiWindow.o ../src/osiWindow.cpp 125 | 126 | ${OBJECTDIR}/_ext/511e4115/osinteraction.o: ../src/osinteraction.cpp 127 | ${MKDIR} -p ${OBJECTDIR}/_ext/511e4115 128 | ${RM} "$@.d" 129 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/511e4115/osinteraction.o ../src/osinteraction.cpp 130 | 131 | ${OBJECTDIR}/_ext/c34564bc/errorHandling.o: ../src/util/errorHandling.cpp 132 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 133 | ${RM} "$@.d" 134 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/errorHandling.o ../src/util/errorHandling.cpp 135 | 136 | ${OBJECTDIR}/_ext/c34564bc/fileOp.o: ../src/util/fileOp.cpp 137 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 138 | ${RM} "$@.d" 139 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/fileOp.o ../src/util/fileOp.cpp 140 | 141 | ${OBJECTDIR}/_ext/c34564bc/filePNG.o: ../src/util/filePNG.cpp 142 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 143 | ${RM} "$@.d" 144 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/filePNG.o ../src/util/filePNG.cpp 145 | 146 | ${OBJECTDIR}/_ext/c34564bc/fileTGA.o: ../src/util/fileTGA.cpp 147 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 148 | ${RM} "$@.d" 149 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/fileTGA.o ../src/util/fileTGA.cpp 150 | 151 | ${OBJECTDIR}/_ext/c34564bc/imgClass.o: ../src/util/imgClass.cpp 152 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 153 | ${RM} "$@.d" 154 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/imgClass.o ../src/util/imgClass.cpp 155 | 156 | ${OBJECTDIR}/_ext/c34564bc/mzPacker.o: ../src/util/mzPacker.cpp 157 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 158 | ${RM} "$@.d" 159 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/mzPacker.o ../src/util/mzPacker.cpp 160 | 161 | ${OBJECTDIR}/_ext/c34564bc/segList.o: ../src/util/segList.cpp 162 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 163 | ${RM} "$@.d" 164 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/segList.o ../src/util/segList.cpp 165 | 166 | ${OBJECTDIR}/_ext/c34564bc/str16.o: ../src/util/str16.cpp 167 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 168 | ${RM} "$@.d" 169 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str16.o ../src/util/str16.cpp 170 | 171 | ${OBJECTDIR}/_ext/c34564bc/str32.o: ../src/util/str32.cpp 172 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 173 | ${RM} "$@.d" 174 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str32.o ../src/util/str32.cpp 175 | 176 | ${OBJECTDIR}/_ext/c34564bc/str8.o: ../src/util/str8.cpp 177 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 178 | ${RM} "$@.d" 179 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/str8.o ../src/util/str8.cpp 180 | 181 | ${OBJECTDIR}/_ext/c34564bc/strCommon.o: ../src/util/strCommon.cpp 182 | ${MKDIR} -p ${OBJECTDIR}/_ext/c34564bc 183 | ${RM} "$@.d" 184 | $(COMPILE.cc) -g -DOSI_USE_VKO -I../.. -I../include -I../../Vulkan-Headers/include/vulkan -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/c34564bc/strCommon.o ../src/util/strCommon.cpp 185 | 186 | # Subprojects 187 | .build-subprojects: 188 | 189 | # Clean Targets 190 | .clean-conf: ${CLEAN_SUBPROJECTS} 191 | ${RM} -r ${CND_BUILDDIR}/${CND_CONF} 192 | 193 | # Subprojects 194 | .clean-subprojects: 195 | 196 | # Enable dependency checking 197 | .dep.inc: .depcheck-impl 198 | 199 | include .dep.inc 200 | -------------------------------------------------------------------------------- /nbeans/nbproject/Package-lin32.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | # 4 | # Generated - do not edit! 5 | # 6 | 7 | # Macros 8 | TOP=`pwd` 9 | CND_PLATFORM=GNU-Linux 10 | CND_CONF=lin32 11 | CND_DISTDIR=dist 12 | CND_BUILDDIR=build 13 | CND_DLIB_EXT=so 14 | NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging 15 | TMPDIRNAME=tmp-packaging 16 | OUTPUT_PATH=../lib/osi.lin32.so 17 | OUTPUT_BASENAME=osi.lin32.so 18 | PACKAGE_TOP_DIR=nbeans/ 19 | 20 | # Functions 21 | function checkReturnCode 22 | { 23 | rc=$? 24 | if [ $rc != 0 ] 25 | then 26 | exit $rc 27 | fi 28 | } 29 | function makeDirectory 30 | # $1 directory path 31 | # $2 permission (optional) 32 | { 33 | mkdir -p "$1" 34 | checkReturnCode 35 | if [ "$2" != "" ] 36 | then 37 | chmod $2 "$1" 38 | checkReturnCode 39 | fi 40 | } 41 | function copyFileToTmpDir 42 | # $1 from-file path 43 | # $2 to-file path 44 | # $3 permission 45 | { 46 | cp "$1" "$2" 47 | checkReturnCode 48 | if [ "$3" != "" ] 49 | then 50 | chmod $3 "$2" 51 | checkReturnCode 52 | fi 53 | } 54 | 55 | # Setup 56 | cd "${TOP}" 57 | mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package 58 | rm -rf ${NBTMPDIR} 59 | mkdir -p ${NBTMPDIR} 60 | 61 | # Copy files and create directories and links 62 | cd "${TOP}" 63 | makeDirectory "${NBTMPDIR}/nbeans/lib" 64 | copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}lib/${OUTPUT_BASENAME}" 0644 65 | 66 | 67 | # Generate tar file 68 | cd "${TOP}" 69 | rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/nbeans.tar 70 | cd ${NBTMPDIR} 71 | tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/nbeans.tar * 72 | checkReturnCode 73 | 74 | # Cleanup 75 | cd "${TOP}" 76 | rm -rf ${NBTMPDIR} 77 | -------------------------------------------------------------------------------- /nbeans/nbproject/Package-lin32.dbg.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | # 4 | # Generated - do not edit! 5 | # 6 | 7 | # Macros 8 | TOP=`pwd` 9 | CND_PLATFORM=GNU-Linux 10 | CND_CONF=lin32.dbg 11 | CND_DISTDIR=dist 12 | CND_BUILDDIR=build 13 | CND_DLIB_EXT=so 14 | NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging 15 | TMPDIRNAME=tmp-packaging 16 | OUTPUT_PATH=../lib/osi.lin32.dbg.so 17 | OUTPUT_BASENAME=osi.lin32.dbg.so 18 | PACKAGE_TOP_DIR=nbeans/ 19 | 20 | # Functions 21 | function checkReturnCode 22 | { 23 | rc=$? 24 | if [ $rc != 0 ] 25 | then 26 | exit $rc 27 | fi 28 | } 29 | function makeDirectory 30 | # $1 directory path 31 | # $2 permission (optional) 32 | { 33 | mkdir -p "$1" 34 | checkReturnCode 35 | if [ "$2" != "" ] 36 | then 37 | chmod $2 "$1" 38 | checkReturnCode 39 | fi 40 | } 41 | function copyFileToTmpDir 42 | # $1 from-file path 43 | # $2 to-file path 44 | # $3 permission 45 | { 46 | cp "$1" "$2" 47 | checkReturnCode 48 | if [ "$3" != "" ] 49 | then 50 | chmod $3 "$2" 51 | checkReturnCode 52 | fi 53 | } 54 | 55 | # Setup 56 | cd "${TOP}" 57 | mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package 58 | rm -rf ${NBTMPDIR} 59 | mkdir -p ${NBTMPDIR} 60 | 61 | # Copy files and create directories and links 62 | cd "${TOP}" 63 | makeDirectory "${NBTMPDIR}/nbeans/lib" 64 | copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}lib/${OUTPUT_BASENAME}" 0644 65 | 66 | 67 | # Generate tar file 68 | cd "${TOP}" 69 | rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/nbeans.tar 70 | cd ${NBTMPDIR} 71 | tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/nbeans.tar * 72 | checkReturnCode 73 | 74 | # Cleanup 75 | cd "${TOP}" 76 | rm -rf ${NBTMPDIR} 77 | -------------------------------------------------------------------------------- /nbeans/nbproject/Package-lin64.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | # 4 | # Generated - do not edit! 5 | # 6 | 7 | # Macros 8 | TOP=`pwd` 9 | CND_PLATFORM=GNU-Linux 10 | CND_CONF=lin64 11 | CND_DISTDIR=dist 12 | CND_BUILDDIR=build 13 | CND_DLIB_EXT=so 14 | NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging 15 | TMPDIRNAME=tmp-packaging 16 | OUTPUT_PATH=../lib/osi.lin64.so 17 | OUTPUT_BASENAME=osi.lin64.so 18 | PACKAGE_TOP_DIR=nbeans/ 19 | 20 | # Functions 21 | function checkReturnCode 22 | { 23 | rc=$? 24 | if [ $rc != 0 ] 25 | then 26 | exit $rc 27 | fi 28 | } 29 | function makeDirectory 30 | # $1 directory path 31 | # $2 permission (optional) 32 | { 33 | mkdir -p "$1" 34 | checkReturnCode 35 | if [ "$2" != "" ] 36 | then 37 | chmod $2 "$1" 38 | checkReturnCode 39 | fi 40 | } 41 | function copyFileToTmpDir 42 | # $1 from-file path 43 | # $2 to-file path 44 | # $3 permission 45 | { 46 | cp "$1" "$2" 47 | checkReturnCode 48 | if [ "$3" != "" ] 49 | then 50 | chmod $3 "$2" 51 | checkReturnCode 52 | fi 53 | } 54 | 55 | # Setup 56 | cd "${TOP}" 57 | mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package 58 | rm -rf ${NBTMPDIR} 59 | mkdir -p ${NBTMPDIR} 60 | 61 | # Copy files and create directories and links 62 | cd "${TOP}" 63 | makeDirectory "${NBTMPDIR}/nbeans/lib" 64 | copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}lib/${OUTPUT_BASENAME}" 0644 65 | 66 | 67 | # Generate tar file 68 | cd "${TOP}" 69 | rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/nbeans.tar 70 | cd ${NBTMPDIR} 71 | tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/nbeans.tar * 72 | checkReturnCode 73 | 74 | # Cleanup 75 | cd "${TOP}" 76 | rm -rf ${NBTMPDIR} 77 | -------------------------------------------------------------------------------- /nbeans/nbproject/Package-lin64.dbg.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | # 4 | # Generated - do not edit! 5 | # 6 | 7 | # Macros 8 | TOP=`pwd` 9 | CND_PLATFORM=CLang-Linux 10 | CND_CONF=lin64.dbg 11 | CND_DISTDIR=dist 12 | CND_BUILDDIR=build 13 | CND_DLIB_EXT=so 14 | NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging 15 | TMPDIRNAME=tmp-packaging 16 | OUTPUT_PATH=../lib/osi.lin64.dbg.so 17 | OUTPUT_BASENAME=osi.lin64.dbg.so 18 | PACKAGE_TOP_DIR=nbeans/ 19 | 20 | # Functions 21 | function checkReturnCode 22 | { 23 | rc=$? 24 | if [ $rc != 0 ] 25 | then 26 | exit $rc 27 | fi 28 | } 29 | function makeDirectory 30 | # $1 directory path 31 | # $2 permission (optional) 32 | { 33 | mkdir -p "$1" 34 | checkReturnCode 35 | if [ "$2" != "" ] 36 | then 37 | chmod $2 "$1" 38 | checkReturnCode 39 | fi 40 | } 41 | function copyFileToTmpDir 42 | # $1 from-file path 43 | # $2 to-file path 44 | # $3 permission 45 | { 46 | cp "$1" "$2" 47 | checkReturnCode 48 | if [ "$3" != "" ] 49 | then 50 | chmod $3 "$2" 51 | checkReturnCode 52 | fi 53 | } 54 | 55 | # Setup 56 | cd "${TOP}" 57 | mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package 58 | rm -rf ${NBTMPDIR} 59 | mkdir -p ${NBTMPDIR} 60 | 61 | # Copy files and create directories and links 62 | cd "${TOP}" 63 | makeDirectory "${NBTMPDIR}/nbeans/lib" 64 | copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}lib/${OUTPUT_BASENAME}" 0644 65 | 66 | 67 | # Generate tar file 68 | cd "${TOP}" 69 | rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/nbeans.tar 70 | cd ${NBTMPDIR} 71 | tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/nbeans.tar * 72 | checkReturnCode 73 | 74 | # Cleanup 75 | cd "${TOP}" 76 | rm -rf ${NBTMPDIR} 77 | -------------------------------------------------------------------------------- /nbeans/nbproject/Package-vk.lin64.dbg.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | # 4 | # Generated - do not edit! 5 | # 6 | 7 | # Macros 8 | TOP=`pwd` 9 | CND_PLATFORM=CLang-Linux 10 | CND_CONF=vk.lin64.dbg 11 | CND_DISTDIR=dist 12 | CND_BUILDDIR=build 13 | CND_DLIB_EXT=so 14 | NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging 15 | TMPDIRNAME=tmp-packaging 16 | OUTPUT_PATH=../lib/osi.vk.lin64.dbg.so 17 | OUTPUT_BASENAME=osi.vk.lin64.dbg.so 18 | PACKAGE_TOP_DIR=nbeans/ 19 | 20 | # Functions 21 | function checkReturnCode 22 | { 23 | rc=$? 24 | if [ $rc != 0 ] 25 | then 26 | exit $rc 27 | fi 28 | } 29 | function makeDirectory 30 | # $1 directory path 31 | # $2 permission (optional) 32 | { 33 | mkdir -p "$1" 34 | checkReturnCode 35 | if [ "$2" != "" ] 36 | then 37 | chmod $2 "$1" 38 | checkReturnCode 39 | fi 40 | } 41 | function copyFileToTmpDir 42 | # $1 from-file path 43 | # $2 to-file path 44 | # $3 permission 45 | { 46 | cp "$1" "$2" 47 | checkReturnCode 48 | if [ "$3" != "" ] 49 | then 50 | chmod $3 "$2" 51 | checkReturnCode 52 | fi 53 | } 54 | 55 | # Setup 56 | cd "${TOP}" 57 | mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package 58 | rm -rf ${NBTMPDIR} 59 | mkdir -p ${NBTMPDIR} 60 | 61 | # Copy files and create directories and links 62 | cd "${TOP}" 63 | makeDirectory "${NBTMPDIR}/nbeans/lib" 64 | copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}lib/${OUTPUT_BASENAME}" 0644 65 | 66 | 67 | # Generate tar file 68 | cd "${TOP}" 69 | rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/nbeans.tar 70 | cd ${NBTMPDIR} 71 | tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/nbeans.tar * 72 | checkReturnCode 73 | 74 | # Cleanup 75 | cd "${TOP}" 76 | rm -rf ${NBTMPDIR} 77 | -------------------------------------------------------------------------------- /nbeans/nbproject/private/Makefile-variables.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated - do not edit! 3 | # 4 | # NOCDDL 5 | # 6 | # lin64.dbg configuration 7 | # lin64 configuration 8 | # lin32.dbg configuration 9 | # lin32 configuration 10 | # vk.lin64.dbg configuration 11 | -------------------------------------------------------------------------------- /nbeans/nbproject/private/c_standard_headers_indexer.c: -------------------------------------------------------------------------------- 1 | /* 2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 3 | * 4 | * Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. 5 | * 6 | * Oracle and Java are registered trademarks of Oracle and/or its affiliates. 7 | * Other names may be trademarks of their respective owners. 8 | * 9 | * The contents of this file are subject to the terms of either the GNU 10 | * General Public License Version 2 only ("GPL") or the Common 11 | * Development and Distribution License("CDDL") (collectively, the 12 | * "License"). You may not use this file except in compliance with the 13 | * License. You can obtain a copy of the License at 14 | * http://www.netbeans.org/cddl-gplv2.html 15 | * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the 16 | * specific language governing permissions and limitations under the 17 | * License. When distributing the software, include this License Header 18 | * Notice in each file and include the License file at 19 | * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this 20 | * particular file as subject to the "Classpath" exception as provided 21 | * by Oracle in the GPL Version 2 section of the License file that 22 | * accompanied this code. If applicable, add the following below the 23 | * License Header, with the fields enclosed by brackets [] replaced by 24 | * your own identifying information: 25 | * "Portions Copyrighted [year] [name of copyright owner]" 26 | * 27 | * If you wish your version of this file to be governed by only the CDDL 28 | * or only the GPL Version 2, indicate your decision by adding 29 | * "[Contributor] elects to include this software in this distribution 30 | * under the [CDDL or GPL Version 2] license." If you do not indicate a 31 | * single choice of license, a recipient has the option to distribute 32 | * your version of this file under either the CDDL, the GPL Version 2 or 33 | * to extend the choice of license to its licensees as provided above. 34 | * However, if you add GPL Version 2 code and therefore, elected the GPL 35 | * Version 2 license, then the option applies only if the new code is 36 | * made subject to such option by the copyright holder. 37 | * 38 | * Contributor(s): 39 | */ 40 | 41 | // List of standard headers was taken in http://en.cppreference.com/w/c/header 42 | 43 | #include // Conditionally compiled macro that compares its argument to zero 44 | #include // Functions to determine the type contained in character data 45 | #include // Macros reporting error conditions 46 | #include // Limits of float types 47 | #include // Sizes of basic types 48 | #include // Localization utilities 49 | #include // Common mathematics functions 50 | #include // Nonlocal jumps 51 | #include // Signal handling 52 | #include // Variable arguments 53 | #include // Common macro definitions 54 | #include // Input/output 55 | #include // String handling 56 | #include // General utilities: memory management, program utilities, string conversions, random numbers 57 | #include // Time/date utilities 58 | #include // (since C95) Alternative operator spellings 59 | #include // (since C95) Extended multibyte and wide character utilities 60 | #include // (since C95) Wide character classification and mapping utilities 61 | #ifdef _STDC_C99 62 | #include // (since C99) Complex number arithmetic 63 | #include // (since C99) Floating-point environment 64 | #include // (since C99) Format conversion of integer types 65 | #include // (since C99) Boolean type 66 | #include // (since C99) Fixed-width integer types 67 | #include // (since C99) Type-generic math (macros wrapping math.h and complex.h) 68 | #endif 69 | #ifdef _STDC_C11 70 | #include // (since C11) alignas and alignof convenience macros 71 | #include // (since C11) Atomic types 72 | #include // (since C11) noreturn convenience macros 73 | #include // (since C11) Thread library 74 | #include // (since C11) UTF-16 and UTF-32 character utilities 75 | #endif 76 | -------------------------------------------------------------------------------- /nbeans/nbproject/private/cpp_standard_headers_indexer.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 3 | * 4 | * Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. 5 | * 6 | * Oracle and Java are registered trademarks of Oracle and/or its affiliates. 7 | * Other names may be trademarks of their respective owners. 8 | * 9 | * The contents of this file are subject to the terms of either the GNU 10 | * General Public License Version 2 only ("GPL") or the Common 11 | * Development and Distribution License("CDDL") (collectively, the 12 | * "License"). You may not use this file except in compliance with the 13 | * License. You can obtain a copy of the License at 14 | * http://www.netbeans.org/cddl-gplv2.html 15 | * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the 16 | * specific language governing permissions and limitations under the 17 | * License. When distributing the software, include this License Header 18 | * Notice in each file and include the License file at 19 | * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this 20 | * particular file as subject to the "Classpath" exception as provided 21 | * by Oracle in the GPL Version 2 section of the License file that 22 | * accompanied this code. If applicable, add the following below the 23 | * License Header, with the fields enclosed by brackets [] replaced by 24 | * your own identifying information: 25 | * "Portions Copyrighted [year] [name of copyright owner]" 26 | * 27 | * If you wish your version of this file to be governed by only the CDDL 28 | * or only the GPL Version 2, indicate your decision by adding 29 | * "[Contributor] elects to include this software in this distribution 30 | * under the [CDDL or GPL Version 2] license." If you do not indicate a 31 | * single choice of license, a recipient has the option to distribute 32 | * your version of this file under either the CDDL, the GPL Version 2 or 33 | * to extend the choice of license to its licensees as provided above. 34 | * However, if you add GPL Version 2 code and therefore, elected the GPL 35 | * Version 2 license, then the option applies only if the new code is 36 | * made subject to such option by the copyright holder. 37 | * 38 | * Contributor(s): 39 | */ 40 | 41 | // List of standard headers was taken in http://en.cppreference.com/w/cpp/header 42 | 43 | #include // General purpose utilities: program control, dynamic memory allocation, random numbers, sort and search 44 | #include // Functions and macro constants for signal management 45 | #include // Macro (and function) that saves (and jumps) to an execution context 46 | #include // Handling of variable length argument lists 47 | #include // Runtime type information utilities 48 | #include // std::bitset class template 49 | #include // Function objects, designed for use with the standard algorithms 50 | #include // Various utility components 51 | #include // C-style time/date utilites 52 | #include // typedefs for types such as size_t, NULL and others 53 | #include // Low-level memory management utilities 54 | #include // Higher level memory management utilities 55 | #include // limits of integral types 56 | #include // limits of float types 57 | #include // standardized way to query properties of arithmetic types 58 | #include // Exception handling utilities 59 | #include // Standard exception objects 60 | #include // Conditionally compiled macro that compares its argument to zero 61 | #include // Macro containing the last error number 62 | #include // functions to determine the type contained in character data 63 | #include // functions for determining the type of wide character data 64 | #include // various narrow character string handling functions 65 | #include // various wide and multibyte string handling functions 66 | #include // std::basic_string class template 67 | #include // std::vector container 68 | #include // std::deque container 69 | #include // std::list container 70 | #include // std::set and std::multiset associative containers 71 | #include // std::map and std::multimap associative containers 72 | #include // std::stack container adaptor 73 | #include // std::queue and std::priority_queue container adaptors 74 | #include // Algorithms that operate on containers 75 | #include // Container iterators 76 | #include // Common mathematics functions 77 | #include // Complex number type 78 | #include // Class for representing and manipulating arrays of values 79 | #include // Numeric operations on values in containers 80 | #include // forward declarations of all classes in the input/output library 81 | #include // std::ios_base class, std::basic_ios class template and several typedefs 82 | #include // std::basic_istream class template and several typedefs 83 | #include // std::basic_ostream, std::basic_iostream class templates and several typedefs 84 | #include // several standard stream objects 85 | #include // std::basic_fstream, std::basic_ifstream, std::basic_ofstream class templates and several typedefs 86 | #include // std::basic_stringstream, std::basic_istringstream, std::basic_ostringstream class templates and several typedefs 87 | #include // std::strstream, std::istrstream, std::ostrstream(deprecated) 88 | #include // Helper functions to control the format or input and output 89 | #include // std::basic_streambuf class template 90 | #include // C-style input-output functions 91 | #include // Localization utilities 92 | #include // C localization utilities 93 | #include // empty header. The macros that appear in iso646.h in C are keywords in C++ 94 | #if __cplusplus >= 201103L 95 | #include // (since C++11) std::type_index 96 | #include // (since C++11) Compile-time type information 97 | #include // (since C++11) C++ time utilites 98 | #include // (since C++11) std::initializer_list class template 99 | #include // (since C++11) std::tuple class template 100 | #include // (since C++11) Nested allocator class 101 | #include // (since C++11) fixed-size types and limits of other types 102 | #include // (since C++11) formatting macros , intmax_t and uintmax_t math and conversions 103 | #include // (since C++11) defines std::error_code, a platform-dependent error code 104 | #include // (since C++11) C-style Unicode character conversion functions 105 | #include // (since C++11) std::array container 106 | #include // (since C++11) std::forward_list container 107 | #include // (since C++11) std::unordered_set and std::unordered_multiset unordered associative containers 108 | #include // (since C++11) std::unordered_map and std::unordered_multimap unordered associative containers 109 | #include // (since C++11) Random number generators and distributions 110 | #include // (since C++11) Compile-time rational arithmetic 111 | #include // (since C++11) Floating-point environment access functions 112 | #include // (since C++11) Unicode conversion facilities 113 | #include // (since C++11) Classes, algorithms and iterators to support regular expression processing 114 | #include // (since C++11) Atomic operations library 115 | #include // (since C++11)(deprecated in C++17) simply includes the header 116 | #include // (since C++11)(deprecated in C++17) simply includes the headers (until C++17) (since C++17) and : the overloads equivalent to the contents of the C header tgmath.h are already provided by those headers 117 | #include // (since C++11)(deprecated in C++17) defines one compatibility macro constant 118 | #include // (since C++11)(deprecated in C++17) defines one compatibility macro constant 119 | #include // (since C++11) std::thread class and supporting functions 120 | #include // (since C++11) mutual exclusion primitives 121 | #include // (since C++11) primitives for asynchronous computations 122 | #include // (since C++11) thread waiting conditions 123 | #endif 124 | #if __cplusplus >= 201300L 125 | #include // (since C++14) shared mutual exclusion primitives 126 | #endif 127 | #if __cplusplus >= 201500L 128 | #include // (since C++17) std::any class template 129 | #include // (since C++17) std::optional class template 130 | #include // (since C++17) std::variant class template 131 | #include // (since C++17) Polymorphic allocators and memory resources 132 | #include // (since C++17) std::basic_string_view class template 133 | #include // (since C++17) Predefined execution policies for parallel versions of the algorithms 134 | #include // (since C++17) std::path class and supporting functions 135 | #endif 136 | -------------------------------------------------------------------------------- /nbeans/nbproject/private/launcher.properties: -------------------------------------------------------------------------------- 1 | # Launchers File syntax: 2 | # 3 | # [Must-have property line] 4 | # launcher1.runCommand= 5 | # [Optional extra properties] 6 | # launcher1.displayName= 7 | # launcher1.buildCommand= 8 | # launcher1.runDir= 9 | # launcher1.symbolFiles= 10 | # launcher1.env.= 11 | # (If this value is quoted with ` it is handled as a native command which execution result will become the value) 12 | # [Common launcher properties] 13 | # common.runDir= 14 | # (This value is overwritten by a launcher specific runDir value if the latter exists) 15 | # common.env.= 16 | # (Environment variables from common launcher are merged with launcher specific variables) 17 | # common.symbolFiles= 18 | # (This value is overwritten by a launcher specific symbolFiles value if the latter exists) 19 | # 20 | # In runDir, symbolFiles and env fields you can use these macroses: 21 | # ${PROJECT_DIR} - project directory absolute path 22 | # ${OUTPUT_PATH} - linker output path (relative to project directory path) 23 | # ${OUTPUT_BASENAME}- linker output filename 24 | # ${TESTDIR} - test files directory (relative to project directory path) 25 | # ${OBJECTDIR} - object files directory (relative to project directory path) 26 | # ${CND_DISTDIR} - distribution directory (relative to project directory path) 27 | # ${CND_BUILDDIR} - build directory (relative to project directory path) 28 | # ${CND_PLATFORM} - platform name 29 | # ${CND_CONF} - configuration name 30 | # ${CND_DLIB_EXT} - dynamic library extension 31 | # 32 | # All the project launchers must be listed in the file! 33 | # 34 | # launcher1.runCommand=... 35 | # launcher2.runCommand=... 36 | # ... 37 | # common.runDir=... 38 | # common.env.KEY=VALUE 39 | 40 | # launcher1.runCommand= -------------------------------------------------------------------------------- /nbeans/nbproject/private/private.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 3 5 | 0 6 | 7 | 8 | 9 | 10 | file:/mnt/main/alec/dev/osi/src/osiGlRenderer.cpp 11 | file:/mnt/main/alec/dev/osi/src/osinteraction.cpp 12 | file:/mnt/main/alec/dev/osi/src/osiWindow.cpp 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /nbeans/nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.netbeans.modules.cnd.makeproject 4 | 5 | 6 | OSInteraction 7 | 8 | cpp,mm 9 | h,hpp 10 | UTF-8 11 | 12 | 13 | 14 | 15 | lin64.dbg 16 | 3 17 | 18 | 19 | lin64 20 | 3 21 | 22 | 23 | lin32.dbg 24 | 3 25 | 26 | 27 | lin32 28 | 3 29 | 30 | 31 | mac64.dbg 32 | 3 33 | 34 | 35 | mac64 36 | 3 37 | 38 | 39 | mac32.dbg 40 | 3 41 | 42 | 43 | mac32 44 | 3 45 | 46 | 47 | vk.lin64.dbg 48 | 3 49 | 50 | 51 | 52 | false 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /src/Resource.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/src/Resource.aps -------------------------------------------------------------------------------- /src/Resource.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/src/Resource.rc -------------------------------------------------------------------------------- /src/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/src/icon.ico -------------------------------------------------------------------------------- /src/transfers.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/src/transfers.txt -------------------------------------------------------------------------------- /src/util/fileOp.cpp: -------------------------------------------------------------------------------- 1 | #include "osinteraction.h" 2 | #include 3 | #include "util/typeShortcuts.h" 4 | #include "util/fileOp.h" 5 | 6 | 7 | /* 8 | void fileSkipWhitespace(FILE *f, bool *out_newLineSkipped) { 9 | uint8 c; 10 | int64 pos; 11 | while(!feof(f)) { 12 | pos= ftell(f); 13 | fread(&c, 1, 1, f); 14 | 15 | } 16 | } 17 | 18 | 19 | void fileReadWordOrWordsInQuotes(FILE *f, str8 *out_string) { 20 | } 21 | */ 22 | 23 | 24 | 25 | 26 | bool readLine8(void *f, str8 *out_str) { 27 | uint8 c; 28 | if(out_str== null) return false; 29 | if(f== null) { out_str->delData(); return false; } 30 | 31 | // wrapping output str8 32 | if(out_str->wrapping) { 33 | if(out_str->wrapSize< 2) return false; 34 | bool eof= false; 35 | int32 a= 0; 36 | for(; a< out_str->wrapSize- 1; ++a) { 37 | if(!fread(&c, 1, 1, (FILE *)f)) { eof= true; break; } 38 | if(c== 0) break; 39 | out_str->d[a]= c; 40 | if(c== '\n') { ++a; break; } 41 | } 42 | 43 | out_str->d[a]= 0; 44 | out_str->updateLen(); 45 | if(eof && !out_str->nrUnicodes) return false; 46 | 47 | // non-wrapping output str8 - ALLOCS + SLOWER! 48 | } else { 49 | int64 start= osi.ftell64(f); 50 | int64 size= 0; 51 | 52 | /// checkout how big the line is 53 | while(1) { 54 | if(!fread(&c, 1, 1, (FILE *)f)) break; 55 | size++; 56 | if((c== '\n') || (c== 0)) break; 57 | } 58 | 59 | /// nothing read? exit 60 | if(!size) { out_str->delData(); return false; } 61 | 62 | // read the text 63 | uint8 *p= new uint8[size+ 1]; 64 | osi.fseek64(f, start, SEEK_SET); 65 | fread(p, 1, size, (FILE *)f); 66 | p[size]= 0; /// str terminator 67 | 68 | /// returned string 69 | out_str->delData(); 70 | out_str->d= (char *)p; 71 | out_str->updateLen(); 72 | } 73 | return true; 74 | } 75 | 76 | 77 | 78 | 79 | 80 | bool readLine16(void *f, str16 *out_str) { 81 | if((f== null) || (out_str== null)) return false; 82 | 83 | int64 start= osi.ftell64(f); 84 | 85 | uint16 c; 86 | int64 size= 0; 87 | 88 | /// checkout how big the line is 89 | while(1) { 90 | if(!fread(&c, 2, 1, (FILE *)f)) break; 91 | size++; 92 | if((c== '\n') || (c== 0)) break; 93 | } 94 | 95 | /// nothing read? exit 96 | if(!size) { out_str->delData(); return false; } 97 | 98 | // read the text 99 | uint16 *p= new uint16[size+ 1]; 100 | osi.fseek64(f, start, SEEK_SET); 101 | fread(p, 2, size, (FILE *)f); 102 | p[size]= 0; /// str terminator 103 | 104 | /// returned string 105 | out_str->delData(); 106 | out_str->d= (char16 *)p; 107 | out_str->updateLen(); 108 | 109 | return true; 110 | } 111 | 112 | 113 | 114 | bool readLine32(void *f, str32 *out_str) { 115 | if((f== null) || (out_str== null)) return false; 116 | 117 | int64 start= osi.ftell64(f); 118 | 119 | uint32 c; 120 | int64 size= 0; 121 | 122 | /// checkout how big the line is 123 | while(1) { 124 | if(!fread(&c, 4, 1, (FILE *)f)) break; 125 | size++; 126 | if((c== '\n') || (c== 0)) break; 127 | } 128 | 129 | /// nothing read? exit 130 | if(!size) { out_str->delData(); return false; } 131 | 132 | // read the text 133 | uint32 *p= new uint32[size+ 1]; 134 | osi.fseek64((FILE *)f, start, SEEK_SET); 135 | fread(p, 4, size, (FILE *)f); 136 | p[size]= 0; /// str terminator 137 | 138 | /// returned string 139 | out_str->delData(); 140 | out_str->d= (char32 *)p; 141 | out_str->updateLen(); 142 | return true; 143 | } 144 | 145 | 146 | bool readFile(void *f, uint8_t **out_buf) { 147 | if(!f) return false; 148 | int64 size= fileRemain((FILE *)f); 149 | if(!size) { *out_buf= null; return false; } 150 | 151 | *out_buf= new uint8[size+ 7]; 152 | if(fread(*out_buf, 1, size, (FILE *)f)!= size) { 153 | delete []*out_buf; 154 | return false; 155 | } 156 | 157 | for(int a= 6; a>= 0; a--) 158 | (*out_buf)[size+ a]= 0; 159 | 160 | return true; 161 | } 162 | 163 | 164 | bool secureRead8(const char *name, str8 *out_str) { 165 | if(!out_str) return false; 166 | FILE *f= fopen(name, "rb"); 167 | if(!f) { error.console(str8().f("secureRead8: cannot open \"%s\"", (name!= null? name: "null"))); return false; } 168 | 169 | uint8 *buffer; 170 | if(readFile(f, &buffer)) { 171 | out_str->secureUTF8((cchar *)buffer); 172 | delete []buffer; 173 | } else 174 | return false; 175 | 176 | fclose(f); 177 | return true; 178 | } 179 | 180 | 181 | bool secureRead16(const char *name, str16 *out_str) { 182 | if(!out_str) return false; 183 | FILE *f= fopen(name, "rb"); 184 | if(!f) { error.console(str8().f("secureRead16: cannot open \"%s\"", (name!= null? name: "null"))); return false; } 185 | 186 | uint8 *buffer; 187 | readFile(f, &buffer); 188 | out_str->secureUTF16((cchar16 *)buffer); 189 | delete []buffer; 190 | 191 | fclose(f); 192 | return true; 193 | } 194 | 195 | 196 | bool secureRead32(const char *name, str32 *out_str) { 197 | if(!out_str) return false; 198 | FILE *f= fopen(name, "rb"); 199 | if(!f) { error.console(str8().f("secureRead32: cannot open \"%s\"", (name!= null? name: "null"))); return false; } 200 | 201 | uint8 *buffer; 202 | readFile(f, &buffer); 203 | out_str->secureUTF32((cchar32 *)buffer); 204 | delete []buffer; 205 | 206 | fclose(f); 207 | return true; 208 | } 209 | 210 | 211 | int64_t fileSize(void *in_FILE) { 212 | int64 pos= osi.ftell64(in_FILE); 213 | osi.fseek64(in_FILE, 0, SEEK_END); 214 | int64 size= osi.ftell64(in_FILE); 215 | osi.fseek64(in_FILE, pos, SEEK_SET); 216 | return size; 217 | } 218 | 219 | 220 | int64_t fileRemain(void *in_FILE) { 221 | int64 pos= osi.ftell64(in_FILE); 222 | osi.fseek64(in_FILE, 0, SEEK_END); 223 | int64 size= osi.ftell64(in_FILE)- pos; 224 | osi.fseek64(in_FILE, pos, SEEK_SET); 225 | return size; 226 | } 227 | 228 | 229 | void getFileExt(const char *in_file, str8 *out_ext) { 230 | *out_ext= pointFileExt(in_file); 231 | } 232 | 233 | 234 | // returns the start of the extension, pointing to the same string - therefore the file name length can be found with a simple substraction 235 | inline const char *pointFileExt(const char *in_fn) { 236 | if(in_fn== null) return null; 237 | 238 | // go to end of string 239 | int8 *p= (int8 *)in_fn; /// will hold the end of string 240 | while(*p) 241 | p++; 242 | 243 | // walk backwards, until '.' is found 244 | for(int8 *r= p- 1; r> (int8 *)in_fn; r--) 245 | if(*r== '.') return (cchar *)(r+ 1); 246 | 247 | // reached this point, then the file has no extension - return the end of the string 248 | return (cchar *)p; 249 | } 250 | 251 | // returns the file name length in bytes, stops when '.' or str teminator is found 252 | inline int getFileNameLen(const char *in_fn) { 253 | if(in_fn== null) return 0; 254 | int8 *p= (int8 *)pointFileExt(in_fn); 255 | if(p> (int8 *)in_fn) 256 | if(*(p- 1)== '.') p--; 257 | 258 | return (int)(p- (int8 *)in_fn); 259 | } 260 | 261 | // return in [out_name] only the name of the file, without the extension 262 | void getFileName(const char *in_f, str8 *out_name) { 263 | out_name->delData(); 264 | out_name->insertStr(in_f, getFileNameLen(in_f)); 265 | } 266 | 267 | 268 | /* 269 | void getFileExt(const char *in_file, str8 *out_ext) { 270 | *out_ext= ""; 271 | 272 | int n= Str::strlen8(in_file)- 1;/// number of bytes in text, handy var 273 | if(n< 1) return; 274 | 275 | cint8 *p2= (cint8 *)in_file; /// will walk the fileName 276 | int len= 0; /// will hold the number of bytes the extension has 277 | bool dotFound= false; /// a '.' must be found in order to have a valid extension 278 | 279 | while(n> 0) { 280 | if(p2[n]== '.') { dotFound= true; break; } 281 | len++; 282 | n--; 283 | } 284 | if(!dotFound) return; 285 | 286 | out_ext->delData(); 287 | out_ext->d= (char *)new int8[len+ 1]; 288 | 289 | int8 *p1= (int8 *)out_ext->d; /// will walk the output extension string 290 | p2+= n; 291 | 292 | while(len>= 0) /// 0 inclusive for terminator 293 | *p1++= *p2++, len--; 294 | 295 | out_ext->updateLen(); 296 | } 297 | */ 298 | 299 | 300 | void getFilePath(const char *in_file, str8 *out_path) { 301 | if(in_file== null) return; 302 | out_path->delData(); 303 | 304 | // go to end of string 305 | int8 *p= (int8 *)in_file; /// will hold the end of string 306 | while(*p) 307 | p++; 308 | 309 | // walk backwards, until '/' is found 310 | for(int8 *r= p- 1; r> (int8 *)in_file; r--) 311 | 312 | if(*r== '/' || *r== '\\') { 313 | int32 len= (int32)(r- (int8 *)in_file+ 1); // +1 the char is pointing to 314 | 315 | if(out_path->wrapping) { 316 | if(len+ 1> out_path->wrapSize) { 317 | error.detail("out_path's wrap length is too small. Path will not fit inside.", __FUNCTION__, __LINE__); 318 | return; 319 | } 320 | } else 321 | out_path->d= (char *)new int8[len+ 1]; // +1 terminator 322 | 323 | Str::strncpybytes8(out_path->d, in_file, len, true); 324 | out_path->updateLen(); 325 | return; 326 | } 327 | } 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | -------------------------------------------------------------------------------- /vstudio/.vs/OSInteraction/v16/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/vstudio/.vs/OSInteraction/v16/.suo -------------------------------------------------------------------------------- /vstudio/OSInteraction.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.31112.23 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OSInteraction", "OSInteraction.vcxproj", "{00A87F24-CF13-4904-858D-783E5154643B}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | glDebug|Mixed Platforms = glDebug|Mixed Platforms 11 | glDebug|Win32 = glDebug|Win32 12 | glDebug|x64 = glDebug|x64 13 | glRelease|Mixed Platforms = glRelease|Mixed Platforms 14 | glRelease|Win32 = glRelease|Win32 15 | glRelease|x64 = glRelease|x64 16 | vkDebug|Mixed Platforms = vkDebug|Mixed Platforms 17 | vkDebug|Win32 = vkDebug|Win32 18 | vkDebug|x64 = vkDebug|x64 19 | vkRelease|Mixed Platforms = vkRelease|Mixed Platforms 20 | vkRelease|Win32 = vkRelease|Win32 21 | vkRelease|x64 = vkRelease|x64 22 | winDebug|Mixed Platforms = winDebug|Mixed Platforms 23 | winDebug|Win32 = winDebug|Win32 24 | winDebug|x64 = winDebug|x64 25 | winRelease|Mixed Platforms = winRelease|Mixed Platforms 26 | winRelease|Win32 = winRelease|Win32 27 | winRelease|x64 = winRelease|x64 28 | EndGlobalSection 29 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 30 | {00A87F24-CF13-4904-858D-783E5154643B}.glDebug|Mixed Platforms.ActiveCfg = glDebug|Win32 31 | {00A87F24-CF13-4904-858D-783E5154643B}.glDebug|Mixed Platforms.Build.0 = glDebug|Win32 32 | {00A87F24-CF13-4904-858D-783E5154643B}.glDebug|Win32.ActiveCfg = glDebug|Win32 33 | {00A87F24-CF13-4904-858D-783E5154643B}.glDebug|Win32.Build.0 = glDebug|Win32 34 | {00A87F24-CF13-4904-858D-783E5154643B}.glDebug|x64.ActiveCfg = glDebug|x64 35 | {00A87F24-CF13-4904-858D-783E5154643B}.glDebug|x64.Build.0 = glDebug|x64 36 | {00A87F24-CF13-4904-858D-783E5154643B}.glRelease|Mixed Platforms.ActiveCfg = glRelease|Win32 37 | {00A87F24-CF13-4904-858D-783E5154643B}.glRelease|Mixed Platforms.Build.0 = glRelease|Win32 38 | {00A87F24-CF13-4904-858D-783E5154643B}.glRelease|Win32.ActiveCfg = glRelease|Win32 39 | {00A87F24-CF13-4904-858D-783E5154643B}.glRelease|Win32.Build.0 = glRelease|Win32 40 | {00A87F24-CF13-4904-858D-783E5154643B}.glRelease|x64.ActiveCfg = glRelease|x64 41 | {00A87F24-CF13-4904-858D-783E5154643B}.glRelease|x64.Build.0 = glRelease|x64 42 | {00A87F24-CF13-4904-858D-783E5154643B}.vkDebug|Mixed Platforms.ActiveCfg = vkDebug|Win32 43 | {00A87F24-CF13-4904-858D-783E5154643B}.vkDebug|Mixed Platforms.Build.0 = vkDebug|Win32 44 | {00A87F24-CF13-4904-858D-783E5154643B}.vkDebug|Win32.ActiveCfg = vkDebug|Win32 45 | {00A87F24-CF13-4904-858D-783E5154643B}.vkDebug|Win32.Build.0 = vkDebug|Win32 46 | {00A87F24-CF13-4904-858D-783E5154643B}.vkDebug|x64.ActiveCfg = vkDebug|x64 47 | {00A87F24-CF13-4904-858D-783E5154643B}.vkDebug|x64.Build.0 = vkDebug|x64 48 | {00A87F24-CF13-4904-858D-783E5154643B}.vkRelease|Mixed Platforms.ActiveCfg = vkRelease|Win32 49 | {00A87F24-CF13-4904-858D-783E5154643B}.vkRelease|Mixed Platforms.Build.0 = vkRelease|Win32 50 | {00A87F24-CF13-4904-858D-783E5154643B}.vkRelease|Win32.ActiveCfg = vkRelease|Win32 51 | {00A87F24-CF13-4904-858D-783E5154643B}.vkRelease|Win32.Build.0 = vkRelease|Win32 52 | {00A87F24-CF13-4904-858D-783E5154643B}.vkRelease|x64.ActiveCfg = vkRelease|x64 53 | {00A87F24-CF13-4904-858D-783E5154643B}.vkRelease|x64.Build.0 = vkRelease|x64 54 | {00A87F24-CF13-4904-858D-783E5154643B}.winDebug|Mixed Platforms.ActiveCfg = winDebug|Win32 55 | {00A87F24-CF13-4904-858D-783E5154643B}.winDebug|Mixed Platforms.Build.0 = winDebug|Win32 56 | {00A87F24-CF13-4904-858D-783E5154643B}.winDebug|Win32.ActiveCfg = winDebug|Win32 57 | {00A87F24-CF13-4904-858D-783E5154643B}.winDebug|Win32.Build.0 = winDebug|Win32 58 | {00A87F24-CF13-4904-858D-783E5154643B}.winDebug|x64.ActiveCfg = Debug|x64 59 | {00A87F24-CF13-4904-858D-783E5154643B}.winDebug|x64.Build.0 = Debug|x64 60 | {00A87F24-CF13-4904-858D-783E5154643B}.winRelease|Mixed Platforms.ActiveCfg = winRelease|Win32 61 | {00A87F24-CF13-4904-858D-783E5154643B}.winRelease|Mixed Platforms.Build.0 = winRelease|Win32 62 | {00A87F24-CF13-4904-858D-783E5154643B}.winRelease|Win32.ActiveCfg = winRelease|Win32 63 | {00A87F24-CF13-4904-858D-783E5154643B}.winRelease|Win32.Build.0 = winRelease|Win32 64 | {00A87F24-CF13-4904-858D-783E5154643B}.winRelease|x64.ActiveCfg = Release|x64 65 | {00A87F24-CF13-4904-858D-783E5154643B}.winRelease|x64.Build.0 = Release|x64 66 | EndGlobalSection 67 | GlobalSection(SolutionProperties) = preSolution 68 | HideSolutionNode = FALSE 69 | EndGlobalSection 70 | GlobalSection(ExtensibilityGlobals) = postSolution 71 | SolutionGuid = {039B7AA0-56E9-4BA2-AFD7-1D5677BE1A58} 72 | EndGlobalSection 73 | GlobalSection(Performance) = preSolution 74 | HasPerformanceSessions = true 75 | EndGlobalSection 76 | EndGlobal 77 | -------------------------------------------------------------------------------- /vstudio/OSInteraction.v11.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/vstudio/OSInteraction.v11.suo -------------------------------------------------------------------------------- /vstudio/OSInteraction.v12.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/vstudio/OSInteraction.v12.suo -------------------------------------------------------------------------------- /vstudio/OSInteraction.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {0aedec65-7136-4162-922f-6e7cccaf41a9} 10 | 11 | 12 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 13 | h;hpp;hxx;hm;inl;inc;xsd 14 | 15 | 16 | {27b963b8-34c4-41e7-9bd5-1806b2b15a8b} 17 | 18 | 19 | {ca00687e-d671-4f82-8405-ea326880f5c8} 20 | 21 | 22 | 23 | 24 | SRC 25 | 26 | 27 | SRC 28 | 29 | 30 | SRC 31 | 32 | 33 | SRC 34 | 35 | 36 | SRC 37 | 38 | 39 | SRC 40 | 41 | 42 | SRC 43 | 44 | 45 | SRC 46 | 47 | 48 | SRC\util 49 | 50 | 51 | SRC\util 52 | 53 | 54 | SRC\util 55 | 56 | 57 | SRC\util 58 | 59 | 60 | SRC\util 61 | 62 | 63 | SRC\util 64 | 65 | 66 | SRC\util 67 | 68 | 69 | SRC\util 70 | 71 | 72 | SRC\util 73 | 74 | 75 | SRC\util 76 | 77 | 78 | SRC\util 79 | 80 | 81 | 82 | 83 | INC 84 | 85 | 86 | INC 87 | 88 | 89 | INC 90 | 91 | 92 | INC 93 | 94 | 95 | INC 96 | 97 | 98 | INC 99 | 100 | 101 | INC 102 | 103 | 104 | INC 105 | 106 | 107 | INC\oGL 108 | 109 | 110 | INC\oGL 111 | 112 | 113 | INC\oGL 114 | 115 | 116 | INC 117 | 118 | 119 | INC\oGL 120 | 121 | 122 | INC\util 123 | 124 | 125 | INC\util 126 | 127 | 128 | INC\util 129 | 130 | 131 | INC\util 132 | 133 | 134 | INC\util 135 | 136 | 137 | INC\util 138 | 139 | 140 | INC\util 141 | 142 | 143 | INC\util 144 | 145 | 146 | INC\util 147 | 148 | 149 | INC\util 150 | 151 | 152 | INC\util 153 | 154 | 155 | INC\util 156 | 157 | 158 | INC\util 159 | 160 | 161 | INC\util 162 | 163 | 164 | INC 165 | 166 | 167 | INC 168 | 169 | 170 | 171 | 172 | 173 | SRC 174 | 175 | 176 | -------------------------------------------------------------------------------- /vstudio/OSInteraction.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ../lib/ 5 | WindowsLocalDebugger 6 | 7 | 8 | ../lib/ 9 | WindowsLocalDebugger 10 | 11 | 12 | ../lib/ 13 | WindowsLocalDebugger 14 | 15 | 16 | ../lib/ 17 | WindowsLocalDebugger 18 | 19 | 20 | ../lib/ 21 | WindowsLocalDebugger 22 | 23 | 24 | ../lib/ 25 | WindowsLocalDebugger 26 | 27 | 28 | ../lib/ 29 | WindowsLocalDebugger 30 | 31 | 32 | ../lib/ 33 | WindowsLocalDebugger 34 | 35 | 36 | ../lib/ 37 | WindowsLocalDebugger 38 | 39 | 40 | ../lib/ 41 | WindowsLocalDebugger 42 | 43 | 44 | ../lib/ 45 | WindowsLocalDebugger 46 | 47 | 48 | ../lib/ 49 | WindowsLocalDebugger 50 | 51 | -------------------------------------------------------------------------------- /vstudio/OSInteraction_dbg.psess: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | OSInteraction.sln 5 | Sampling 6 | Allocation 7 | true 8 | true 9 | Timestamp 10 | Cycles 11 | 10000000 12 | 10 13 | 10 14 | 15 | false 16 | 17 | 18 | 19 | false 20 | 500 21 | 22 | \Memory\Pages/sec 23 | \PhysicalDisk(_Total)\Avg. Disk Queue Length 24 | \Processor(_Total)\% Processor Time 25 | 26 | 27 | 28 | true 29 | false 30 | false 31 | 32 | false 33 | 34 | 35 | false 36 | 37 | 38 | 39 | ..\output\OSInteraction_dbg.exe 40 | 01/01/0001 00:00:00 41 | true 42 | true 43 | false 44 | false 45 | false 46 | false 47 | false 48 | true 49 | false 50 | Executable 51 | ..\output\OSInteraction_dbg.exe 52 | ..\output\ 53 | 54 | 55 | IIS 56 | InternetExplorer 57 | true 58 | false 59 | 60 | false 61 | 62 | 63 | false 64 | 65 | {00A87F24-CF13-4904-858D-783E5154643B}|OSInteraction.vcxproj 66 | OSInteraction.vcxproj 67 | OSInteraction 68 | 69 | 70 | 71 | 72 | :PB:{00A87F24-CF13-4904-858D-783E5154643B}|OSInteraction.vcxproj 73 | 74 | 75 | -------------------------------------------------------------------------------- /vstudio/OSInteraction_dbg140408.vsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/vstudio/OSInteraction_dbg140408.vsp -------------------------------------------------------------------------------- /xcode/OSInteraction/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/xcode/OSInteraction/.DS_Store -------------------------------------------------------------------------------- /xcode/OSInteraction/OSInteraction.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /xcode/OSInteraction/OSInteraction.xcodeproj/project.xcworkspace/xcshareddata/OSInteraction.xcscmblueprint: -------------------------------------------------------------------------------- 1 | { 2 | "DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "8320BDCB92A03982BF8B3CEFD91C3DA20A5A9408", 3 | "DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : { 4 | 5 | }, 6 | "DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : { 7 | "8320BDCB92A03982BF8B3CEFD91C3DA20A5A9408" : 0, 8 | "6412673629A8D771E570CDEF5BAE51856EE53FD4" : 0 9 | }, 10 | "DVTSourceControlWorkspaceBlueprintIdentifierKey" : "9F8CF287-64FC-40F9-B47B-2FA86A7D0955", 11 | "DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : { 12 | "8320BDCB92A03982BF8B3CEFD91C3DA20A5A9408" : "osi\/", 13 | "6412673629A8D771E570CDEF5BAE51856EE53FD4" : "!utilClasses\/" 14 | }, 15 | "DVTSourceControlWorkspaceBlueprintNameKey" : "OSInteraction", 16 | "DVTSourceControlWorkspaceBlueprintVersion" : 204, 17 | "DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "xcode\/OSInteraction\/OSInteraction.xcodeproj", 18 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [ 19 | { 20 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/alec101\/-utilClasses.git", 21 | "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", 22 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "6412673629A8D771E570CDEF5BAE51856EE53FD4" 23 | }, 24 | { 25 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/alec101\/OSInteraction.git", 26 | "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", 27 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "8320BDCB92A03982BF8B3CEFD91C3DA20A5A9408" 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /xcode/OSInteraction/OSInteraction.xcodeproj/project.xcworkspace/xcuserdata/alec.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alec101/OSInteraction/2578e2fab3c41d9f95b6c4d4b21946b8e6ac4d77/xcode/OSInteraction/OSInteraction.xcodeproj/project.xcworkspace/xcuserdata/alec.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /xcode/OSInteraction/OSInteraction.xcodeproj/project.xcworkspace/xcuserdata/alec.xcuserdatad/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildLocationStyle 6 | UseTargetSettings 7 | 8 | 9 | -------------------------------------------------------------------------------- /xcode/OSInteraction/OSInteraction.xcodeproj/xcuserdata/alec.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 18 | 19 | 20 | 22 | 34 | 35 | 36 | 38 | 50 | 51 | 52 | 54 | 66 | 67 | 68 | 70 | 82 | 83 | 84 | 86 | 98 | 99 | 100 | 102 | 114 | 115 | 116 | 118 | 130 | 131 | 132 | 134 | 146 | 147 | 148 | 150 | 162 | 163 | 164 | 166 | 178 | 179 | 180 | 181 | 182 | -------------------------------------------------------------------------------- /xcode/OSInteraction/OSInteraction.xcodeproj/xcuserdata/alec.xcuserdatad/xcschemes/OSInteraction.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 51 | 52 | 58 | 59 | 60 | 61 | 62 | 63 | 69 | 70 | 76 | 77 | 78 | 79 | 81 | 82 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /xcode/OSInteraction/OSInteraction.xcodeproj/xcuserdata/alec.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | OSInteraction.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 7080883D18C2141000F34533 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /xcode/OSInteraction/OSInteraction/OSInteraction.1: -------------------------------------------------------------------------------- 1 | .\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples. 2 | .\"See Also: 3 | .\"man mdoc.samples for a complete listing of options 4 | .\"man mdoc for the short list of editing options 5 | .\"/usr/share/misc/mdoc.template 6 | .Dd 3/1/14 \" DATE 7 | .Dt OSInteraction 1 \" Program name and manual section number 8 | .Os Darwin 9 | .Sh NAME \" Section Header - required - don't modify 10 | .Nm OSInteraction, 11 | .\" The following lines are read in generating the apropos(man -k) database. Use only key 12 | .\" words here as the database is built based on the words here and in the .ND line. 13 | .Nm Other_name_for_same_program(), 14 | .Nm Yet another name for the same program. 15 | .\" Use .Nm macro to designate other names for the documented program. 16 | .Nd This line parsed for whatis database. 17 | .Sh SYNOPSIS \" Section Header - required - don't modify 18 | .Nm 19 | .Op Fl abcd \" [-abcd] 20 | .Op Fl a Ar path \" [-a path] 21 | .Op Ar file \" [file] 22 | .Op Ar \" [file ...] 23 | .Ar arg0 \" Underlined argument - use .Ar anywhere to underline 24 | arg2 ... \" Arguments 25 | .Sh DESCRIPTION \" Section Header - required - don't modify 26 | Use the .Nm macro to refer to your program throughout the man page like such: 27 | .Nm 28 | Underlining is accomplished with the .Ar macro like this: 29 | .Ar underlined text . 30 | .Pp \" Inserts a space 31 | A list of items with descriptions: 32 | .Bl -tag -width -indent \" Begins a tagged list 33 | .It item a \" Each item preceded by .It macro 34 | Description of item a 35 | .It item b 36 | Description of item b 37 | .El \" Ends the list 38 | .Pp 39 | A list of flags and their descriptions: 40 | .Bl -tag -width -indent \" Differs from above in tag removed 41 | .It Fl a \"-a flag as a list item 42 | Description of -a flag 43 | .It Fl b 44 | Description of -b flag 45 | .El \" Ends the list 46 | .Pp 47 | .\" .Sh ENVIRONMENT \" May not be needed 48 | .\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1 49 | .\" .It Ev ENV_VAR_1 50 | .\" Description of ENV_VAR_1 51 | .\" .It Ev ENV_VAR_2 52 | .\" Description of ENV_VAR_2 53 | .\" .El 54 | .Sh FILES \" File used or created by the topic of the man page 55 | .Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact 56 | .It Pa /usr/share/file_name 57 | FILE_1 description 58 | .It Pa /Users/joeuser/Library/really_long_file_name 59 | FILE_2 description 60 | .El \" Ends the list 61 | .\" .Sh DIAGNOSTICS \" May not be needed 62 | .\" .Bl -diag 63 | .\" .It Diagnostic Tag 64 | .\" Diagnostic informtion here. 65 | .\" .It Diagnostic Tag 66 | .\" Diagnostic informtion here. 67 | .\" .El 68 | .Sh SEE ALSO 69 | .\" List links in ascending order by section, alphabetically within a section. 70 | .\" Please do not reference files that do not exist without filing a bug report 71 | .Xr a 1 , 72 | .Xr b 1 , 73 | .Xr c 1 , 74 | .Xr a 2 , 75 | .Xr b 2 , 76 | .Xr a 3 , 77 | .Xr b 3 78 | .\" .Sh BUGS \" Document known, unremedied bugs 79 | .\" .Sh HISTORY \" Document history if command behaves in a unique manner --------------------------------------------------------------------------------