How to make a Geometry Dash Mod - Custom Menus (Part. 2)

preview_player
Показать описание
Please read the description before commenting. (Click read more)

Thank you all for supporting the previous video, (even though YouTube for some reason isn't showing it in the search results) I've decided to create another tutorial as people have requested for part 2, so here it is.

Before watching, it's HIGHLY encouraged to watch the previous tutorial, as I don't go over some things in this tutorial and I am a bit too fast on certain parts of the video, so PLEASE don't comment stating that I'm too fast.

Also before watching, it's recommended to watch tutorials on C++ and also learn about how do hooking for games.

If you notice any mistakes in the video, do not be toxic about it.
I am new to GD modding and decided to share this video because no one else has done any tutorials like this (actually znx has but doesn't go over hooking and just goes over patching), and want the modding community to grow.

I most definitely will be wrong on some facts in this video, so if you are an expert at making GD mods, please comment down below on what mistake I made, and I'll make sure to use that advice for the future.
----
For the finding addresses part, it's recommended to look at the parameters of the function, as if you do not have the correct parameters and just have no params, GD will most likely crash when the layer is initialized. (Like for example, when hooking PlayLayer::init, you'll need to pass GJGameLevel* in the params or it'll crash.)

----
If you have any suggestions of what mod tutorial I should try doing next, leave a comment down below!

Timestamps:
0:00 - Disclaimer
0:17 - Intro
0:56 - Installing cocos-headers, gd.h, and MinHook
1:42 - Installing Ghidra
2:24 - Installing OpenJDK 11
3:05 - Running Ghidra (1)
3:31 - Creating a project in Visual Studio
4:12 - Setting up the Project
6:23 - Running Ghidra (2)
7:24 - Installing Texture Splitter
8:15 - Finding address for CreatorLayer::init
9:50 - Setting up thread function + MinHook
10:13 - Creating and Hooking CreatorLayer
11:01 - Creating an arrow button in CreatorLayer
12:05 - Testing the Mod (1)
12:19 - Creating a custom layer

15:52 - Testing the Mod (2)
16:12 - Adding custom texture
16:44 - Creating a button the custom layer with texture
18:02 - Testing the Mod (3)
18:20 - Outro

Links:

* Ghidra webpage - removed because youtube striked me for including the url

Additional Include Directories:
$(SolutionDir)libs\MinHook
$(SolutionDir)libs\gd.h

$(SolutionDir)libs\gd.h\include
$(SolutionDir)libs\cocos-headers\cocos2dx
$(SolutionDir)libs\cocos-headers\cocos2dx\include
$(SolutionDir)libs\cocos-headers\cocos2dx\kazmath\include
$(SolutionDir)libs\cocos-headers\cocos2dx\platform\win32
$(SolutionDir)libs\cocos-headers\cocos2dx\platform\third_party\win32
$(SolutionDir)libs\cocos-headers\cocos2dx\platform\third_party\win32\OGLES
$(SolutionDir)libs\cocos-headers\extensions

Thank you mat and HJfod for creating the repositories, thank you to the GDP server for helping me, and thank you for watching the video.

Music (mostly used creo):

" This video is made for educational purposes. "

i'm not going over how to setup gdmake because its broken for me

also idk how to RE classes or how vtables work, pls teach me

i might use visual studio code for next tutorial, idkyoutube copyright forced me to remove the songs
Комментарии
Автор

at 15:53 rn and it crashes what do i do??

cdc_
Автор

I'm getting 14 tiff h errors and "expected a {" error in CCCommon h

mc-intosh
Автор

In what app i have to search the download? What called the search?

lucianospinelli
Автор

After I compiled the project at 11:56, the button appeared, but when I minimized the gd window, gd closed for some reason without giving an error. How to fix it?

vustur
Автор

in the writeProcessMemory function how do you set the value to a float?

miko-gjfd
Автор

👇if you know c++ but have no idea what he is doing

GDhatenal
Автор

i got a lot of errors (78) from gd.h on 11:44, what i need to do?

multivrse
Автор

now we know why robtop takes 4 years to make 2 levels, 1 button, and 9 icons oh and 1 gamemode etc

miguelxd
Автор

at 14:19 you should use ```auto size = or maybe i am wrong

aurorahubps
Автор

im getting this error: identifier "SEL_MenuHandler" is undefined
pls help

rudasy
Автор

what about android we havent forgotten em right?

aurorahubps
Автор

anyways can you do a tutorial on making a plist file and making a custom rescource file

aurorahubps
Автор

I have a problem that my game crashes when i want to go to MyLayer beacuse of custom image. Do anyone know how to fix this?

Niko_Dev
Автор

When I built it at 11:42 I get 1321 errors

Krispizz
Автор

cant import include its say not found

LabyrinthReality
Автор

Video idea: Custom objects tutorial(example: custom orbs)

labrosmatsas
Автор

can someone put address of LevelBrowserLayout::init in gd function address repo?

philip_odnonozhka
Автор

Can you send me all include patchs here? Tyvm

nintendero
Автор

What about how to add your own icons geometry dash ?

RoboProduction-wk
Автор

Hi, how can i make buttons do something?

quys
welcome to shbcf.ru