Commit Graph

5 Commits

Author SHA1 Message Date
Ally 4e6697352c Add an undoing & redoing system to the editor (#1085)
* Add undoing & redoing to the editor

It's very easy to make mistakes in VVVVVV's built-in level editor, with
no way to undo them. This commit adds an undo and redo system, bound to
CTRL+Z for undo and CTRL+Y for redo. The undo and redo stacks don't
have any limits, but could easily happen in the future. VVVVVV's data
is small enough where this should never be an issue, however.

No notes show up for undoing and redoing, because keeping track of what
specific action you're doing may bloat the system, and would get
annoying for the end-user. Notes are a bit annoying in general, even.

* Add level resizing to undo/redo system

* searchable gettext for undo/redo notes

* A few fixes and cleanup

The main fix was how holding right click to remove tiles did not
commit an action.

* Spikes also need to commit

* Cancelling placing a terminal/script box shouldn't have undo events

* Don't commit tile events if removing entities

* Clear redo buffer on level load

* Remove unneeded pointers from memcpy

* Add strings to lang files

* Fix definition in Editor.h

* Explain double-uncommit

* Don't unconditionally commit tiles on room change

I'm not that sure what I was thinking back then, but switching rooms
would commit tiles no matter what, causing a huge mess. The behavior
was intended to stop the "tile placement" action and commit it, but
just happened no matter what... So this has been fixed, and a few
comments have been added as well.

* Fix mentioned issues & make process_undo static

---------

Co-authored-by: NyakoFox <nyakowofox@gmail.com>
2026-04-25 13:46:01 -04:00
Dav999 26d27c7df5 Apply translations for 2.4 strings
This includes translations that were missing translations, with varying
extent between different languages, for the following things:
- "X mode is enabled" in-game warnings
- "Press {button} to freeze/unfreeze gameplay" for the level debugger
- Some credits strings for the post-2.4.0 extra Spanish options, the
  PT_BR proofread, and Persian
- The recent gamepad menu changes (#1229)

Furthermore:
- "TAB" (used in the level debugger string) is now a separate string
  instead of being hardcoded, because some languages needed it
  translated
- Added missing arrows to Arabic/Persian font (needed for the gamepad
  menu, and also a translator menu actually)
2025-06-08 17:05:32 -04:00
Dav999 1a1bf2a4f9 Add new strings for Persian
New strings were delivered already today, so let's add them immediately
in this PR so we have a little less on our checklist later!
2025-05-02 22:31:29 -04:00
Dav999 374ce11425 Sync language files
This adds "Persian" to all the languages, and brings the Persian files
up-to-date (mainly removing outdated strings and adding some late 2.4
stuff that we'll contact all translators for soon)
2025-05-02 22:31:29 -04:00
Dav999 3eb88e0ac0 Add files for Persian localization
A bit overdue since this was delivered a few weeks ago (oops),
but here it is!

Thanks to Amir Arzani and Masoud Varaste.
2025-05-02 22:31:29 -04:00