nuclide/src/menu-fn
Marco Cawthorne a9ededfd1a
Menu-FN: when 'rate' is ridiculously low, set it to the engine default (30000)
2024-03-23 13:40:17 -07:00
..
Makefile Menu-FN: Add proper caching (non-CVAR based) for pkgfile and introvideo 2021-03-06 00:23:59 +01:00
README Renamed /Source to /src 2019-09-01 04:35:37 +02:00
background.qc Menu-FN: Various improvements to the menu for when no menu assets are available at all. 2023-02-16 17:24:09 -08:00
bitmaps.h Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
colors.qc Menu-FN: Adjustments to the Updates menu, move code into platform/updates.{h,qc} 2023-08-15 14:24:46 -07:00
defs.h Menu-FN: Make Chat Rooms and Controls accessible from other menus, keeping track of where we originated from 2023-11-18 14:34:16 -08:00
entry.qc Menu-FN: when 'rate' is ridiculously low, set it to the engine default (30000) 2024-03-23 13:40:17 -07:00
includes.src Menu-FN: Fix includes as a result from an unfinished commit (startup videos) 2023-07-10 08:54:40 -07:00
layout_script.qc Big commit, work over various triggers. Clean up debug prints and make 2024-03-02 00:40:08 -08:00
m_addserver.qc Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
m_advancedcontrols.qc Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
m_advancedcustomize.qc Menu-FN: Parsing user.scr and settings.scr in Advanced options is now mostly done. Still need to support LIST type layout elements. 2023-02-11 17:10:43 -08:00
m_advancedmpoptions.qc Menu-FN: Parsing user.scr and settings.scr in Advanced options is now mostly done. Still need to support LIST type layout elements. 2023-02-11 17:10:43 -08:00
m_audio.qc Menu-FN: Call `cfg_save` at certain points in case cfg_auto_save isn't on. 2024-03-08 09:27:57 -08:00
m_chatrooms.qc Menu-FN: Broadcast in Chat when a player is joining a server, and handle ACTION (/me) text output 2023-11-18 15:47:37 -08:00
m_chatroomslist.qc Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
m_configuration.qc Menu-FN: Make Chat Rooms and Controls accessible from other menus, keeping track of where we originated from 2023-11-18 14:34:16 -08:00
m_contentcontrol.qc Menu-FN: Call `cfg_save` at certain points in case cfg_auto_save isn't on. 2024-03-08 09:27:57 -08:00
m_controls.qc Menu-FN: Call `cfg_save` at certain points in case cfg_auto_save isn't on. 2024-03-08 09:27:57 -08:00
m_creategame.qc Platform/Menu-FN: Move map library loading into platform/ to keep things simple for menu modules 2023-08-19 10:28:36 -07:00
m_creategame_inet.qc Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
m_customgame.qc Menu-FN: Avoid poking the games[] struct directly 2023-08-16 21:27:37 -07:00
m_customize.qc Menu-FN: Call `cfg_save` at certain points in case cfg_auto_save isn't on. 2024-03-08 09:27:57 -08:00
m_filter.qc Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
m_internetgames.qc Platform/Menu: Migration of Server_IsLan() into the master-server related code 2024-01-02 11:59:16 -08:00
m_intro.qc Clean up more and more warnings fteqcc yells about 2022-11-30 14:21:55 -08:00
m_langames.qc Platform/Menu: Migration of Server_IsLan() into the master-server related code 2024-01-02 11:59:16 -08:00
m_loadgame.qc Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
m_main.qc Menu-FN: Avoid poking the games[] struct directly 2023-08-16 21:27:37 -07:00
m_multiplayer.qc Menu-FN: Make Chat Rooms and Controls accessible from other menus, keeping track of where we originated from 2023-11-18 14:34:16 -08:00
m_newgame.qc Menu-FN: Avoid poking the games[] struct directly 2023-08-16 21:27:37 -07:00
m_spectategames.qc Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
m_updates.qc Platform/Menu-FN: Overhaul of game update handling. New Nuclide specific API to query update package states that avoids string comparisons and much more. 2023-08-18 17:49:10 -07:00
m_video.qc Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
m_videomodes.qc Menu-FN: Call `cfg_save` at certain points in case cfg_auto_save isn't on. 2024-03-08 09:27:57 -08:00
m_videooptions.qc Menu-FN: Call `cfg_save` at certain points in case cfg_auto_save isn't on. 2024-03-08 09:27:57 -08:00
m_viewgameinfo.qc Menu-FN: List ping for ICE servers correctly, View Game Info will now return to the appropriate menu 2023-11-18 14:10:24 -08:00
m_viewreadme.qc Menu-FN: Avoid poking the games[] struct directly 2023-08-16 21:27:37 -07:00
menu.qc Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
progs.src Clean up some areas where float logic happens to prepare for the compiler flag 'assumeint' 2022-08-10 16:15:44 -07:00
strings.h Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
strings.qc Menu-FN: Avoid poking the games[] struct directly 2023-08-16 21:27:37 -07:00
w_3dview.qc Fix various compiler warnings. 2023-02-14 12:54:06 -08:00
w_checkbox.qc Menu-FN: Various improvements to the menu for when no menu assets are available at all. 2023-02-16 17:24:09 -08:00
w_colorlist.qc Move game-specific sources into their respective mod-dirs. This was planned 2021-02-08 13:35:15 +01:00
w_combobox.qc Menu-FN: Initial implementation of CComboBox 2022-08-04 11:57:26 -07:00
w_cvarcheckbox.qc Menu-FN: Parsing user.scr and settings.scr in Advanced options is now mostly done. Still need to support LIST type layout elements. 2023-02-11 17:10:43 -08:00
w_cvartextbox.qc Menu-FN: Parsing user.scr and settings.scr in Advanced options is now mostly done. Still need to support LIST type layout elements. 2023-02-11 17:10:43 -08:00
w_dialog.qc Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
w_frame.qc Documented the Nuclide System (NS) classes. 2022-10-14 13:08:47 -07:00
w_header.qc Documented the Nuclide System (NS) classes. 2022-10-14 13:08:47 -07:00
w_label.qc Menu-FN: Parsing user.scr and settings.scr in Advanced options is now mostly done. Still need to support LIST type layout elements. 2023-02-11 17:10:43 -08:00
w_listbox.qc Menu-FN: Initial implementation of CComboBox 2022-08-04 11:57:26 -07:00
w_mainbutton.qc Menu-FN: main buttons are now cut-up into different segments, using fallback text when using shorter btns_main files (like in older releases) 2023-08-31 15:40:05 -07:00
w_modetab.qc Move game-specific sources into their respective mod-dirs. This was planned 2021-02-08 13:35:15 +01:00
w_modlist.qc Platform: Documentation improvements. 2023-08-21 08:39:54 -07:00
w_pagetab.qc Menu-FN: Various improvements to the menu for when no menu assets are available at all. 2023-02-16 17:24:09 -08:00
w_pictureswitch.qc Menu-FN: further work to make the Multiplayer > Customize menu more accurate 2023-02-10 13:50:36 -08:00
w_scrollbar.qc Menu-FN: Various improvements to the menu for when no menu assets are available at all. 2023-02-16 17:24:09 -08:00
w_servers.qc Documented the Nuclide System (NS) classes. 2022-10-14 13:08:47 -07:00
w_slider.qc Menu-FN: Various improvements to the menu for when no menu assets are available at all. 2023-02-16 17:24:09 -08:00
w_textbox.qc Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
w_textbuffer.qc Big commit fixing many regressions since crunch hit. env_sprite has been reworked. 2022-07-07 09:10:14 -07:00
w_updatelist.qc Platform/Menu-FN: Overhaul of game update handling. New Nuclide specific API to query update package states that avoids string comparisons and much more. 2023-08-18 17:49:10 -07:00
widgets.qc Menu-FN: Parsing user.scr and settings.scr in Advanced options is now mostly done. Still need to support LIST type layout elements. 2023-02-11 17:10:43 -08:00

