OldSchoolHack

Register / Login English

Text zeichnen (DX9)


icon Text zeichnen (DX9) #1

Join Date: Apr 2014

Posts: 3

User-Rating:

0 positive
1 negative
Hallo OSH!

Nach ein paar Tutorials etc bin ich zu dem hier gekommen:

TEXT Code:
  1. void DrawRect (LPDIRECT3DDEVICE9 Device_t, int X, int Y, int L, int H, D3DCOLOR color)
  2. {
  3. D3DRECT rect = {X, Y, X+L, Y+H};
  4. Device_t->Clear(1, &rect, D3DCLEAR_TARGET, color, 0, 0);
  5. }
  6.  
  7. void DrawFont (int X, int Y, D3DCOLOR Color, char *format, ...)
  8. {
  9. char buffer[256];
  10.  
  11. RECT FontRect = { X, Y, X + 120, Y + 16 };
  12. g_font->DrawText(NULL,      
  13.                               (LPCWSTR) buffer,  
  14.                                -1,          
  15.                                &FontRect,  
  16.                                DT_NOCLIP,
  17.                                Color);
  18.  
  19. }
  20.  
  21.  
  22.  
  23. HRESULT __stdcall hkEndScene(LPDIRECT3DDEVICE9 pDevice)
  24. {
  25. DrawRect(pDevice, 3, 10, 130, 130, txtBlack);
  26.  
  27. if (g_font == 0)
  28. {
  29. D3DXCreateFont(pDevice, 14, 0, FW_NORMAL, 1, false, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, L"Arial", &g_font );
  30. }
  31. else
  32. {
  33. DrawFont ( 20, 50, txtRed, "Red" );
  34. g_font->OnLostDevice();
  35. g_font->OnResetDevice();
  36.  
  37. }
  38.  
  39. DrawFont(50,50,txtBlack,"Black");
  40.  
  41.  
  42. return pEndScene(pDevice);
  43. }

Allerdings kann kein Text gezeichnet werden ._.
Also es kommt nix, compilieren geht schon und mit Quadraten geht es auch.

Definiert ist alles (Farben etc) wo ist da mein fehler?

mfg

Last edited by xthakingx (Tue 8. Apr 2014, 14:12)

Reason: no reason given

icon #2

Join Date: Mar 2011

Posts: 978

User-Rating:

89 positive
6 negative
woher habt ihr diesen failcopypaste code, vor 2 tagen erst genau so nen failbob mit dem gleichen problem auf epvp die gleiche frage gestellt:
Only registered and activated users can see links.

hört auf mit dem scheiß copypasten und programmiert erstmal etwas selber, muss ja kein hack sein.

__________________

http://www.abload.de/img/signfj5o.png
Spoiler
Vids:
Zitate:
Spoiler

Quote from xst
Vater KN4CK3R, der du hängst im irc, geheiligt werde dein Botnet, dein P7 v1.337 komme, die Bannwelle geschehe, wie in CS:S als auch in CS:GO, führe uns nicht in Versuchung, sondern erlöse uns von all dem c+p-Shit.
Quote from f4gsh0t_h4x
VAC ist an,immer,überall
Quote from gibson.w
Ich mag braune Würstchen
Quote from irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Quote from irc
<OrkSchamane> das prob is das viele dieser eig. recht guten bücher englisch sind ...
<OrkSchamane> da habe ich's ja doppelt schwer
<~KN4CK3R> falsch
<~KN4CK3R> das prob is dass du programmieren willst ohne englisch zu können
Quote from irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Quote from irc
<~KN4CK3R> dann liegts wenigstens an mir
<~KN4CK3R> nur noch rausfinden warum -.-
<SilverDeath> ja sicher
<SilverDeath> an wem sonst?
* You were kicked by KN4CK3R (kick)
Quote from Dr_Pepper
ihr seit beide dumm
Tutorials:
Releases:
Gifs:
Spoiler
http://www.abload.de/img/uberesp2sgul2.gif
https://i.imgur.com/Z5VQMrV.gif
http://www.abload.de/img/minesweeperzgaef.gif
Last edited by SilverFire (Wed 9. Apr 2014, 19:21)

Reason: no reason given

2 positive
0 negative
This post has been rated by:
Olmoody (Tue 8. Apr 2014, 17:13), xthakingx (Tue 8. Apr 2014, 20:11)
icon #3

Join Date: Apr 2014

