11 changed files with 32242 additions and 10 deletions
@ -0,0 +1,7 @@ |
|||||||
|
<html> |
||||||
|
<head><title>404 Not Found</title></head> |
||||||
|
<body> |
||||||
|
<center><h1>404 Not Found</h1></center> |
||||||
|
<hr><center>nginx/1.27.0</center> |
||||||
|
</body> |
||||||
|
</html> |
||||||
@ -0,0 +1,116 @@ |
|||||||
|
#!/usr/bin/env python |
||||||
|
# -*- coding: utf-8 -*- |
||||||
|
|
||||||
|
from imgui.integrations.sdl2 import SDL2Renderer |
||||||
|
from sdl2 import * |
||||||
|
import OpenGL.GL as gl |
||||||
|
import ctypes |
||||||
|
import imgui |
||||||
|
import sys |
||||||
|
|
||||||
|
|
||||||
|
def main(): |
||||||
|
window, gl_context = impl_pysdl2_init() |
||||||
|
imgui.create_context() |
||||||
|
impl = SDL2Renderer(window) |
||||||
|
|
||||||
|
show_custom_window = True |
||||||
|
|
||||||
|
running = True |
||||||
|
event = SDL_Event() |
||||||
|
while running: |
||||||
|
while SDL_PollEvent(ctypes.byref(event)) != 0: |
||||||
|
if event.type == SDL_QUIT: |
||||||
|
running = False |
||||||
|
break |
||||||
|
impl.process_event(event) |
||||||
|
impl.process_inputs() |
||||||
|
|
||||||
|
imgui.new_frame() |
||||||
|
|
||||||
|
|
||||||
|
#show_test_window() |
||||||
|
#imgui.show_test_window() |
||||||
|
|
||||||
|
if show_custom_window: |
||||||
|
is_expand, show_custom_window = imgui.begin("Custom window", True) |
||||||
|
if is_expand: |
||||||
|
imgui.text("Bars") |
||||||
|
imgui.text_colored("Eggs", 0.2, 1.0, 0.0) |
||||||
|
imgui.end() |
||||||
|
|
||||||
|
gl.glClearColor(1.0, 1.0, 1.0, 1) |
||||||
|
gl.glClear(gl.GL_COLOR_BUFFER_BIT) |
||||||
|
|
||||||
|
|
||||||
|
imgui.render() |
||||||
|
impl.render(imgui.get_draw_data()) |
||||||
|
SDL_GL_SwapWindow(window) |
||||||
|
|
||||||
|
impl.shutdown() |
||||||
|
SDL_GL_DeleteContext(gl_context) |
||||||
|
SDL_DestroyWindow(window) |
||||||
|
SDL_Quit() |
||||||
|
|
||||||
|
|
||||||
|
def impl_pysdl2_init(): |
||||||
|
width, height = 640, 480 |
||||||
|
window_name = "minimal ImGui/SDL2 example" |
||||||
|
|
||||||
|
if SDL_Init(SDL_INIT_EVERYTHING) < 0: |
||||||
|
print( |
||||||
|
"Error: SDL could not initialize! SDL Error: " |
||||||
|
+ SDL_GetError().decode("utf-8") |
||||||
|
) |
||||||
|
sys.exit(1) |
||||||
|
|
||||||
|
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1) |
||||||
|
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24) |
||||||
|
SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8) |
||||||
|
SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1) |
||||||
|
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1) |
||||||
|
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 8) |
||||||
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG) |
||||||
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 4) |
||||||
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1) |
||||||
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE) |
||||||
|
|
||||||
|
SDL_SetHint(SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK, b"1") |
||||||
|
SDL_SetHint(SDL_HINT_VIDEO_HIGHDPI_DISABLED, b"1") |
||||||
|
|
||||||
|
window = SDL_CreateWindow( |
||||||
|
window_name.encode("utf-8"), |
||||||
|
SDL_WINDOWPOS_CENTERED, |
||||||
|
SDL_WINDOWPOS_CENTERED, |
||||||
|
width, |
||||||
|
height, |
||||||
|
SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE, |
||||||
|
) |
||||||
|
|
||||||
|
if window is None: |
||||||
|
print( |
||||||
|
"Error: Window could not be created! SDL Error: " |
||||||
|
+ SDL_GetError().decode("utf-8") |
||||||
|
) |
||||||
|
sys.exit(1) |
||||||
|
|
||||||
|
gl_context = SDL_GL_CreateContext(window) |
||||||
|
if gl_context is None: |
||||||
|
print( |
||||||
|
"Error: Cannot create OpenGL Context! SDL Error: " |
||||||
|
+ SDL_GetError().decode("utf-8") |
||||||
|
) |
||||||
|
sys.exit(1) |
||||||
|
|
||||||
|
SDL_GL_MakeCurrent(window, gl_context) |
||||||
|
if SDL_GL_SetSwapInterval(1) < 0: |
||||||
|
print( |
||||||
|
"Warning: Unable to set VSync! SDL Error: " + SDL_GetError().decode("utf-8") |
||||||
|
) |
||||||
|
sys.exit(1) |
||||||
|
|
||||||
|
return window, gl_context |
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__": |
||||||
|
main() |
||||||
@ -0,0 +1,25 @@ |
|||||||
|
[Window][Debug##Default] |
||||||
|
Pos=60,60 |
||||||
|
Size=400,400 |
||||||
|
Collapsed=0 |
||||||
|
|
||||||
|
[Window][Custom window] |
||||||
|
Pos=297,261 |
||||||
|
Size=107,117 |
||||||
|
Collapsed=0 |
||||||
|
|
||||||
|
[Window][Dear ImGui Demo] |
||||||
|
Pos=650,20 |
||||||
|
Size=550,680 |
||||||
|
Collapsed=0 |
||||||
|
|
||||||
|
[Window][Your first window!] |
||||||
|
Pos=60,60 |
||||||
|
Size=100,48 |
||||||
|
Collapsed=0 |
||||||
|
|
||||||
|
[Window][ImGui Demo] |
||||||
|
Pos=236,96 |
||||||
|
Size=550,680 |
||||||
|
Collapsed=0 |
||||||
|
|
||||||
@ -0,0 +1,53 @@ |
|||||||
|
import ctypes |
||||||
|
import os |
||||||
|
import sdl2 |
||||||
|
import imgui |
||||||
|
from imgui.integrations.sdl2 import SDL2Renderer |
||||||
|
import sdl2.ext |
||||||
|
|
||||||
|
def main(): |
||||||
|
# Initialize SDL2 |
||||||
|
sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO) |
||||||
|
|
||||||
|
# Set OpenGL ES version |
||||||
|
sdl2.SDL_GL_SetAttribute(sdl2.SDL_GL_CONTEXT_MAJOR_VERSION, 2) |
||||||
|
sdl2.SDL_GL_SetAttribute(sdl2.SDL_GL_CONTEXT_MINOR_VERSION, 0) |
||||||
|
sdl2.SDL_GL_SetAttribute(sdl2.SDL_GL_CONTEXT_PROFILE_MASK, sdl2.SDL_GL_CONTEXT_PROFILE_ES) |
||||||
|
|
||||||
|
# Create an SDL window |
||||||
|
window = sdl2.SDL_CreateWindow(b"SDL2 OpenGL ES2", |
||||||
|
sdl2.SDL_WINDOWPOS_UNDEFINED, |
||||||
|
sdl2.SDL_WINDOWPOS_UNDEFINED, |
||||||
|
640, 480, |
||||||
|
sdl2.SDL_WINDOW_OPENGL | sdl2.SDL_WINDOW_SHOWN) |
||||||
|
|
||||||
|
# Create an OpenGL context |
||||||
|
gl_context = sdl2.SDL_GL_CreateContext(window) |
||||||
|
|
||||||
|
# Main loop |
||||||
|
running = True |
||||||
|
event = sdl2.SDL_Event() |
||||||
|
|
||||||
|
# Create an SDL2 renderer for ImGui |
||||||
|
imgui.set_current_context(imgui.create_context()) |
||||||
|
renderer = SDL2Renderer(window) |
||||||
|
while running: |
||||||
|
while sdl2.SDL_PollEvent(ctypes.byref(event)) != 0: |
||||||
|
if event.type == sdl2.SDL_QUIT: |
||||||
|
running = False |
||||||
|
is_expand, show_custom_window = imgui.begin("Custom window", True) |
||||||
|
if is_expand: |
||||||
|
imgui.text("Bars") |
||||||
|
imgui.text_colored("Eggs", 0.2, 1.0, 0.0) |
||||||
|
imgui.end() |
||||||
|
imgui.render() |
||||||
|
renderer.render(imgui.get_draw_data()) |
||||||
|
sdl2.SDL_GL_SwapWindow(window) |
||||||
|
|
||||||
|
# Cleanup |
||||||
|
sdl2.SDL_GL_DeleteContext(gl_context) |
||||||
|
sdl2.SDL_DestroyWindow(window) |
||||||
|
sdl2.SDL_Quit() |
||||||
|
|
||||||
|
if __name__ == "__main__": |
||||||
|
main() |
||||||
@ -0,0 +1,15 @@ |
|||||||
|
<game> |
||||||
|
<path>./dRally.sh</path> |
||||||
|
<name>Death Rally</name> |
||||||
|
<desc>Death Rally is a strategic top-down racing game where players start with a modest budget and car, competing across 19 tracks in races against increasingly challenging opponents to earn money for upgrades. With choices of six car models and enhancements in engi> |
||||||
|
|
||||||
|
In addition to race earnings, players can score bonuses for achievements like wiping out all competition, completing races unscathed, or fulfilling sponsor missions. Bonuses vary based on the chosen car, with the ultimate goal being to top the championship table and defeat the Adve> |
||||||
|
<image>./drally/cover.png</image> |
||||||
|
<releasedate>19960101T000000</releasedate> |
||||||
|
<developer>Remedy Entertainment Ltd.</developer> |
||||||
|
<publisher>Apogee Software</publisher> |
||||||
|
<genre>Simulation-Race 3rd Pers. view-Race, Driving</genre> |
||||||
|
<players>1-4</players> |
||||||
|
<playcount>1</playcount> |
||||||
|
<lastplayed>20240915T212155</lastplayed> |
||||||
|
</game> |
||||||
Loading…
Reference in new issue