Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module util;
- import memory;
- struct CStringList
- {
- this (string [] items)
- {
- list = memory.allocator.makeArray!(const(char)*)(items.length,null);
- foreach (i,item; items)
- {
- list[i] = cast(const(char)*) item.ptr;
- }
- }
- this(int n)
- {
- list = memory.allocator.makeArray!(const(char)*)(n,null);
- }
- ~this ()
- {
- memory.allocator.dispose(list);
- }
- auto opIndexAssign(T)(T value, size_t index)
- {
- list[index] = value;
- return value;
- }
- const(char) * [] list;
- @property ptr ()
- {
- return list.ptr;
- }
- @property length ()
- {
- return list.length;
- }
- }
- ---------------------------------------------------------------
- module memory;
- import std.experimental.allocator : RCIAllocator, allocatorObject;
- public import std.experimental.allocator : make, dispose, makeArray,
- makeMultidimensionalArray, disposeMultidimensionalArray;
- import std.experimental.allocator.mallocator;
- alias allocator = Mallocator.instance;
- alias stringAllocator = Mallocator.instance;
- alias sharedAllocator = Mallocator.instance;
- --------------------------------------------------------------
- module video;
- import std.exception : enforce;
- import bindbc.sdl;
- import vulkan;
- void init()
- {
- SDL_Vulkan_LoadLibrary(null);
- window = SDL_CreateWindow("subterrainian", SDL_WINDOWPOS_UNDEFINED,
- SDL_WINDOWPOS_UNDEFINED, 400, 300, SDL_WINDOW_VULKAN | SDL_WINDOW_SHOWN);
- enforce (window, " failed to create SDL Window");
- vulkan.init(window);
- }
- void shutdown()
- {
- vulkan.shutdown();
- SDL_DestroyWindow(window);
- }
- private:
- SDL_Window * window;
- -------------------------------------------------------
- import bindbc.sdl;
- import bindbc.opengl;
- import std.stdio;
- import std.string;
- import std.exception : enforce;
- import video;
- int main()
- {
- enforce ( loadSDL() == sdlSupport, "Failed to Load sdlStatus");
- enforce ( SDL_Init(SDL_INIT_VIDEO) >= 0, "SDL init failed" );
- import erupted.vulkan_lib_loader;
- loadGlobalLevelFunctions();
- video.init();
- scope (exit) video.shutdown();
- while (!SDL_QuitRequested())
- {
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement