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 - Crimson Wizard

#2561
Quote from: Snarky on Sun 20/11/2022 07:17:01Bumping this thread (celebrating its tenth anniversary!) again as a potential suggestion for AGS 4.0.

I strongly recommend opening the suggestion on github issue tracker, or in development forums. Feature suggestions posted in regular tech forums tend to be missed and forgotten.

The suggestion is related to the script compiler. Fernewelten has been working on an extended compiler for a while now, he might be willing to take a look at this, if he has spare time.
#2562
Besides the above methods with the fonts, using DrawingSurface and DynamicSprite, which you paste onto a custom GUI's background (or set as a GUI button's graphic), is a most flexible method, as that would allow you to draw virtually anything, both text, geometric primitives and images combined. With certain amount of extra scripting you could do even embedded animation (for example: make some parts of the message glow to bring player's attention, and so forth).

In order to replace Display calls, for instance, you may write your own custom function that
* generates the dynamic sprite;
* shows a GUI with that sprite on it;
* waits until player's input (WaitMouseKey, or WaitForInput in 3.6.0);
* hides GUI and disposes the sprite.
#2563
Quote from: Héctor Bometón on Thu 17/11/2022 15:23:01Ok, so... I tried swapping to "Unicode (UTF-8)" and it made it worse (speech wasn't showing correctly) but then I swapped back to "ASCII / ANSI" and then EVERYTHING is working alright. So... Solution for me was swapping to Unicode and then swapping back to ASCII.

This sounds like the game project was incorrectly saved in UTF-8 after you upgraded, making all properties save in UTF-8 and become incompatible with the font.
#2564
Please tell:
1. Which version have you migrated from?
2. What is set as a "Text format" in the General Settings (Basic properties)?
#2565
Updated to RC2 (3.6.0.37)
(use download links in the first post)

Editor:
 - Removed "Beta" flag.
 - Added "Touch to Mouse Emulation", "Touch to Mouse motion mode" and "Display FPS on Screen" to Default Setup pane.
 - Fixed open folders in the Project Tree were collapsing whenever you create a new subfolder.
 - Fixed Editor was always resetting android.cfg to certain hardcoded values (now will retain existing values unless they are taken from the Default Setup).

Engine:
 - Fixed File.Open and DynamicSprite.SaveToFile not creating subdirectories correctly if they are present in the provided path.
 - Fixed loading of dynamic sprite from a file.
 - Fixed mouse speed setting not applied on desktop systems.
 - Fixed gui controls not updated from "greyed" state right after interface is un-disabled.
 - Fixed Direct3D renderer in exclusive fullscreen mode always hanged up the program with 100% cpu core load when player alt+tabbed out of the game and then tried to switch back.



Reported issues remaining:
* The combo box color problem reported by Pax Animo above: https://www.adventuregamestudio.co.uk/forums/ags-engine-editor-releases/ags-3-6-0-release-candidate-rc1/msg636651111/#msg636651111
* Direct3D is said to still be not fully stable when alt+tabbing in exclusive fullscreen mode: https://www.adventuregamestudio.co.uk/forums/ags-engine-editor-releases/ags-3-6-0-release-candidate-rc1/msg636650995/#msg636650995

I was not able to reproduce either problem on my machine yet...
#2566
General Discussion / Re: AI, bots and PKD
Mon 07/11/2022 01:15:31
Quote from: KyriakosCH on Sun 06/11/2022 09:56:05But from Crimson's post I got the vibe that this would be good to use for the entire population of the internet, or large parts of it such as posters from "western" countries and so on.

I genuinely don't know whether this will be good or not, but my meaning was to suggest a "what if" scenario and mention some arguments that could be used to support it.

Another thing, reading about how the AI becoming better at simulating humans, I wonder if we will loose a right of anonymity in the Internet at some point. As that seems (or may seem to some) like a most straightforward solution to the problem.

I also compare the development of the internet identification with the one irl. Centuries ago a person could leave the home town and go to another one, where no one would know them, unless a word comes by. Today this is hardly possible, as even when changing countries all your records are kept, and may be requested by the new country from your country of origin. Would the same happen to the internet?
If internet is but a medium for society, just like the planet is, it would be curious to see how many parallels there will be.
#2567
General Discussion / Re: AI, bots and PKD
Sun 06/11/2022 01:15:03
Quote from: KyriakosCH on Sat 05/11/2022 23:46:40Why do you think such a pass could make sense when dealing with scores of very different forums?

Well, for instance, today one "pass" or restriction may be shared among different communities or facilities. Having to be a non-minor, for example, is required to enter multiple places or when applying to many positions. Having to have a driving license is required to drive anywhere. Having to have a work permit in a country is required throughout a country regardless of a kind of a job, and so on.

Similarly, people sharing same ethical ideas, for example, might want to share certain space among themselves and not let in those who oppose these.

Quote from: KyriakosCH on Sat 05/11/2022 23:46:40If anything, in the web, at least in some areas (eg EU) there are even "right to be forgotten" rules, which would make such a list not only a bad idea, but literally illegal.

Sorry, but which "list" are you referring to?

Regarding the "right to be forgotten", I am not quite certain if it is applicable here, but then I could also fail to understand its meaning.

There are bans and restrictions on web sites already, as there might be bans and restrictions in certain physical communities, technically performed in various ways. Then there may be restrictions applied against the same person throughout a larger community, whether voluntarily on an individual basis (of a individual choice), or imposed by a regulating body on everyone in that community. For example, today someone may ban a person from their personal blog, because they saw how that person behaved in another blog and they don't want that person in theirs. The "social passport" that I was speaking about is a roughly same thing but scaled up and uniformly regulated.

And just like the people may be "pardoned" irl, same may happen in this digital reflection of a human society.

If there's a "right" that forbids banning people on websites, or particular places, on a premise that they misbehaved elsewhere, that of course also automatically denies such system so long (and wherever) as such "right" is active.

Quote from: KyriakosCH on Sat 05/11/2022 23:46:40And the above aren't even touching upon the human right to make a new start elsewhere (which was why many people emigrated), nor the s show such a list would be when you'd be relying on x person's word about what happened in y forum.

Possibly, just like with a physical emigration, this would likely create a "digital emigration"; but I believe such thing already exists, when people getting banned, or "cancelled" in one social network or forum would go elsewhere.

Whether the restriction is based on a "word", or a strict legal procedure, is more of a legal, technical and ethical nuance, in my opinion, and might of course depend on particular "area", and the traits of people who are administering it.

Naturally, the above will also open a potential for misuse on a larger scale compared to today's situation.
#2568
General Discussion / Re: AI, bots and PKD
Sat 05/11/2022 22:30:29
Since some point I have a thought that, perhaps, eventually the Internet will resemble an actual physical community, in terms of communication allowance. This thought came not as a response to AI spambots, but much earlier, as I got more experienced in online communication, and learnt about the amount of annoying, aggressive, and generally not very sane people living on this planet.

To clarify, historically the peoples community was divided, each social group tending to restrict their communication with others in some way. People of similar level of income and property, similar level of education, same religion, and so forth, they wanted to have contacts mostly with their own. Whenever the technological advances or large social changes (migrations, wars, revolutions, etc) happened these social boundaries could wither, but later reconfigured in some way.

Internet, while granting almost infinite communication capabilities between any random persons, also demolished these "social" walls between them. Now anyone could talk to anyone, especially on public platforms, such as forums, blogs, and social networks. While there was a good in this, it also opened more possibilities for people with malicious intent, or simply vitriolic personalities (let alone outright crazy ones), to affect others.

Of course, each forum or social network has its administration, but this also means hard work for them; and if a malignant person is banned on one forum, or in one blog, they may still enter any others, making fighting them off a permanent task.

I suppose that, for better or worse, Internet may come to reintroduction of stricter social boundaries in the future. Where there will be communities, like a group of hosts, which require a sort of a "social passport" to even enter the "area".

Years ago I've already seen something similar in, for instance, Minecraft gaming community: where the owners of public Minecraft servers have created a shared database of banned people (and many servers joined this). Whenever a player got banned on a server connected to such database, he was getting a record seen by any others. Eventually, when reaching some limit of bans (probably the ban's reason also counted), the game servers using this utility simply won't let them join, even if they've never been on these particular severs before. Maybe there are similar utilities made for other online games.

Possibly, the internet in whole will be largely separated into such "areas", with different levels of interaction between each other, as well as a "free zone", unrestricted, but socially "unprotected".
#2569
Quote from: Alan v.Drake on Sat 05/11/2022 07:32:10@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)

