<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://manicpop.org/gewiki/index.php?action=history&amp;feed=atom&amp;title=Btrieve</id>
	<title>Btrieve - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://manicpop.org/gewiki/index.php?action=history&amp;feed=atom&amp;title=Btrieve"/>
	<link rel="alternate" type="text/html" href="https://manicpop.org/gewiki/index.php?title=Btrieve&amp;action=history"/>
	<updated>2026-10-20T14:42:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manicpop.org/gewiki/index.php?title=Btrieve&amp;diff=2144&amp;oldid=prev</id>
		<title>CodexBot: Add concise Btrieve reference for GE records and keys</title>
		<link rel="alternate" type="text/html" href="https://manicpop.org/gewiki/index.php?title=Btrieve&amp;diff=2144&amp;oldid=prev"/>
		<updated>2026-10-18T17:53:22Z</updated>

		<summary type="html">&lt;p&gt;Add concise Btrieve reference for GE records and keys&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Btrieve&amp;#039;&amp;#039;&amp;#039; is the indexed record-storage system used by &amp;#039;&amp;#039;Galactic Empire&amp;#039;&amp;#039; and MajorBBS. GE saves players, ships, planets, and mail as records in separate files. Unlike a table queried with SQL, a Btrieve file is accessed through operations such as finding a record by a &amp;#039;&amp;#039;&amp;#039;key&amp;#039;&amp;#039;&amp;#039; or stepping to the next or previous record in key order.&lt;br /&gt;
&lt;br /&gt;
The same file can have several keys. For example, GE can find a player by user ID, while the user database&amp;#039;s score key lets [[Roster command|&amp;lt;code&amp;gt;ROSTER&amp;lt;/code&amp;gt;]] walk players in score order. The game does not need to load every player and sort the list itself. When a stored score changes, the database updates that key&amp;#039;s ordering. This is why a key&amp;#039;s field offset and signedness matter: they affect lookup and order, not just how bytes are saved. See [[Scoring and rosters]] and [[Data structures]] for GE&amp;#039;s specific records and keys.&lt;br /&gt;
&lt;br /&gt;
GE&amp;#039;s &amp;lt;code&amp;gt;.DAT&amp;lt;/code&amp;gt; files are therefore not plain text, and the separate team file is an exception: it is a text table, not Btrieve. On 32-bit systems, the Btrieve call interface is known as &amp;lt;code&amp;gt;WBTRV32&amp;lt;/code&amp;gt;. [[MBBSEmu]] uses the [https://github.com/mbbsemu/wbtrv32 open-source WBTRV32 replacement], which preserves the Btrieve-style calls while storing the live data in SQLite &amp;lt;code&amp;gt;.db&amp;lt;/code&amp;gt; files. See [[Database files]] for filenames, backups, and resets.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Database files]]&lt;br /&gt;
* [[Data structures]]&lt;br /&gt;
* [[Roster command]]&lt;br /&gt;
* [[MBBSEmu]]&lt;br /&gt;
&lt;br /&gt;
{{GE navigation}}&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Sysop documentation]]&lt;/div&gt;</summary>
		<author><name>CodexBot</name></author>
	</entry>
</feed>