Jump to content

Photo

tango.zh


  • Please log in to reply
398 replies to this topic

#391 Emily

Emily

    Scripter / Dev

  • ZC Developers

Posted 16 October 2019 - 11:35 PM

Hey, new update. No huge changes, but an important bugfix and some shiny new HTML documentation.

In 2.55, "Syntax Error, unexpected BITMAP, expecting IDENTIFIER [tango/1.3/user.zh LINE 245 COLUMN 58 'bitmap']"

Would probably be good to rename that...



#392 Emily

Emily

    Scripter / Dev

  • ZC Developers

Posted 06 November 2019 - 05:32 PM

In 2.55, "Syntax Error, unexpected BITMAP, expecting IDENTIFIER [tango/1.3/user.zh LINE 245 COLUMN 58 'bitmap']"
Would probably be good to rename that...


2.55 reserved words are now reserved in 2.53 as well; meaning this error is now in 2.53. Really should rename that variable.

#393 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 07 November 2019 - 03:00 AM

In 2.55, "Syntax Error, unexpected BITMAP, expecting IDENTIFIER [tango/1.3/user.zh LINE 245 COLUMN 58 'bitmap']"

Would probably be good to rename that...

 

Already fixed this, and all other compiler errors. 2.53.1 has the corrected Tango.zh as of beta 9, and 2.55 earlier.



#394 Emily

Emily

    Scripter / Dev

  • ZC Developers

Posted 07 November 2019 - 03:12 AM

Already fixed this, and all other compiler errors. 2.53.1 has the corrected Tango.zh as of beta 9, and 2.55 earlier.

Tango.zh on the database still has this error, though; thus my posting here about it.



#395 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 15 January 2020 - 07:46 AM

Note to All Users

 

he entire AGN dev team are now tasked with support and future releases of this header. We'll do our best, and if you have any requests, complaints, or suggestions, feel free to post them.

 

The current version of Tango.zh is always here, alongside a full archive of all historic versions, should you require them. Only the current version has full tech support..



#396 Saffith

Saffith

    IPv7 user

  • ZC Developers

Posted 15 January 2020 - 12:31 PM

If anyone's looking for a big project, there are a number of things I would like to have done but didn't get around to. I haven't worked out details for any of these...
 
Implement a proper hash function instead of that stupid *7 /10000 thing. I wanted one by which consecutive names produce consecutive hashes so that things like d0, d1, d2, etc. could be checked as a range rather than individually. From a few quick tests, FNV seems to work, but I never really made certain. It would need to be adapted to 17 bits, of course.
 
Add a jump instruction, i.e. a number that would make __Tango_Process() jump to a specific index rather than advancing by 1. This would simplfy function processing. Currently, a function is overwritten with filler after it runs, and __Tango_Process() just iterates over it. If instead there were a run function instruction followed by a jump past the end, that would be unnecessary. This could also eliminate the need to reserve space for text functions and remove the length limit on @string(). You'd just append the inserted text to the end of the string after the '\0', jump to and print from there, then jump back to just after the function.
 
Macros. If, for instance, you want to use this a lot:
@set(@speed 10)...@delay(30)@set(@speed @default)
You could define a macro @DOTS that would expand to that so you don't have to type it all out every time. I'm not sure how arguments should be handled...
 
An @include() function, which would insert a message at that point in the text. This is one way macros might be implemented, and it would itself make a workable substitute in the meantime. Making this work properly would require the jump instruction, as the included message would have to be added after the loaded text. Handling it during loading wouldn't allow a message to be included conditionally or in a loop.
 
Allow @{ } for more complex bits of code. For instance, instead of 
@if(@eq(@choice 1) @goto(47))@else(@goto(48))
you could write
@{ if choice==1 { goto(47); } else { goto(48); }}
That would mean doing much more sophisticated parsing in the loading functions, though. And I really haven't thought through the specifics here.
  • Timelord likes this

#397 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 04 February 2020 - 08:23 AM

If anyone's looking for a big project, there are a number of things I would like to have done but didn't get around to. I haven't worked out details for any of these...
 
Implement a proper hash function instead of that stupid *7 /10000 thing. I wanted one by which consecutive names produce consecutive hashes so that things like d0, d1, d2, etc. could be checked as a range rather than individually. From a few quick tests, FNV seems to work, but I never really made certain. It would need to be adapted to 17 bits, of course.
 
Add a jump instruction, i.e. a number that would make __Tango_Process() jump to a specific index rather than advancing by 1. This would simplfy function processing. Currently, a function is overwritten with filler after it runs, and __Tango_Process() just iterates over it. If instead there were a run function instruction followed by a jump past the end, that would be unnecessary. This could also eliminate the need to reserve space for text functions and remove the length limit on @string(). You'd just append the inserted text to the end of the string after the '\0', jump to and print from there, then jump back to just after the function.
 
Macros. If, for instance, you want to use this a lot:

@set(@speed 10)...@delay(30)@set(@speed @default)
You could define a macro @DOTS that would expand to that so you don't have to type it all out every time. I'm not sure how arguments should be handled...
 
An @include() function, which would insert a message at that point in the text. This is one way macros might be implemented, and it would itself make a workable substitute in the meantime. Making this work properly would require the jump instruction, as the included message would have to be added after the loaded text. Handling it during loading wouldn't allow a message to be included conditionally or in a loop.
 
Allow @{ } for more complex bits of code. For instance, instead of 
@if(@eq(@choice 1) @goto(47))@else(@goto(48))
you could write
@{ if choice==1 { goto(47); } else { goto(48); }}
That would mean doing much more sophisticated parsing in the loading functions, though. And I really haven't thought through the specifics here.

 

 

We'll try to work this into future versions, albeit with slightly different identifiers. (goto may be reserved).

 

2.55 allows 32b binary. Not sure if that;ll apply to hashes.

 

First order of business is to integrate a bitmap system where Tango allocates, reserves, and locks biitmap use (see bitamps.zh), and related improvements. Once i am done with ghost 2.9, I will look into this.

 

Ideally this won't break compatibility. if it does, then it will become a 2.0 spec.

 

TBH, we want to get areal PPC with true C++ style macros in 2.60+.

 

If you have an inkling to participate, we'll manage it all from the AGN github, with discussion on Discord. At present, ghost 2.8.13 seems solid. i'm awaiting feedback from Russ, as he has integrated the latest ghost and the latest Tango in YuuRando. As long as the backend tat I made for him is solid, and all else works, I can press on to the next phase.



#398 Emily

Emily

    Scripter / Dev

  • ZC Developers

Posted 04 February 2020 - 10:19 AM

Why would `goto` being reserved matter for tango? Tango's macro codes are inside strings, ala "@goto(5)".



#399 Mitchfork

Mitchfork

    no fun. not ever.

  • Contributors
  • Real Name:Mitch
  • Location:Alabama

Posted 20 February 2021 - 03:45 PM

I made a font definition file for Aquarius that should match the official in-engine spacing.  Posting for anyone that also wants to use this font with Tango.

 

https://drive.google...iew?usp=sharing




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users