Commit Graph

678 Commits

Author SHA1 Message Date
water111
d6e82eedb0
[decomp] fix and decomp part tester (#935)
* temp

* update tests
2021-10-23 20:15:31 -04:00
water111
d6f631383e
decomp more level stuff (#932)
* more level stuff

* vi1 to jun load working, with multiple skies

* small fixes

* add level ref test

* clang
2021-10-23 16:00:49 -04:00
water111
44626cfedd
fix issues and decompile racer-states (#924)
* fix issues and decompile racer-states

* type fix
2021-10-21 22:38:39 -04:00
water111
b7fe8447e2
[decomp] improve types around enter-state (#923)
* clean up

* restore hack
2021-10-20 20:55:25 -04:00
water111
18714ba536
[decomp] load boundaries (#922)
* mostly working

* fixes

* very small fixes

* fix tests

* clang
2021-10-20 19:49:32 -04:00
water111
b2052016e2
[decomp] sky/time of day (#883)
* time of day

* goal code seems to work

* stars at wrong spot

* stars and sun work

* debugging clouds

* fix texture correction

* sky works

* cleanup, add profiler

* clean up

* final clean up

* offline tests

* missing include
2021-10-10 20:07:03 -04:00
ManDude
4665b5a246
change type of seconds and clean up opengl includes (#887)
* change type of `seconds`

* fixes to pc pad input (visual only)

* strip down openGL to the version we're actually using for now (4.3 no extensions)

* turn on this opengl message

* really minor inconsequential change
2021-10-06 19:32:58 -04:00
water111
845802ca45
memory cards (in progress) (#868)
* c++ memory card stuff

* saving kinda works

* load working

* more progress

* clean up
2021-10-01 23:12:34 -04:00
water111
f0ceea8b2e
[sparticle] 2d hud particles (#849)
* wip, taking a break to work on asm stuff first

* the goal code for sparticle

* mips2c the first sparticle asm function

* temp

* particle processing no longer crashing

* temp

* working texture cache for vi1 and hud textures

* sprites

* cleanup 1

* temp

* temp

* add zstd library

* temp

* working

* tests

* include fix

* uncomment

* better decomp of sparticle stuff, part 1

* update references
2021-09-26 11:41:58 -04:00
ManDude
d8e659df66
[decomp] flying-lurker (#846)
* `flying-lurker`

* why'd this get left behind?

* also `ambient` and add a `banned_objects` config and fix offline tests

* clang

* fix `ambient-type-sound`
2021-09-21 18:40:38 -04:00
water111
f9d8fcd6e4
[decomp] add mips2c converter (#842)
* mips 2 c basic version, not yet tested

* calling works without crashing, but the function doesn't

* it works

* add test

* cleanup and actually add the test

* dont use mips2c by default for font

* clean up formatting
2021-09-11 20:52:35 -04:00
water111
18df68b1f7
fix text rendering bugs (#841) 2021-09-08 22:04:30 -04:00
ManDude
89ccb8cbc7
[decomp] progress (#780)
* cleanup `main`

* whitespace

* start `progress` decomp pt1

* fill in more stuff

* Update label_types.jsonc

* run cheats

* clang

* make most of `progress` decompile

* `progress` pt 2

* [decompiler] support dynamic format strings

* Make `progress-draw` decompile and almost all `progress`

* make clang shut up

* fix unhandled format string

* fix `progress-draw`

* Update DecompilerTypeSystem.cpp

* fix?

* fixes

* fix a few functions

* make `language-enum`

* warn on weird floats

* fix minor pad bug

* dump stuff in `progress`

* make `progress-screen` enum

* progress progress

* update refs and fix stupid bug

* trying to get it to work

* it works!?

* disable sound functions

* fixes

* final touches

* tests

* tests

* add process allocations

* use the right register for windows

* another try for windows, counting is hard

* one more try

* use process allocations

Co-authored-by: water <awaterford111445@gmail.com>
2021-09-06 20:35:03 -04:00
water111
7099a1964e
[runtime] add process allocations (#834)
* add process allocations

* use the right register for windows

* another try for windows, counting is hard

* one more try
2021-09-06 18:27:24 -04:00
water111
c2c6d3ba46
[decompiler] detect res-lump macros (#796)
* support res lump float

* handle data macro

* rest of res macros

* add vi3 to the build system

* missing close paren
2021-08-31 15:01:54 -04:00
water111
34e8afa0ee
get started on entity (#793) 2021-08-31 11:05:03 -04:00
water111
ccdfa01a88
Add the imgui library (#785)
* add the imgui library

* use third-party glfw include

* another try at includes

* again

* another try
2021-08-29 14:54:16 -04:00
doctashay
0a6d28e264
OpenGL Cleanup (#786)
* Begin spdlog integration for decompiler

* Replace old prints with spdlog equivalents

* clang-format

* Add Arch Linux documentation

* Remove spdlog (again)...

* improve label system

* clean up menu

* debug menu working, still need to fix tests

* cleanup-gfx

literally just renaming the window and a few debug prints

* fix readme typo

Co-authored-by: water <awaterford111445@gmail.com>
2021-08-29 14:41:35 -04:00
water111
d9f9e076af
[decompiler] automatically label things when possible (#784)
* improve label system

* clean up menu

* debug menu working, still need to fix tests

* fix tests and clean up
2021-08-29 11:13:06 -04:00
water111
403bb5f4de
[decomp] game-info (#779)
* support more process stuff

* more of game info

* add ref file

* progress on save
2021-08-22 20:12:47 -04:00
water111
97ab6a4e12
add support for non virtual states (#764)
* add support for non virtual states

* typecheck go

* start on virtual states

* more support for virtual states

* offline passes

* fix tests

* use behavior shortcut instead of lambda

* final cleanup of virtual go

* unused var warnings and fix inconsistent enum decompile order on win vs linux

* fix thread safety bug with goal symbol table and vif1 interrupt handler

* fix type mistake
2021-08-17 20:54:03 -04:00
ManDude
67f236d32b Update opengl.cpp 2021-08-17 08:05:18 +01:00
ManDude
b18af4efae fix typo in comment while we're at it 2021-08-17 08:05:01 +01:00
ManDude
f05117fb0c clang 2021-08-16 16:01:34 +01:00
ManDude
8e348a8cd1 save & load to file! 2021-08-16 15:43:12 +01:00
ManDude
093526721c save key mapping to memory! 2021-08-16 14:57:15 +01:00
ManDude
c1fdb23310 fix crash 2021-08-16 07:46:06 +01:00
ManDude
efdc598c09 make pc pad remapping process (incomplete) 2021-08-16 07:44:05 +01:00
ManDude
ff3174f292 more cpad stuff + make font-flags 2021-08-16 03:50:36 +01:00
ManDude
4a8295898b Merge branch 'master' into d/cpad-test 2021-08-14 23:24:18 +01:00
ManDude
ca8f0f7e93 minor fixes 2021-08-14 23:23:45 +01:00
ManDude
ded9d63afa fixes 2021-08-14 21:05:38 +01:00
ManDude
af823cdb82 implement cpad stuff 2021-08-14 21:00:50 +01:00
water
23748dfeef start on debug graphics 2021-08-13 21:48:56 -04:00
ManDude
af5a9f0951 minor gfx updates 2021-08-14 01:06:16 +01:00
water
43a39b197e fix merge 2021-08-12 19:33:47 -04:00
water
ebc580822e clean up 2021-08-12 19:03:33 -04:00
water
a65357642d fix debugger 2021-08-11 20:21:58 -04:00
water
3bba86ce18 support mt4hh texture for japanese fonts 2021-08-11 19:36:15 -04:00
ManDude
ed19d046f3 Update OpenGLRenderer.cpp 2021-08-11 07:44:35 +01:00
ManDude
c87b818d82 stuff 2021-08-11 04:48:56 +01:00
water
b85ee3a3a5 fix possible bug in direct renderer 2021-08-10 22:13:34 -04:00
water
2b7a8d8880 another fix 2021-08-10 21:46:12 -04:00
water
df94e948bb more fixes 2021-08-10 21:31:15 -04:00
water
fb006492c5 build fix 2021-08-09 22:05:07 -04:00
water
9495e91259 online tests pass 2021-08-09 21:54:40 -04:00
water
f700438d01 fix merge issues 2021-08-09 21:42:05 -04:00
water
40ecd92272 Merge branch 'master' of https://github.com/water111/jak-project into w/dma-for-font 2021-08-09 21:41:25 -04:00
ManDude
a850b5d5cb
revamp the gfx+display systems a bit (#739)
* revamp gfx and display systems a bit

* Use some fancy c++ pointers instead of just raw pointers

* Tidy some things up.

* clang

* clang 2

* fixes

* fixesss

* error detection when making display
2021-08-09 19:16:39 -04:00
water
ee6639b4f7 fix texture filter 2021-08-09 18:59:47 -04:00
water
b4846f0491 hook up profiler 2021-08-08 21:50:34 -04:00
water
0dfe6a169d fonts and stuff work 2021-08-08 20:46:14 -04:00
water
124003f5f2 store texture in pool 2021-08-08 15:46:34 -04:00
water
f25b0f0de2 some clean up 2021-08-08 13:20:54 -04:00
water
54301a36be texture decoding 2021-08-08 13:12:44 -04:00
water
66f95d3c8a text working with no textures 2021-08-07 21:16:44 -04:00
water
ef6204e353 closer 2021-08-07 18:57:13 -04:00
water
d1674ea9b6 wip 2021-08-06 22:30:02 -04:00
water
821c2ab42a display loop runs 2021-08-04 21:30:08 -04:00
water111
ef011f4fe8
[goalc] add a build system (#704)
* add first attempt at build system

* fix stupid bug

* try again
2021-07-15 21:37:15 -04:00
water111
656489e942
[decomp] Clean up - part 2 (#687)
* temp

* temp2

* basic case support

* working for or without else

* support more cases

* clean up to drawable headers

* ocean

* format json
2021-07-11 16:35:25 -04:00
water111
1898c7c52a
[decomp] texture (#684)
* temp

* more cleanup

* fix merge issue

* handle no texture correctly
2021-07-09 22:20:37 -04:00
water111
a81aef889a
Level load test (#656)
* tweaks for loading VI1

* temp

* clean up
2021-06-30 19:20:31 -04:00
ManDude
1af0f4a1a7
[decomp] most of level and some game loop functions + couple decomp… (#651)
* [decomp] most of `level` and some game loop functions + couple decompiler fixes

* add ART.CGO to fake-iso
2021-06-29 20:30:52 -04:00
ManDude
997d5b57db
[memdump] Make it work on fields of type (array basic) (#620)
* use `std::function` for this because that's what you're meant to do

* [memdump] Analyze fields of type `(array basic)`

* fix test

* Massively simplify things.
2021-06-23 22:07:17 -04:00
water111
8faded6400
[decompiler] bitfield support for sound-name (#582)
* fix 64-bit fields in 128-bit bitfields

* support sound-name

* fix merge

* support some more sound stuff in overlord
2021-06-12 12:55:38 -04:00
water111
a572587a0e
add types (#559) 2021-06-05 16:58:32 -04:00
Ziemas
62877ed4f3
Overlord: Music tweak struct. (#509) 2021-05-20 18:10:27 -04:00
water111
ec412c7777
[decomp] ramdisk, load-dgo and rpc-h (#496)
* decompile ramdisk load-dgo and rpc-h

* add a bunch of offline tests

* clang-format
2021-05-16 21:07:22 -04:00
water111
53a7d6512f
lock when modifying components (#475) 2021-05-12 22:44:58 -04:00
ManDude
fef9b139d7
Force-enable assert on release mode Windows build (#440) 2021-05-10 23:03:56 -04:00
ManDude
370ac4f64a
Change VM dying logic to prevent deadlocks (#433) 2021-05-10 00:00:50 -04:00
water111
62dfa1bf07
[TypeSystem] add heap-base property to types (#431)
* support heap base in the type system

* lock around modification of status
2021-05-09 19:40:36 -04:00
ManDude
2beaa7a340
[decomp] cleanup drawable and ocean stuff (#414)
* use `kmalloc-flags` for goal `kmalloc`

* cleanup some drawable stuff, add offline tests

* cleanup generic-h a bit

* make decompiler work on 16-bit static data

* cleanup ocean stuff

* fix `ocean-spheres`

* oops forgot this

* I forgot to actually make `ocean-tables`
2021-05-03 08:54:49 -04:00
ManDude
8cc63ff35c
Add a debug PS2 VM to the runtime (#401)
* update VS launch target params

* remove redundant VS launch option

* Add a debug PS2 VM to the runtime, currently only for the DMAC

* Formatting

* remove broken assert

* Avoid weird buffer overflow bug

* Test on `VIF0_DMA_BANK`!

* Add a docstring

* patch pointers for the other dma channels

* patch DMAC pointer

* remove dead leftover code

* Change default return value for `get_vm_ptr`
2021-05-01 00:32:19 -04:00
water111
fe336b7b5f
[compiler] fix warnings in repl lib and add macros to autocomplete (#317)
* fix warnings in repl lib and add macros to autocomplete

* fix crash on ctrl-c, build runtime as static lib and make goos prompt look fancier

* some tweaks for linux build
2021-03-11 12:54:16 -05:00
ManDude
9430b4772a
Implement runtime display (test) (#318)
* Implement runtime display (test)

* Update runtime.cpp

* [game display] add "-nodisplay" argument

* style fixes

* Update gfx.cpp

* [deci2server] fix deadlock when killing a Deci2Server

* add libxrandr to linux github test

* correct package name to libxrandr-dev

* set g_main_thread_id in exec_runtime

* add libxinerama to linux test packages

* correct the name

* add libxcursor1 package

* Update linux-workflow.yaml

* add libxi-dev

* fix constructor for g_main_thread_id

* fix submodules + use -nodisplay during tests

* move the gfx loop to its own function and use a lambda for exit conditions

* fix include

* fix include

* fix includes (for real this time)
2021-03-09 23:51:28 -05:00
water111
9074a35b9b
[Decompiler] Fix printing of lets (#314)
* fix let prints and windows warnings

* missing include for windows

* windows again
2021-03-07 12:01:59 -05:00
water111
9d3b056b7a
Fix asize bug, decompile a few files (#293)
* fix bug in asize of basic

* more decomp
2021-02-28 18:05:07 -05:00
water111
5ec9a91eb9
Decompiler fixes + decompiling (#276)
* decomp pad

* more decompilation

* update

* fix test name
2021-02-22 09:36:30 -05:00
water111
4b1b7e9507
[Decompile] DMA and similar (#275)
* add some dma

* clean up

* add progress script and make codacy happy
2021-02-21 11:02:28 -05:00
water111
8775840265
[Decomp] Decompile engine math library types (#272)
* decompile some stuff

* fix typo

* playing around with trigonometry

* more progress on trig

* more trig

* comments and small fixes

* finish trig
2021-02-20 11:42:46 -05:00
water111
f1a93886e7
[Decomp] Decompile gstring (#267)
* decompile gstring

* update

* Update code_status.md

* Update code_status.md

* decompile gstate

* add test for states, hope it passes

* also test throw and catch xmms

* update doc
2021-02-16 20:37:48 -05:00
water111
e01e065170
[gcommon decomp] compiler and decompiler fixes (#239)
* wip

* decompile file-io

* a

* fix
2021-02-07 18:21:00 -05:00
bb010g
2436a8a541
Nixpkgs support (#228)
* Use env shebangs

* CMake cleanup, install() invocations, & CTest

`ctest` & the `test` target work now

* Nixpkgs support
2021-02-03 21:29:46 -05:00
doctashay
e8ad91a454
Arch fixes (#199)
* Change declaration case

Arch Linux is so very picky...

* Remove spdlog (?)
2021-01-17 21:37:08 -05:00
water111
3331e9cd00
Replace spdlog (#185)
* remove spdlog

* clang format and fix windows

* add format shared

* windows sucks
2021-01-06 12:16:39 -05:00
Tyler Wilding
69f7f46477
Add Address Sanitizer support to MSVC and CMake (#182)
* msvc: Add Address Sanitizer

https://devblogs.microsoft.com/cppblog/addresssanitizer-asan-for-windows-with-msvc/

* cmake: Add Address Sanitizer

* docs: Update ReadME

* see if we can replicate the test failure

* windows fixes maybe

* cmake: Compile with gcc and clang (only coverage on

* hacky try again

* clean up

* fix clang issues

* linting

Co-authored-by: water <awaterford111445@gmail.com>
2021-01-04 23:32:51 -05:00
water111
95c81b675a
add asan build (#179) 2021-01-03 12:31:42 -05:00
water111
c8d382b35c
[Compiler] Improve spills and register backups (#175)
* xmm spill

* improve getting stack variables

* improve symbol getting

* update changelog
2020-12-31 15:59:11 -05:00
water111
4d713d5c8c
[Runtime] misc fixes to runtime and listener (#170)
* misc runtime fixes

* clang format
2020-12-28 18:37:05 -05:00
water111
5cb6368b9a
Clean up asm for format (#164)
* clean up asm for format

* fix windows

* remove rpc-call hack

* revert cmake version change

* clang format

* asm fix for windows
2020-12-23 11:15:41 -05:00
water111
11a82bbf08
[Compiler] Add static data features (#162)
* support static pairs

* also support strings

* reorganize static stuff

* add test

* support inlined fields

* add missing type check
2020-12-19 15:21:29 -05:00
water111
ba919a069c
Add another kernel test, fix small bugs (#156)
* temp

* run function in process test

* windows debug

* debug

* update

* update

* again

* update

* fix same bug in debugger
2020-12-10 20:26:40 -05:00
water111
06918e1fea
Implement gkernel: Part 1 (#150)
* start gkernel implementation

* progress

* more of kernel

* swap to new dispatcher, will it work on windows

* update
2020-12-05 17:09:46 -05:00
water111
ea479bee98
Add enums and some cleanup (#148)
* support enums

* better compiler warnings

* tweaks to build with clang
2020-12-02 19:51:42 -05:00
water111
09142d1712
Support "game count" and v4 objects (#140)
* generate object, but not supported in linker yet

* add link and tests

* update types
2020-11-24 20:48:38 -05:00
water111
19b8bb81c9
Add the STR RPC to overlord and game code (#134)
* work in progress streaming rpc, simple test is working

* actually add the test

* debug windows failure

* windows fix maybe

* windows 2

* use str-load-status

* update types
2020-11-22 12:59:55 -05:00
water111
660ef41136
Update documentation and clean up (#129)
* cleanup

* clean up file layout
2020-11-21 12:52:38 -05:00
water111
953c1512db
Process Text Files in Decompiler (#122)
* begin support for v2

* export game text

* generate text files

* working text load

* fix windows

* add test and clean up game tests a bit

* load the right file

* add separate program to launch the data compiler

* add offline test script
2020-11-19 21:22:16 -05:00
water111
0767321934
Extract Textures (#119)
* temp

* cleanup

* documentation, enable alpha

* add subfolder

* support all textures
2020-11-16 19:57:45 -05:00
water111
951f31878e
[Source Line Debugger] Tracking objects and IR (#115)
* track where segments are when debugging

* missing windows include

* figure out what function we're in

* addr to IR is working
2020-11-13 22:33:57 -05:00
water111
71a894c393
move GOAL stack to GOAL memory (#114)
* move GOAL code stack to GOAL memory

* fix win arg reg and check rsp in debugger

* fix windows maybe and fix some incorrect logging formatters
2020-11-06 21:42:05 -05:00
water111
c09541fa98
Add some debugger memory utilities (#109)
* add some memory utilities

* run waitpid in a separate thread and support very simple breakpoints

* fix breakpoints

* add missing windows stub function

* fix error message on exit
2020-11-06 13:59:39 -05:00
water111
0451a06d76
Set up the compiler to ptrace the runtime (#107)
* set up the compiler to ptrace the runtime

* clang format

* move debugger state to a separate Debugger class

* support registers and break and continue

* documentation and fix windows

* make listener part of compiler, not a separate library

* implement memory read and write

* fix for windows
2020-10-31 14:07:43 -04:00
Tyler Wilding
5a5d88eb17 Amalgamate FileIO and remove duplicate Timer header
Closes #8
2020-10-25 02:27:48 -04:00
water111
ef1e8b9072
Tweak logger settings to make logging happen in order (#73)
* tweak logger settings to make logging happen in order

* clang format
2020-10-11 19:55:29 -04:00
Shay
0f916ed81e More minor fixes
spdlog now builds as a library with nasm workaround
2020-10-08 22:39:12 -06:00
doctashay
9bbb47006c Small fixes
Logging names are now less ambiguous. We can adopt one of two styling conventions: create a logger object for each component of the project, and log every output into a large jak.log file; or we can have separate text files for the compiler log, runtime log, etc. I think the former will be the most efficient but may also make filtering harder.

Also replaced more old prints with spdlog equivalents
2020-10-06 16:18:59 -06:00
doctashay
953e7c1ad5 Temp fix for spdlog + initial log to file implementation
Reduces verbose output by logging additional information to logs/game.log.
2020-10-06 16:03:33 -06:00
Shay
c5681a6cc7 Auto stash before merge of "logging" and "upstream/w/cfg_2_ir" 2020-10-06 15:35:57 -06:00
water
0fbffcd409 add cond to compare conversion 2020-10-03 18:36:02 -04:00
water111
d03080c463
Build spdlog as a shared library (#59)
* change build settings for spdlog

* fix typo

* trying with j4 now

* try as a shared library

* add shadow warning back
2020-10-03 10:33:20 -04:00
doctashay
c2cb053a5d
spdlog implementation (#58)
* Commit new spdlog implementation 

Hopefully resolves Linux build dependency errors

* clang formatting

* Fix Linux-only definition

Found the culprit!

* More Linux fixes

Linus Torvalds have mercy on my soul

* Replace printf logging with spdlog equivalent

Preserve previous printfs in comments for now. Spdlog needs to be configured to be thread-safe. Few additional printfs to convert later. No changes have been made to GOAL's internal printing system

* clang-format stuff

* ugh more clang-format

why

* Another shot

* CMakeLists.txt update

Fix issues related to spdlog version targeting

* Remove old prints + fix log types

Up next is the transition to a git submodule, should be simple enough

* spdlog is now a git submodule

* adapted for project

* Linux fix

* More fixes

Yikes

* Update for linux

I should really fix my WSL environment

* Update workflow.yaml

Hopefully will resolve issues with GitHub Actions on Linux
2020-10-03 09:39:04 -04:00
water111
c9b53d51ff
Compiler Cleanup (Part 2) (#56)
* check on windows

* fix windows build

* version test

* clean up - will it work on windows

* fix formatting
2020-09-25 21:11:27 -04:00
water111
15051ec5dd
Fix high cpu usage from iop thread (#55)
* fix crazy cpu usage from iop thread

* clang-format
2020-09-24 22:15:01 -04:00
water111
2d11e44eaf
Compiler Cleanup and Documentation (#54)
* start cleanup

* fix typos

* fix syntax highlighting in doc

* lots of documentation updates

* clean and add tests

* more documentation and more error messages

* more document and try building kernel differently
2020-09-24 17:19:23 -04:00
water111
27b865c0df
Add methods and pointers (#53)
* method calls and sorting

* add more tests and fix some alias stuff
2020-09-19 16:50:42 -04:00
water111
cee6c21603
Add basic features for types and objects (#52)
* started adding simple functions in gcommon

* more tests and features

* more tests, debug windows

* debug prints for windows

* back up some regs for windows

* remove debugging prints
2020-09-19 13:22:14 -04:00
water
3f193013b9 fix bug 2020-09-15 18:57:18 -04:00
water
ca3acdb5ec add format order test and fix reg order for windows 2020-09-15 18:49:55 -04:00
water111
bb854dd81e
Fix a Listener Bug (#45)
* try a fix

* add debug prints

* more prints

* try again

* more stderr

* print again

* am idiot

* cleanup

* cleanup
2020-09-14 22:14:07 -04:00
water111
7ffcfc4703
Merge pull request #41 from xTVaser/pragma-once
Add #pragma once to all header files
2020-09-14 20:31:41 -04:00
water111
0d0541d1c9
Merge pull request #40 from xTVaser/windows/compiler-warnings
Resolve a good chunk of windows compiler warnings
2020-09-14 20:31:10 -04:00
Tyler Wilding
345b8e30d8 Resolve a good chunk of windows compiler warnings
Mostly revolved around the new MSVC check for functions that don't cover all paths (ie. a switch statement without a default case).  It appears to not see an assert as a valid default case.

I switched assert(false) to exceptions in these cases.  I believe this should also abort the program, but will also provide a hopefully useful message?  Hopefully this is an improvement.

Resolves #32
2020-09-13 22:02:27 -04:00
Tyler Wilding
80d04a8fbd Remove SystemThread performance stats
Resolves #18
2020-09-13 21:38:56 -04:00
Tyler Wilding
9737dfad34 Add #pragma once to all headers
Resolves #19
2020-09-13 21:36:35 -04:00
water
9ec9b5a22a add conditional stuff 2020-09-13 17:34:02 -04:00
water111
90a7e9b4b9
Add addition and subtraction for integers, build macros, dgo building, and build/load test (#35)
* see if math works on windows

* add dgo

* windows debug

* windows debug 2

* one more debug try

* add extra debug print and change logic for slashes

* update

* again

* try again

* remove build game

* remove build game

* add back build-game

* remove runtime from test

* test

* reduce number of files

* go to c++ 14

* big stacks

* increase stack size again

* clean up cmake files
2020-09-12 20:41:12 -04:00
water111
d56540f8c0
Add lambda and static objects (#30)
* add some more tests for let

* support static strings

* add function calling

* add prints for windows debgu

* one test only

* try swapping r14 and r15 in windows

* swap back

* disable defun for now

* fix massive bug

* fix formatting
2020-09-12 13:11:42 -04:00
water111
de5aa7e5e4
Move duplicated utilities to the common util folder and remove NEXT_DIR (#29)
* move things to the common library and remove next_dir

* fix for windows

* one last windows fix

* last fix for real this time

* debug listener test

* fix listener threading bug
2020-09-10 20:03:31 -04:00
water
a1474d3318 Merge branch 'master' of https://github.com/water111/jak-project into w/ir 2020-09-09 17:37:12 -04:00
water
83b6db9f33 update to c++17 2020-09-09 17:00:46 -04:00
water
2e32bf7923 semicolon 2020-09-08 20:58:03 -04:00
water
c04ab1a6ff try different print format for windows 2020-09-08 20:55:48 -04:00
water
fb62936a94 add debug prints 2020-09-08 20:37:03 -04:00
water
f73b6de254 try setting a timeout on the accepted socket 2020-09-08 20:29:48 -04:00
water
4825b0d1e5 add a slash on windows 2020-09-08 20:14:37 -04:00
water
6de430b4ef temporary hacks in fakeiso to see if it can work in windows 2020-09-08 20:10:03 -04:00
water
f0328dcc92 Merge branch 'master' of https://github.com/water111/jak-project into w/ir 2020-09-08 19:39:39 -04:00
Tyler Wilding
fff501d786 Corrections to fix linux, and further cleanup 2020-09-08 19:15:14 -04:00
Tyler Wilding
4b6223a6d0 Extract adding timeout to socket 2020-09-08 14:33:28 -04:00
Tyler Wilding
871f1b43b0 Remove the problematic Multiple Deci tests 2020-09-08 14:12:04 -04:00
Tyler Wilding
f8fccbf7a6 Additional progress, listener tests are starting to pass 2020-09-08 00:01:46 -04:00
Tyler Wilding
aea7b692e4 Got rid of a lot of windows ifdefs 2020-09-07 20:00:02 -04:00
Tyler Wilding
84e0bee6f4 Use shim in Listener/Deci2Server 2020-09-07 19:59:44 -04:00
water
1394cf13cd 17 of 124 compiler tests passing 2020-09-07 19:17:48 -04:00
water
ee4eb9f128 add some basic symbol stuff 2020-09-07 13:28:16 -04:00
water
d49b01e310 working return integer tests as part of gtest 2020-09-06 16:58:25 -04:00
Tyler Wilding
905d443115 Cleanup test step 2020-09-04 23:31:22 -04:00
Tyler Wilding
6187b31f2c Changes needed to get build passing 2020-09-04 23:24:16 -04:00
water
7d1625734f small fixes for linux 2020-09-04 20:00:45 -04:00
Tyler Wilding
fa40b68a37 Aren't functions hoisted..? 2020-09-04 19:43:45 -04:00
Tyler Wilding
d86775878e Address review feedback 2020-09-04 19:40:45 -04:00
Tyler Wilding
dcde103c26 Address compiler and test failures 2020-09-03 23:56:35 -04:00
Tyler Wilding
39eb3a90ea Fix for cmake 2020-09-03 22:42:04 -04:00
Tyler Wilding
ef09eb12c8 Add a bunch of #ifdefs to keep things working as expected on linux 2020-09-03 22:24:50 -04:00
Tyler Wilding
f68f220e5b Merge remote-tracking branch 'water111/master' into windows-nodeci 2020-09-03 20:16:28 -04:00
water
bf7a496bb0 implement some loads and stores 2020-08-29 19:13:29 -04:00
Tyler Wilding
710e12cfed some cmake adjustments 2020-08-29 15:11:36 -04:00
Tyler Wilding
324d2121b1 push 2020-08-28 21:01:59 -04:00
Tyler Wilding
c5bb7aab54 nasm fixes #1 2020-08-28 20:26:27 -04:00
doctaweed
2138beb150 Windows threading fixes
Further cripple Deci2Listener pending Windows implementation, finish converting POSIX threads to std::thread. Hardcoded pathing in overlord\fake_iso.cpp until environment variables can be implemented for Windows.

Currently loads KERNEL.CGO and links gcommon object file, but crashes when executing due to Windows/Linux differences.
2020-08-28 11:59:20 -06:00
water
75f63d8ff3 add typecheck and tests 2020-08-27 16:47:54 -04:00
doctaweed
92976234a1 Replacing std::exception with std::runtime_error 2020-08-26 22:24:03 -06:00
water
a32e6288ac Merge branch 'master' of https://github.com/water111/jak-project into w/type-system 2020-08-26 23:29:23 -04:00
doctaweed
86ee6637fe Symbol fixes
Quick fixing a few more unresolved symbols. This should compile as is, but will not run as it requires mman.dll.
2020-08-26 21:12:32 -06:00
water
d2992ba4fe type system method tests 2020-08-26 23:07:55 -04:00
Tyler Wilding
e0a24a4c21 Merge remote-tracking branch 'doctaweed/windows-nodeci' into windows-proj 2020-08-26 22:28:18 -04:00
doctaweed
8a81ff78dd Windows fixes
Partially addresses issues with unresolved external symbols
2020-08-26 20:23:22 -06:00
Tyler Wilding
51c23aaede A whole bunch of cmake fixes 2020-08-26 22:23:16 -04:00
doctaweed
1dc206edb9 More fixes
Comment out related deci2 code until networking can be reworked.  Resolved std::exception errors with a temporary fix
2020-08-26 19:34:54 -06:00
Tyler Wilding
406549bf6a some small changes 2020-08-26 21:08:18 -04:00
Tyler Wilding
e6e96400c8 commit doctor's latest changes 2020-08-26 21:02:24 -04:00
Tyler Wilding
c4bd9eaf69 __attribute__ is technically not required. We can probably replace this in a cross platform way like with clang-tidy? 2020-08-26 20:38:42 -04:00
Tyler Wilding
5a2b39641f CMake adjustments, leave edits that didn't change file paths 2020-08-26 20:02:44 -04:00
Tyler Wilding
3c4fcbdd34 clang-format all the things 2020-08-26 01:21:33 -04:00
water
acf086a3d2 check in existing work 2020-08-22 22:30:12 -04:00