Commit Graph

100 Commits

Author SHA1 Message Date
zxq5 c3c4633cf1 made significant upgrades to the rendering API. now need to move all applications to the new API and deprecate the old one. 2025-02-18 03:59:34 +00:00
zxq5 a8b8d61112 made changes to some stuff
Rust / build (push) Has been cancelled
2025-02-18 01:50:21 +00:00
zxq5 2e66cf646c Merge remote-tracking branch 'origin/main'
# Conflicts:
#	rickroll.txt
2025-02-18 01:49:18 +00:00
zxq5 e036e550ce idk 2025-02-18 01:40:45 +00:00
zxq5 ebab50f2c1 idk 2025-02-18 01:39:26 +00:00
zxq5 12cf115288 Update README.md 2025-02-16 20:16:43 +00:00
FantasyPvP 77528c76b3 . 2024-12-11 15:44:51 +00:00
FantasyPvP 65b0367487 idk 2024-12-11 15:39:47 +00:00
FantasyPvP d77ce2bc47 idk 2024-12-10 00:36:45 +00:00
FantasyPvP 8f3a96c282 ran cargo fix 2024-11-23 21:38:11 +00:00
FantasyPvP 39d9b949e9 reorganised some stuff and started coding another game 2024-11-23 21:34:54 +00:00
FantasyPvP 69591e6bb2 made wish.com paper.io lol 2024-11-23 11:03:43 +00:00
FantasyPvP 1588b4fbf3 implemented a custom text editor (but still no fs to use it with 😭) 2024-11-14 22:43:49 +00:00
FantasyPvP f40e0585df removed submodule 2024-03-25 17:48:00 +00:00
FantasyPvP 1ba4273972 added submodule for custom python interpreter 2024-03-25 17:36:34 +00:00
FantasyPvP 15a8a6ac5d - added support for a single variable to the calculator
- added support for pre-compiling calculator expressions and substituting in values later
2024-03-23 01:24:52 +00:00
FantasyPvP c4067fabc8 - added a basic pong game
- added a better timer system for event updates
2024-03-22 23:52:45 +00:00
FantasyPvP d5d9e031d5 - added a new API for switching between terminal and application mode
- removed unneeded imports to reduce the dumb amount of warnings from the compiler
- added a bounds check in frame.rs to avoid a panic when a frame tries to render a character out of bounds, instead returning an error
2024-03-22 00:12:15 +00:00
FantasyPvP 5c6ec299ee - fully implemented dialogs
- added a scroll feature to grapher.rs
- fixed the cosine implementation as it was incorrect before.
2024-03-21 21:51:00 +00:00
FantasyPvP 6505d219de - Created Dialog widget
- standard information dialog works
TODO:
  implement more complex dialogs where multiple options can be selected