README

HALF-LIFE WON MENU - QUAKEC VERSION
===================================

This menu logic is part of the FreeCS project.
It's a close recreation of the Half-Life main-menu (pre-Steam), also known as
the Half-Life WON menu (or just WON Menu - you get the idea).
It was used between 1998 and 2004.

It attempts to parse string-data and bitmaps from the original paths
whenever it can. 

The original data is required for it to work.

It's created from scratch and is not C++ - it's QuakeC and meant to be used
within FTE QuakeWorld. The file extensions are only changed in order to help
with the syntax highlighting choice of your favorite editor.

This codebase is to be compiled with FTEQCC, no other compiler is supported.
No engine other than FTE QuakeWorld is supported. I won't support anything else
as there is no other QuakeWorld based engine that could easily add all the
formats and builtins required.

A few warnings to the uneducated:
If you're planning on merging or using any of this code in combination with the
original Half-Life SDK, you're violating the Half-Life SDK License Agreement.
This includes using it in combination with the original Half-Life binaries and
libraries. Valve has spoken out against such projects for the reason above.

Over the past decade enough Half-Life projects have sprung up that have violated 
and _abused_ the GPL, thus discouraging entities from releasing their sources in
fear of such behaviour. This has done more harm than any good.
If anyone was to intentionally distribute content created with the Half-Life SDK
with this component, it'd violate the Half-Life SDK AND the GPL.
It's frustrating, but this is the world we are living in right now.

I recommend that you use this menu without relying on Half-Life file formats.
FreeCS gets around this by not actually shipping the CS content as part of the
project. User superior formats such as IQM (instead of MDL) for models and the
Quake III Arena BSP format for levels.

Thanks to Spike for FTEQCC's advanced features and his engine, FTEQW, that makes
FreeCS and other projects even possible.

Marco 'eukara' Hladik