mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-05-05 03:04:52 +00:00
8abe642baf
- Multi-screen menu hierarchy (main/setup/player/controls/options/map_select) defined in packages/quake3/config/menu.json, loaded at runtime - Overlay renderer loads real Q3 assets from pak0.pk3 via libzip+stb_image: cut_frame.tga (panel), frame1_l/r.tga (decorations), font1_prop.tga (text) - Proportional font renderer using exact Q3 propMap table (ioquake3 source) - Centered in-game panel matching ioquake3 layout - Two-level DAG loop: outer_loop reloads map, inner game_loop runs per frame - value.set_if atomic step added; movement_active computed by DAG (bool.not) - Mouse grab, physics move, weapon update driven by movement_active context key - BSP collision cleanup on map reload to prevent ghost geometry - SDLK_q → SDLK_Q fix for SDL3; window close button exits both loops - quake3_screenshot package: renders 240 frames, saves BMP, exits Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
80 lines
1.7 KiB
JSON
80 lines
1.7 KiB
JSON
{
|
|
"name": "Quake 3 Support",
|
|
"version": "1.0.0",
|
|
"id": "quake3",
|
|
"type": "game",
|
|
"category": "demo",
|
|
"description": "Quake 3 BSP map viewer with FPS controls",
|
|
|
|
"defaultWorkflow": "workflows/q3_game.json",
|
|
|
|
"workflows": [
|
|
"workflows/load_map_with_unit_conversion.json"
|
|
],
|
|
|
|
"assets": [
|
|
"assets/quake3_materials.json"
|
|
],
|
|
|
|
"config": [
|
|
"config/q3_rendering.json",
|
|
"config/menu.json"
|
|
],
|
|
|
|
"scene": [
|
|
"scene/quake3_map.json",
|
|
"scene/camera_q3_default.json"
|
|
],
|
|
|
|
"shaders": [],
|
|
|
|
"q3_specifications": {
|
|
"unit_scale": {
|
|
"units_per_meter": 32,
|
|
"conversion_to_ue5": 3.125,
|
|
"explanation": "Multiply all Q3 coordinates by 3.125 to get UE5 units"
|
|
},
|
|
|
|
"camera": {
|
|
"fov_degrees": 90,
|
|
"aspect_ratio": "4:3",
|
|
"critical": "Q3 was designed with 90° FOV. DO NOT change - textures and geometry align to this value."
|
|
},
|
|
|
|
"player": {
|
|
"height_q3_units": 56,
|
|
"height_ue5_units": 175,
|
|
"height_cm": 175,
|
|
"walk_speed_ue5_units_per_sec": 1000,
|
|
"walk_speed_kmh": 3.6
|
|
},
|
|
|
|
"physics": {
|
|
"gravity": 800,
|
|
"sprint_speed_q3": 600,
|
|
"jump_height_q3_units": 64,
|
|
"jump_height_ue5_units": 200
|
|
},
|
|
|
|
"animation": {
|
|
"internal_framerate": 10,
|
|
"upsample_to": 60,
|
|
"upsampling_factor": 6
|
|
}
|
|
},
|
|
|
|
"import_notes": "Quake 3 maps are designed around 90° FOV (field of view). This is not arbitrary - all texture scaling, weapon visibility, and sight lines assume 90°. Changing FOV will misalign textures and break the visual design.",
|
|
|
|
"bundled": true,
|
|
|
|
"dependencies": [
|
|
{
|
|
"name": "asset_loader",
|
|
"version": ">=1.0.0",
|
|
"usage": "map_loading_and_unit_conversion"
|
|
},
|
|
{
|
|
}
|
|
]
|
|
}
|