Coder Social home page Coder Social logo

femtoide's People

Contributors

bl-ackrain avatar carbonacat avatar felipemanga avatar haviital avatar homineludens avatar pharap avatar torbuntu avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

femtoide's Issues

Java: Float to String

Support for converting floats into strings hasn't been implemented yet.
As a result, trying to print a float to the screen results in the fractional part being clamped off.
Also, trying to concatenate with a string (String x = "bacon " + 5.0f";) results in a cryptic error.

Autoupdate

The IDE should download and install updates to itself, the PokittoLib, the compilers, etc.

IDE: Collapsible folder

It would be a nice addition allow folders inside the project to be collapsed.
In such way the tree view would be more compact in large project.

IDE: Basic Git integration

Files in the tree view should have an indication if they:

  • have not been versioned
  • have uncommitted changes

Java: can't use enum/classes in switch

This can't work right now:

public enum BodyTypes{NONE,BARBARIAN,WIZARD}
switch (bodyTypes) 
{
    case BodyTypes.BARBARIAN:
        bodies[i] = new BodyBarbarian(x, y);
        break;
    case BodyTypes.WIZARD:
        bodies[i] = new BodyWizard(x, y);
        break;
}

IDE:Add edit menu

Edit menu:

  • Copy
  • Cut
  • Paste
  • Format code
  • Comment block
  • Uncomment block

Java: Fully implement enum support

Enums in Java are more like classes in C++ and can have methods.
Preferably should be implemented in a way that doesn't take up RAM, if possible.

Java: Generics support

This is necessary for containers like List and Vector.
Not very high-priority as these things are rather memory-hungry for microcontrollers.

IDE: Headless mode

Create a build:
FemtoIDE --build path/to/project.json

Watch project files for changes, build automatically:
FemtoIDE --watch path/to/project.json

Create a project:
FemtoIDE --create projectName templateNumber

Java: Revamp arrays

Currently, only 1-D arrays are supported. Arrays-of-arrays, and arrays-of-objects in general, take up too much RAM.

Add build instructions

It would be nice to have some official instructions for building the ide from source. I have swung together something (using NW.js and copying the linux directory from an official release), but it is definitely different from the way that the official releases are constructed which maybe could cause a problem. Even if anything built by users isn't necessarily stable, it can help a lot with checking if bugs exist on the master branch before reporting them, and also with potentially getting new developers.

C Button is not working on Window PokittoEmu (work on hardware)

Tested with version 0.0.13b.
Probably never worked correctly on FemtoIDE.
I have an Italian Keyboard Win10.
Works correctly on Pokitto.
For convenience Code to reproduce:

import femto.mode.HiRes16Color;
import femto.Game;
import femto.State;
import femto.input.Button;
import femto.palette.Psygnosia;
import femto.font.TIC80;

class Main extends State {

    public static void main(String[] args) {
        HiRes16Color screen = new HiRes16Color(Psygnosia.palette(), TIC80.font());

        screen.setTextColor(15);

        while (true) {
            screen.clear(0);

            screen.setTextPosition(10, 10);
            if (Button.A.isPressed()) {
                screen.print("A Pressed");
            }else{
                screen.print("A NOT Pressed");
            }

            screen.setTextPosition(10, 20);
           if (Button.B.isPressed()) {
                screen.print("B Pressed");
            }else{
                screen.print("B NOT Pressed");
            }

            screen.setTextPosition(10, 30);
            if (Button.C.isPressed()) {
                screen.print("C Pressed");
            }else{
                screen.print("C NOT Pressed");
            }

            // Update the screen with everything that was drawn
            screen.flush();
        }
    }
}

A boolean array is not supported

This compiles:
int[] testarray = new int[5];
but this result an error:
boolean[] testarray = new boolean[5];
TypeError: Cannot convert undefined or null to object

Related error: #52

IDE: Cannot close the output window

The pixel editor do not fit in the window fully (e.g. half of the palette is not visible) as the output window takes space in the bottom.

image

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.