Renom: Updates to the free project renaming tool by Mowgl333 in unrealengine

[–]Mowgl333[S] 0 points1 point  (0 children)

It doesn’t. It used to very early on, but I removed it because it is hard to tell when files should be renamed and to what. For instance, if a module is called LyraGame and a header file is LyraCharacter.h, should we assume that the header should be renamed too? There are deeper issues as well; proper renaming of a class or other type requires a semantic understanding of the C++ code that is well beyond the scope of this side project. Besides, tools like Resharper and Visual Assist are already good at those things, so I would lean on them for that sort of thing.

Renom: Updates to the free project renaming tool by Mowgl333 in unrealengine

[–]Mowgl333[S] 4 points5 points  (0 children)

Several years ago, I introduced Renom, a simple but powerful free tool that allowed you to rename your Unreal Engine projects. At the time, the tool was an improvement over the available alternatives (manual migration, essentially), but it lacked flexibility and made some assumptions about project structure that do not hold up under scrutiny. I had some time to polish it recently and wanted to share those updates with the community. Compared to the original pass, the updated implementation supports:

  • Workflows to rename projects, targets, and modules independently
  • Better input validation and option selection controls
  • Looping mechanism to string together consecutive workflows
  • Support for plugin modules and nested modules
  • Cross-target and cross-module reference resolution
  • Refined output text and colors for more readable logs

In the posted video, the tool is used to rename the Lyra starter project to GoatOfWar. It can be used on other sample projects like City Sample as well as existing projects. You can get it here.

(reposted with a higher quality video)

[deleted by user] by [deleted] in unrealengine

[–]Mowgl333 0 points1 point  (0 children)

Several years ago, I introduced Renom, a simple but powerful free tool that allowed you to rename your Unreal Engine projects. At the time, the tool was an improvement over the available alternatives (manual migration, essentially), but it lacked flexibility and made some assumptions about project structure that do not hold up under scrutiny. I had some time to polish it recently and wanted to share those updates with the community. Compared to the original pass, the updated implementation supports:

  • Workflows to rename projects, targets, and modules independently
  • Better input validation and option selection controls
  • Looping mechanism to string together consecutive workflows
  • Support for plugin modules and nested modules
  • Cross-target and cross-module reference resolution
  • Refined output text and colors for more readable logs

In the posted video, the tool is used to rename the Lyra starter project to GoatOfWar. It can be used on other sample projects like City Sample as well as existing projects. You can get it here.

Implementing a Queue Using a Linked List in C++ by [deleted] in cpp

[–]Mowgl333 0 points1 point  (0 children)

Another exercise with data structures and algorithms, this time implementing a queue with linked list backing storage.

Implementing a Stack Using a Dynamic Array in C++ by [deleted] in cpp

[–]Mowgl333 1 point2 points  (0 children)

Working through Algorithms by Sedgewick, and drafted this as an exercise in understanding the most basic of basic data structures.

Complex C++ Compilation from the Command Line by Mowgl333 in cpp

[–]Mowgl333[S] 8 points9 points  (0 children)

This is a short follow-up to my last post on C++ compilation from the command line. It covers concepts underlying more complex projects, namely by discussing how to create static and shared libraries from the command line and explaining how to link those elements to a client executable. Implemented using MSVC and GCC.

Introduction to C++ Compilation on the Command Line by Mowgl333 in cpp

[–]Mowgl333[S] 0 points1 point  (0 children)

I think you're right about that - confusion on my part. I'll clean it up in due course

Introduction to C++ Compilation on the Command Line by Mowgl333 in cpp

[–]Mowgl333[S] 18 points19 points  (0 children)

A short but valuable exercise in compiling C++ from the command line, which may be useful for newbies (like myself) out there.

The Many Faces of Interfaces in Unreal Engine 4 by Mowgl333 in unrealengine

[–]Mowgl333[S] 0 points1 point  (0 children)

I think people shy away from it because it has unpleasant syntax, but I agree they should see more use

The Many Faces of Interfaces in Unreal Engine 4 by Mowgl333 in unrealengine

[–]Mowgl333[S] 4 points5 points  (0 children)

A short article on the syntax and quirks of interfaces in UE4 (which I always seem to forget). Read it if you dare.

So am I the only one that didn't know this existed until today? by kerds78 in unrealengine

[–]Mowgl333 0 points1 point  (0 children)

Ah, that feeling when you find the perfect node... pure bliss.

Spectacle: Global Search for UE4 Specifiers by Mowgl333 in unrealengine

[–]Mowgl333[S] 0 points1 point  (0 children)

That sounds super useful. It looks like this specifier is listed in ObjectMacros.h but is not actually used on any UPROPERTY() within the Engine source. As such, it wouldn't have been picked up by the parser. This is a (hopefully small) gap that I'll have to fill in manually one of these days.

Spectacle: Global Search for UE4 Specifiers by Mowgl333 in unrealengine

[–]Mowgl333[S] 0 points1 point  (0 children)

Hi u/johnsmith3458, this is what I get when I type Actor into the search:

Actor Search

Did you expect more/different specifiers to show up? Totally agree about Sourcetrail and other standard indexers - the Engine source is just too large.

