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
Tyler Wilding
ffafbee94a
scripts: revive the gsrc linter script, missing too many mistakes
2022-10-09 21:41:55 -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
1d1ea907c9
scripts: prevent infinite loop when preserved block can't be found ( #1946 )
2022-10-08 21:53:23 -04:00
Tyler Wilding
3567c5ef7a
tests: update ref tests
2022-10-08 21:16:19 -04:00
Tyler Wilding
121e4e4883
scripts: ensure task extract runs on all files
2022-10-08 21:14: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
eee41d1400
lint: formatting
2022-10-08 21:07:37 -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
b2c9bb4881
d/jak2: fighting with the linker
2022-10-07 20:55:32 -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
water111
6bd4649fd0
fix deadlock on shutdown ( #1937 )
2022-10-01 12:29:08 -04:00
Tyler Wilding
4d751af38e
logs: replace every fmt::print with a lg call instead ( #1368 )
...
Favors the `lg` namespace over `fmt` directly, as this will output the
logs to a file / has log levels.
I also made assertion errors go to a file, this unfortunately means
importing `lg` and hence `fmt` which was attempted to be avoided before.
But I'm not sure how else to do this aspect without re-inventing the
file logging.
We have a lot of commented out prints as well that we should probably
cleanup at some point / switch them to trace level and default to `info`
level.
I noticed the pattern of disabling debug logs behind some boolean,
something to consider cleaning up in the future -- if our logs were more
structured (knowing where they are coming from) then a lot this
boilerplate could be eliminated.
Closes #1358
2022-10-01 11:58:36 -04:00
ManDude
4e48ba21c1
[decompiler] make (not (logtest? work ( #1934 )
2022-09-30 18:26:52 -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
593b35c6ab
temp: help
2022-09-27 19:43:48 -04:00
Tyler Wilding
8dbf3db15d
d/jak2: first pass of jak 2's font (no japanese or korean support yet)
2022-09-27 19:17:12 -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
Tyler Wilding
9535cd6360
d/jak2: almost finished progress-draw
2022-09-26 20:07:35 -04:00
water111
bdf63b9048
[decomp] sync-info, fix some looping type pass bugs ( #1925 )
2022-09-26 19:40:46 -04:00
water111
a22d49ab11
[decompiler] fix rare bug with casts ( #1920 )
2022-09-26 18:14:54 -04:00
Tyler Wilding
77adbc580f
d/jak2: add progress to gsrc
2022-09-26 00:15:47 -04:00
Tyler Wilding
5e9e3b2134
d/jak2: finish progress
2022-09-26 00:15:35 -04:00
Tyler Wilding
a2d6518bb0
d/jak2: finish progress-static
2022-09-25 21:20:30 -04:00
Tyler Wilding
a41f616ff8
decomp/goalc: support object references in static data
2022-09-25 21:20:13 -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
332f0b2f2b
tools: add a tool to search for types based on size / type chain / fields ( #1906 )
...
Just a small simple tool that can search through `all-types` for a type
based on a bunch of criteria.
For example:

The results are printed to stdout, as well as output to a json file so
they can be consumed by another tool (in my plans, the VSCode extension)
2022-09-24 16:04:52 -04:00