How can take a dll from a game and inject it into gameplay? - dll

Basically the game i am playing has a studio which lets you create games so it has toolbox that lets you insert blocks and more
How can I take this toolbox DLL and inject it into the game?
in normal gameplay there are no toolboxes, so what I wanna do is take the toolbox from the studio and insert it into the gameplay
there is a studio and a normal gameplay, in the studio there are tools which are useful and I want to take these put them in DLL and inject them in normal gameplay so I can use them in normal too

This is impossible since the "toolbox" depends on a lot of functions at specific addresses etc.

Related

How to control any windows program with no available API

What is the best way to control a program's user interface (clicking, entering text, drop down selection, etc) when the program has no available API?
I've heard of AutoHotKey and FlaUI and watched a few videos but haven't seen a great example yet. Before I go too far, is this the best direction/method?
Thanks!
FlaUI is a fully fledged UI Testing library that allows you to automate all aspects of a Windows application. As author of it, I of course recommend it. If you do have a bit of programming know how, it should be fairly easy to use. In case you just want some scripts to run locally, you don't even need Visual Studio or Visual Studio code, you can just use RoslynPad for example and directly create and run your code there.
I use this all the time for small automations, heck even sometimes to input very long passwords in a remote machine where I cannot use copy/paste.

Visual Basic Windows Forms App and capturing video

I have a simple VB Forms based Shuffleboard scoreboard app. I would like to add two overhead live video feeds that show the two scoring areas. This is a one off program that will never see the outside of my basement. I have played with a couple of the available vidcap libraries but there is no way I can justify purchasing a license to get rid of the demo popups.
My C++ skills are near nonexistent and the VB App is well developed and very user friendly, so I really don't want to rebuild the project. All I really want is the background of the scoreboard to be the two video feeds. (This is so that spectators can see the scoring area without having to stand at the table.)
I have been toying with the DirectX libs and C++ using Visual Studio 19. I can achieve the two cam views but cannot find a way to incorporate that into VB. I cannot seem to get the DirectX extensions to expose themselves when I go back to VB. Is this even doable using Visual Basic or am I going to have to rebuild in C++?

Component vs Library

I am very much confused about the words Component and Library.
I know the components are tightly bound, unit of functionality and modularity, and so does the library. In both the cases, binding is done at compile time. So what features make them different?
These are just two different words. Traditionally, anything that contain a bunch of things/code you can use is called a library. A bunch of C math function put together can be called a math library. A .NET DLL that contains a bunch of classes is called a class library.
The word Component comes from RAD tools and it implies some sort of design time support.
For example, a Windows Forms Menu class is a class that contains code implementing its runttime behavior (which is to display the menu in a window), but it also contains code that support certain things inside Visual Studio so that Visual Studio can design the menu at design time. It also has code that defines its "icon" in Visual Studio's toolbox, etc. All these things work together so that you can just drag it around on a "design surface" to make coding easier.
If you use .NET, there is an Object class which is the root of everything, and then there is the Component class that have a few members related to design time support. You can take a look of the class members which should give you an idea of what a Component is:
http://msdn.microsoft.com/en-us/library/system.componentmodel.component(v=vs.110).aspx
MS also has an article that explains it a bit more:
http://msdn.microsoft.com/en-us/library/vstudio/0b1dk63b.aspx
Needless to say, people often call class library that contains a lot of "Component classes" as a "component library". But there is nothing wrong to call it just class library.
Hope this helps a bit.

Game Engine as EXE and Game as DLL?

Hi guys I'm starting the design of a new little game engine and I was assuming the game engine as a DLL and then build a project for the game that would use this DLL and output an EXE file.
But then I read about the latest ID Tech Game Engines and how they do it the other way around. (http://fabiensanglard.net/doom3/index.php)
It's not really explained why though. I have the feeling it has something to do with modding as only the Game (DLL in this case) was open to the public for quite some time while the Engine (EXE) was closed source.
But I would like to know if there are other reasons for this.
As fas as I know the DLL project should have all the reusable code. The normal project should be the application, which would reference the reusable DLL. This way you can build a framework in the DLL project that can be used for any of other future projects.
The other only reason I can think of is that AFAIK only the name of the DLL is recorded in the program file, no text or data so if the Game is potentially bigger than the Engine, it could make the executable size smaller.
[EDIT]
I have thought of another reason to have it this way: The Engine is an EXE so it could be that it could be used without a Game DLL? Like for tools such as CAD or scripting?
If you are using a library in an application e.g. a game, then you have an app with an EXE with zero or more of its own DLLs consuming a library with one or more DLLs.
If you have a generic environment loading elements that customize it's behavior, thus making it a specific game, then you have an environment with an EXE and zero or more DLLs which uses configuration to load various DLLs and configuration files to determine its behaviour.
Either easy, you should probably have more than two assemblies in your application.
E.g. one (the EXE) for loading the main config and modules and connecting them all, one for the main UI, one for the graphics, one for the physics, one for the AI and etc.

VB.NET as a game development tool

I come from a Mac background. I developed games with Xcode and Objective-C frameworks.
Recently I moved to Windows and decided to use VB.NET for a while. It is cool.
Here is my intention:
I want to develop a Windows platform game. The game is rather complex, and I will need some kind of "engine" or "editor" to be able to edit my levels and properties easily. The idea is that I can build most of the game with this editor and then the editor will compile the project files and resources into one .exe file for gaming.
Fortunately, I was able to create my editor with VB.NET. I am able to edit levels and such. However, I am not sure about the "compilation" part to create a .exe file and play the game.
Basically I am at the point of designing the "Compile" button in my editor. But I am clueless. I could not find much documentation regarding this topic.
My editor has all variables and information the game needs to run.
I assume that this .exe file is like another VB.NET project (produced by my editor) that will basically take the data it comes with and "run" the game loop alright.
Any ideas, links, etc? Thanks.
**Note: my game is a 2d game with, probably, a vast amount of sprites and such.
Visual Studio is a fantastic IDE for development of Windows apps. Compiling the project is pretty simple. You just compile and it gives you an exe that's in the .NET Framework. Microsoft also has XNA Game Studio to help with game design if you want to look at gaming frameworks for .NET.
Also, you can take files from your editor if they generate vb.net and use the vbc compiler command to compile them into libraries, executables, whatever you like. The command could be something like this:
vbc /reference:Microsoft.VisualBasic.dll File.vb
Here's a link to the .NET command line compiler for VB.NET.
I'm not entirely sure what you mean here. Are you saying that you have an editor (something like a level or map editor?) for your game, and that you want the output of this editor to be embedded into the exe for your actual game application when it compiles?
If that's the case (or something similar to it) then you'll first want to consider how to persist your data to file. Then you could manually add files you've created as embedded resources. Or better yet, create a file type that holds as many 'levels' or 'maps' as you need and embed that. This way as you create more they will just get added to that file and you won't have to keep adding more embedded resources.