Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Alan v.Drake

#1
The themes have been updated with the styles for the new log panel.
You will need the latest 3.6.1 beta from the thread.


- Alan
#2
Quote from: eri0o on Thu 28/09/2023 12:47:17Of course I don't have an answer for this [...]

I made a node-like system where I declare all doors and which rooms they link, and it's all simple textual data in a TSV file, which could be used to generate a graph.

I ended up needing that both to track position/direction when arriving from another room, and tracking door locked status for the minimap.
It's tempting to link rooms directly, but then you may stumble into the case of having multiple entrypoints between two rooms, and then everything falls apart.

- Alan
#3
Fun fact from testing on my branch:
original acwin.exe:  Virustotal 2/71 (Bkav Pro, MaxSecure)

changed encryption string: Virustotal 1/71 (MaxSecure)

removed encryption: Virustotal 1/71 (MaxSecure)


So maybe "Avis Durgan" is in some class of heuristics, but no idea why MaxSecure's still triggers its own heuristics even with no en/decryption routine. I guess there's some other code piece causing the false positive.


- Alan
#4
I remember we ventured the idea some time ago. IMO, a tree panel akin to painting apps is the most convenient option for users.
Besides, if it were done as a dockpanel panel it could be positioned on the side of the room panel as click-to-expand, so it doesn't waste space.

I can't think of any other way to make it more intuitive.
As a tree panel it would be immediate to switch bewtween modes. Visibility and lock could be implemented by adding clickable icons.

There isn't much else to say, I think.
A tree view with the same node structure as the navigation bar is all one could need.


- Alan
#5
Quote from: Radiant on Sun 06/08/2023 21:50:55
Quote from: Alan v.Drake on Sat 05/08/2023 22:02:32If it's caused by the xor encryption, maybe we can use something else or not encrypt at all.
What makes you think it is caused by XOR encryption?

Heuristics can trigger at poor attempts at obfuscation but there's no telling if it's the case unless someone tries with a reproducible case.


- Alan
#6
If it's caused by the xor encryption, maybe we can use something else or not encrypt at all.


- Alan
#7
Modules, Plugins & Tools / Re: AGS ThemeEditor
Wed 05/07/2023 12:55:25
With the modern format, all you need is a text editor with plugins, or even a json online editor like https://jsoneditoronline.org/

Be sure to read the format docs: https://github.com/adventuregamestudio/ags-themes/blob/master/FORMAT.md
If you don't need retrocompatibility, making themes is much simpler thanks to the new format.


- Alan
#8
Lookin' good!

- Alan
#9
Since I have some time right now, I'm trying to finish implementing the base support for PO translations.
So, I'd like to discuss some things and plan what to implement.

I have an open ticket for this activity:
https://github.com/adventuregamestudio/ags/issues/1780

What are PO translations?
The PO format is a widely adopted standerd for translating strings.

What are the advantages over .tra files?
It's more solid.
Currently you can mistakenly add spaces to the original string, and end up the Editor recognizing it as a new entry.
Or adding a newline, and so inverting the order of all subsequent "original<->translation" pairs.
With this new format, besides avoiding those problems, we can add some metadata which may come in handy, and most important, there are plenty mature tools to edit them (Poedit, web platforms, etc).

I currently do not plan to implement pluralization or using different translations depending on context, as these would require some bigger changes to both editor and engine.

What's there to think about?
Because PO files support a variety of features (tracking source lines, comments for translators, etc), I'd like your input on how we should implement them in the future.

1. Comments for translators:
I think the standard here is using a "// TRANSLATORS: lorem ipsum" comment.
I might go with that unless someone has better ideas. These can be seen in tools like Poedit and could be useful providing specific context.

2. Context tag:
The po format has a context field, which usually can be used to differentiate different translations for the same words.
Alas, we're not going to implement that any time soon, but we could use it as a visual aid since some editors display it as a label.
An idea could be using the script name for context, though that information can already be added in the source reference. Maybe the script name makes more sense.

My suggestion for duplicate strings remains that of using unique ids, and then making a translation for the current language.

3. The problem of unwanted strings:
When you include a module in your project all those strings end up in the translation file, creating unnecessary clutter.
We should perhaps think about mechanisms to exclude scripts while building/updating translations.
Dialogues and Room are likely always in need of translations. Not sure about others, maybe we should add a property to scripts, or some magic comment to enable/disable string fetching for translations.

4. What to do with obsolete strings?
Currently they remain inthe translation file forever.
I'm on the fence whether keeping them and marking them as "fuzzy" (which means thay need to be verified) perhaps with an extra "deleted" comment  or removing them completely.


