adding offsets
This commit is contained in:
parent
b9ddc72e73
commit
69203653fd
|
|
@ -141,7 +141,7 @@ pub fn addProgram(self: *BuildSystem, opts: AddProgramOptions) *std.Build.Module
|
||||||
|
|
||||||
b.getInstallStep().dependOn(self.nw_builder.getInstallStep());
|
b.getInstallStep().dependOn(self.nw_builder.getInstallStep());
|
||||||
|
|
||||||
run_exe.dependOn(b.getInstallStep());
|
// run_exe.dependOn(b.getInstallStep());
|
||||||
|
|
||||||
return mod;
|
return mod;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
pub var NeonObjectTable = core.EngineObjectVTable.from(@This(), "game.ExternGameObject");
|
pub var NeonObjectTable = core.EngineObjectVTable.from(@This(), "game.TopBar");
|
||||||
pub const Slack = core.SlackStruct(@This(), 256);
|
pub const Slack = core.SlackStruct(@This(), 256);
|
||||||
|
|
||||||
allocator: std.mem.Allocator,
|
allocator: std.mem.Allocator,
|
||||||
|
|
|
||||||
|
|
@ -488,6 +488,8 @@ pub const Context = struct {
|
||||||
self.debugTextCount = 0;
|
self.debugTextCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub const destroy = deinit;
|
||||||
|
|
||||||
pub fn deinit(self: *@This()) void {
|
pub fn deinit(self: *@This()) void {
|
||||||
for (0..self.nodes.count()) |i| {
|
for (0..self.nodes.count()) |i| {
|
||||||
const maybeNode = self.nodes.indexToHandle(i);
|
const maybeNode = self.nodes.indexToHandle(i);
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ first: bool = true,
|
||||||
rectPipeline: *gpu.GPUGraphicsPipeline = undefined,
|
rectPipeline: *gpu.GPUGraphicsPipeline = undefined,
|
||||||
// textPipeline: *gpu.GPUGraphicsPipeline = undefined,
|
// textPipeline: *gpu.GPUGraphicsPipeline = undefined,
|
||||||
|
|
||||||
pub var NeonObjectTable: core.EngineObjectVTable = core.EngineObjectVTable.from(@This());
|
pub var NeonObjectTable: core.EngineObjectVTable = core.EngineObjectVTable.from(@This(), "ui.runtime");
|
||||||
|
|
||||||
pub fn create(allocator: std.mem.Allocator) !*@This() {
|
pub fn create(allocator: std.mem.Allocator) !*@This() {
|
||||||
const self: *@This() = try allocator.create(@This());
|
const self: *@This() = try allocator.create(@This());
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
pub const core = @import("core");
|
pub const core = @import("core");
|
||||||
pub const api = @import("cimgui");
|
|
||||||
const rend = @import("rend");
|
const rend = @import("rend");
|
||||||
|
|
||||||
pub const papyrus = @import("papyrus");
|
pub const papyrus = @import("papyrus");
|
||||||
|
|
@ -12,24 +11,17 @@ pub const Module: core.ModuleDescription = .{
|
||||||
|
|
||||||
pub const PapyrusIntegration = @import("sgpu/papyrusSgpu.zig");
|
pub const PapyrusIntegration = @import("sgpu/papyrusSgpu.zig");
|
||||||
|
|
||||||
var gIntegration: *PapyrusIntegration = undefined;
|
|
||||||
|
|
||||||
pub fn start_module(spec: *core.SpecVariantMap, args: anytype, allocator: std.mem.Allocator) !void {
|
pub fn start_module(spec: *core.SpecVariantMap, args: anytype, allocator: std.mem.Allocator) !void {
|
||||||
_ = args;
|
_ = args;
|
||||||
_ = spec;
|
_ = spec;
|
||||||
|
_ = allocator;
|
||||||
|
|
||||||
gIntegration = try PapyrusIntegration.create(allocator);
|
const ctx = try core.createObject(PapyrusIntegration, .{});
|
||||||
try gIntegration.setup();
|
try ctx.setup();
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets the main context under gIntegration
|
// gets the main context
|
||||||
pub fn context() *papyrus.Context {
|
pub const context = core.EngineObject(PapyrusIntegration).get;
|
||||||
return gIntegration.screenContext;
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn runtime() *PapyrusIntegration {
|
|
||||||
return gIntegration;
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn shutdown_module(allocator: std.mem.Allocator) void {
|
pub fn shutdown_module(allocator: std.mem.Allocator) void {
|
||||||
_ = allocator;
|
_ = allocator;
|
||||||
|
|
|
||||||
|
|
@ -112,47 +112,46 @@ pub const ExternGameObject = struct {
|
||||||
|
|
||||||
pub fn tick(self: *@This(), dt: f64) void {
|
pub fn tick(self: *@This(), dt: f64) void {
|
||||||
const rctx = rend.context();
|
const rctx = rend.context();
|
||||||
|
_ = rctx;
|
||||||
_ = dt;
|
_ = dt;
|
||||||
|
|
||||||
if (ig.begin("meh", null, .{})) {
|
if (core.getEngineObject(imgui.utils.TopBar)) |topbar| {
|
||||||
// if (ig.checkbox("move lights ", null)) {}
|
topbar.menuOpen = platform.context().isCursorEnabled();
|
||||||
|
|
||||||
ig.textFmt("info: - WASD to move, mouse to look,\n- Q and E to go up and down", .{}) catch return;
|
|
||||||
ig.textFmt("- shift to slow down camera speed", .{}) catch return;
|
|
||||||
ig.textFmt("- T to enable/disable mouse cursor", .{}) catch return;
|
|
||||||
ig.textFmt("- f2 to route all inputs to the doom player", .{}) catch return;
|
|
||||||
ig.textFmt("- movingLight checkbox makes the light stop moving with you", .{}) catch return;
|
|
||||||
|
|
||||||
if (ig.smallButton("reload map")) {
|
|
||||||
self.loadMap2() catch unreachable;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ig.smallButton("destroy map")) {
|
|
||||||
if (self.tbMap) |tbMap| {
|
|
||||||
core.engine_log("killing the map", .{});
|
|
||||||
tbMap.destroy();
|
|
||||||
self.tbMap = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
ig.end();
|
|
||||||
|
|
||||||
if (platform.context().isCursorEnabled()) {
|
if (platform.context().isCursorEnabled()) {
|
||||||
if (ig.begin("cursor", null, .{})) {
|
if (ig.begin("meh", null, .{})) {
|
||||||
|
// if (ig.checkbox("move lights ", null)) {}
|
||||||
|
|
||||||
|
ig.textFmt("info: - WASD to move, mouse to look,\n- Q and E to go up and down", .{}) catch return;
|
||||||
|
ig.textFmt("- shift to slow down camera speed", .{}) catch return;
|
||||||
|
ig.textFmt("- T to enable/disable mouse cursor", .{}) catch return;
|
||||||
|
ig.textFmt("- f2 to route all inputs to the doom player", .{}) catch return;
|
||||||
|
ig.textFmt("- movingLight checkbox makes the light stop moving with you", .{}) catch return;
|
||||||
|
|
||||||
|
if (ig.smallButton("reload map")) {
|
||||||
|
self.loadMap2() catch unreachable;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ig.smallButton("destroy map")) {
|
||||||
|
if (self.tbMap) |tbMap| {
|
||||||
|
core.engine_log("killing the map", .{});
|
||||||
|
tbMap.destroy();
|
||||||
|
self.tbMap = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ig.end();
|
||||||
|
|
||||||
|
if (platform.context().isCursorEnabled()) {
|
||||||
if (rend.context().activeCamera) |cam| {
|
if (rend.context().activeCamera) |cam| {
|
||||||
const ray = cam.getNormalRayFromScreen(platform.getCursorPosition());
|
const ray = cam.getNormalRayFromScreen(platform.getCursorPosition());
|
||||||
|
|
||||||
if (physics.traceLine(ray.start, ray.dir.fmul(10000), .{ .bodyFilter = &self.fireTraceFilter, .getNormalsSlow = false })) |r| {
|
if (physics.traceLine(ray.start, ray.dir.fmul(10000), .{ .bodyFilter = &self.fireTraceFilter, .getNormalsSlow = false })) |r| {
|
||||||
core.debugSphere(r.point, 0.2, .{ .color = .{ .x = 1.0 }, .duration = 0 });
|
core.debugSphere(r.point, 0.2, .{ .color = .{ .x = 1.0 }, .duration = 0 });
|
||||||
// core.debugLine(ray.start, ray.start.add(ray.dir.fmul(1000)), .{ .duration = 2.5 });
|
|
||||||
// physics.applyForce(r.body, ray.dir.fmul(400), r.point);
|
|
||||||
ig.textf("{d} {d} {d}", .{ r.point.x, r.point.y, r.point.z });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ig.textf("imgui mouse consumed {any}", .{platform.getInstance().imguiMouseConsumed});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ig.end();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//_ = self;
|
//_ = self;
|
||||||
|
|
@ -170,13 +169,13 @@ pub const ExternGameObject = struct {
|
||||||
// }
|
// }
|
||||||
// ig.end();
|
// ig.end();
|
||||||
|
|
||||||
if (ig.begin("list of textures", null, .{})) {
|
// if (ig.begin("list of textures", null, .{})) {
|
||||||
var iterator = rctx.textureList.map.iterator();
|
// var iterator = rctx.textureList.map.iterator();
|
||||||
while (iterator.next()) |i| {
|
// while (iterator.next()) |i| {
|
||||||
ig.textf("{s}", .{i.value_ptr.*.name.utf8()});
|
// ig.textf("{s}", .{i.value_ptr.*.name.utf8()});
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
ig.end();
|
// ig.end();
|
||||||
|
|
||||||
// if (ig.begin("list of meshes", null, .{})) {
|
// if (ig.begin("list of meshes", null, .{})) {
|
||||||
// ig.textf("number of meshes: {d}", .{rctx.meshPool.installedMeshes.count()});
|
// ig.textf("number of meshes: {d}", .{rctx.meshPool.installedMeshes.count()});
|
||||||
|
|
|
||||||
|
|
@ -175,8 +175,6 @@ pub fn prepare(self: *@This()) !void {
|
||||||
try self.objectSpawner.addSpawnFunction("empire", @import("empire.zig"));
|
try self.objectSpawner.addSpawnFunction("empire", @import("empire.zig"));
|
||||||
try self.objectSpawner.addSpawnFunction("DamagedHelmet", DamagedHelmet);
|
try self.objectSpawner.addSpawnFunction("DamagedHelmet", DamagedHelmet);
|
||||||
|
|
||||||
ui.context().drawDebug = true;
|
|
||||||
|
|
||||||
try assets.loadList(assetReferences);
|
try assets.loadList(assetReferences);
|
||||||
// self.videoplayer = try VideoPlayer.create(self.allocator);
|
// self.videoplayer = try VideoPlayer.create(self.allocator);
|
||||||
// try self.videoplayer.startPlayback("LAPWING2.ogv");
|
// try self.videoplayer.startPlayback("LAPWING2.ogv");
|
||||||
|
|
@ -429,9 +427,9 @@ pub fn tick(self: *@This(), dt: f64) void {
|
||||||
// self.loadMap2() catch unreachable;
|
// self.loadMap2() catch unreachable;
|
||||||
// show a window with the current camera's position
|
// show a window with the current camera's position
|
||||||
|
|
||||||
|
self.objectSpawner.windowOpen = !self.mouseLook;
|
||||||
if (!self.mouseLook) {
|
if (!self.mouseLook) {
|
||||||
// self.engineTool.tick();
|
// self.engineTool.tick();
|
||||||
self.objectSpawner.windowOpen = !self.mouseLook;
|
|
||||||
//if (ig.begin("meh", null, .{})) {
|
//if (ig.begin("meh", null, .{})) {
|
||||||
//if (ig.checkbox("move lights ", &self.moveLight)) {}
|
//if (ig.checkbox("move lights ", &self.moveLight)) {}
|
||||||
//}
|
//}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue