profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/icefoxen/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

icefoxen/arewestdlibyet 40

A list of useful Rust crates.

icefoxen/cargo-osha 37

A Cargo plugin to list unsafe code in a Rust project.

icefoxen/bcp 24

A convenient block copy program.

app-dirs-rs/app-dirs-rs 8

Put your Rust app's data in the right place on every platform

icefoxen/bravais 2

A Rust library for manipulating matrices of numbers, a la numpy.

icefoxen/chromatic 1

Simple compile-time colors for Rust

icefoxen/app-dirs-rs 0

Put your Rust app's data in the right place on every platform

issue commentggez/ggez

Creating Image from TGA file fails

I think you can override the feature selection to include jpeg for image, don't remember details though.

Simple option would be to use a separate TGA file loader: https://crates.io/crates/tinytga for example.

Weird that TGA isn't supported by image::load_from_memory(), though.

anpage

comment created time in 2 months

issue commentemilk/egui

Document min versions of rustc/cargo

Yes, but that sucks and it would be nice to make "document minimum rustc version" normal among crates so that people could at least easily reject things that won't work without spending 20 minutes reading the docs and trying to get examples to work.

icefoxen

comment created time in 2 months

issue openedemilk/egui

Document min versions of rustc/cargo

Namely, Ubuntu 18.04 ships with rustc 1.47 and Debian 11 ships with rustc 1.48, which seem to be too old to build eframe. I get this build error when trying to build egui_template:

  Downloaded eframe v0.13.1
error: failed to parse manifest at `/home/NEA.com/simon.heath/.cargo/registry/src/github.com-1ecc6299db9ec823/eframe-0.1
3.1/Cargo.toml`

Caused by:
  feature `resolver` is required

  consider adding `cargo-features = ["resolver"]` to the manifest

This is annoying 'cause I'm trying to build Debian packages out of programs that use egui. :cry:

created time in 2 months

create barnchicefoxen/rust-gamedev.github.io

branch : n24-ggez

created branch time in 2 months

issue closedggez/ggez

0.6.0 release checklist

I think I'm going to make this a bugfix-and-update release, focusing on upgrading to winit 0.20... once that ever gets released.

Things that should get done:

  • [x] Upgrade to winit 0.20. glutin 0.21 makes some really annoying API changes, unfortunately, so I'm currently trying to avoid it... not sure how feasible that will be in the long run though. -- Can't be done without updating gfx_window_glutin, which uses winit 0.19 and hasn't had a new release. We could try to make a gfx_window_glutin update, or we could vendor it all since it's pretty small and update it that way, or we could just leave it as it is and deal with old, somewhat-buggy winit 0.19. Done in #837 , thanks to sapir and imbris for making this possible!
  • [x] Remove nalgebra in favor of euclid glam, if possible. Lyon already uses euclid, so in THEORY, using only euclid will make compile times faster. ...In practice, so far, rodio 0.9 uses nalgebra anyway, and the current git master of it removes nalgebra but adds failure which more than eats up the gained compile time. I just can't win. Let's just use glam which at least only takes half a second to compile.
  • [x] Remove rand from examples in favor of oorandom or something similarly minimal
  • [ ] Maybe try to make gilrs a little less of a pain
  • [x] Version bump rodio
  • Go through the audio API and consistent-ify it with the new rodio. Might need a total rewrite but it's relatively small, and should make things simpler since the new rodio API looks a bit better-organized than the old one. I really can't handle a full rewrite right now.
  • [x] Version bump glyph_brush
  • [x] Version bump lyon
  • [x] Version bump whatever else presents itself

...In light of the glutin thing I'm really not sure this is worth the trouble. Maybe just stick with the current version of glutin, fix everything else, then call it 1.0. Meh. We should try to make a big pile of bugfixes anyway though.

closed time in 2 months

icefoxen

issue commentggez/ggez

0.6.0 release checklist

Oh right, the release was done! This can be closed now.

icefoxen

comment created time in 2 months

push eventicefoxen/rust-gamedev.github.io