I can promise nothing, but having some ideas could help chart a course to make the translation system better. Let me know what you think.

EDIT: Just to be clear, this will be landing in AGS4

- Alan
#10
General Discussion / Re: Obsidian
Wed 29/03/2023 16:48:14
I use Obsidian as well, mostly for writing down tasks, and some documentation stuff I'll inevitably forget when I need it again.
The recent addition of the canvas feature is welcome for flowchart making. One less separate tool I need to use.

I don't agree with their commercial pricing, though.


- Alan
#11
I think AGS should auto-link events by naming convention unless expressly specified in the properties pane.
The possible drawback is renaming an object/character, but  we could add a step to perform a string replace in the room script, so it's not particularly lethal or anything.

A warning when there's no match to the specified script name, would be in order. Currently it fails silently to make sure you regret your life choices.


- Alan
#12
I hadn't noticed I'd been mentioned here, but I always keep these custom commits constantly rebased as it's what I use to develop my game and test experimental stuff, so if we ever want to merge pieces of it they're always available in the primary branch in my repo (just refreshed a few hours ago).
The fake gamma should work fine as is, unless someone wants to write the implementation some way better.

- Alan
#13
Quote from: eri0o on Tue 22/11/2022 17:00:31Hey, I have no idea yet what it is, but today I cut a piece of code and then when I hit save, before pasting it back, I got the error below. I don't know yet what it means. Using the 3.6.0.37 version.

I guess you managed to find a case where the CustomCombobox has an invalid "a.Index" that doesn't exist in the "Items" array in the DrawItem event handler.
I expect the error is thrown from ComboBoxCustom.cs around line ~76 where "Items[a.Index]" is accessed.

I'm not sure exactly how to reproduce the issue, though.
A theme that colors the combobox certainly is a requisite, but removing and pasting a function didn't do much for me.

Maybe we can just add a guard in the event to make sure the index is within bound or return, then call it a day.


- Alan
#14
@Crimson Wizard  It's probably a side-effect of the ugly hacks with the Padding. I have a fix in this experimental PR which should fix this case: https://github.com/adventuregamestudio/ags/pull/1806
Specifically, the commit: Editor: restore proper panel dock fill behavior (fixes dock fill and removes padding hacks)

- Alan
#15
Official Themes Repository


The repository contains all the current themes, updated for compatibility, and new ones for the new theme system.
If you're interested in creating/editing themes, you can find the format documentation in the FORMAT.md file, along with notes about versions and support.

Themes marked with [C] are compatible ones, that should work from 3.4.2 onward, while those marked with [M] will make use of the modern theme system (no one had better suggestions on the naming on discord).

What's new?
- HTML color strings "#dd4400", no more bulky rgba arrays
- Added some missing themeable properties
- Lenient theme loading, no more errors if some property is missing
- Global styles, not everything has to be specified, which makes themes easier to author

What's to come?
- Tools to aid conversion from old<->new themes
- Maybe a visual theme editor (depending on who has time to make one)


Have fun.

- Alan
#16
Editor Development / Re: AGS Build Server
Sun 10/06/2018 17:21:24
Quote from: morganw on Sun 10/06/2018 16:15:38
I haven't got Visual Studio installed, so does anyone know of a way to do the equivalent of "Retarget Solution" from the command line?

According to google it should be this parameter
  /p:PlatformToolset=v140/v130/v120/etc...


- Alan
#17
Site & Forum Reports / Re: Bug reports
Thu 26/10/2017 20:07:30
Quote from: Snarky on Wed 25/10/2017 22:44:23
It seems email notifications are broken. I've not been getting notifications either for PMs or moderator alerts recently.

Did you check the spam ?
No matter how hard I mark AGS mails as not being spam, they keep stubbornly going to the spam folder.

- Alan
#18
Quote from: Renodox on Thu 29/11/2012 00:59:01
Who was the president?  What was the coin?  What was the plea?

The president is a dead man, dunno who, and he's giving the coin, an obol, to Kharon, the judge, so he can sail across the Styx ?
Obviously that sounds too easy, so I'm probably wrong.

- Alan
#19
Quote from: dkh on Tue 27/11/2012 21:39:56
In case those aren't just random 6-letter words, I'd be very interested in how you got them from my code! :)

Square because it could have been a 3x3 array, matrix because those letters might have had a numerical meaning, sudoku... well it's still about matrix and numbers.
I guess I'll give up before my brain fries up :P
#20
"square" or "matrix" or "sudoku" ?

- Alan
SMF spam blocked by CleanTalk