diff --git a/meson.build b/meson.build index bb9e2d8c..10a5b361 100644 --- a/meson.build +++ b/meson.build @@ -6,7 +6,7 @@ link = [] src = [] if not get_option('editor') - add_project_arguments('-DNEDITOR', language:'c') +# add_project_arguments('-DNEDITOR', language:'c') endif git_tag_cmd = run_command('git', 'describe', '--tags', '--abbrev=0', check: false) diff --git a/scripts/modules/draw2d.js b/scripts/modules/draw2d.js index 2653a9ea..d9862988 100644 --- a/scripts/modules/draw2d.js +++ b/scripts/modules/draw2d.js @@ -32,7 +32,8 @@ draw.line = function render_line(points, color = Color.white, thickness = 1, pip mesh, pipeline, first_index: 0, - num_indices: mesh.num_indices + num_indices: mesh.num_indices, + image:whiteimage }) } draw.line[prosperon.DOC] = ` diff --git a/scripts/modules/imgui.js b/scripts/modules/imgui.js index cd71264f..6431fc7c 100644 --- a/scripts/modules/imgui.js +++ b/scripts/modules/imgui.js @@ -2,6 +2,15 @@ var imgui = this; var debug = {} +var imdebug = function imdebug() { + imtoggle("Physics", debug, "draw_phys"); + imtoggle("Bouning boxes", debug, "draw_bb"); + imtoggle("Names", debug, "draw_names"); + imtoggle("Sprite nums", debug, "sprite_nums"); + imtoggle("Debug overlay", debug, "show"); + imtoggle("Show ur names", debug, "urnames"); +}; + function imtoggle(name, obj, field) { var changed = false; var old = obj[field]; @@ -10,9 +19,14 @@ function imtoggle(name, obj, field) { return false; }; +var render_menu = true; + +imgui.render_menu = function(render) { render_menu = render; } + imgui.prosperon_menu = function prosperon_menu() { imgui.newframe(); - + +if (render_menu) { if (debug.console) debug.console = imgui.window("console", _ => { imgui.text(console.transcript); @@ -45,10 +59,10 @@ imgui.prosperon_menu = function prosperon_menu() { imgui.sokol_gfx(); imgui.menu("Graphics", _ => { - imtoggle("Draw sprites", render, "draw_sprites"); - imtoggle("Draw particles", render, "draw_particles"); - imtoggle("Draw HUD", render, "draw_hud"); - imtoggle("Draw GUI", render, "draw_gui"); +// imtoggle("Draw sprites", render, "draw_sprites"); +// imtoggle("Draw particles", render, "draw_particles"); +// imtoggle("Draw HUD", render, "draw_hud"); +// imtoggle("Draw GUI", render, "draw_gui"); imgui.menu("Window", _ => { prosperon.fullscreen = imgui.checkbox("fullscreen", prosperon.fullscreen); @@ -81,9 +95,8 @@ imgui.prosperon_menu = function prosperon_menu() { } }); */ -// prosperon.imgui(); - - imgui.endframe(render._main); +} + prosperon.imgui(); }; imgui.windowpos[prosperon.DOC] = `Return the position of the current ImGui window as an ImVec2. @@ -725,4 +738,4 @@ imgui.init[prosperon.DOC] = `Initialize ImGui with SDL and SDL_gpu, creating the :return: None `; -return false +return this diff --git a/scripts/modules/loop.js b/scripts/modules/loop.js index 4c822735..6fadd89c 100644 --- a/scripts/modules/loop.js +++ b/scripts/modules/loop.js @@ -6,7 +6,6 @@ var emitter = use('emitter') var os = use('os') var event = use('event') var imgui = use('imgui') - var tracy = use('tracy') var waittime = 1/240 diff --git a/scripts/modules/render.js b/scripts/modules/render.js index c31abf41..522e5584 100644 --- a/scripts/modules/render.js +++ b/scripts/modules/render.js @@ -24,8 +24,8 @@ var default_conf = { identifier: "world.pockle.prosperon", creator: "Pockle World LLC", copyright: "Copyright Pockle World 2025", - type: "application", - url: "https://github.com/johnbrethauer/prosperon" + type: "game", + url: "https://prosperon.dev" } var config = use('config.js') @@ -105,7 +105,6 @@ sprite_pipeline.target = { depth: "d32 float s8" }; - var appy = {}; appy.inputs = {}; if (os.platform() === "macos") { @@ -116,9 +115,6 @@ appy.inputs["M-f4"] = os.exit; controller.player[0].control(appy); - - - prosperon.window = prosperon.engine_start(config); var driver = "vulkan" @@ -141,6 +137,14 @@ render._main.window = prosperon.window render._main.claim_window(prosperon.window) render._main.set_swapchain('sdr', 'vsync') +var whiteimage = {} +whiteimage.surface = graphics.make_surface([1,1]) +whiteimage.surface.rect({x:0,y:0,width:1,height:1}, [1,1,1,1]) +whiteimage.texture = render._main.load_texture(whiteimage.surface) + +var imgui = use('imgui') +if (imgui) imgui.init(render._main, prosperon.window) + var unit_transform = os.make_transform(); var cur = {}; @@ -653,9 +657,6 @@ render_camera[prosperon.DOC] = `Render a scene using the provided camera, drawin :return: None ` -var imgui = use('imgui') -if (imgui) imgui.init(render._main, prosperon.window); - var swaps = []; function gpupresent() { os.clean_transforms(); @@ -675,7 +676,7 @@ function gpupresent() { load: "clear" }); - if (imgui) { + if (imgui) { // draws any imgui commands present cmds.push_debug_group("imgui") imgui.prepend(cmds); var pass = cmds.render_pass({ @@ -790,20 +791,6 @@ render.scissor[prosperon.DOC] = `Set the GPU scissor region to the specified rec :return: None ` -var imdebug = function imdebug() { - imtoggle("Physics", debug, "draw_phys"); - imtoggle("Bouning boxes", debug, "draw_bb"); - imtoggle("Names", debug, "draw_names"); - imtoggle("Sprite nums", debug, "sprite_nums"); - imtoggle("Debug overlay", debug, "show"); - imtoggle("Show ur names", debug, "urnames"); -}; - -var observed_tex = undefined; - -var debug = {} -debug.console = false - // Some initialization shader_type = render._main.shader_format()[0];