Coder Social home page Coder Social logo

ags_tumbleweed's People

Contributors

dkrey avatar ericoporto avatar ivan-mogilko avatar morganwillcock avatar stickgrinder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ags_tumbleweed's Issues

Spanish Localization "bad" keyboard assigment

Hello,

In the Spanish Localization, when you assign the keys (verbgui.asc:1201):

...
 Verbs.LocalizeActionButton(eLangES,eGA_GiveTo,  145, 146, 'y');

Key doesn't follow the "block" it should be z instead of y (I think)

 Verbs.LocalizeActionButton(eLangES,eGA_GiveTo,  145, 146, 'z');

Thanks for your work!

Kind Regards,
Juan M. Casillas

Text positioned incorrectly on GUI after 3.6.0 update

It seems that the fonts used in this template were prepared for the old AGS behavior, where it would shift letters down a little.

After 3.6.0 update all fonts got their property "TTF font adjustment" set to "Do nothing", but the fonts themselves remain same. This caused the GUI texts (labels, buttons) slightly offset by 1-2 pixels vertically.

Example:
Template of AGS 3.5.1:
tumbleweed-351
After updated for 3.6.0:
tumbleweed-360

The solution is either:

  • set "TTF font adjustment" back to "Resize ascender..." backward compatible option, or
  • edit the fonts themselves to not need this setting.

Remove _blank.crm

_blank.crm is a redundant file that is not used for the game. Maybe it was used in older editors as a room template (no idea), but today room templates work differently.

Door issue reported in the forums

Hi, someone reported this in the forums: https://www.adventuregamestudio.co.uk/forums/index.php?topic=60251.0

Hello guys, I was testing a few things, I'm trying to get some kind of door lock when closed like no door handle from one side.

I think I misunderstood the documentation or there's a bug for Doors:AnyClickSpecial

When using the function for Door interaction and checked the closevalue=2 and I assumed that status would be re-locked (when closed - after being closed), not Locked Forever.
If this is the case, then I was wrong, and all is good and working as expected.

I think it's about these lines here:

ags_tumbleweed/verbgui.asc

Lines 2259 to 2269 in 411d3e1

