The Awakening Of The Dark Queen
- darius676
- Beiträge: 502
- 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
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
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
Re: The Awakening Of The Dark Queen
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.
And we're out of Beta, we're releasing on time.
- darius676
- Beiträge: 502
- 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
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.
- darius676
- Beiträge: 502
- 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
Soeben gesehen, der Aufruf der E_BOSS_SHOW_HEALTH_BAR()
Routine muss nach unten, weil die boss leiste soll farbig bleiben
Routine muss nach unten, weil die boss leiste soll farbig bleiben
- darius676
- Beiträge: 502
- 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
BUILD 729 (Vorschau)
https://youtu.be/hoOWH4cNM1Q
https://youtu.be/hoOWH4cNM1Q