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 = []
|
||||
|
||||
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)
|
||||
|
||||
@@ -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] = `
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user