imgui is always compiled in, and developer selects to enable or disable its drawing; fix bug with rendering lines that caused prosperon to crash
All checks were successful
Build and Deploy / build-linux (push) Successful in 34s
Build and Deploy / build-windows (CLANG64) (push) Successful in 9m15s
Build and Deploy / package-dist (push) Has been skipped
Build and Deploy / deploy-itch (push) Has been skipped
Build and Deploy / deploy-gitea (push) Has been skipped
All checks were successful
Build and Deploy / build-linux (push) Successful in 34s
Build and Deploy / build-windows (CLANG64) (push) Successful in 9m15s
Build and Deploy / package-dist (push) Has been skipped
Build and Deploy / deploy-itch (push) Has been skipped
Build and Deploy / deploy-gitea (push) Has been skipped
This commit is contained in:
@@ -6,7 +6,7 @@ link = []
|
|||||||
src = []
|
src = []
|
||||||
|
|
||||||
if not get_option('editor')
|
if not get_option('editor')
|
||||||
add_project_arguments('-DNEDITOR', language:'c')
|
# add_project_arguments('-DNEDITOR', language:'c')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
git_tag_cmd = run_command('git', 'describe', '--tags', '--abbrev=0', check: false)
|
git_tag_cmd = run_command('git', 'describe', '--tags', '--abbrev=0', check: false)
|
||||||
|
|||||||
@@ -32,7 +32,8 @@ draw.line = function render_line(points, color = Color.white, thickness = 1, pip
|
|||||||
mesh,
|
mesh,
|
||||||
pipeline,
|
pipeline,
|
||||||
first_index: 0,
|
first_index: 0,
|
||||||
num_indices: mesh.num_indices
|
num_indices: mesh.num_indices,
|
||||||
|
image:whiteimage
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
draw.line[prosperon.DOC] = `
|
draw.line[prosperon.DOC] = `
|
||||||
|
|||||||
@@ -2,6 +2,15 @@ var imgui = this;
|
|||||||
|
|
||||||
var debug = {}
|
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) {
|
function imtoggle(name, obj, field) {
|
||||||
var changed = false;
|
var changed = false;
|
||||||
var old = obj[field];
|
var old = obj[field];
|
||||||
@@ -10,9 +19,14 @@ function imtoggle(name, obj, field) {
|
|||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var render_menu = true;
|
||||||
|
|
||||||
|
imgui.render_menu = function(render) { render_menu = render; }
|
||||||
|
|
||||||
imgui.prosperon_menu = function prosperon_menu() {
|
imgui.prosperon_menu = function prosperon_menu() {
|
||||||
imgui.newframe();
|
imgui.newframe();
|
||||||
|
|
||||||
|
if (render_menu) {
|
||||||
if (debug.console)
|
if (debug.console)
|
||||||
debug.console = imgui.window("console", _ => {
|
debug.console = imgui.window("console", _ => {
|
||||||
imgui.text(console.transcript);
|
imgui.text(console.transcript);
|
||||||
@@ -45,10 +59,10 @@ imgui.prosperon_menu = function prosperon_menu() {
|
|||||||
imgui.sokol_gfx();
|
imgui.sokol_gfx();
|
||||||
|
|
||||||
imgui.menu("Graphics", _ => {
|
imgui.menu("Graphics", _ => {
|
||||||
imtoggle("Draw sprites", render, "draw_sprites");
|
// imtoggle("Draw sprites", render, "draw_sprites");
|
||||||
imtoggle("Draw particles", render, "draw_particles");
|
// imtoggle("Draw particles", render, "draw_particles");
|
||||||
imtoggle("Draw HUD", render, "draw_hud");
|
// imtoggle("Draw HUD", render, "draw_hud");
|
||||||
imtoggle("Draw GUI", render, "draw_gui");
|
// imtoggle("Draw GUI", render, "draw_gui");
|
||||||
|
|
||||||
imgui.menu("Window", _ => {
|
imgui.menu("Window", _ => {
|
||||||
prosperon.fullscreen = imgui.checkbox("fullscreen", prosperon.fullscreen);
|
prosperon.fullscreen = imgui.checkbox("fullscreen", prosperon.fullscreen);
|
||||||
@@ -81,9 +95,8 @@ imgui.prosperon_menu = function prosperon_menu() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
*/
|
*/
|
||||||
// prosperon.imgui();
|
}
|
||||||
|
prosperon.imgui();
|
||||||
imgui.endframe(render._main);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
imgui.windowpos[prosperon.DOC] = `Return the position of the current ImGui window as an ImVec2.
|
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: None
|
||||||
`;
|
`;
|
||||||
|
|
||||||
return false
|
return this
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ var emitter = use('emitter')
|
|||||||
var os = use('os')
|
var os = use('os')
|
||||||
var event = use('event')
|
var event = use('event')
|
||||||
var imgui = use('imgui')
|
var imgui = use('imgui')
|
||||||
|
|
||||||
var tracy = use('tracy')
|
var tracy = use('tracy')
|
||||||
|
|
||||||
var waittime = 1/240
|
var waittime = 1/240
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ var default_conf = {
|
|||||||
identifier: "world.pockle.prosperon",
|
identifier: "world.pockle.prosperon",
|
||||||
creator: "Pockle World LLC",
|
creator: "Pockle World LLC",
|
||||||
copyright: "Copyright Pockle World 2025",
|
copyright: "Copyright Pockle World 2025",
|
||||||
type: "application",
|
type: "game",
|
||||||
url: "https://github.com/johnbrethauer/prosperon"
|
url: "https://prosperon.dev"
|
||||||
}
|
}
|
||||||
|
|
||||||
var config = use('config.js')
|
var config = use('config.js')
|
||||||
@@ -105,7 +105,6 @@ sprite_pipeline.target = {
|
|||||||
depth: "d32 float s8"
|
depth: "d32 float s8"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
var appy = {};
|
var appy = {};
|
||||||
appy.inputs = {};
|
appy.inputs = {};
|
||||||
if (os.platform() === "macos") {
|
if (os.platform() === "macos") {
|
||||||
@@ -116,9 +115,6 @@ appy.inputs["M-f4"] = os.exit;
|
|||||||
|
|
||||||
controller.player[0].control(appy);
|
controller.player[0].control(appy);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
prosperon.window = prosperon.engine_start(config);
|
prosperon.window = prosperon.engine_start(config);
|
||||||
|
|
||||||
var driver = "vulkan"
|
var driver = "vulkan"
|
||||||
@@ -141,6 +137,14 @@ render._main.window = prosperon.window
|
|||||||
render._main.claim_window(prosperon.window)
|
render._main.claim_window(prosperon.window)
|
||||||
render._main.set_swapchain('sdr', 'vsync')
|
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 unit_transform = os.make_transform();
|
||||||
|
|
||||||
var cur = {};
|
var cur = {};
|
||||||
@@ -653,9 +657,6 @@ render_camera[prosperon.DOC] = `Render a scene using the provided camera, drawin
|
|||||||
:return: None
|
:return: None
|
||||||
`
|
`
|
||||||
|
|
||||||
var imgui = use('imgui')
|
|
||||||
if (imgui) imgui.init(render._main, prosperon.window);
|
|
||||||
|
|
||||||
var swaps = [];
|
var swaps = [];
|
||||||
function gpupresent() {
|
function gpupresent() {
|
||||||
os.clean_transforms();
|
os.clean_transforms();
|
||||||
@@ -675,7 +676,7 @@ function gpupresent() {
|
|||||||
load: "clear"
|
load: "clear"
|
||||||
});
|
});
|
||||||
|
|
||||||
if (imgui) {
|
if (imgui) { // draws any imgui commands present
|
||||||
cmds.push_debug_group("imgui")
|
cmds.push_debug_group("imgui")
|
||||||
imgui.prepend(cmds);
|
imgui.prepend(cmds);
|
||||||
var pass = cmds.render_pass({
|
var pass = cmds.render_pass({
|
||||||
@@ -790,20 +791,6 @@ render.scissor[prosperon.DOC] = `Set the GPU scissor region to the specified rec
|
|||||||
:return: None
|
: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
|
// Some initialization
|
||||||
shader_type = render._main.shader_format()[0];
|
shader_type = render._main.shader_format()[0];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user