Code Monkey home page Code Monkey logo

futurama-tools's People

Contributors

jayfoxrox avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

futurama-tools's Issues

New Contributor

I would love to contribute to this project are you still working on it

Proposed language for FUL assembly

This is an old document that I still had (From 23rd July 2019). It contains some ideas for the FUL assembly language which is easy to parse. A core idea is to have a trivial assembler (not a compiler) which can handle all situations, while also still providing some higher level convenience.

I'm not sure how much of this was implemented in the disassembler or if I ran into any issues with this code-style.
If anyone were to work on the disassembler or assembler, I'd expect them to consider some of these ideas.

# Proposal for a new Futurama script language

# - Keyword takes X arguments
# - A scope ("{" and "}") after each argument list allows to run code *before* the keyword
# - An empty scope is also valid (";", or "}" when "{" was expected)
# - Labels start with ":", so they are seen
# - Pseudo-Operations start with "+" (this might be a bad idea..)
# - Meta-data is prefixed with "." (this might be a bad idea.. = difference to "+"?)

.type void;
.type int;
.type float;
.type bool;
# 8: {'name': 'FuPoint3', 'members': [{'name': 'x', 'offset': 0, 'type': 5}, {'name': 'y', 'offset': 4, 'type': 5}, {'name': 'z', 'offset': 8, 'type': 5}]}
.type FuPoint3 {
  .variable float x;
  .variable float y;
  .variable float z;

  .function Default;

  .function Dupli$0;
  .function Dupli$1;
  .function Dupli$2;
}

# Adds the address to the function
.export FuPoint3.Default, 10, 20 {
  .variable FuPoint3 center;

  ReturnIfTrue;

  Return;
}


# Global functions
.function unknown@19;
.function operator(bool);
.function unknown@21;

# Class definition
.type Door {
  .variable int @@AID@@;

  .function Door; # Constructor
}

+While {

  # PUSH &class 16 # g_kSpawn
  # PUSH string "SewerBSpawn1"
  # PUSH string "trg_SpawnB1"
  # CALL_18 label label_128216 stack_size 8 # Respawn.Add
  # POP local xyz
  SetLocal xyz { Call :Respawn:Add, 8 { This* g_kSpawn; String "SewerBSpawn1"; String "trg_SpawnB1" } }

  # PUSH integer 100
  # POP local xyz
  SetLocal xyz { Integer 100 }

  #FIXME: This would need a support file, as it's hardcoding game functions
  #
  # PUSH integer 1
  # CALL 0 20 # operator(bool)
  True;
  Call operator(bool)$0, 8 { Integer 1 }; # Alternative

  # Call 0 20
  Invoke 0:20
  Invoke 20

  #Call 1 20
  Invoke 1:20

}

:Head

JumpIfTrue :Exit;
JumpIfFalse :Cleanup;

:Cleanup

Jump :Head;

:Exit

Methodology for finding Egg-Room

I'm really amazed you and the community were able to figure out how to open the egg room... but i'm just wondering exactly what your process was when looking through the scripts? What data were you looking at to make the decision that you needed to do A -> B -> C -> D?
I'd love to try and replicate this for my own learning.

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.