<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/rts/src/game, branch master</title>
<subtitle>Minimalistic real-time strategy video game.
</subtitle>
<id>https://gitea.privatedns.org/xavi/rts/atom?h=master</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/rts/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/rts/'/>
<updated>2022-09-23T02:12:07+00:00</updated>
<entry>
<title>Implement checkbox GUI element</title>
<updated>2022-09-23T02:12:07+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2022-09-23T02:12:07+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/rts/commit/?id=9d3e754f3660e3bd6d13475a7d26e6d1f1e29fbe'/>
<id>urn:sha1:9d3e754f3660e3bd6d13475a7d26e6d1f1e29fbe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement GUI line edit</title>
<updated>2022-09-20T15:34:25+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2022-09-20T15:22:10+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/rts/commit/?id=8f9737b776bf98d0686a2f11685d1e307b2ef390'/>
<id>urn:sha1:8f9737b776bf98d0686a2f11685d1e307b2ef390</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement main menu</title>
<updated>2022-06-26T19:51:47+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2022-06-24T15:53:46+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/rts/commit/?id=c401b7663d0854a7a3f5c35b6809faf65dc1fd66'/>
<id>urn:sha1:c401b7663d0854a7a3f5c35b6809faf65dc1fd66</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revamp gui component</title>
<updated>2022-06-26T18:00:27+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2022-06-24T14:55:18+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/rts/commit/?id=7c75118429596dcfd86dbefb32e9ae79585c4da0'/>
<id>urn:sha1:7c75118429596dcfd86dbefb32e9ae79585c4da0</id>
<content type='text'>
`gui` was tighly coupled to game logic, and could not be extended for
other purposes. Therefore, a generic GUI implementation, loosely
inspired by well-known GUI frameworks such as GTK, is now provided, with
the following properties:

- Does not depend on dynamic or static memory allocation, only automatic
(i.e., stack) memory allocation required.
- Portable among existing implementations.
- Simple to extend.
- Tiny memory footprint.

`gui` is now composed by GUI elements that can be chained to form a tree
structure. This is useful e.g.: to calculate X/Y coordinates for a given
GUI element given its parent(s).

This commit also refactors the older implementation, moving
game-specific logic into `player` and making use of the new component.
</content>
</entry>
<entry>
<title>peripheral: provide common actions</title>
<updated>2022-06-24T15:28:38+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2022-06-24T15:28:38+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/rts/commit/?id=992e7fb9358a0d0a5d99ba119cf584477bda8d72'/>
<id>urn:sha1:992e7fb9358a0d0a5d99ba119cf584477bda8d72</id>
<content type='text'>
Whereas some actions are context-specific (e.g.: selecting a player),
some are context-independent and can be executed for all screens
(e.g.: exiting the game).
</content>
</entry>
<entry>
<title>camera: remove dependency against terrain</title>
<updated>2022-06-12T21:19:03+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2022-06-12T20:51:01+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/rts/commit/?id=3cb276b19fa21699aa7241956f5b11d1d5b24fe3'/>
<id>urn:sha1:3cb276b19fa21699aa7241956f5b11d1d5b24fe3</id>
<content type='text'>
This will allow using camera for purposes other than showing the game
map.
</content>
</entry>
<entry>
<title>Split peripheral-related logic into its own component</title>
<updated>2022-06-12T21:18:57+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2022-06-12T20:34:23+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/rts/commit/?id=0f9e2d89589f05847fb7dc808da1594f0961b5b4'/>
<id>urn:sha1:0f9e2d89589f05847fb7dc808da1594f0961b5b4</id>
<content type='text'>
This has several advantages:

- `camera` no longer needs to define public functions for each
peripheral type.
- Peripheral-related is now no longer tighly coupled to human_player,
so peripheral logic can be reused elsewhere e.g.: on menus.
- Makes camera_update_touch consistent compared to equivalent functions,
since now `pan` has now been moved to `camera` (as it should be).
</content>
</entry>
<entry>
<title>Implement button component</title>
<updated>2022-06-11T21:42:27+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2022-06-11T21:22:04+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/rts/commit/?id=a84a55aa2558b537aeb4adde1875683e88e11624'/>
<id>urn:sha1:a84a55aa2558b537aeb4adde1875683e88e11624</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make gfx_draw return int</title>
<updated>2022-05-24T20:20:04+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2022-05-24T20:08:18+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/rts/commit/?id=938ab934826ba8b94a1ea43ce7f6b583cee10b50'/>
<id>urn:sha1:938ab934826ba8b94a1ea43ce7f6b583cee10b50</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement touch controls</title>
<updated>2022-03-31T04:50:33+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2022-03-30T06:36:16+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/rts/commit/?id=45337576dff70a3b5991b79d0fe13420110b3594'/>
<id>urn:sha1:45337576dff70a3b5991b79d0fe13420110b3594</id>
<content type='text'>
</content>
</entry>
</feed>