Posts: 3

User-Rating:

0 positive
1 negative
das is kein copypast sondern eigener code -,-
kommt zusammen von purple.d1amond und von nem tutorial von silverfire mit hooking.

und ich kann nich viel selber programmieren, wenn ich nicht viel ahnung von directx hab...
icon #4

Join Date: Mar 2011

Posts: 978

User-Rating:

89 positive
6 negative
ich muss mal dringend nen ordentliches tutorial zu strings allg und directx in dem zusammenhang machen...

paar fehler drin:
1.
g_font->OnLostDevice();
g_font->OnResetDevice();
hat da absolut nix zu suchen
2.
char buffer[256];
den buffer in DrawFont musste mit z.b. vsprintf aus den parametern füllen.
3. das rect kannste dir korrekt ausrechnen anstatt es mit hardcoded values zu machen.

google "how to draw text directx c++" liefert übrigens direkt mehrere tutorials zu dem ganzen.

__________________

http://www.abload.de/img/signfj5o.png
Spoiler
Vids:
Zitate:
Spoiler

Quote from xst
Vater KN4CK3R, der du hängst im irc, geheiligt werde dein Botnet, dein P7 v1.337 komme, die Bannwelle geschehe, wie in CS:S als auch in CS:GO, führe uns nicht in Versuchung, sondern erlöse uns von all dem c+p-Shit.
Quote from f4gsh0t_h4x
VAC ist an,immer,überall
Quote from gibson.w
Ich mag braune Würstchen
Quote from irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Quote from irc
<OrkSchamane> das prob is das viele dieser eig. recht guten bücher englisch sind ...
<OrkSchamane> da habe ich's ja doppelt schwer
<~KN4CK3R> falsch
<~KN4CK3R> das prob is dass du programmieren willst ohne englisch zu können
Quote from irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Quote from irc
<~KN4CK3R> dann liegts wenigstens an mir
<~KN4CK3R> nur noch rausfinden warum -.-
<SilverDeath> ja sicher
<SilverDeath> an wem sonst?
* You were kicked by KN4CK3R (kick)
Quote from Dr_Pepper
ihr seit beide dumm
Tutorials:
Releases:
Gifs:
Spoiler
http://www.abload.de/img/uberesp2sgul2.gif
https://i.imgur.com/Z5VQMrV.gif
http://www.abload.de/img/minesweeperzgaef.gif
icon #5

Join Date: Apr 2014

Posts: 3

User-Rating:

0 positive
1 negative
TEXT Code:
  1. void DrawRect (LPDIRECT3DDEVICE9 Device_t, int X, int Y, int L, int H, D3DCOLOR color)
  2. {
  3. D3DRECT rect = {X, Y, X+L, Y+H};
  4. Device_t->Clear(1, &rect, D3DCLEAR_TARGET, color, 0, 0);
  5. }
  6.  
  7. void DrawFont (int X, int Y, D3DCOLOR Color, char *format, ...)
  8. {
  9. char buffer[256];
  10. va_list args;
  11. va_start (args, format);
  12. vsprintf (buffer,"Test", args);
  13. RECT FontRect = { X, Y, X + 120, Y + 16 };
  14. pFont->DrawText( NULL, (LPCWSTR)buffer, -1, &FontRect, DT_NOCLIP , Color );
  15. va_end (args);
  16. }
  17.  
  18.  
  19.  
  20. HRESULT __stdcall hkEndScene(LPDIRECT3DDEVICE9 pDevice)
  21. {
  22. DrawRect (pDevice, 10, 10, 200, 200, txtRed);
  23.  
  24. D3DXCreateFont(pDevice, 14, 0, FW_NORMAL, 1, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
  25. ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, L"Arial", &pFont);
  26.  
  27.  
  28. DrawFont(300, 50, txtRed, "Test");
  29.  
  30.  
  31. return pEndScene(pDevice);
  32. }

D3DXCreateFont könnte ich mit einer if-Schleife ja notfalls nur einmal abrufen.

Allerdings wird nur das rote Rechteck gezeichnet und dann hängt sich das D3D9-Testfenster auf.
Dann eine Frage zu der va_list:
Müssen zwingend optionale Argumente angegeben werden?
Das Format bzw. mein Text steht da ja jetzt drinnen also sollte buffer gefüllt sein...
0 positive
1 negative
This post has been rated by:
capo1337 (Sun 20. Apr 2014, 00:50)