The Awakening Of The Dark Queen

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Benutzeravatar
darius676
Beiträge: 444
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

Re: The Awakening Of The Dark Queen

Beitrag von darius676 »

Hello :)
geht über Windows APi:

Procedure E_GRAY_SCALE(DC)

If e_show_gray_scale.b<>#True
ProcedureReturn #False
EndIf

Define COLORADJUSTMENT.COLORADJUSTMENT


GetColorAdjustment_(DC, Coloradjustment)
SetStretchBltMode_(DC, #HALFTONE)

COLORADJUSTMENT\caColorfulness = e_colorness.i
COLORADJUSTMENT\caBrightness = e_brightnes.i

SetColorAdjustment_(DC, COLORADJUSTMENT)
StretchBlt_(DC, 0, 0, e_engine_internal_screen_w,e_engine_internal_screen_h, DC, 0, 0,e_engine_internal_screen_w,e_engine_internal_screen_h,#SRCCOPY)

EndProcedure

Dass einzelne Objekte, wie die "Herzen"/Requester in Farbe sind, liegt an der Reihenfolge der Bildschirmausgabe:

Procedure E_GLOBAL_TEXT_OUTPUT()
DC=StartDrawing(ScreenOutput()) ;DC = die Adresse für den Drawingbuffer
E_SHOW_TIMER_OBJECT()
E_SHOW_MAP_NAME()
E_SHOW_INFO_ON_MAP()
E_SHOW_BOSS_NAME()
E_SCROLL_TEXT_BASE()
E_NPC_TEXT_OUTPUT()
E_SHOW_VERSION_INFO(e_version_info_text.s)
E_SHOW_DEBUG_INFO()
E_SHOW_COORDINATES()
E_GRAY_SCALE(DC) ;dass ist die wichtige Routine (DC = die Adresse für den Drawingbuffer)
StopDrawing()


EndProcedure

;-----------------------------------------------------------

Procedure E_DRAW_FINAL_RENDER_WIN()
;just a simple overlay, shows game/engine state and player data(game data)


If e_gfx_pause_valid.b=#True And e_engine_mode=#PAUSE
DisplayTransparentSprite(e_gfx_pause_id.i,0,0,240)
E_GAME_PAUSE_DIALOG()
EndIf

If e_engine_mode.b=#GAME_OVER
E_GAME_OVER()
EndIf

If e_engine_mode.b=#NO_XBOX_INPUT_DEVICE
DisplayTransparentSprite(e_gfx_no_controller_id.i,0,0,255)
E_MISSING_CONTROLLER_DIALOG()
EndIf

EndProcedure
;---------------------------------
Procedure E_SHOW_PLAY_FIELD()
;draw the mess

If e_show_play_field.b=#False
ProcedureReturn #False
EndIf

E_STAMP_OVERLAY()
E_SHOW_WORLD_START()
E_STAMP_OVERLAY_SHOW()
E_BOSS_SHOW_HEALTH_BAR()
E_GLOBAL_TEXT_OUTPUT() ;beinhaltet die Graustufenroutine und alle Drawings die über Startdrawing(ScreenOutput) laufen

E_SHOW_PLAYER_HEARD_SYMBOLS() ;deshalb in bunt :)
E_GLOBAL_FPS_COUNTER()
E_DRAW_FINAL_RENDER_WIN()
FlipBuffers()

EndProcedure
Benutzeravatar
diceman
Beiträge: 346
Registriert: 06.07.2017 12:24
Kontaktdaten:

Re: The Awakening Of The Dark Queen

Beitrag von diceman »

:allright: :)
Windows API geht derzeit noch über meinen Verstand, damit habe ich mich so gar nicht beschäftigt, wie das funktioniert, was damit möglich ist, etc.
Danke für den Beispiel-Code, könnte sich evtl. mal als nützlich erweisen.
Now these points of data make a beautiful line,
And we're out of Beta, we're releasing on time.
Benutzeravatar
darius676
Beiträge: 444
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

Re: The Awakening Of The Dark Queen

Beitrag von darius676 »

RSBasic ist hier im Forum die gute "Windows API" Seele. Hat viele Codes die hilfreich sind. Nutze (er wird natürlich in den Credits erwähnt) den einen oder anderen Code (Teile) für zum Beispiel: Sprache ( Lokalisation, automatische Erkennung der System Sprache) usw. Und ein Blick in die Dokumentation von MS hilft auch, da es oft nur um kleine Codeabschnitte geht, die mit Purebasic direkt verwendet werden können.
Benutzeravatar
darius676
Beiträge: 444
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

Re: The Awakening Of The Dark Queen

Beitrag von darius676 »

Soeben gesehen, der Aufruf der E_BOSS_SHOW_HEALTH_BAR()
Routine muss nach unten, weil die boss leiste soll farbig bleiben :lol:
Benutzeravatar
darius676
Beiträge: 444
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

Re: The Awakening Of The Dark Queen

Beitrag von darius676 »

BUILD 729 (Vorschau)
https://youtu.be/hoOWH4cNM1Q
Benutzeravatar
darius676
Beiträge: 444
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

Re: The Awakening Of The Dark Queen

Beitrag von darius676 »

Benutzeravatar
darius676
Beiträge: 444
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

Re: The Awakening Of The Dark Queen

Beitrag von darius676 »

Benutzeravatar
darius676
Beiträge: 444
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

Re: The Awakening Of The Dark Queen

Beitrag von darius676 »

Benutzeravatar
darius676
Beiträge: 444
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

Re: The Awakening Of The Dark Queen

Beitrag von darius676 »

Benutzeravatar
darius676
Beiträge: 444
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

Re: The Awakening Of The Dark Queen

Beitrag von darius676 »

Antworten