Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heretic: add true color support #1111

Merged
merged 25 commits into from
Nov 29, 2023
Merged

Heretic: add true color support #1111

merged 25 commits into from
Nov 29, 2023

Commits on Nov 16, 2023

  1. 18 Configuration menu
    Copy the full SHA
    e381e8e View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2023

  1. Configuration menu
    Copy the full SHA
    d690713 View commit details
    Browse the repository at this point in the history
  2. Heretic: true color - fine tune patch shadows, better namings

    Despite of here in V_ functions TINTTAB is used for shadows drawing, it's initial purpose is slightly different - it is a blending table, which is *also* used for shadows.
    
    "drawtinttab" must be more clear in this context, and in case one day TC implementation will be done for Strife, XLA's function should be named "drawxlatab".
    JNechaevsky committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    42d73b2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ab7c980 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    51d3d9a View commit details
    Browse the repository at this point in the history
  5. Heretic: true color - simplify previous commit

    Remove duplication of invul. colormap generation.
    JNechaevsky committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    96a9e52 View commit details
    Browse the repository at this point in the history
  6. Heretic: true color - remove redundant sizeof multipler for invul c…

    …olormap handling
    
    Raven Software's oversight, or attempt to reduce memory consumption?
    https://github.com/OpenSourcedGames/Heretic/blob/master/Heretic%20Source/R_MAIN.C#L776
    JNechaevsky committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    dad0d47 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ccb9c13 View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2023

  1. Configuration menu
    Copy the full SHA
    74c664e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1d1e479 View commit details
    Browse the repository at this point in the history
  3. 2 Configuration menu
    Copy the full SHA
    7129454 View commit details
    Browse the repository at this point in the history
  4. Heretic: true color - no need for V_LoadTintTable

    As not used in true color mode at all.
    JNechaevsky committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    0a92fd1 View commit details
    Browse the repository at this point in the history
  5. Heretic: true color - proper palette for E2END pic

    Fairly simple. We need only proper 256 colors for drawing E2END itself, but we also need to do a proper reset while switching back to normal palette, otherwise we'll get some wrong colors.
    
    Suggestions for future:
    - externalize gamma2table to i_video.h
    - externalize R_InitColormaps and R_SetUnderwaterPalette to r_local.h
    JNechaevsky committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    f5a4d96 View commit details
    Browse the repository at this point in the history
  6. 3 Configuration menu
    Copy the full SHA
    62c1201 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e0e3d53 View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2023

  1. Heretic: true color - small styling corrections

    Also, "viewactive" is not needed. Despite of existing ovet the code, it's not doing anything. Using "setsizeneeded" wasn't optimal, it too expensive. All we need is:
    - BorderNeedRefresh - updates screen border and bezel, including message area.
    - SB_state - do a full redraw of whole status bar.
    JNechaevsky committed Nov 19, 2023
    Configuration menu
    Copy the full SHA
    5c4b195 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f6276d1 View commit details
    Browse the repository at this point in the history
  3. Heretic: true color - automap (line drawing)

    This is, hopefully, as small diff as possible, which could be useful for custom COLORMAPs (but are there any existing?). Note that unlike Doom, REINDEX is using lesser color range to be as close to original smoothing as possible.
    
    At this point, only background is not working on automap.
    JNechaevsky committed Nov 19, 2023
    Configuration menu
    Copy the full SHA
    f7ad2c1 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2023

  1. Configuration menu
    Copy the full SHA
    07b42b3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b15db45 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2023

  1. Externalize R_InitColormaps and R_SetUnderwaterPalette

    Not sure if R_SetUnderwaterPalette needed to be guarded by a macro in header file, but probably this will make sence for better understanding about the nature of this function, i.e. it's "for true color only".
    JNechaevsky committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    772f346 View commit details
    Browse the repository at this point in the history
  2. Externalize I_SetGammaTable and gamma2table

    No changes for Hexen and Strife needed, as these externals were made for true color render only.
    JNechaevsky committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    9eb9a2c View commit details
    Browse the repository at this point in the history
  3. Allow R_SetUnderwaterPalette to accept any Hehacked-ed palette

    Much neater and less macrocized now.
    Thanks, Fabian!
    JNechaevsky committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    00c44aa View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1f81552 View commit details
    Browse the repository at this point in the history
  5. Update automap code

    * Revert back pixel_t to byte for arrays of line colors. My typo made back in the time I was just started working on automap.
    
    * Still use two arrays for normal and overlay mode. Idea of having "middle" color for walls drawing and array does not seems to be good enough, as we loose original color for both modes.
    
    In theory, both arrays can be consolidated into one, but this is a bit tricky because we have to define "which color should be used for common walls drawing" w/o hitting if/else condition.
    JNechaevsky committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    9957a41 View commit details
    Browse the repository at this point in the history