Please, could you prepare a pr for 3.6.0 to let people test?

Personally, I was not able to reproduce this problem.
#2570
Quote from: Pax Animo on Fri 04/11/2022 00:59:39Heya,

I'm having issues with the pull down properties menu for rooms/gui's... and so forth. The pull down menu does not show or at least it simply shows a white box.


Are you using the latest version (RC1)? We had similar bug in the past, which happened only if you're using a custom color theme.
#2571
Quote from: Nahuel on Thu 03/11/2022 18:44:42That's strange  :confused:  I was using the same template and it's pushing the text from the edge, but I don't know if it's a resolution issue (300x200)

My guess then is that this may be a different template that looks similar, or an older version of 9-verb template. It may be even a completely custom game UI scripted from scratch.
#2572
There are no built-in functions, but the solution was mentioned on the forums a number of times:

* find out the width and height of text;
* calculate the text's corner positions;
* use the above to find out if the label crosses the screen borders;
* if it does, then move label (or rather gui) to the screen border.

Code: ags
function repeatedly_execute_always()
{
    // Measure the text
    int width = GetTextWidth(MyLabel.Text, MyLabel.Font);
    int height = GetFontHeight(MyLabel.Font);
    // if you're using older versions of AGS, then use this instead:
    // int height = GetTextHeight(MyLabel.Text, MyLabel.Font, width + 1); // +1 needed because of the bug in AGS

    // Measure the text position on screen
    // NOTE: label's position is relative to GUI. If label is strictly at 0,0 on GUI,
    // then you may skip adding and subtracting MyLabel.X/Y below
    int x1 = MyGUIWithLabel.X + MyLabel.X;
    int y1 = MyGUIWithLabel.Y + MyLabel.Y;
    int x2 = x1 + width;
    int y2 = x2 + height;

    // Detect text crossing the screen edges
    // In older versions of AGS use System.ScreenWidth and System.ScreenHeight instead
    if (x1 < 0) x1 = 0;
    if (x2 >= Screen.Width) x1 = Screen.Width - width;
    if (y1 < 0) y1 = 0;
    if (y2 >= Screen.Height) y1 = Screen.Height - height;

    // Reposition the gui
    MyGUIWithLabel.X = x1 - MyLabel.X;
    MyGUIWithLabel.Y = y1 - MyLabel.Y;
}
#2573
Quote from: Snarky on Wed 02/11/2022 21:02:43To get higher-resolution text display you would definitely have to increase the game resolution, yes. But you may not have to resize all the artwork: it might be possible to set up a camera and viewport to scale up all the rooms to, say, x4 scale (1280x720).

