Giter VIP home page Giter VIP logo

pockethud's Introduction

PocketHud

A WYSIWYG editor for VGUI interfaces. This project primarily targets Team Fortress 2 hud creation.

While this tool is to be used as the primary tool for editing HUDs, it cannot do everything; you may need to make manual edits to the VGUI resource files yourself.

N.B. this software only works in readonly mode. There are no edit features as of July 13th, 2021. Edit features will be introduced when the render pipeline is stable.

Usage

Open up a HUD in readonly mode:

$ go run github.com/dresswithpockets/PocketHud -- --root "path/to/my/hud" --readonly

N.B. as noted in the foreword, this software only worked in readonly mode. Attempting to run PocketHud in editmode (or without the --readonly flag) will panic and close immediately.

N.B.B. this software is not production ready and is subject to sweeping changes at any moment. Versions are likely to be incompatible between each other. Compatibility and long term support will be the end goal after v1.0.

Features

  • Opening HUD for readonly viewing - #1
    • Render controls
      • Label
      • CExLabel
      • Button
      • ImageButton
      • CExButton
      • CExImageButton
      • ImagePanel
      • EditablePanel
    • Schemes
    • Menus
      • Menu/view selection
      • Scene backgrounds
    • Reactive layout
      • Aspect ratio selection
      • Platform flag simulation
  • Opening HUD for editing - #2

N.B. the roadmap has not been fleshed out, so this section is lacking for now.

Building

Built with Go 1.14.2. Not guaranteed to work on any other versions.

Pull dependencies:

$ go get github.com/dresswithpockets/go-vgui \
$     github.com/faiface/pixel \
$     github.com/ahmetb/go-linq \
$     golang.org/x/image

Get:

$ go get github.com/dresswithpockets/PocketHud

Build:

$ go build github.com/dresswithpockets/PocketHud

Run:

$ go run github.com/dresswithpockets/PocketHud

Downloading/Installing

There are no pre-built releases for download at the moment. This software is still WIP and is not ready for general use.

Supporting Development

This project takes a substantial amount of time to maintain; if you find this tool useful and want to support its development, please consider contributing or tipping.

The best way to support the development of this project is to contribute to the codebase.

Otherwise, shoot me a tip at ko-fi.com/dresswithpockets. Anything at all really helps!

pockethud's People

Contributors

dresswithpockets avatar

Watchers

 avatar

pockethud's Issues

Rendering readonly HUD & hierarchy

This issue is used to track and discuss HUD rendering - a major feature in PocketHud.

This is the first of the two primary feature sets in PocketHud. A user should be able to load an entire HUD from a folder, and view renders of each menu in that HUD. The renders should be as close to 1:1 with TF2's hud rendering as possible. This means inheriting oddities and bugs when known and feasible.

This roadmap is not immediately comprehensive, but should point to all issues relevant towards the stable release of a readonly render mode.

Roadmap

  • VGUI Backend
    • #3
    • #4
    • Drawing Targets (Image, TextImage)
    • #5
  • VGUI Base Controls
    • Label
    • URLLabel
    • Button
    • ImageButton
    • ImagePanel
    • EditablePanel
    • and more...
  • TF2 Extended Controls
    • CExLabel
    • CExButton
    • CExImageButton
    • CExRichText
    • CExplanationPopup
    • and more...
  • Schemes
  • Menus
    • Menu/view selection
    • Scene backgrounds
  • Reactive layout
    • Aspect-ratio selection
  • Simulation

Incomplete-Feature Logging

Vgui2 is a very complicated framework, the total scope of its implementation details are unknown to anyone except for those who originally created it. It is safe to say that there are several categories of features which either will not be implemented immediately, or simply cannot be implemented.

When a feature doesnt work as expected - and we know this to be the case - we should make it well known to the user at runtime. While we're awaiting a proper UI for the viewer, which we could use to present these cases to the user, we can at least log whenever a Vgui feature is blocked or not implemented for the above reasons.

WYSIWYG edit mode

This issue is used to track and discuss the progress of edit mode - a major feature in PocketHud.

This is the second of the two primary feature sets in PocketHud. A user should be able to view the HUD like normal, as they would in readonly mode. However, the user should also be able to alter and save the HUD to vgui resource files.

Roadmap

The design and feature set of this major feature have yet to be finalized. As #1 nears stability, this roadmap will be fleshed out.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.