mirror of https://github.com/nmlgc/ReC98.git
![]() Nooooo, gotta throw away that decompilation for the stupidest of reasons :( Turns out that a function may also be "undecompilable" if the original code layout places it at a word-aligned address, but the last byte of the previous function in just one of the original binaries (TH03's MAIN.EXE, in this case) also lies at a word-aligned address. There's simply no way to enforce per-function word alignment in Turbo C++ alone. You *could* fake it with `#pragma codestring`, but of course that won't work for functions that are part of the SHARED segment, and where the alignment previously would have been correct. Conditionally emitting that codestring would work, but then we'd also have to compile that translation unit at least twice. Now, I could have created a dummy .ASM file that just contains a single zero-length but word-aligned SHARED segment, which could be placed anywhere on the link command line where word alignment is needed… but the decompilation of this function was a mess anyway, and probably helped nobody. Part of P0127, funded by [Anonymous]. |
||
---|---|---|
.. | ||
cdg.h | ||
cdg.inc | ||
cdg[bss].asm | ||
cdg[data].asm | ||
cdg_free_all.asm | ||
cdg_load.asm | ||
cdg_put.asm | ||
cdg_put_dissolve.asm | ||
cdg_put_dissolve[data].asm | ||
cdg_put_hflip.asm | ||
cdg_unput_upwards.asm | ||
cfg.hpp | ||
cfg.inc | ||
cfg[data].asm | ||
cfg_lres.asm | ||
cfg_lres[data].asm | ||
hfliplut.asm | ||
hfliplut.h | ||
hfliplut[bss].asm | ||
mrs.cpp | ||
mrs.hpp | ||
pfopen.asm | ||
pi.h | ||
pi_put_interlace.asm | ||
pi_put_mask[data].asm | ||
pi_put_quarter.asm | ||
scoredat.h | ||
scoredat.inc |