jak-project/goal_src/jak2/engine/camera
Tyler Wilding abf61a94fb
docs: add support for :override-doc in method declarations as well as documenting state handlers (#2139)
Adding support for better child-type method docstrings. This is a
problem unique to methods.

Usually, a child-type will have the same signature and a common name
will apply, but the implementation is different. This means, you
probably want a different docstring to describe what is happening.

Currently this is possible to do via `:replace`. The problem with
replace is two fold:
- a replaced method ends up in the generated `deftype`...because you
usually change the signature!
- we don't put docstrings in the `deftype` in normal GOAL, this is just
something we do for the `all-types` file (they go in the `defmethod`
instead)
- more importantly, this means anytime you now want to change the
parent's name/args/return type -- you have to apply that change
everywhere.

So this is a better design you can now just declare the method like so:
```clj
(:override-doc "my new docstring" <method_id>)
```

And internally a pseudo-replaced method will be added, but it will
inherit everything from the parent (except the docstring of course)

Unrelated - I also made all the keyword args for declaring methods not
depend on ordering

This also adds support for documenting virtual and non-virtual state
handlers. For example:

```clj
  (:states
    (part-tester-idle (:event "test") symbol))
```

or

```clj
(idle () _type_ :state (:event "test") 20)
```

I will probably add the ability to give some sort of over-view docstring
at a later date.

Co-authored-by: water <awaterford111445@gmail.com>
2023-01-21 20:45:45 -05:00
..
cam-combiner.gc [decomp] target cleanup (#2021) 2022-11-13 19:09:34 -05:00
cam-debug-h.gc d/jak2: finish progress menu code and initialize the camera (#1945) 2022-10-11 18:30:26 -04:00
cam-debug.gc [decomp] hud, hud-classes, add some new basic alignment options, fix type bug (#2084) 2023-01-02 10:05:22 -05:00
cam-interface-h.gc [decomp] sparticle, sparticle-launcher, set up sprite (#1949) 2022-10-09 19:56:07 -04:00
cam-interface.gc docs - first chunk of work documenting the files I glossed over (#2130) 2023-01-15 11:33:39 -05:00
cam-layout.gc [decomp] hud, hud-classes, add some new basic alignment options, fix type bug (#2084) 2023-01-02 10:05:22 -05:00
cam-master.gc [decomp] collide cache, other minor fixes (#2031) 2022-11-20 11:32:29 -05:00
cam-start.gc d/jak2: finish progress menu code and initialize the camera (#1945) 2022-10-11 18:30:26 -04:00
cam-states-dbg.gc [decommp] generic-obs (#2013) 2022-11-12 17:56:07 -05:00
cam-states.gc [decomp] target cleanup (#2021) 2022-11-13 19:09:34 -05:00
cam-update-h.gc d/jak2: finish glist | glist-h | camera | cam-interface | cam-states-dbg | cam-combiner | cam-debug | cam-start (#1829) 2022-08-31 19:22:47 -04:00
cam-update.gc [decomp] hud, hud-classes, add some new basic alignment options, fix type bug (#2084) 2023-01-02 10:05:22 -05:00
camera-defs-h.gc d/jak2: finish glist | glist-h | camera | cam-interface | cam-states-dbg | cam-combiner | cam-debug | cam-start (#1829) 2022-08-31 19:22:47 -04:00
camera-h.gc docs: add support for :override-doc in method declarations as well as documenting state handlers (#2139) 2023-01-21 20:45:45 -05:00
camera.gc [decomp] target cleanup (#2021) 2022-11-13 19:09:34 -05:00
pov-camera-h.gc d/jak2: finish scene (#1971) 2022-10-15 17:43:02 -04:00
pov-camera.gc [jak2] workaround for cutscene playing (#2131) 2023-01-16 13:37:29 -05:00