NSMoverEntity: call MoverStartsMoving() and MoverFinishesMoving() around arrival callbacks for entities that don't travel any distance. Fixing func_button entities from not toggling frames.
This commit is contained in:
parent
9463e2b6e3
commit
aed306cbd1
4 changed files with 45 additions and 17 deletions
|
@ -1,5 +1,13 @@
|
|||
# Building
|
||||
|
||||
## Preface
|
||||
|
||||
If you don't plan on modifying the engine, then you probably shouldn't! You can grab binaries from [FTEQW](https://www.fteqw.org) and move them into the Nuclide directory under `./bin`.
|
||||
|
||||
If you're on Microsoft Windows, you will most likely not be running the `nuclide` launch script anyway, so feel free to move the `fteqw.exe` into the root of the Nuclide directory, and run that as-is instead.
|
||||
|
||||
It will mount the game directories specified in the `default.fmf` file, which you can tweak as needed. [For more information, read the relevant documentation regarding launching Nuclide](Documentation/Launching.md)
|
||||
|
||||
## Building the Engine {#engine}
|
||||
|
||||
The **build_engine.sh** will do that for you. It will still ask you to have at least
|
||||
|
|
|
@ -1,44 +1,57 @@
|
|||
# Overview
|
||||
|
||||
Welcome to the documentation for Nuclide.
|
||||
Welcome to the documentation for Nuclide!
|
||||
|
||||
This is a software development kit and development environment created by [Vera Visions, L.L.C.](https://www.vera-visions.com/)
|
||||
This is a software development kit (SDK) and development environment created by [Vera Visions, L.L.C.](https://www.vera-visions.com/). We want to share it with everyone to avoid duplicate effort and in the hopes that it is useful to someone else.
|
||||
|
||||
## What this project is {#what}
|
||||
|
||||
The Nuclide project produces a freely available game-logic component and
|
||||
development platform on top of FTEQW; which is the engine we happen to use.
|
||||
development platform on top of [FTEQW](https://www.fteqw.org); which is the engine we happen to use.
|
||||
|
||||
The goal is to create a modern research base for new advancements, as well
|
||||
as to have a stable base with a decent API for making games.
|
||||
|
||||
- Client-side predicted movement and inputs for things like weapons-systems
|
||||
- Lots of well documented objects to use in level formats supported by FTEQW
|
||||
- Reference implementations for a lot of features exlusive to FTEQW compared
|
||||
to other id Tech engines
|
||||
- Designed to be familar to developers who're used to GoldSrc and Source engine
|
||||
projects
|
||||
It comes with a simple example game (simply referred to as 'Base') and some test maps. There's also some other, third-party example projects.
|
||||
|
||||
General feature overview:
|
||||
|
||||
- SDK in the spirit of 'id Tech' development environments
|
||||
- Client-side predicted movement, predicted weapons and vehicle systems
|
||||
- Implementations of well known, established entity classes as seen in popular and critically acclaimed games
|
||||
- Reference implementations for a lot of features exlusive to the FTEQW engine
|
||||
- Designed to be familar to developers who are used to GoldSrc and Source engine
|
||||
project workflows
|
||||
- Everything written from scratch with the modern QuakeC language advancements in mind
|
||||
|
||||
### 1. Why might I want to use it? {#why}
|
||||
|
||||
You want to develop a game using a lot of complex and well-tested objects
|
||||
You might be migrating from an engine that is no longer being licensed and don't want to learn a new engine and toolchain.
|
||||
|
||||
You might want to develop a game using a lot of complex and well-tested objects
|
||||
which might be tedious to implement on your own.
|
||||
|
||||
You want to run or make modifications for a game using Nuclide and need full
|
||||
You might want to run or make modifications for a game using Nuclide and need full
|
||||
control over what you can do.
|
||||
|
||||
### 2. How free is Nuclide? {#license}
|
||||
|
||||
Everything in Nuclide is **free software**. The copyright terms for the game-logic are
|
||||
very permitting. Nuclide does not use the GPL as a point of reference, it
|
||||
instead uses a ISC-like license. This means you can use, copy, modify and
|
||||
very permitting. Nuclide *does not use the GPL* as a point of reference in terms of license, it instead uses a **ISC-like license**. This means you can use, copy, modify and
|
||||
distribute the code and work resulting from it for any purpose.
|
||||
|
||||
Please read the very short 'LICENSE' document for details.
|
||||
**Please read the very short 'LICENSE' document for details.**
|
||||
|
||||
### 3. What are the alternatives? {#alternatives}
|
||||
|
||||
Implementing systems such as prediction, complex map objects and entities on
|
||||
your own or licensing another engine such as [Source](https://partner.steamgames.com/doc/sdk/uploading/distributing_source_engine) that ships with its own **Source SDK Base**.
|
||||
your own, from scratch - or licensing another engine such as [Source](https://partner.steamgames.com/doc/sdk/uploading/distributing_source_engine) that ships with its own **Source SDK Base**.
|
||||
|
||||
### 4. Any example projects? {#examples}
|
||||
|
||||
- [The Wastes](https://store.steampowered.com/app/793670) is a commerical game built using Nuclide.
|
||||
- [FreeHL](https://www.github.com/eukara/freehl) is a free-software, clean-room clone of Half-Life: Deathmatch also built using Nuclide.
|
||||
- [FreeCS](https://www.github.com/eukara/freecs) exists in the same vein as FreeHL, but targetting a recreation of Counter-Strike v1.5 (mod version) specifically.
|
||||
|
||||
## Getting started {#prerequisites}
|
||||
|
||||
|
@ -50,6 +63,7 @@ If you do posess a basic knowledge of the following:
|
|||
- Makefiles
|
||||
- Compiling your own binaries
|
||||
- Concept of public and private APIs
|
||||
- QuakeC
|
||||
|
||||
Then you will have a good time.
|
||||
We strive to keep the codebase portable and conform to open standards wherever possible.
|
||||
|
@ -65,4 +79,4 @@ You clone the Nuclide git repository first. There's multiple places to get it, o
|
|||
|
||||
`git clone https://github.com/veravisions/nuclide`
|
||||
|
||||
And then you can [get started on building the engine and the rest of the toolchain](Building.md).
|
||||
And then you can [get started on building the engine and the rest of the toolchain](Building.md). Alternatively, you can also move in the official FTEQW binaries into the Nuclide directory to get started without bootstrapping your own engine + QuakeC compiler.
|
4
Doxyfile
4
Doxyfile
|
@ -1230,7 +1230,7 @@ HTML_FOOTER =
|
|||
# obsolete.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_STYLESHEET = Documentation/style.css
|
||||
HTML_STYLESHEET =
|
||||
|
||||
# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
|
||||
# cascading style sheets that are included after the standard style sheets
|
||||
|
@ -1255,6 +1255,8 @@ HTML_EXTRA_STYLESHEET =
|
|||
|
||||
HTML_EXTRA_FILES =
|
||||
|
||||
HTML_COLORSTYLE = DARK
|
||||
|
||||
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
|
||||
# will adjust the colors in the style sheet and background images according to
|
||||
# this color. Hue is specified as an angle on a color-wheel, see
|
||||
|
|
|
@ -220,9 +220,13 @@ NSMoverEntity::MoveAndRotateToPosition(vector vecDest, vector vecAngle, float fl
|
|||
if (fTravelTime <= 0.0) {
|
||||
|
||||
if (m_moverState == MOVER_1TO2) {
|
||||
MoverStartsMoving();
|
||||
_ArrivedAtRotPosition2();
|
||||
MoverFinishesMoving();
|
||||
} else if (m_moverState == MOVER_2TO1) {
|
||||
MoverStartsMoving();
|
||||
_ArrivedAtRotPosition1();
|
||||
MoverFinishesMoving();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue