๐Ÿ“ฆ bollafa / GFXApiDll

๐Ÿ“„ README.md ยท 96 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96# GFXApiDll / Banana Splitter
GFX Api , used in Banana Splitter, is the first in-game splitter available! ( that I know ;) ) !!!!!!!!
Now, you dont need to play the game in windowed mode and have the splitter next to you, you can play in fullscreen, YES IN FULLSCREEN!!!
![](https://puu.sh/unGqi/8e90c59d81.jpg)

![](https://puu.sh/um2kR/ed09b55d58.jpg)

# How to use ?
Banana splitter is not the regular .exe you are used to , it's a dll - and as I dont know if my target readers know about this topic, I will assume you don't - . It is a dll because it needs to live within the target process - kinda like a parasite - and then it is able to hook the drawing functions of the game and it's able to draw text!.

Dlls can't be started like a regular executable, you need to inject into the target process.

How to do this you ask? Well it is really easy in practice, use an injector that you like - eventually I will make my own injector just for BananaSplitter, but I wanted to release Banana splitter earlier so you can enjoy it now ! :) - Anyhow, like I was saying, use an injector that you like , personally I recommend Extreme Injector v3.3 by master131 , it's the one I use and I love it, it is fast , clean, small , and you dont need to select the process everytime you restart it. 

# Games / Graphics Library supported
As of now, Banana Splitter supports:
- DirectX 9.0
- Directx 11.0

# HOW TO CONTROL

When you inject the dll, you'll see at your left a timer set at 0 , 00:00:0 .
And the Dll will create a folder at Documents, called BananaSplitter. ( My Documents \ BananaSplitter )
Inside it, there will be 2 files, (if everything went OK ) :
**GameTimer.txt** : Here you can put the name of each checkpoint that you want to see ingame for example

```
First Boss
Second Boss
Gwyn ( Last Boss )
```


(etc. , you get the idea)

and another file:

**Config.txt** : There will be 3 comments, put the RGBA color in the order specified below each comment, ranging from 0-255

######Hint Color
**_R,G,B,A_**
######LapColor
**_R,G,B,A_**
######Current time color
**_R,G,B,A_**

The **controls** in game are as follows: 
- space : pause / start
- Numpad 0 : add split (when you get to your checkpoint press this key)
- Numpad 7 : Save ( saves the run in `Documents\BananaSplitter\Game _GameName_ _Numberofmilliseconds_ .txt ` )
- Numpad 4:  Move timer leftways.
- Numpad 6 : Moves timer rightways.
- Numpad 8 : moves timer upways.
- Numpad 2 : moves timer down.
- Numpad 3 : Reload GameTimer.txt

# TODOS

Support  OpenGL , DirectX 10 and earlier versions of DirectX9 , Vulkan and Mantle.

Custom loader/injector with more customizable options :)

# KNOWN ISSUES

Darksouls 1 for some reason is a special snowflake, so for DarkSouls 1 and **other special snowflake games that use DirectX9** use the BananaSplitterAlternative.dll (doesnt matter wheter it is x64 , or x86 , just make sure the target process is the same architecture)

# Checked Games

**Games that I have checked under _windows 7_ that work ** 
- Darksouls III
- Darksouls II : Scholar of the first sin
- Darksouls I  : ( with the alternative Dll)
- Supremme Commander I : ( Supremme commander speedrun?? :D it works tho :D )

I really dont have any other game that I can check, so , if it doesnt work in your game PLEASE LET ME KNOW.

# DISCLAIMER
I dont take the responsibility of you getting banned for using this in online games, if you want to speed run in Steam **_remember to play in offline mode_** . Just remember to play in offline mode.
# Credits

The most important section, yet I dont know why everybody leaves this at the end, or doesnt read it at all.
Firstly , I want to say a HUUUUUUUUUUUUUUUUUUGE thanks to **Tsuda Kageyu** the original autor of **MinHook - The Minimalistic API Hooking Library for x64/x86** , it's what makes this program work, without it, this wouldn't even exist.

Then, StackOverflow and every user on it as they have helped a lot, a LOT.
FW1FontWrapper for the amazing font api!! :D

Lastly but now in any way worse: **Unknowncheats.me** the greatest forum and community I've ever seen, I want to thank specially  **evolution536** for his tutorials on x64 hooking and Direct3d11 hooking.

I almost forgot, the humongously great MSDN Documentation, holy damn, it has helped. 


Thanks for taking your time to read this!