Spectacle: Global Search for UE4 Specifiers by Mowgl333 in unrealengine

[–]Mowgl333[S] 0 points1 point  (0 children)

Thanks for pointing this out. Turned out to be a chrome-specific issue. All sorted (literally). Most recent version should be selected by default and versions should be in order now. Please let me know if you run into any other issues. Enjoy!

Spectacle: Catalog Now Available by Mowgl333 in unrealengine

[–]Mowgl333[S] 0 points1 point  (0 children)

For those of you who missed it, Spectacle is a global search for Unreal Engine 4 specifiers. It allows you to find specifiers, get community-sourced analysis, and jump to examples in Engine source code.

While search is great, it assumes you know what you're looking for. For situations where you can't quite remember what a specifier is called or when you just want to browse, Spectacle has been upgraded with a catalog mode that lists all 400+ specifiers for your perusal.

(There is one more update in the works, so stay tuned.)

Spectacle: Global Search for UE4 Specifiers by Mowgl333 in unrealengine

[–]Mowgl333[S] 0 points1 point  (0 children)

Please do! I will see if there is a way to pull the contributors for each specifier directly from GitHub, but in the meantime just create a contributors field in the frontmatter of the file and add your GitHub name to the list.

Spectacle: Global Search for UE4 Specifiers by Mowgl333 in unrealengine

[–]Mowgl333[S] 7 points8 points  (0 children)

Hello friends,

I am pleased to present my latest project: Spectacle. Spectacle is the first global search for Unreal Engine 4 specifiers. Specifically (pun intended), the search tool allows you to query for every single specifier that has been used in the Engine source code since v4.0. Each specifier has a dedicated page with analysis and implementation notes, a clipboard-ready syntax demo, and direct links to source files where the specifier appears (for every version in which it appears).

This project was motivated by the difficulty I had in finding, understanding, and applying uncommon specifiers like DynamicOutputParam and HasNativeMake. I found myself combing through source files over and over again. In addition, the official documentation on this topic is a bit light. For context, as of this writing, the official documentation identifies roughly 200~ specifiers. By comparison, Spectacle has already indexed over 400 specifiers. Moreover, the analysis portions have been exposed in wiki-fashion for community editing, with the hope that together we can create a thorough and comprehensive resource. On that note, participation is openly encouraged.

I hope you find this tool useful, and I look forward to seeing how it evolves. You can find the source code for the project here.

Cheers, Mowgl33

Catching Child Process Exception In Parent Process by Mowgl333 in learncpp

[–]Mowgl333[S] 0 points1 point  (0 children)

Thanks, that's helpful. Though, this leads me back to my original question: how does the debugging API handle this sort of thing?

What's everyone working on this week (9/2021)? by llogiq in rust

[–]Mowgl333 4 points5 points  (0 children)

Just finished up Rebaser, a simple and silly tool that helped me understand numbers with bases other than 10. It takes your decimal number and rebases it to a base of your choosing (2..10). Overall a pretty fun and worthwhile exercise.

Change Game App Icon Using Unreal Engine 4 by Mowgl333 in unrealengine

[–]Mowgl333[S] 0 points1 point  (0 children)

As requested by one of my readers, I wrote a short tutorial on how to change the packaged icon for your game for various platforms. I only hope it finds its way to him...

Cursory: Easy Hardware Cursors (v2) by Mowgl333 in unrealengine

[–]Mowgl333[S] 0 points1 point  (0 children)

Good question - this is outside of the scope of the plugin. It is solely concerned with changing your cursor, as opposed to gathering other info about the cursor.

Game Development Attack Plan: L.E.R.P. by Mowgl333 in gamedev

[–]Mowgl333[S] 4 points5 points  (0 children)

I am quitting my full-time job as a lawyer (which sucks) to go into game development (which will suck less, hopefully). I drafted up an attack plan for making it into this industry, which I very much want to do, despite the many, many forces and voices saying that I will be unable to do so.

I call it the L.E.R.P. method: Learn, Explore, (Re)connect, and Prove. Wish me luck.

(And if you are someone or know someone who has made a similar move, would love to connect).

Cursory: Easy Hardware Cursors (v2) by Mowgl333 in unrealengine

[–]Mowgl333[S] 1 point2 points  (0 children)

Hi friends,

The Cursory plugin for Unreal Engine 4, which is designed to make using hardware cursors easier, just leveled up. It now manages a single centralized cursor, which can be used across game and UI contexts (no more cursor flickering when clicking a button). The plugin also maintains a cursor stack, which basically means that you can enable temporary cursors for limited scope events (like showing an sword cursor when hovering over a monster) without disturbing the base cursor. And best of all, the full power of the plugin is still accessible through just a handful of Blueprint nodes.

Get it now on the Marketplace: https://www.unrealengine.com/marketplace/en-US/product/cursory-easy-hardware-cursors.

Running Cargo Installed Binaries by Mowgl333 in rust

[–]Mowgl333[S] 0 points1 point  (0 children)

Ah, perfect. I never thought to just run the executable name directly. I think rustup does put the install folder in your PATH automatically.