This will affect things that "live" in the rooms: objects and characters (and walkbehinds and hotspots and all that), but I don't think it should affect GUIs or Overlays. And since speech boxes are displayed as overlays, I assume they will not be upscaled, thus allowing you to display higher-resolution text. (Of course, it means you'll have to upscale the dialog portraits.) But I haven't actually tested it.

This is actually quite true and doable. I have seen a person using this effect in a game they were making (I forgot the production title, but the post is somewhere in the "tech questions", about 1.5-2 years ago).

There's also a "Cameras Tech Demo" game I made which demonstrates this kind of combination: the game is 1280x720, but some of the rooms and gfx are 320x200, but displayed zoomed-up in a room viewport, while GUI and fonts are hi-res.

I believe you can certainly do a game like that. This should not increase the size of resources on disk or performance, as you will still be using low-res assets, which are scaled using gfx card operations at the runtime.
One "limiting" consequence of this though is that the minimal display resolution will be locked to the GUI/font resolution; so choosing e.g. 1920x1080 may not be the best idea.

In perspective, AGS could properly support rendering fonts in a higher resolution regardless of the game's native screen size. This is similar to how the character sprites can be rendered at higher res if "Render sprites at screen resolution" option is turned on in the game setup, This was not implemented yet, because it was more difficult to separate texts from other parts of the game, because of how engine is coded; but I believe it should be doable at some point in future.
#2574
Judging by the error code (EIP), this has something to do with the game update, the possible suspects are:
- animated buttons
- mouse cursor gfx
- audio

Perhaps this information may be used to guess the latest change in the game that is causing this. For example, one common thing is dynamic sprites that were assigned to an object (or button) and then deleted without unassigning them first.

On another hand, 3.5.1 has got more patches since, the latest available is 3.5.1.22. There's a chance that this engine error has been fixed.
#2575
The correct function is "Truncate".

https://adventuregamestudio.github.io/ags-manual/String.html#stringtruncate

AFAIK "Trim" usually means removing whitespaces from the string's beginning and end, but AGS does not have it.
#2576
Quote from: actaria on Tue 01/11/2022 20:50:51Thank you so much Krhris and i have just one more question please what is:


control.ID + 97  ?
   8-)

97 is a code for small 'a' character. So if your control IDs start with zero, this math will make resulting printed character start with 97 or 'a'.

Please note that you can also use actual "character literal" to make the code bit more clear:

Code: ags
myTextBox.Text = String.Format("%s%c", myTextBox.Text, control.ID + 'a');
#2577
There's a build that seemingly fixes the fullscreen problem for me:
https://cirrus-ci.com/task/5990403286499328

But eri0o sais that it still happening for him if he "alt+tabs fast enough".
#2578
General Discussion / Re: AI, bots and PKD
Sat 29/10/2022 02:22:03
The topic and some of the above comments reminded me of this AGS game:

https://www.adventuregamestudio.co.uk/site/games/game/1059-chatroom/
#2579
Ok, I actually reproduced the Direct3D fullscreen problem on both Windows 7 and 10. For some reason this did not occur when running from MSVS, but only when running executable itself. Often it happens on the first time.
#2580
There's a preliminary build with a fix:
https://cirrus-ci.com/task/5506153307176960
SMF spam blocked by CleanTalk