Skip to content

v2.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 01 Sep 04:57
· 3 commits to master since this release

This is Rugburn v2.0.

Rugburn v2.0 is a fairly large rewrite of Rugburn that improves many aspects of its basic operation. Please note: there is no longer a need to either patch ijl15.dll or rename it to ijl15_real.dll, as Rugburn now includes an embedded copy of ijl15.dll. To use Rugburn v2, just replace ijl15.dll in your PangYa directory with the Rugburn ijl15.dll.

Embedding the unfree ijl15 library required removing the copyleft length disassembler. It was replaced with a public domain x86 length disassembler instead. With this work, rugburn is now entirely permissively licensed. See the new LICENSE.md text for more details.

Rugburn no longer compiles with OpenWatcom 2; now, MinGW is the preferred compiler. Rugburn can also be compiled with MSVC. Now, the MSVC build is tested by CI, to ensure that the MSVC build does not accidentally break.

This version of Rugburn, like v1.2, will again work on older versions of Windows, specifically, any version of Windows that is NT-based. Windows NT, 2000, XP, Vista, 7, 8, 8.1, 10, and 11 should all work, assuming the version of PangYa you are trying to run supports the OS you are running. Research is ongoing into how the Windows API hooking routines could possibly be supported in Windows 9x. A future version of Rugburn may support Windows 9x. However, Rugburn v2.0 does not work on Windows 95, 98 or ME.

Thanks to all contributors and users of Rugburn. If you run into any problems, please feel free to file an issue.

Bugfixes

  • Fix bug with port rewrites by @fumitti in #8
  • Garbled text in error dialogs is finally fixed by @jchv in #25
  • Fix writing files to disk on Windows 9x by @jchv in #26

Cleanup

  • The Visual Studio solution was cleaned up a bit, removing the x64 build, adding support for building the test, and making sure all configurations build correctly, #36
  • Applied fixes for code style and formatting and fixed clang-format enforcement in CI, #37
  • Update and clean up GitHub Actions CI workflows, #38

New Features

More PangYa Versions

Thanks to @Acrisio-Filho, Rugburn v2 contains support for a much wider number of PangYa clients. Most of these were added in this release.

  • Albatross 18 323a
  • Albatross 18 404
  • PangYa US 431
  • PangYa US 500a
  • PangYa US 627
  • PangYa US 633
  • PangYa US 727
  • PangYa US 806
  • PangYa US 824
  • PangYa US 852
  • PangYa JP 2.11
  • PangYa JP 2.25b
  • PangYa JP 4.00a
  • PangYa JP 4.01h1
  • PangYa JP 585
  • PangYa JP 972
  • PangYa JP 974
  • PangYa JP 983
  • PangYa TW 3.00a
  • PangYa TW 4.00a
  • PangYa ID 2.12a
  • PangYa KR 3.26a
  • PangYa KR 603
  • PangYa KR 839
  • PangYa TH 217
  • PangYa TH 300b1
  • PangYa TH 580
  • PangYa TH 644
  • PangYa TH 714c
  • PangYa TH 829c
  • PangYa SEA 2.16a
  • PangYa SEA 3.20
  • PangYa EU 3.01a
  • PangYa EU 400a
  • PangYa EU 500
  • PangYa BR 2.14a
  • PangYa BR 2.14b
  • PangYa BR 2.15
  • PangYa BR 2.15a
  • PangYa BR 2.16
  • PangYa BR 2.20c
  • PangYa BR 3.00
  • PangYa BR 3.05a

Wine _stricmp bug mitigation - #9

There is an issue with Wine's _stricmp implementation that causes bugs with PangYa, including crashing and player models not displaying in the lobby. This is now mitigated by Rugburn. When using the Wine builtin C runtime libraries, the mitigation should automatically be enabled.

Dynamic patches - #12

@Acrisio-Filho added the ability to specify custom patches in rugburn.json. This dramatically simplifies making custom memory patches; you no longer need to recompile Rugburn to do so.

Here is an example of how it might be used:

{
    ...
    "PatchAddress": {
        "0x00d19ffc": "lobby_gbin\\x00"
    }
}

You can specify hexadecimal addresses as keys. The string format supports a form of hex escapes, which allows for raw data including NULL bytes to be specified.

Full Changelog: v1.2...v2.0