2024-03-21 00:12:53 +00:00
FantasyPvP e80df5100f started working on dialogs 2024-03-20 18:03:15 +00:00
FantasyPvP b0da71942a asteroids game rewrite 2023-12-04 10:42:17 +00:00
FantasyPvP f400a1cf22 Update Dockerfile 2023-12-01 21:38:04 +00:00
FantasyPvP 80bf5b968e - unit tests now work properly
- hopefully github actions workflow should run tests now?
2023-12-01 16:05:14 +00:00
FantasyPvP 568711e27d Update main.rs 2023-11-30 19:54:03 +00:00
FantasyPvP fe52f8ce17 Update rust.yml 2023-11-30 19:50:50 +00:00
FantasyPvP 98481f07bd Merge branch 'main' of github.com:FantasyPvP/CrystalOS-Restructured 2023-11-30 19:47:28 +00:00
FantasyPvP f022d85b8a setup github workflow file (first test) 2023-11-30 19:47:17 +00:00
FantasyPvP c985979aef Merge branch 'main' of https://github.com/FantasyPvP/CrystalOS 2023-11-30 17:30:36 +00:00
FantasyPvP 8988d98596 .
.
2023-11-30 17:30:28 +00:00
FantasyPvP 2d6f187433 Update workspace.json 2023-11-30 00:29:33 +00:00
FantasyPvP 6b7fac81f8 Merge branch 'main' of https://github.com/FantasyPvP/CrystalOS 2023-11-29 23:45:43 +00:00
FantasyPvP 7ae2308a83 several fixes and changes 2023-11-29 23:45:40 +00:00
FantasyPvP 68cb9d8a8b Merge branch 'main' of github.com:FantasyPvP/CrystalOS-Restructured 2023-11-29 23:42:35 +00:00
FantasyPvP ba21816f75 Create Dockerfile 2023-11-29 23:42:23 +00:00
FantasyPvP 47b81f1eed Update rust.yml 2023-11-29 00:24:43 +00:00
FantasyPvP a3c9481e5d Update rust.yml 2023-11-29 00:20:28 +00:00
FantasyPvP c70d3eb455 Update rust.yml 2023-11-29 00:20:04 +00:00
FantasyPvP 4bc141dab1 Update rust.yml 2023-11-29 00:16:52 +00:00
FantasyPvP d89a30d390 <@!837722637291487274> yo i made some progress 2023-11-28 00:17:11 +00:00
FantasyPvP c194109487 holy (crab) that was a lot of work
it works.

the input function is working now, passing it a reference to your root gui widget and a reference to it's own widget and a function to check if it should exit works now

gg
2023-11-28 00:12:59 +00:00
FantasyPvP f48eb133b3 we frikin did it bois
gui library works frrr

implementation:
- containers now store a Widget type.

- every widget has a unique id

- there is a data store that maps the id to the internally stored gui component.

- the compoenents can be fetched from the datastore using their Widget type
- the datastore uses a hashmap so fetching shouldnt have any real performance penalty.

- widgets can be fetched, inserted, updated and rendered from the datastore

- the render method can be called directly from the Widget type without having to know the underlying type that it references
2023-11-27 19:02:32 +00:00
FantasyPvP 417833fc41 fixed stuff
no progress 💀
2023-11-27 00:21:34 +00:00
FantasyPvP b16ce4a6f2 broken cbfa to fix for a while 2023-11-26 13:34:53 +00:00
FantasyPvP b28b53418a edited grapher implementation
- fixed grapher implementation with new gui
- fixed a bug in CgLineEdit where pressing backspace on an empty input would cause a crash
2023-11-24 21:53:41 +00:00
FantasyPvP 24d231585d Update grapher.rs 2023-11-24 00:45:01 +00:00
FantasyPvP 140ac0ab32 updates
updated grapher to use new widtgets system (not working yet but close)

made a basic app using the widgets system

implemented CgTextEdit for CgLineEdit (now fully working, but there may be bugs so i'll address them tomorrow)
2023-11-24 00:40:27 +00:00
FantasyPvP 467a42a5fa continued to work on new UI library
- implemented CgStatusBar widget which is a specific version of the CgIndicatorBar widget with predefined fields

- std::io::Screen is now an enum that makes switching between display modes more intuitive

- created a basic CgLineEdit implementation that allows for a user to type in a character and have it re-render that widget

- other more minor changes like fixes for existing apps to work with new features
2023-11-23 20:29:51 +00:00
FantasyPvP 461c9d9c6a - got text boxes fully working
- this includes text wrapping not cutting words in half (can be disabled using a method on the text box)
- refactored frame.rs, cg_core.rs and cg_widgets.rs to avoid code reuse and duplication
- created a simplified unified interface for rendering frames to the screen using the Frame struct provided by frame.rs instead of Element, FrameGen, etc.
- moved all widgets from cg_core.rs to cg_widgets.rs
- the label widget now works
- also added CgIndicatorBar and CgIndicatorWidget widgets to eventually make a working status bar
- refactored all applications in the system to use the new api to render to the screen
2023-11-23 00:29:04 +00:00
FantasyPvP 0ac21cd0b1 changed some stuff 2023-11-22 21:21:19 +00:00