repo: hackvr-turbo
action: commit
revision: 
path_from: 
revision_from: 0f53d96c82ea9538c990276453b26322825f4454:
path_to: 
revision_to: 
git.thebackupbox.net
hackvr-turbo
git clone git://git.thebackupbox.net/hackvr-turbo
commit 0f53d96c82ea9538c990276453b26322825f4454
Author: Felix (xq) Queißner 
Date:   Sun Jul 5 00:09:45 2020 +0200

    Implements renamegroup command. Dungexplore now works!

diff --git a/lib/hackvr/lib.zig b/lib/hackvr/lib.zig
index e4349dd0fcecc67b5ad6800ad8ad355be3fe2f8c..
index ..81f97bb5b94200881aaf6afb29fea958c14728cf 100644
--- a/lib/hackvr/lib.zig
+++ b/lib/hackvr/lib.zig
@@ -176,6 +176,14 @@ pub fn applyEventToState(state: *State, event: parsing.Event) !void {
                 grp.rotation = cmd.vector.apply(grp.rotation);
             }
         },
+        .rename_group => |cmd| {
+            var new_name = try std.mem.dupe(&state.arena.allocator, u8, cmd.groups);
+
+            var iter = state.findGroups(cmd.selector.groups);
+            while (iter.next()) |grp| {
+                grp.name = new_name;
+            }
+        },
         else => {
             std.debug.print("Event {} not implemented yet!\n", .{@as(parsing.EventType, event)});
         },
diff --git a/lib/hackvr/parser.zig b/lib/hackvr/parser.zig
index 498ee85abdf5cedec11734e455ba224d62b3d587..
index ..1d7e355e66b33f6f128402786f408177e6c90022 100644
--- a/lib/hackvr/parser.zig
+++ b/lib/hackvr/parser.zig
@@ -108,12 +108,12 @@ pub const Parser = struct {
                         },
                     };
                 } else if (std.mem.eql(u8, cmd, "renamegroup")) {
-                    if (args.len != 1)
+                    if (args.len != 2)
                         return error.ArgumentMismatch;
                     return Event{
                         .rename_group = GroupArgSelector{
                             .selector = selector,
-                            .groups = args[0],
+                            .groups = args[1],
                         },
                     };
                 } else if (std.mem.eql(u8, cmd, "export")) {

-----END OF PAGE-----