asar icon indicating copy to clipboard operation
asar copied to clipboard

Proposal: Remove xkas support.

Open Horrowind opened this issue 7 years ago • 9 comments
trafficstars

From the manual:

New features introduced into Asar since then might not throw warnings when attempted to use in xkas compatibility mode and old xkas patches might not assemble correctly with Asar anymore, even when xkas compatibility mode is used.

Maybe we should remove xkas support altogether? (Probably after a community discussion?)

Horrowind avatar Feb 20 '18 18:02 Horrowind

It's something that has certainly crossed my mind before. Currently, my thoughts on this matter are this: Removing xkas support should be possible, but would take a bit of time since some aspects of it are deeply woven into Asar. That aside, I'm not quite sure if there were some actual considerable benefits from removing it. The code would probably get a bit cleaner, but even without xkas support I think it would remain messy enough to probably not be worth the effort. On the other hand, since xkas support isn't actively maintained anymore, I don't think it currently does any harm by being there. Additionally, there might still be a few unconverted xkas resource available somewhere out there which some person might appreciate being able to use.

So right now, I'm not sure if there would be much to gain from removing xkas support. If I were to code a new Asar from scratch, I certainly wouldn't care much about xkas support and leave it out to keep code cleaner and simpler, but for the current version, I don't think there are quite enough benefits from removal.

RPGHacker avatar Feb 20 '18 18:02 RPGHacker

I just tested it. Removing xkas support is not that difficult actually. I removed all the occurrences of the emulatexkas and warnxkas (and the bit of code which set both of them).

If you want I can send a pull request. It is completely untested now, but I would test this, if you are okay with a PR. Anyway: Removed code is the best code.

Horrowind avatar Feb 22 '18 18:02 Horrowind

That answers that part, it seems.

Still hestitant on actually merging it, though, since as mentioned before, there might remain the rare, overlooked xkas resource somewhere that some people might want to use. I suppose if it's something with notable benefits, it's worth discussing in the community before deciding to remove it or to keep it.

RPGHacker avatar Feb 22 '18 18:02 RPGHacker

It's currently being discussed in the staff forum. So far, a number of people seem to support it, but not many have voted yet, so it's note quite enough to make a decission yet. Will update this once a decision can be made.

RPGHacker avatar Mar 03 '18 08:03 RPGHacker

So far, I've gotten not a single vote that's against deprecating xkas support and seven votes that approve of it (plus one "indifferent" vote). Because of this, I've decided that xkas support will be deprecated in a future version of Asar. However, it won't be removed immediately. For the next couple of releases or so, using xkas compatibility features will only throw warnings. Then in a future release of Asar, it will be removed entirely.

RPGHacker avatar Mar 07 '18 23:03 RPGHacker

(Reopening, just so that we don't forget to actually remove xkas support in a future version - deprecation warnings are already in place now, though)

RPGHacker avatar Mar 25 '18 23:03 RPGHacker

(Just posting this here as a reminder to myself) autoclear and freespace fixed also throw deprecation warnings now and should be removed whenever xkas support is removed.

RPGHacker avatar Apr 30 '18 15:04 RPGHacker

  • [ ] $000000,y -> $0000,y
  • [ ] jmp $000000 -> jml $000000
  • [ ] # as a number prefix (getnum)
  • [ ] xkas command (which is just the enabler)
  • [ ] asar is 1 byte less strict with warnpc
  • [ ] xkas rep trick
  • [ ] incbin/src path hack (doesn't the vfs handle this now anyways?)
  • [ ] dequoting defines

List of all currently emulated xkas features, honestly I don't see a reason to support most of these anymore. Does anybody have evidence to the contrary? All are locked behind the xkas emulation flag.

p4plus2 avatar Oct 01 '20 11:10 p4plus2

I don't have any concrete data on how common (or uncommon) any of those are. One of the main reasons why I added deprecation warnings to most of the xkas features I was aware of in a prior version.

RPGHacker avatar Oct 01 '20 11:10 RPGHacker

All xkas features are deprecated in 1.9 and removed in 2.0 making this completed.

p4plus2 avatar Jan 21 '24 01:01 p4plus2