Skip to content

Commit

Permalink
Merge pull request #31 from JerryBrick/extended_description_fix
Browse files Browse the repository at this point in the history
Fix extended description
  • Loading branch information
SnowyMouse committed Jul 28, 2020
2 parents 1f27b94 + 7f32424 commit 673db49
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 0 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ These are features that are always (or are on).
- [Compressed maps](#compressed-maps)
- [Reduced DRM](#reduced-drm)
- [Descope fix](#descope-fix)
- [Extended description fix](#extended-description-fix)
- [Fast loading](#fast-loading)
- [Fast server listing](#fast-server-listing)
- [128 MiB map leak fix](#128-mib-map-leak-fix)
Expand Down Expand Up @@ -141,6 +142,10 @@ the player takes damage on the client instance rather than if they actually
took damage on the server. Chimera changes this to making it so if you lose
health or shield, you are descoped.

#### Extended description fix
Chimera fixes a bug where the "About" button of the profile settings menu
doesn't display the correct bitmap in the extended description.

#### Fast loading
Halo Custom Edition CRC32s every map on startup. On a small maps folder, this
does not significantly increase loading time. On a massive maps folder, this
Expand Down
1 change: 1 addition & 0 deletions src/chimera/chimera.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ add_library(chimera STATIC
src/chimera/fix/descope_fix.cpp
src/chimera/fix/extend_limits.cpp
src/chimera/fix/extend_limits.S
src/chimera/fix/extended_description_fix.cpp
src/chimera/fix/floor_decal_memery.cpp
src/chimera/fix/floor_decal_memery.S
src/chimera/fix/force_crash.cpp
Expand Down
2 changes: 2 additions & 0 deletions src/chimera/chimera.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
#include "fix/death_reset_time.hpp"
#include "fix/descope_fix.hpp"
#include "fix/extend_limits.hpp"
#include "fix/extended_description_fix.hpp"
#include "fix/name_fade.hpp"
#include "fix/scoreboard_fade_fix.hpp"
#include "fix/floor_decal_memery.hpp"
Expand Down Expand Up @@ -244,6 +245,7 @@ namespace Chimera {

// More lol
set_up_blue_32bit_color_fix();
set_up_extended_description_fix();

// wtf
set_up_force_crash_fix();
Expand Down
14 changes: 14 additions & 0 deletions src/chimera/fix/extended_description_fix.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// SPDX-License-Identifier: GPL-3.0-only

#include "extended_description_fix.hpp"
#include "../chimera.hpp"
#include "../signature/signature.hpp"
#include "../signature/hook.hpp"

namespace Chimera {
void set_up_extended_description_fix() noexcept {
auto &extended_description_index_sig = get_chimera().get_signature("extended_description_index_sig");

overwrite(extended_description_index_sig.data(), static_cast<std::uint8_t>(0x09));
}
}
13 changes: 13 additions & 0 deletions src/chimera/fix/extended_description_fix.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// SPDX-License-Identifier: GPL-3.0-only

#ifndef CHIMERA_EXTENDED_DESCRIPTION_FIX_HPP
#define CHIMERA_EXTENDED_DESCRIPTION_FIX_HPP

namespace Chimera {
/**
* Fix the extended description index of the profile settings menu
*/
void set_up_extended_description_fix() noexcept;
}

#endif
2 changes: 2 additions & 0 deletions src/chimera/signature/signature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -437,6 +437,8 @@ namespace Chimera {
FIND("spectate_death_cam_demo_sig", "client_spectate_demo", { 0x8B, 0x15, -1, -1, -1, -1, 0x8B, 0x44, 0xBA, 0x04, 0x8B, 0x15, -1, -1, -1, -1, 0x25, 0xFF, 0xFF, 0x00, 0x00 });
FIND("spectate_cull_effects_sig", "client_spectate", { 0x0F, 0x95, 0xC0, 0x84, 0xC0, 0x75, 0x17, 0x33, 0xC0 });

FIND("extended_description_index_sig", "client", { 0x08, 0x8B, 0x46, 0x4C, 0x8B, 0x40, 0x34, 0x8B, 0x50, 0x2C, 0x66, 0x89, 0x48, 0x40, 0xB8, -1, -1, -1, -1, 0x74, 0x03 });

return signatures;
}
}

0 comments on commit 673db49

Please sign in to comment.