Where do I find the plugin files?

0 favourites
  • 14 posts
From the Asset Store
Source File, music and art pack for Android Negotiator
  • Hey all,

    Just wondering where the plug-in and behaviour files are stored in the downloaded version of C3. I'd like to try making a duplicate Spritefont plugin and see about tinkering with some extensions on it, using the Sprite plugin as potential reference. Any ideas where the files might be?

    Thanks in advance,

    Brent

  • I'd like to try making a duplicate Spritefont plugin

    Scirra wanted to prevent people making duplicates of the official plugins and made them difficult to find in C3.

    What functionality are you missing in Spritefont that you want to mod it?

  • I'm looking to add:

    - Load Image from URL, so that I can swap Fonts on the fly, not just for style but also accessibility and language purposes

    - Set Character Set - this would allow being able to accommodate other languages more easily by allowing quick character set swapping on the fly

    Now this said, I don't know how the official plugin is doing things, so it may not be possible for some technical reason that I'm unaware of, however it seems more like an oversight then an exclusion.

    Thoughts? I have opened an official suggestion here

    construct3-21h2.ideas.aha.io/ideas/C321H2-I-170

    I think there's a lot of value to be added here for anyone interested in creating their own fonts as well as wanting to accommodate things like accessibility and language options in-game

  • The alternative is to have a separate SpriteFont plugin for every font style, language, etc, and then replace all instances in engine with the appropriate SpriteFont... which seems highly inefficient, time-consuming to set up, and kinda silly to have to do, frankly...

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • You will need to change not just the image and character set, but also spacing data, and possibly some other parameters like line height.

    Having multiple SpriteFont objects seems like an easier solution for me. You can add them to a family and create the appropriate object for current language by name.

  • Those settings are all exposed and accessible, while Set SpriteFont Image and Character Set are not... It seems brutally inefficient to have to add extra SpriteFonts for every language/alphabet ( english, arabic, thai, chinese, russian, etc) * number of styles ( artistic style, single colour, multi-colour, serif, sans-serif, etc)

    For my specific application, all of my fonts use characters that exists within an 8x8 pixel grid, as all of my projects replicate old 8 and 16 bit aesthetics, but even if using hi-res fonts for a more modern look, I still think there's value in those elements being available for use during runtime. And while I don't actually use all that much text myself, having that functionality seems like it should be a no brainer unless there's some other factor playing into preventing it.

    Is there a technical reason that prevents this from being feasible or effective as a method of use?

  • It seems brutally inefficient to have to add extra SpriteFonts for every language/alphabet

    Even with the modified plugin, you will still have to add and manage images, character sets and spacing data for each language. In my opinion it's not much different from adding multiple SpriteFont objects to your project.

    You can create a simple system which will automatically swap English spritefont for a spritefont in another language in runtime.

  • The built-in addon files are deliberately not exposed anywhere. As we learned from Construct 2, people tweaking built-in addons causes appalling compatibility nightmares that are much worse than any improvements you made.

  • My intention was to simply use them as reference for creating a second independant version. Not modifying the originals. I can fully understand the reasoning behind keeping them hidden.

    It's really just this functionality that I'm hoping for, regardless of where it some from.

  • Even with the modified plugin, you will still have to add and manage images, character sets and spacing data for each language. In my opinion it's not much different from adding multiple SpriteFont objects to your project.

    You can create a simple system which will automatically swap English spritefont for a spritefont in another language in runtime.

    I understand what you're describing, but its not the way I'd prefer to do things if possible. My ideal setup would include the features I've mentioned, and then simply loading all of my external SpriteFont image files into project, and then having a textManager array that would contain all the information needed for each font. Then its a single function to swap fonts at any time. Be it different characters that use different fonts, different sections of menus, users choosing to disable styled fonts in place of plain white or black text on the opposing background for clarity, etc.

    I've thought of a few workarounds, but my whole purpose for questioning these features being available or not, was to get away from workarounds and start doing things more intentionally. Not having to spend wasted time having to load and manually set each font, which at this point is numbering 30+, in editor, hard setting properties for each one, then in code, spawning potentially 30+ text boxes for each separate element of text, when I could, in theory, have a MUCH simpler system that could hot swap them on the fly, using only a single opbject and its various instances, for the entire project.

  • My intention was to simply use them as reference for creating a second independant version.

    This is still what caused really bad compatibility problems. People ended up with multiple versions of the same plugins, all with different features and bugs. Eventually the official addon gains extra features and supersedes the variants, but then old projects are stuck with old addons that have unfixed bugs and are difficult to change over. It's a really bad idea, please don't even try to do it.

  • That's fair, the last thing I want is to cause problems. I've posted my needs as an official suggestion on the appropriate site. I just hope it's something feasible, as I'm sure that if it is, it's likely quite low on the priority list, as you guys are swamped with stuff to do I'm sure.

    I was more curious if the lack of those features was simply an oversight, or if there was some technical reason for their omission.

  • I agree that your suggestion is useful, but I don't think it will be implemented any time soon.

    Not having to spend wasted time having to load and manually set each font, which at this point is numbering 30+, in editor, hard setting properties for each one,

    But you'll still have to spend as much time (if not more) adding images and settings of all fonts into the array.

    then in code, spawning potentially 30+ text boxes for each separate element of text

    My idea was that you continue developing your game with just one default spritefont object (English). And you can add 30+ spritefont objects for other languages to a separate repository layout. In runtime, if the selected language is not English, you replace the default spritefont, spawning another spritefont in its place, and copying text/size/color and all other properties to it. You will only need one "EnglishSpritefont On Created" event.

  • My idea was that you continue developing your game with just one default spritefont object (English). And you can add 30+ spritefont objects for other languages to a separate repository layout. In runtime, if the selected language is not English, you replace the default spritefont, spawning another spritefont in its place, and copying text/size/color and all other properties to it. You will only need one "EnglishSpritefont On Created" event.

    I appreciate your workaround, I have one that I've been using thus far and will continue to do so, at this point, I have about 5 different SpriteFonts for English alone: TitleText, SubTitleText, MenuText, NarrationText, and CharacterText (this I can change the colour of on the fly, so that's helpful at least) and they're all different based on context and mood. I'll be doubling a few of these with a PlainText font I've made, which is white or black on the opposite BG, used for accessibility purposes and people with vision impairment. Other languages will also need the same treatment.

    It's fine for what it is, for now, it just seemed like easy value to add depending on how the plugin is working compared to other graphics plugins like Sprite, Tiled Background, and TileMap... (which all allow swapping the visuals on the fly) its curious that 9-Patch is in the same boat as SpriteFont though, so perhaps it IS some kind of limitation rather than oversight?

    I don't know, I just know it'd make my life infinitely easier if these features were in place, and I suspect I'm not the only one. I'll leave the thread alone now and keep limping along as I am, thanks all for the input.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)