Garry's Mod Wiki

Revision Difference

Wiki_Page_Requests#561470

<title>Wiki Page Requests</title> # This page is unlisted by choice This page is just about making bulleted lists of topics to actually write on and not really useful information on its own, I thought it would be better to keep it unlisted so that only the people really checking the wiki would find it. Anyone is welcome to add to list to help everyone else identified locations on the wiki they think should either be rewritten / updated / or just created in the first place. The only ask is that you only remove topics if they are seen as irrelevant to Garry's Mod (like something that is already better documented on the valve developer wiki) or if you finished doing that update yourself --- # Player Guides This category contains guides aimed towards first-time or novice Garry's Mod players. The goal of these pages is to efficiently educate a new player in the basic concepts of Garry's Mod so they can get to the fun as quickly as possible! If you find a Playing page missing, using unexplained and confusing terminology, pages that are for developers, or pages that might confuse a new player rather than educate them, please **list them here with a brief explanation of the issue.** ## Getting Started * Add Entries Below This ## Sandbox Tools * Add Entries Below This ## Gamemodes * Add Entries Below This ## Server Hosting * Add Entries Below This ## Other Topics * Complete <page>ConVars_In_Garrysmod</page>. It's probably missing a bunch of convars # Developer Guides The pages in this category provide *crucial* documentation on the game's core concepts and processes. Many of Garry's Mod and the Source Engine's most-used features rely on hard-coded assumptions and requirements that are not easy or practical to self-discover. Because of this, it is very important that the Developers section contains guides that clearly outline both the basic "What" of a topic but also the "Why" of the topic. These pages should be written with the understanding that the reader may have zero prior experience with the Source Engine, game modding, programming, modeling, image editing, etc. Not all topics can be easily written with all audiences in mind; In these cases, pages should include links and references to resources that would help an interested reader in "coming up to speed" on the topic's prerequisites. If a page in the Developers category is missing, out of date, hard to read, poorly formatted, unfinished, needing an example, or any other issue that prevents it from being useful to readers, please **list it below and write a short explanation of what might be fixed.** ## Getting Started * Add Entries Below This ## Lua Programming * Add Entries Below This ## Game Systems * Add Entries Below This ## Gamemode Creation * Add Entries Below This ## HUD and User Interface * Add Entries Below This ## Scripted Entities and Weapons * Add Entries Below This * Need a page outlining and explaining what a Scripted Entity is * A novice reader should come away from the page understanding: * What a Scripted Entity is * What the ENT table is * What parts are required, and what parts are optional? * Where and when the ENT table is valid * **Why** the ENT table is only valid there * How to modify the presentation of Scripted Entities by modifying the ENT table's values * How to modify the behavior of Scripted Entities by overriding functions * How Scripted Entities are registered "under the hood" * Need a page outlining and explaining what a Scripted Weapon is * A novice reader should come away from the page understanding: * What a Scripted Wepaon is * How Scripted Weapons relate to Scripted Entities * Are they the same? * Are they different? * How are they different? * What the SWEP table is * What parts are required, and what parts are optional? * Where and when the SWEP table is valid * **Why** the SWEP table is only valid there * How to modify the presentation of Scripted Entities by modifying the ENT table's values * How to modify the behavior of Scripted Entities by overriding functions ## NPCs and AI * Add Entries Below This * Navmesh - generating, adjusting, fixing? ## Map and Level Design * Add Entries Below This ## Models, Textures, and Animation * Add Entries Below This * Playermodel Creation - a page already exists but more information would be helpful * Rigging * Weight Painting * How bones work on playermodel * Importing / Creating / Porting models - a nice guide taking you from obj (or similar) to valve dmx / smd would be super helpful ## Addons and Steam Workshop * Add Entries Below This ## Binary Modules * Add Entries Below This * Creating Binary Modules (pretty sure most of the pages already are out of date) ## Other Topics * Add Entries Below This * Using Stencils - [Found this amazing resource but don't have the time to distill it into a wiki pages atm](https://github.com/Lexicality/stencil-tutorial) * Data Storage - Pros and cons of different storage methods for persistent data including: * convars * data folder files * PData * <page text="sql library">sql</page> * external databases (mysqloo) * Sounds - pros and cons of different sound creation methods: * <page>CSoundPatch</page>, created with <page>Global.CreateSound</page> * <page>Global.EmitSound</page> and <page>Entity:EmitSound</page> * <page>Entity:StartLoopingSound</page> * <page>sound.Play</page>, <page>sound.PlayFile</page> and <page>sound.PlayURL</page> * By extension, the pros & cons of <page>IGModAudioChannel</page> created via <page>sound.PlayFile</page> and <page>sound.PlayURL</page> * <page>surface.PlaySound</page> # Developer Reference These pages document the usage of specific <page text="Functions">function</page>, Enums (E.g. <page text="TEAM">Enums/TEAM</page> and <page text="RENDERGROUP">Enums/RENDERGROUP</page>), <page text="Hooks">Hook_Library_Usage</page>, Structs (E.g. <page text="ENT">structures/ENT</page> and <page text="GM">structures/GM</page>), and Libraries (E.g. <page text="surface">surface</page> and <page text="net">net</page>) Developer Reference pages have multiple goals depending on the reader: * **Novice readers** should be able to quickly understand what the page's subject is tangibly used for so they can easily determine if it is applicable to their use case and worth investing further time to better understand it. * **Advanced and expert readers** should be able to either quickly refresh their memory, or rapidly come to understand the subject's available options, caveats, bugs, and known pitfalls. If you see a Developer Reference page that is missing, poorly worded, confusing, lacking a clear example, or is otherwise in need of an update, please **list it here and briefly explain the problem.** ## Globals * Add Entries Below This * <page>Angle</page> * Needs useful examples that demonstrate how convenient it is to have a class dedicated to Angles * <page>Global.Derma_Anim</page> return value structure needs to be documented on a separate page⤶ ## Classes * Add Entries Below This * Create entry for the table returned by <page>util.Timer</page> * It will need separate pages for each of its functions * The <page>util.Timer</page> will need to have its return info updated to match <page>Color</page>'s overall formatting ## Libraries ### Render * Add Entries Below This ## Hooks ### Weapon * Add Entries Below this * <page>WEAPON:CalcViewModelView</page> * The example listed here has absolutely ***nothing*** to do with modifying the view model's position or angle. It's arguably doing harm by confusing readers. ## Game Events * Add Entries Below This ## Panels * Add Entries Below This ## Enums * Add Entries Below This * Various enum pages are missing descriptions for some or all of their entries. Some clarification on what these enums do would help aid novice and expert developers alike. * The following pages are missing descriptions: * <page>Enums/BONE</page> * <page>Enums/CAP</page> * <page>Enums/COLLISION_GROUP</page> * <page>Enums/CONTENTS</page> * <page>Enums/DISPSURF</page> * <page>Enums/GESTURE_SLOT</page> * <page>Enums/HULL</page> * <page>Enums/IN</page> * <page>Enums/kRenderFx</page> * <page>Enums/PLAYER</page> * <page>Enums/PLAYERANIMEVENT</page> * <page>Enums/RENDERMODE</page> * <page>Enums/SCHED</page> * <page>Enums/SIGNONSTATE</page> * <page>Enums/SOUND</page> * <page>Enums/STUDIO</page> * <page>Enums/TEXTUREFLAGS</page> * Some pages (like <page>Enums/SNDLVL</page>) may be self-explanatory. Other pages (like <page>Enums/ACT</page>) may be too large to bother adding descriptions for every enum available. As such, add descriptions to these pages may not be necessary. ## Structs * Add Entries Below This ## Shaders * Add Entries Below This