else if (Verbs.UsedAction(eGA_UseInv) && key >= 0) {
if (Verbs.AnyClickMove(x, y, dir)) {
if (player.ActiveInventory == inventory[key] ) {
if (Doors.GetDoorState(door_id) == 1 ) {
if (!String.IsNullOrEmpty(verbsData.door_strings[eDoorStringCloseFirst]) ) player.Say(verbsData.door_strings[eDoorStringCloseFirst]);
}
else if (Doors.GetDoorState(door_id) == 2 ) {
if (verbsData.unlockDoorSound != null) chan = verbsData.unlockDoorSound.Play();
if (!String.IsNullOrEmpty(verbsData.door_strings[eDoorStringUnlock])) player.Say(verbsData.door_strings[eDoorStringUnlock]);
Doors.SetDoorState(door_id, closevalue);
}

I am not familiar the doors part of this template, so I could not understand much of the problem, decided to open this in case it's a bug

Spanish Localization "should" swap Pickup and Push verbs

Hello,

In spanish, Push is "Empujar", and this is a long word. Push is a 50x12 icon, so pity.
I manage the problem "swapping" the buttons in the spanish localization. I swap
Push with Pickup (in spanish, pickup is "coger" a short word) I do it changing
verbgui.asc (on line 1199, just before "yes/no" keys mapping):

I put this:

    String tr_lang = GetTranslation ("GUI_LANGUAGE");
    tr_lang = tr_lang.LowerCase ();
   
    if (tr_lang == "es") {
      // change use and push (for string length)
      Verbs.SetActionButton(eGA_PickUp,  verbsData.guiMain.Controls[6].AsButton); //3
      Verbs.SetActionButton(eGA_Push,    verbsData.guiMain.Controls[3].AsButton); //6
      // pickup becomes in the position of PUSH
      // push becomes in the position of PICKUP 
    }

I leave alone the rest of the translations. It works as expected, using the 56x12 icon slot
for the long word.

Kind Regards,
Juan M. Casillas

Possible updates for 3.6.1

Following is a list of possible changes for 3.6.1 version of the template. But I will leave the decision to the template maintainer(s).

  • General Settings > Character behavior > "Scale Character sprite offsets" = True (new default value).
  • Replace uses of '[' linebreak character with '\n' wherever used: in scripts, and in gui labels, if present.
  • Add SetRestartPoint(); call in game_start if this template is using default restart save slot 999. The engine no longer creates one on start, so this has to be done in script now. This is optional.
  • #ifdef/ifndef pairs may be replaced with #ifdef/else.
  • If there's any need to dispose temporary resources (such as dynamic sprites) when leaving a room, there's a new event "After fade-out" which is more suitable for this than classic "room leave", because the latter is called before fading out, and while room may still be visible.
  • Update interaction callbacks for Characters, Inventory Items, Hotspots and Regions to 3.6.1 style.

In regards to interaction callbacks, these may be tested in a blank game or by adding more, but overall, using examples from original ticket adventuregamestudio/ags#2061 :

The event functions will have following prototype for Characters, Objects, Hotspots and InventoryItems:
function cEgo_Interact(Character *c, CursorMode mode)
function oMyObject_Interact(Object *o, CursorMode mode)
function iBlueCup_Interact(InventoryItem *i, CursorMode mode)
function hSomeHotspot_Interact(Hotspot *h, CursorMode mode)

Hotspots have 2 special events without CursorMode param, these are "Walk onto" and "Mouse over":
function hHotspot2_MouseMove(Hotspot *h)

Regions do not have CursorMode parameter, because their event types are different, not related to interaction mode:
function region0_WalksOnto(Region *r)

Suggestion | ES Translation

ags_tumbleweed/verbgui.asc

Lines 1383 to 1387 in 411d3e1

btnOptionsDefault.Text = "Restablecer";
btnOptionsSave.Text = "Guardar";
btnOptionsLoad.Text = "Cargar";
btnOptionsQuit.Text = "Salir";
btnOptionsResume.Text = "Volver";

Hi there I see that there's 2 words that are quite confusing, I've tested with several people and everyone was confused.

Restablecer (for Restore default values) and Volver (Unpause game)

I would suggest to say, Default and Jugar

verbsgui.asc

    btnOptionsDefault.Text = "Default";
    btnOptionsResume.Text  = "Jugar";

When opening subdialogs, gui stuck scrolled in the last element

Hello (this is the last issue, I promise you, at least for today ๐Ÿ‘ )

When you start a new subdialog (calling a dialog from another one) I get that the subdialog starts scrolled to the last element. I didn't want this. I check the options, but looks good (the first dialog shows ok). So I read a little the code and found that in (CustomDialogGui.asc:317) (getRowCount) when you calls a submenu,
CDG_options.scroll_from is equal to CDG_options.scroll_to so I put the following fix:

(CustomDialogGui.asc:369)

  if (CDG_options.scroll_from == CDG_options.scroll_to) {
      CDG_options.scroll_from =1;      
  }

It works in all the cases. I don't know really why (I'm new to AGS and still learning the framework) but ... it fixes my problem.

Thanks for your work.
Juan M. Casillas.

Messing with player's location on RestoreGame

I found this randomly browsing the template's code:

if (event==eEventEnterRoomBeforeFadein || event==eEventRestoreGame)
player.PlaceOnWalkableArea();
}

If a save is restored, the player character gets forcefully moved to a walkable area.

I think this is a potential logical problem, as a game could have been saved during a sequence where character was placed onto a custom non-walkable spot, or was moving outside of the walkable area with eAnywhere argument.

On another hand, teleporting character to a walkable area on enter room event may conflict with user's plan to have it behind the room borders for a cutscene, and ordered ChangeRoom with precise coordinates. So I've got doubts about this fixup's convenience also.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.