Commit Graph

18 Commits

Author SHA1 Message Date
nmlgc 1f1847de48 [Build] Assemble all .ASM files in the 32-bit build part
Yeah, why *were* we assembling them in the 16-bit part before?!
Possible reasons:
• In a time before Tup, it made no actual difference whether these
  little files were assembled in the 32-bit or 16-bit part. Now it sort
  of does, since we've temporarily given up on minimal rebuilds in the
  16-bit part.
• Emphasizing the temporary nature of the 32-bit part by deliberately
  moving everything to the 16-bit part as early as possible?
• It all started with the ZUN.COM ASM code, which doesn't include any
  other files, and can therefore be perfectly tracked by a Makefile.
  Which *was* superior than the exclusive dumb batch file we had in the
  past. And then I've simply cargo-culted all new .ASM translation
  units into the 16-bit part well.

Oh, and another positive side effect of temporarily not using 16-bit
TASM: The build process now also runs on Windows 95.

Part of P0113, funded by Lmocinemod.
2020-09-07 17:25:56 +02:00
nmlgc b18866232b [Build] 32-bit: Fall back on a dumb full .bat rebuild if Tup can't run
And that's how we can still have a reliable 32-bit build part that runs
on XP or earlier.

Completes P0001, funded by GhostPhanom.
2020-09-03 19:04:20 +02:00
nmlgc e31d232584 [Build] 32-bit: Use Tup as a proper build system for the 32-bit part
This Tupfile does in fact date back to January 2017, and I've been
using it myself ever since. Time to finally deliver it on master!

Part of P0001, funded by GhostPhanom.
2020-09-03 19:04:17 +02:00
nmlgc 8367a41d46 [Maintenance] Decide on *_id for 0-based, and *_num for 1-based IDs
Which we've been already subconciously doing with the resident
`demo_num` variable.

Part of P0104, funded by Ember2528.
2020-07-27 17:22:28 +02:00
nmlgc 43c97ccaa1 [Maintenance] Decide on __asm as the keyword for inline assembly
Which works in both Borland C++, Open Watcom, and Visual C++.

Not that we're about to port any of the games to these compilers, just
something I noticed while evaluating 32-bit compilers for ReC98's own
32-bit pipeline tools. Modders might want to look into that though,
since 100% position independence also makes it easier to change
compilers.
2020-06-21 22:18:00 +02:00
nmlgc dd89843fae [Decompilation] [th01] Pellet rendering
So even TH01 wasn't 100% C++ after all. Turns out that this function
was the only instance in all of REIIDEN.EXE where ReC98 previously had
different encodings for identical x86 instructions.

Part of P0096, funded by Ember2528.
2020-06-13 21:11:53 +02:00
nmlgc 57a8487084 [Decompilation] [th01] FUUIN.EXE resident structure data retrieval
Completes P0094, funded by Yanga.
2020-05-25 15:22:53 +02:00
nmlgc 02f0a0afcc [Build] Don't word-align everything by default
Again, 11 necessary workarounds, vs. forcing byte aligment in at least
18 places, and that number would have significantly grown in the
future.

Part of P0085, funded by -Tom-.
2020-04-03 17:35:57 +02:00
nmlgc fdf2a45baf [Maintenance] Use *_CELS to denote the number of distinct animation sprites
Which are typically lower than the amount of *_FRAMES they're shown in.

Part of P0074, funded by Myles.
2020-02-16 21:41:28 +01:00
nmlgc 2bfd7be787 [Contributing] Document how to use TASM's interfaced function call syntax
And officially allow the stdcall workaround for __cdecl calls with
optimized stack cleanup.
2020-01-19 22:05:45 +01:00
nmlgc 3a2b26c370 [Contributing] BSS padding bytes should be rewritten into `evendata` 2020-01-19 20:17:26 +01:00
nmlgc 98e07ec5e1 [Contributing] Don't require declarations of internal symbols in header files 2020-01-15 20:25:15 +01:00
nmlgc 034ae4ba94 [Contributing] Padding bytes should be rewritten into `even` or `align` 2019-12-26 10:54:43 +01:00
nmlgc 7c80fb01f2 [Contributing] Establish how to cite ZUN's source code leaks 2019-11-24 14:14:13 +01:00
nmlgc e9453bffe0 [Contributing] Add a rule against decompiling self-modifying code
Will come up soon in TH03, actually.
2019-11-20 00:22:43 +01:00
nmlgc afbc7eb381 [Contributing] Add some welcoming words for new contributors
And the explicit permission to also do something as seemingly trivial
as naming functions or data on separate branches, which apparently
still needed to be said somewhere.
2019-11-20 00:22:26 +01:00
nmlgc c196cdb41e [Contributing] Fix a few minor typos and omissions 2019-11-19 23:09:36 +01:00
nmlgc b28cefc1c1 [Readme] Start a separate contribution guideline file 2019-11-04 22:33:53 +01:00