Commit graph

42 commits

Author SHA1 Message Date
MattKC
2ffe227d82
Add SmartHeap (#83)
* add smartheap

* cmake: bump even further

* this seemed to be necessary but now it isn't? ok

* cmake: force include smrtheap.hpp

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* cmake: force include smrtheap.hpp 2

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* remove compiler defs - unnecessary if force-including anyway

* cmake: use interface for cleaner code

---------

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2023-07-15 23:18:21 -07:00
itsmattkc
67115e32d3 cmake: bump minimum version 2023-07-07 12:22:42 -07:00
MattKC
f8fe635248
ci: don't show context lines when diffing progress, only show changed lines 2023-07-07 10:44:53 -07:00
stonedDiscord
904640e028
CI steps (#65)
* break build up into steps

* download artifacts

* clone uploadtool

* need env on windows

* just use ubuntu for inkscape

* report went missing

* add inkscape to path

* use ubuntu for compare

* Revert "use ubuntu for compare"

This reverts commit a4ce103d09.

* reinstall after cache

* try different apt cache

* use im

* use rsvg

* change size to avoid downscaling

* remove png

* do not install librsvg anymore
2023-07-01 21:51:26 -07:00
MattKC
4adad9af49
ci: upload SVGs to external sites
Can't embed SVGs from GitHub Releases (made an issue that will probably get ignored here https://github.com/orgs/community/discussions/59781). Uploading to external site instead for the time being.
2023-06-30 16:00:27 -07:00
itsmattkc
4c9e138cbf implement all DLL exports (as TODOs)
Now we can use our own compiled LEGO1.LIB rather than one generated from the original. Also implements a script that tests them to help ensure future commits don't break them.
2023-06-30 11:34:39 -07:00
MattKC
8476bf06b2
Yet another CMake implementation (#61)
* initial cmake implementation

* ci: i guess older cmake doesn't support this

* cmake: add max version to suppress warning

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

---------

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2023-06-29 16:39:02 -07:00
itsmattkc
aa3dfe1808 ci: skip continuous release on pull requests [skip ci] 2023-06-29 10:24:58 -07:00
itsmattkc
8da62cc596 ci: convert to 512px png
These might scale down better, the ones in the readme seem really blurry
2023-06-27 19:55:17 -07:00
itsmattkc
aaf61ba48e ci: ignore return code of diff
diff returns a 1 error code if diffs are found which halts the script, but we don't consider this an error, we're just interested in the information
2023-06-27 19:08:43 -07:00
itsmattkc
c7cf9ee8fd ci: compare accuracy as separate step 2023-06-27 19:02:26 -07:00
itsmattkc
ad2d84ce58 ci: compare accuracy to current master 2023-06-27 19:01:04 -07:00
itsmattkc
008fd80a6f ci: create text progress reports too for auto-comparison 2023-06-27 18:58:15 -07:00
itsmattkc
40fdc5b2f5 ci: use alternative download 2023-06-27 17:42:07 -07:00
itsmattkc
4ba4352058 ci: pacman noconfirm 2023-06-27 17:38:37 -07:00
itsmattkc
dd3ce5ac61 ci: attempt to install inkscape through msys2 2023-06-27 17:31:46 -07:00
itsmattkc
a3887f554d ci: attempt installing inkscape 2023-06-27 17:28:46 -07:00
itsmattkc
0191c6560b ci: attempt to use inkscape to produce PNGs 2023-06-27 17:26:30 -07:00
itsmattkc
5915cc3ea2 ci: try converting SVG to PNG 2023-06-27 17:17:26 -07:00
itsmattkc
883720941a ci: provide GITHUB_TOKEN as env 2023-06-27 16:25:26 -07:00
itsmattkc
b2bd8bc766 ci: fix typo 2023-06-27 16:15:38 -07:00
itsmattkc
d8d83eb02e ci: upload release 2023-06-27 16:12:11 -07:00
itsmattkc
b080766321 generate progress SVGs 2023-06-27 15:59:44 -07:00
Mark Langen
0b47f3fff3
Improve reccmp.py (#49)
* Improve reccmp.py

* Now only shows the info for a single function when a specific function
  is specified via -v

* Now colors the output by default

* Percentages are shown as green/yellow/red depending on the percentage
  completed.

* Diff +/- lines are shown as green/red.

* Includes standard --no-color argument in case we need no color for
  some tooling which consumes the output.

* Feedback
2023-06-25 19:01:40 -07:00
itsmattkc
749a1f419b reccmp: support inlined functions that may have been compiled into both files 2023-06-22 01:05:00 -07:00
itsmattkc
fa63d7e341 rename reccomp to reccmp
Sorry to everyone's muscle memory, but I think this is better. The idea for the name was "recomp compare", but it's too easy to read it as "recomp with a typo". This should fix that, as well as be slightly easier to write since it's shorter.
2023-06-21 14:36:09 -07:00
Anonymous Maarten
da3ad91b20
recomp.py: use argparse to parse arguments (#30)
* recomp.py: use argparse to parse arguments

* Address code revew comments

* reccomp.py: -h/--help for help -H/--htmp for html

* update CI to use new arg

* slight string updates

---------

Co-authored-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
2023-06-21 14:33:08 -07:00
itsmattkc
4b71fb8815 ci: upload HTML summaries of accuracy/progress too 2023-06-21 00:36:38 -07:00
Anonymous Maarten
6e18d1b41f
ISLE and mingw32 fixes (#18)
* ci: no need to do a final cd

* MxDSAction has a setAtomId method

* Implement the MxOmniCreateParamBase destructor inline

Because of this, ISLE should no longer have to compile mxomnicreateparambase.obj.
I didn't modify isle.mak, because I don't have the MSVC 4.20 GUI set-up.

* Replace 256 with sizeof(...)

* Format DefWndProc calls in WndProc

* Replace magic mask in WNDPROC with macro's

* Replace magic numbers in main.cpp with macro's

* MOUSEMOVE notification id is 10 instead of 0x10

* Lowercase all windows includes such that mingw32 on Linux can find these

* Convert ISLE/res/isle.rc to utf-8, and add a comma needed by mingw32

* mingw32 cannot use a enum without previous declaration

* minor adjustments

---------

Co-authored-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
2023-06-18 21:45:25 -07:00
MattKC
5aa7921e90
Add CI script to compare recompiled assembly with original code (#24)
* add test to compare assembly between functions

* ci: use abs path of wget

* ci: fix shell disambiguity

* ci: ensure capstone is installed

* ci: ensure correct filenames

* use better source for lego island files

* give me an idea of what the dir structure looks like

* make wine path function

* improved script and project

* fixed script on windows

* print debug info because now it literally only doesn't work on fucking github actions

* better source path resolving

For some reason, nmake compiles produce different symbols. I wonder if this affects the accuracy of the decomp.
2023-06-18 20:28:18 -07:00
stonedDiscord
6b6f32e8d5
actions can't handle it, only cache the download 2023-06-11 19:02:41 +02:00
stonedDiscord
dedc88d7ca
do it in the 2 step way 2023-06-11 18:59:44 +02:00
stonedDiscord
cb25361818
double folder?? 2023-06-11 18:55:47 +02:00
stonedDiscord
1efb87500a
cache dxsdk folder on C 2023-06-11 18:54:16 +02:00
stonedDiscord
da227101a0
another windows moment 2023-06-11 14:30:54 +02:00
stonedDiscord
1d1041c06f
make vcvars stick 2023-06-11 14:27:14 +02:00
stonedDiscord
df3bf6cf2e
use 420 nmake 2023-06-11 14:24:19 +02:00
stonedDiscord
b922043edc
screw you windows 2023-06-11 14:20:39 +02:00
stonedDiscord
596335f409
dont fail if dir exists 2023-06-11 14:19:33 +02:00
stonedDiscord
30a91afe6a
wget not found 2023-06-11 14:18:32 +02:00
stonedDiscord
4a961d452c
use the answer file 2023-06-11 14:17:41 +02:00
stonedDiscord
cb8fac8662
Create build.yml 2023-06-11 14:07:15 +02:00