water
e4a740c346
fixes for decompiler, still need compiler fixes
2022-10-10 20:18:20 -04:00
Tyler Wilding
a409f9064e
d/jak2: update related gsrc code as well
2022-10-09 23:13:34 -04:00
Tyler Wilding
5df3eaa18a
Merge remote-tracking branch 'origin/master' into j2/progress
2022-10-09 21:45:00 -04:00
Tyler Wilding
fffd7657c6
d/jak2: address almost all feedback, blocked on progress-static issue for now
2022-10-09 21:43:26 -04:00
water111
9a04c7e311
[decomp] sparticle, sparticle-launcher, set up sprite ( #1949 )
...
- fix crash with unhandled sparticle definition (happens with the weird
array int32s that I don't understand yet)
- update mips2c stuff
- add part-tester
- fix some issues around texture uploads

2022-10-09 19:56:07 -04:00
ManDude
af5009a29e
[decomp] make defpart and defpartgroup work in jak 2 ( #1947 )
2022-10-09 12:53:44 -04:00
Tyler Wilding
27bd7371f3
d/jak2: initialize the camera
2022-10-08 22:37:33 -04:00
Tyler Wilding
3f7df80a1c
Merge remote-tracking branch 'origin/master' into j2/progress
2022-10-08 21:09:35 -04:00
Tyler Wilding
1f3df0e69f
d/jak2: fix issues associated with loading text
2022-10-08 21:04:21 -04:00
water111
405a144815
[decomp] finish up debug.gc, get boundary rendering working ( #1944 )
...

2022-10-08 17:02:40 -04:00
water111
3d4dfb2077
[decomp] Decompile some time-of-day stuff, support new style Jak 2 time of day ( #1943 )
...
- Add "tfrag-water" tfrag tree support (may just be the same as Jak 1's
'dirt' for the settings)
- Add "tfrag-trans" tfrag tree support, reusing "trans-tfrag" from jak
1.
- Add a hack to `LinkedObjectFileCreation` to handle `oracle`, which is
accidentally multiply defined as a type leftover from jak 1 (an entity
in village1), and level info for jak 2.
- Add `VI1.DGO`
- add `time-of-day.gc`, and a few other stub functions so it works
- Set up some time of day stuff in GOAL for jak 2/PC renderers
- Clean up time of day in c++ renderers, support the more complicated
weight system used by jak 2 (backward compatible with jak 1, thankfully)
The mood functions now run, so this could cause problems if they rely on
stuff we don't have yet. But it seems fine for ctysluma and prison for
now.








2022-10-08 13:33:03 -04:00
Tyler Wilding
be1e40a041
d/jak2: decompile conveyor | elevator | plat | bouncer | basebutton | base-plat | most of sampler | simple-nav-sphere | simple-focus | elec-gate and blocking-plane ( #1942 )
...
Most of these have been atleast partially documented / named / cleaned
up as well.
Co-authored-by: water <awaterford111445@gmail.com >
2022-10-08 12:42:52 -04:00
Tyler Wilding
2d1b5fa57c
d/jak2: finish region as well as some typedef files - ctywide-obs-h | vehicle-h | rigid-body-h ( #1935 )
2022-10-08 11:45:41 -04:00
Tyler Wilding
f5d8fa2adb
overlord: implement the branch needed to load text files
2022-10-06 23:13:43 -04:00
Tyler Wilding
2e45e11f41
d/jak2: finish more of cam-master which allows the game to start it's settings routine
2022-10-06 23:12:34 -04:00
water111
f1682867af
[graphics] hook up visibility data for jak 2 ( #1938 )
...
It works!
Visibility off:

On:

Overall the visibility data looks a lot better than in jak 1.
2022-10-01 17:12:12 -04:00
water111
d52739226c
[decomp] decompile decomp.gc ( #1936 )
...
A few issues:
- lwidea's fr3 is getting loaded and unloaded all the time
- the debug line drawing clipping is wrong (doesn't seem wrong in pcsx2,
so I think this is on us)
- nothing actually using vis data yet
- at a large distance, our view frustum culling seems slightly too
aggressive (might be that viewport scissoring is wrong)
- in the city, things seem darker as you move away. unclear how this is
happening (fog?)
2022-10-01 13:39:56 -04:00
ManDude
11ec9d5d14
write a function that outputs a dot graph of the jak 2 tasks ( #1932 )
2022-09-29 19:10:58 +01:00
Tyler Wilding
362e6b69b4
d/jak2: attempting to fix text symbol issue
2022-09-28 19:13:13 -04:00
Tyler Wilding
10627fdf20
Merge remote-tracking branch 'origin/master' into j2/progress
2022-09-27 23:12:43 -04:00
Tyler Wilding
930d56deb0
d/jak2: progress updated
2022-09-27 22:42:49 -04:00
ManDude
9351bf782e
[decomp2] game-info, game-task and task-control ( #1884 )
...
And everything else needed for them!
A couple functions are bad currently.
- fixes #1929 - untested on linux
- fixes #1924 - now you need to type `,` before a lambda you want to put
in a pair.
- fix debugger symbol table in jak 2
- made the decompiler output `(meters 2)` instead of `(meters 2.0)`
- fixed a bug with the bitfield enum special -1 case
- made bad game text decomp not exit the decompiler
- added `editable-player` and `script`
2022-09-27 19:44:20 -04:00
Tyler Wilding
28344c06b0
d/jak2: finish progress-draw
2022-09-26 23:20:53 -04:00
water111
e3a4627eeb
[decompiler] recognize jak 2 vector-float*!, fix some vector inline casting bugs ( #1926 )
2022-09-26 20:57:44 -04:00
Tyler Wilding
6085894ea7
Merge remote-tracking branch 'origin/master' into j2/progress
2022-09-26 20:08:06 -04:00
water111
bdf63b9048
[decomp] sync-info, fix some looping type pass bugs ( #1925 )
2022-09-26 19:40:46 -04:00
Tyler Wilding
77adbc580f
d/jak2: add progress to gsrc
2022-09-26 00:15:47 -04:00
Tyler Wilding
a2d6518bb0
d/jak2: finish progress-static
2022-09-25 21:20:30 -04:00
water111
5c7a3384e5
[jak2] static sound macro ( #1919 )
...
eg
```
(set! (-> obj sound-pre-open) (static-sound-spec "airlock-slider"))
```
it is the same as jak 1, but the `fo-curve` option is set to 1
sometimes.
2022-09-25 16:19:06 -04:00
water111
b5705bde96
[decomp] Partial implementation of tie ( #1916 )
...
Some stuff isn't working fully yet:
- fog color
- time of day
- draw order for multiple passes (currently all draws in the default tie
bucket)
- possibly settings for transparent stuff (untested, but might work)
- the "vanish" effect (we might not want this anyway?)
- environment mapping/etie completely not implemented.


2022-09-25 12:50:51 -04:00
Hat Kid
a53c06fe2b
decomp: target, target-board, board-states ( #1915 )
...
Just missing `target-board-handler` because it errored with `Bad delay
slot in clean_up_cond_no_else_final` and I wasn't able to figure out
where the asm branch was.
Commented out `target-board-clone-anim` because it crashes even after
adding `clone-anim` and `clone-anim-once`.
2022-09-25 12:07:37 -04:00
Hat Kid
e8b1aee24d
decomp: majority of progress ( #1904 )
...
Gets through ~90% of `progress`, wasn't able to figure out some stuff.
2022-09-25 10:15:32 -04:00
water111
edecac9f09
[decomp] add shrubbery renderer ( #1914 )
...
as with last time, fog and time of day are still garbage, but it still
works:

The shrub near render is just falling back to generic again.
2022-09-24 17:46:13 -04:00
water111
6227c6d6a8
More array special cases ( #1913 )
...
also make jak 1 and jak 2 behave the same way, to reduce confusion. It
wasn't too bad to update jak 1.
2022-09-24 16:10:13 -04:00
Tyler Wilding
7dd8053697
fix test failure and stop running manual tests in CI ( #1912 )
2022-09-24 15:56:53 -04:00
Tyler Wilding
123e7fd87b
d/jak2: some work in memory-usage | nav-graph-h and finish pov-camera and aligner ( #1901 )
2022-09-24 14:47:03 -04:00
water111
80cefb9575
[decomp] background and tfrag ( #1909 )
2022-09-24 14:30:44 -04:00
Matt Dallmeyer
d30c635089
Fix infinite pause buffer bug ( #1900 )
...
Fixes #1886 which was introduced in #1756
Changed to only read the dpad inputs for hud toggle if L2/R2 were
considered held (they're not read during a pause buffer)
2022-09-24 12:27:44 -04:00
Tyler Wilding
e64414d9d0
d/jak2: finish drawable-group | drawable-inline-array | drawable-tree and path ( #1899 )
2022-09-24 12:27:02 -04:00
Ethan Lafrenais
dc5dc9c76c
[decomp] jak2: shrubbery ( #1898 )
...
Some notes:
- `draw-prototype-inline-array-shrub` can probably be decompiled but I'm
not comfortable doing this function myself. It's got a ton of inline
assembly (or at least I think it's inline assembly) and is very long. I
left this marked as asm for now but I am confident in the function
definition.
- The VU program is identical to Jak 1 (yay)
- There's some new `dma-test` stuff at the end of the file, not really
sure what it's doing but it runs in the top-level.
2022-09-18 12:19:16 -04:00
water111
1b45aab3cc
[decompile] subdivide, wind-work, tie-work, bsp, focus ( #1897 )
...
- decompile `subdivide`, `wind-work`, `tie-work`, `bsp`, `focus`
- support `ppacb` in compiler
- don't assert when bitfield stuff fails due to constant propgataion
weirdness
- finish up history
- div/mod unsigned assert fix in decompiler
- empty assert fix in decompiler for failed `add` type prop
- make jak 1 performance counters "work" (just measure time)
- fix cast/typos on pcgtb/vftoi15
2022-09-17 14:58:25 -04:00
water111
6a1bde4168
[decomp] fix up debug menu rendering, add a few others ( #1892 )
...

actor vis boxes for PRI.DGO
2022-09-16 20:42:33 -04:00
Tyler Wilding
82e0517275
d/jak2: get script decompiling, no ref tests yet ( #1877 )
...
Has boxed array accessing that prevents me from adding anything to ref
tests (the entire file is lambdas so the access pattern that i would
like to ignore happens at the top-level, can't ignore it.
This code actually already has quite a bit of original docstrings so
it's not too bad in that regard considering a `script-context` can have
16 arbitrary objects. It seems they rarely put more than a single object
in the context and the types are usually obvious / are actually type
checked!
2022-09-14 19:37:12 -04:00
Tyler Wilding
4620f96574
d/jak2: mostly finish mysql-nav-graph and fix docstring handling around with-pp/local-vars ( #1869 )
2022-09-13 18:15:02 -04:00
water111
4eea31c3e9
[jak 2] texture ( #1866 )
...
- Decompile and patch `texture.gc` for PC
- Improve decompiler when offset doesn't fit in immediate (for types
larger than 8k and some scratchpad accesses)
- Fix symbol->string issues in both jak 1 and 2
- Fix bug with VIF interrupt used to profile VU code (hooked up to
OpenGLRenderer BucketRenderers in PC port)
- Support `~o` in `format`.
- Uncomment stuff in `merc.gc` that now works!

fixes https://github.com/open-goal/jak-project/issues/1850
2022-09-11 14:17:55 -04:00
Tyler Wilding
017070525a
d/jak2: finish vol | cam-layout | menu | default-menu and start working on nav code ( #1867 )
...
I also added font-color names since this PR adds quite a few:

2022-09-11 13:42:46 -04:00
Hat Kid
7339b2b965
decomp: merc, merc-vu1 ( #1865 )
...
The merc VU1 program is identical to Jak 1. Jak 2's merc is doing some
new texture login stuff and the DMA buffer setup is a bit different, but
overall very similar.
2022-09-10 19:02:58 -04:00
Tyler Wilding
81b6d5fe08
d/jak2: finish find-nearest | trajectory | editable-h and most of editable and editable-player ( #1847 )
...
Also made a first-pass of their SQL schema in preparation for getting
that working.
2022-09-10 18:03:17 -04:00
Tyler Wilding
7baf253a1a
jak1: fix the flickering driller-lurkers on >60 fps ( #1862 )
2022-09-08 18:34:53 -04:00
Hat Kid
bb777e4bac
decomp: logic-target ( #1861 )
...
Also adds all names for `focus-status`.
Closes #1859 and updates ref tests for Jak 1 for this edge case.
2022-09-08 18:26:33 -04:00