Skip to content
This repository has been archived by the owner on Jun 21, 2022. It is now read-only.

Massive cleanup #27

Open
2 of 22 tasks
Admer456 opened this issue Aug 18, 2021 · 3 comments
Open
2 of 22 tasks

Massive cleanup #27

Admer456 opened this issue Aug 18, 2021 · 3 comments
Assignees
Labels
cleanup This issue is requesting a refactor/cleanup/tidyup priority-1 Highest priority systematic This issue is regarding the build system, project files and stuff of that nature
Milestone

Comments

@Admer456
Copy link
Owner

The structure of the SDK and ADM itself is very messed up. The goals are quite simple:

Structural changes

  • Unify the duplicated Vector classes
  • Move player movement code into shared
  • Rename dlls into server
  • Rename cl_dll into client
  • Move game and client into game to mimic the Source SDK structure
  • Do something about game_shared
  • Rename external into extern or libs maybe
  • Merge external, lib, linux, public and utils/vgui in a sensible way

Code cleanup

  • Remove AdmGetSetKV
  • Remove AdmControl
  • Remove AdmSound
  • Rewrite AdmTime
  • Remove AdmSoundList
  • Remove most of ADM/Physics
  • Remove AdmAudioEntities
  • Refactor AdmEffects
  • Remove AdmVehicle
  • Remove AdmStory
  • Split up AdmTriggers into separate files
  • Rewrite how the HUD extensions work so nobody needs to instantiate and call them manually!!!
  • Remove physics
  • Remove FMOD

Once all this is done, we'll have lost basically 60% of ADM features, but the code will be WAY cleaner. ADM will be free of legacy code and my poor decisions that plagued it since 2018 and 2019.

Back when I started the project, I was quite a beginner at C++ and programming in general, so I made some great mistakes. Now I believe all that can be reversed, fixed, and brought back in much better quality.

Eventually, these "lost features" will be brought back, like the sound system which supports high-quality audio, or the vehicle system.

@Admer456 Admer456 added priority-1 Highest priority cleanup This issue is requesting a refactor/cleanup/tidyup systematic This issue is regarding the build system, project files and stuff of that nature labels Aug 18, 2021
@Admer456 Admer456 added this to the v0.1.0 milestone Aug 18, 2021
@Admer456 Admer456 self-assigned this Aug 18, 2021
@Admer456 Admer456 pinned this issue Aug 18, 2021
@Admer456
Copy link
Owner Author

Admer456 commented Dec 5, 2021

It looks like halflife-unified-sdk has been published, and the structure more or less aligns with what I had in mind for this project.

I think it'll be more beneficial to archive this repository, fork halflife-unified-sdk into halflife-adm and "reboot" ADM development there.

I think so because I'll be able to pull new changes easily, as opposed to having to do everything commit by commit here. There's probably a good year worth of commits I gotta catch up with at the moment. xwx

@Admer456
Copy link
Owner Author

Admer456 commented Dec 5, 2021

In fact, doing that alone will solve #2, so that's wonderful.

@Admer456
Copy link
Owner Author

Admer456 commented Dec 7, 2021

All things considered, I should start migrating ADM to the Unified SDK in February. I got exams in January, and I already got quite some things to do in December.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cleanup This issue is requesting a refactor/cleanup/tidyup priority-1 Highest priority systematic This issue is regarding the build system, project files and stuff of that nature
Projects
None yet
Development

No branches or pull requests

1 participant