François Mockers

commit sha 1d21968930060c5597320671b090f178c2f1e300

N16: bevmnist

view details

Dzmitry Malyshau

commit sha 399005ac6e83db5f29578f3d372947bd49429af8

N16: gfx-rs & wgpu (#366) * Add gfx-rs to nl-016 * Expand on gfx/wgpu section * N16: gfx/wgpu: Use local image * N16: gfx/wgpu: MD/links fixes & small style tweaks Co-authored-by: Andrey Lesnikov <ozkriff@gmail.com>

view details

Joe Clay

commit sha 2cda2b7b1741ba2879dbd013b0624c86df4975ba

N16: Tetra and ogmo3 (#367)

view details

David Koloski

commit sha a345489fcf3e8b556422a37659ea1db04ce2a18e

N16: rkyv (#368)

view details

Dustin Carlino

commit sha 6a1ba0b06889b6994629aa92a284bacf05885cb2

N16: A/B Street (#369)

view details

sotrh

commit sha 246758bd6a02dfd9863acb5d6143ea8d07113b7f

N16: Learn Wgpu (#370) * N16: Learn Wgpu * fixing line length * removed trailing spaces * N16: Learn Wgpu: Style & fmt tweaks Co-authored-by: Andrey Lesnikov <ozkriff@gmail.com>

view details

Philip Degarmo

commit sha f52aec7744b3d46b8be1a72cdf296c02a221eef3

N16: Profiling (#371)

view details

Guim Caballero

commit sha d0aa0de650082580e410bd16eb3e4b2a7bffa914

N16: Bevy chess tutorial (#372)

view details

Erlend Sogge Heggen

commit sha 2f745a3903e4ed39c47a91389e8c29c9190273fb

N16: Survey reminder (#374) * Add survey reminder * N16: Survey: Fmt tweaks Co-authored-by: Andrey Lesnikov <ozkriff@gmail.com>

view details

Diggory Hardy

commit sha e8569ebb757551fe5c49d449bc83b470f257971c

N16: add KAS (#376) * N16: add KAS entry * N16: KAS: Add img & tweak style a little Co-authored-by: Andrey Lesnikov <ozkriff@gmail.com>

view details

Ian Tayler

commit sha 60b4d483a451ad91e4bfb9570212e11117c58544

N16: FBSim (#377)

view details

tesselode

commit sha ca59ff0775eb8782954f55ffd3807778951b2782

N16: Kira (#378)

view details

Aldi Perdana

commit sha 4d04667d8da07e510c99455c5ef7c2c05a501f2e

N16: F1 Telemetry TUI (#379) * N16: F1 Telemetry TUI * Update content/posts/newsletter-016/index.md Co-authored-by: Joe Clay <27cupsofcoffee@gmail.com> * N16: F1: Use local GIF * N16: F1: Fmt tweak Co-authored-by: Joe Clay <27cupsofcoffee@gmail.com> Co-authored-by: Andrey Lesnikov <ozkriff@gmail.com>

view details

Alexander Sepity

commit sha 19741f2022616fd9037c1e665559db0c7a910153

N16: ECS scheduler thoughts, part 1 (#380)

view details

Andrey Lesnikóv

commit sha 2cb31862ba91a4f9f740cd5f9ad1b83f53d5e4b9

Merge branch 'source' into bevmnist

view details

Andrey Lesnikóv

commit sha bcbf0f180f071dab2935fba2bf1f43d45a671ce2

N16: bevmnist (#381)

view details

Matthieu Baumann

commit sha 0139f4243d30a26ad04bbd057bbd7cf8524bab66

N16: rib (#382)

view details

Erlend Sogge Heggen

commit sha 02910bb406c9802cc867dcdb0761b7977533d2d3

N16: Shotcaller (#375) * Add Shotcaller section * N16: Shotcaller: Converted to 0.3.1 overview Co-authored-by: Andrey Lesnikov <ozkriff@gmail.com>

view details

Dmitry Stepanov

commit sha 503542900cd5c7b22aeff1631761778708a9c055

N16: Add rg3d (#383)

view details

Declan Hopkins

commit sha 764bd7fdd4dcc91989cf3a549c85cd4c914def58

N16: Add Antorum Online (#384)

view details

push time in 2 months

issue commentrust-gamedev/rust-gamedev.github.io

Newsletter 24

ggez 0.6.0 has been released, this is a note to myself to make sure it gets included here~

17cupsofcoffee

comment created time in 2 months

issue commentSupersonido/rebar_mix

consolidate_protocols seems to be gone from 0.5

With just the {plugins, [rebar_mix]}. line added to my rebar.config, if I add {circuits_uart, "1.4.2"} to my deps then rebar3 compile fails with Dependency failure: source for circuits_uart does not contain a recognizable project and can not be built, and if I do {circuits_uart, {elixir, "circuits_uart", "1.4.2"}} it fails with Failed to fetch and copy dep: {elixir,"circuits_uart","1.4.2"}.

Is there an example project anywhere that shows how to do it right?

filmor

comment created time in 2 months

created tagggez/ggez

tag0.6.0

Rust library to create a Good Game Easily

created time in 2 months

release ggez/ggez

0.6.0

released time in 2 months

push eventggez/ggez

Philipp Steinhaus

commit sha 4a413633fa22cd4346213d9a4e1b39b4b5307f47

Update README.md

view details

PSteinhaus

commit sha 4e782806e6c8aa9ed3ee05195d2c9b8eb3b9bb01

fixed memory leak in to_rgba8 and screenshot; added a download buffer handle to the gfx context, to avoid possibly recreating it all the time;

view details

Philipp Steinhaus

commit sha 9d624d7a861cc884432ee93f0fae928121250ab9

Merge pull request #961 from PSteinhaus/devel Fixes memory leak in to_rgba8 and screenshot

view details

Philipp Steinhaus

commit sha 2ee36a5dd379403004f1fd4f559f60dc38eed31f

removed unnecessary flush in Canvas::to_rgba8

view details

Simon Heath

commit sha 94b1748c8e421113fbcdd6d06b1ea6f8392663e4

Release 0.6.0 \o/

view details

icefoxen

commit sha 83a47e91589388990e1205c970d48f8084e05ba4

Merge branch 'master' into devel

view details

icefoxen

commit sha 915747d5117fbb1f04d853fea562ec8cd7af9361

Merge pull request #965 from ggez/devel Release 0.6.0!

view details

push time in 2 months

PR merged ggez/ggez

Release 0.6.0!
+33 -38

0 comment

6 changed files

icefoxen

pr closed time in 2 months

push eventggez/ggez

Eduardo Canellas

commit sha 0b27389226bd79f512c4fa2ca5eb592177c63f4a

docs: update `BLACK` and `WHITE` usages After those constants were moved from `graphics` to `graphics::Color`, some documentation items became out of date.

view details

Simon Heath

commit sha 9eee5f34ac728e5e90fe2b08866711626513c9ad

Slight touch-up to maintainer's docs

view details

nobbele

commit sha 13ad28267194a6c447553b78e4ce86bcaea4713b

Merge pull request #913 from eduardocanellas/fix-project-template docs: update `BLACK` and `WHITE` usages

view details

nobbele

commit sha 86f42f9ffe489cd2b4be3d5d67a12f866a79fbde

Revert "docs: update `BLACK` and `WHITE` usages"

view details

nobbele

commit sha 1528085eda5d5812f3d11e61df4cd5a07b83620e

Merge pull request #932 from ggez/revert-913-fix-project-template Revert "docs: update `BLACK` and `WHITE` usages"

view details

Philipp Steinhaus

commit sha a36b57444a2276ec2780ecac10392addd4c090a9

Updated label names adressing #916

view details

Philipp Steinhaus

commit sha 359442b7869b580e8dae8435226e3888617ea5e8

update on maintenance situation and release candidate

view details

icefoxen

commit sha e792bb6131f3d923ff2f4b2762a36ed3b1058c02

Merge pull request #960 from ggez/devel Merge 0.6.0-rc2 into master

view details

Philipp Steinhaus

commit sha dfbfcc4ce6eb2b8a1db02233686d2a679988929f

Update README.md

view details

icefoxen

commit sha 83a47e91589388990e1205c970d48f8084e05ba4

Merge branch 'master' into devel

view details

push time in 2 months

PR opened ggez/ggez

Release 0.6.0!
+34 -35

0 comment

6 changed files

pr created time in 2 months

push eventggez/ggez

Simon Heath

commit sha 94b1748c8e421113fbcdd6d06b1ea6f8392663e4

Release 0.6.0 \o/

view details

push time in 2 months

startedirrustible/async-backplane

started time in 2 months

issue commentggez/ggez

0.6.0 release checklist

Welp, 0.6.0-rc2 has been out for almost a couple weeks and nothing terrible has happened, so I think it's time to just call it 0.6.0.

icefoxen

comment created time in 2 months

issue openedosrf/gazebo

Gazebo requires X11 to run

When I try to run gzclient on a Linux computer using Sway or another Wayland window manager, it crashes with the following message: terminate called after throwing an instance of 'gazebo::common::Exception'. “gzclient” terminated by signal SIGABRT (Abort). This appears to be the same as this bug: https://bugzilla.redhat.com/show_bug.cgi?id=1816487 and has the same resolution: running XDG_SESSION_TYPE=x11 gazebo works. That old bug report is for Gazebo 9 and I am seeing this is still a problem using gazebo-11.1.0 on Debian 11.

created time in 2 months

issue commentSupersonido/rebar_mix

consolidate_protocols seems to be gone from 0.5

I think I've run into the same problem, trying to use the plugin results in rebar complaining Unable to run post hooks for 'compile', command 'consolidate_protocols' in namespace 'mix' not found.

filmor

comment created time in 2 months

issue closedmavlink/mavros

Is it possible to log raw mavlink packets sent from mavros?

Issue details

I would like to be able to log the raw mavlink messages received by mavros and sent from mavros, so I can try replaying them into a FCU offline and test changes to it. Logging the mavlink/from topic into a bag gets everything that the FCU sends to mavros, but logging mavlink/to produces nothing since mavros doesn't echo messages to it. There doesn't seem any way to tell mavros to log the actual mavlink messages it outputs, and it would be far easier to do it on the companion computer than in the flight controller.

MAVROS version and platform

Mavros: ros-melodic-mavros 1.8.0 ROS: Melodic Ubuntu: 18.04

Autopilot type and version

[ ] ArduPilot [ ] PX4 [X] Custom

Node logs

N/A

Diagnostics

N/A

Check ID

rosrun mavros checkid

No output

closed time in 3 months

icefoxen

issue commentmavlink/mavros

Is it possible to log raw mavlink packets sent from mavros?

Welp, I ended up writing my own mavlink<->ROS bridge tools since mavros was too high level for what I needed.

icefoxen

comment created time in 3 months

issue openedggez/ggez

Discussion on replacing gfx-pre-ll

ggez has used gfx-rs since version 0.3.0, and there have not been major changes to the basic structure since 0.5.0. In that time gfx-rs has actually held up surprisingly decently, but currently has a number of downsides:

  • It is unmaintained. Bugs will generally not be fixed and new features will not be added.
  • It was intended as a cross-API framework but as currently used, it essentially targets OpenGL only. Binding to multiple API's efficiently required a different design, which is now gfx-hal. Notably, it can't effectively target mobile or web platforms.
  • It has some overhead that doesn't really need to be there. SpriteBatch and MeshBatch are artifacts of this. It would be nice to have a lower level API and just do automatic batching of draw calls all the time, the way tetra does.
  • The current graphics engine in ggez is honestly kinda oogly and I now know how to do things better.

Below here is the tale of my own experiences. I fought with this quite a lot since ggez 0.5.0 but didn't quite get to a minimum viable product. Since we're handing off to new maintainers, here's the chronicle of my experiences and decisions. Hopefully it's useful.

So the first question for replacing gfx-rs is, what to replace it with? The options are:

  • A high level drawing API such as bevy, kiss3d, etc. I personally think doing the low level design is half the fun, so I never really investigated these.
  • A lower-level portability API such as gfx-hal or rendy. I love these in theory, but I spent a long time playing with these in like 2019 and was not terribly impressed tbh. They are big, complicated, have a large dependency surface, and still have bugs. Maybe they've gotten better since then. (I kind of mentally put wgpu in this category; in my experience wgpu is still in heavy enough development that it is not ready for prime time.)
  • A low level GPU API: OpenGL, DirectX, Metal, or Vulkan. In theory these are the most pain in the ass, but in practice have the fewest layers of pain-in-the-ass between your code and the actual GPU driver.

I eventually decided to use a low-level GPU API, so the next question was, which one? I didn't want to write my own portability layer with multiple backends, so which API to use was dictated by what platforms I wanted to support. As of mid 2021, the compatibility matrix looks something like this:


┌───────────────────────┬────────────┬─────────┬────────────────────┬─────────────────────┬────────────────────┐
│           .           │   Linux    │ Windows │       MacOS        │         Web         │  Mobile/embedded   │
├───────────────────────┼────────────┼─────────┼────────────────────┼─────────────────────┼────────────────────┤
│ OpenGL 2.1/ES2/WebGL1 │   ✓        │   ✓     │ ✓ (for now)        │  ✓                  │    ✓               │
│ OpenGL 4.3/ES3/WebGL2 │   ✓        │   ✓     │ ✓ (newer versions) │  ~ (newer versions) │    ✓ (new devices) │
│ Vulkan                │   ✓        │   ✓     │ ? (MoltenVK)       │  ✗ (prolly never)   │    ???             │
│ Metal                 │   ✗        │   ✗     │ ✓                  │  ✗                  │    ✗               │
│ DirectX               │   ? (DXVK) │   ✓     │ ✗                  │  ✗                  │    ✗               │
└───────────────────────┴────────────┴─────────┴────────────────────┴─────────────────────┴────────────────────┘

Web support info taken from https://caniuse.com/?search=webgl2 . OpenGL version equivalences figured out by digging through the specs. WebGL1 is a subset of ES2 which is kinda a subset of OpenGL 2.1 with some extra things added. WebGL2 is a direct subset of ES3 which is a direct subset of OpenGL 4.3.

created time in 3 months

issue closedggez/ggez

Looking for maintainer

Been thinking about this for a while, but it's time for me to officially step down from maintaining ggez. It's been a rough year, work is probably going to consume even more of my time and energy in 2021, and I really want to be able to move on to spending time on other projects. Maybe even make a game for once!

So it's been a good ride, but when you spend multiple months actively avoiding looking at github issues, it's time to step down. I wouldn't trade this for the world, but I've been doing it for over four years now, so it's time to move on. So after the 0.6.0 release any active development, responses to issues or pull requests will be on a 100% "if I feel like it" basis with no commitments. I'll probably honestly stop following the issue tracker.

If anyone wants to step up and take over maintainership of ggez, reply here and we'll talk.

closed time in 3 months

icefoxen

issue commentggez/ggez

Looking for maintainer

Okay, we have released 0.6.0-rc2 and it looks like barring last minute fixes that will be the version that becomes 0.6.0 in... I dunno, a couple weeks I suppose? So I consider this issue closed. Thank PSteinhaus, nobbele and IGBC for keeping the dream alive. :heart:

icefoxen

comment created time in 3 months

pull request commentggez/ggez

Everyone think we're good to make this RC2?

@jiyinyiyong Sorry, I got busy with work and then a storm knocked out my power. I just published it.

icefoxen

comment created time in 3 months

push eventggez/ggez

PSteinhaus

commit sha d7b4df058dde8dbd317d5ef48d8a1b15fefb17da

fixed drawing transformation matrix

view details

PSteinhaus

commit sha 6d6a44290c593482f69aaa3123aa80b1fa1e2dbf

fixed the input example, so that it works even when the logical and physical window size don't match; also added some explanation, since users should be aware that they may need to think about such things;

view details

PSteinhaus

commit sha 117612da9b963b6764ae5338e6adcc4bcb901bd1

made initial screen coordinate system ACTUALLY identical to physical inner window size; changed the example a little (as my initial fix is no longer necessary);

view details

PSteinhaus

commit sha f7de4784444876d8201bc4dcdcb92bc3fdd4b320

removed the mut, so the checks are happy

view details

PSteinhaus

commit sha 52597819f73eaa9d4e6704971596d040f2c2a0df

removed resize_window, which I used for some debugging/exploring and forgot to remove before

view details

PSteinhaus

commit sha 04d3226d2a18b7e269256f2200ddec736d67189d

modified the docs a little to point out that logical and physical window sizes can differ;

view details

PSteinhaus

commit sha 46344baa399f0faa528d527628b97f86f147ec55

changed set_window_mode to apply counter any hidpi-measures, so that windows are actually as big as we asked; changed size and drawable_size to return physical instead of logical sizes; also changed set_window_mode to use the monitor size when setting to true fullscreen (just like in desktop fullscreen mode);

view details

PSteinhaus

commit sha 1f149577c6f2294dfcfca6d4bd1abcae01fb82ff

undid some previous changes; changed the docs of WindowMode::dimensions to no longer say that true fullscreen mode resolution is dependent on it;

view details

PSteinhaus

commit sha f1ac9364e13e32bb547f8c2a2588a501276f48cb

set_window_mode now simply used dpi::PhysicalSize instead of dividing through the scale factor;

view details

PSteinhaus

commit sha b63ad40c314427ddb1c9a2a6856018b458b5bed4

changed initial window size from logical to physical, so that the window is not immediately resized after being created; also removed some (apparently) useless/dead code in the window initialization;

view details

PSteinhaus

commit sha ad47542dc624ebff7a52dfc461ef27f757d3811a

fixed graphics::transform_rect; added some more tests for it;

view details

PSteinhaus

commit sha 66d38832ee7768ea2c2c394520b1408b82f0a544

rustfmt;

view details

PSteinhaus

commit sha fe39a1675f6fe99858729475d818da73bdee8e0a

modified SpriteBatch::draw to process DrawParam::trans::offset correctly (meaning (0.5, 0.5) does now actually refer to the center); modified the spritebatch example to work with this change; WARNING: using an offset in a param to a spritebatch is now pretty slow, since SpriteBatch::dimensions has to be calculated;

view details

PSteinhaus

commit sha a6ae85e0846fce99f546b1fe6edf25c3f7f6dd86

changed true fullscreen behavior; now we can actually have true fullscreen with different resolutions :)

view details

PSteinhaus

commit sha adff1818ee440af02e51730e30224c004b715db4

updated/improved docs a little

view details

PSteinhaus

commit sha 506a1d37929467909a5d4a2f865dffe42c96cabe

rustfmt

view details

PSteinhaus

commit sha 53c3ac39dc90f31e8e38920fb5719653274de316

fixed shadow example

view details

PSteinhaus

commit sha 7f9074c97337140b1b18d91dbec9a58423065375

added a function to check for supported resolutions

view details

PSteinhaus

commit sha 28f5858560ed92d4ef563cb04f4a44b50526384c

moved supported_resolutions to graphics;

view details

icefoxen

commit sha a6b6cdbf46381c191e1327cf6c7546599f0ada25

Merge pull request #884 from PSteinhaus/devel forced the window dimensions to be physical not logical

view details

push time in 3 months

PR merged ggez/ggez

Merge 0.6.0-rc2 into master
+1627 -1001

1 comment

63 changed files

icefoxen

pr closed time in 3 months

pull request commentggez/ggez

Merge 0.6.0-rc2 into master

Dang that's a lot. Don't really think this needs approval given #959 , no conflicts and no build errors.

icefoxen

comment created time in 3 months