Commit Graph

237 Commits (master)

Author SHA1 Message Date
gau-veldt e6bb6328d6 Changed Scons build executable names
Change executable names in Scons build to blockiverse/bvserver to match
those used when building via Code::Blocks
2015-09-05 23:54:23 -07:00
gau-veldt 401bd78fdb Changed build system to Scons
Changed build system to Scons
2015-09-05 23:46:03 -07:00
Brian Jack a87168a388 start of block rendering code 2015-01-16 02:22:04 -08:00
Brian Jack 4b4eafa39c ... 2015-01-14 09:12:22 -08:00
Brian Jack 1e4dc59dbf readability... 2015-01-14 09:11:51 -08:00
Brian Jack 522776367c ... 2015-01-14 08:54:24 -08:00
Brian Jack 8ea942c72d NB: frustum range [-16,16] is 33 chunks 2015-01-14 08:53:22 -08:00
Brian Jack 6fca199997 chunks-n-textures
frustum chunk cache stuff and texture cache stuff
2015-01-14 08:47:55 -08:00
Brian Jack b59683800b node definition 2015-01-14 06:37:57 -08:00
Brian Jack 5624a72b9a chunks,blocks/nodes/... 2015-01-14 06:19:09 -08:00
Brian Jack c5118895dc start of client side chunk/render code
working on the class for loading/keeping chunks in the visible range and
unloading when no longer used
2015-01-14 05:38:17 -08:00
Brian Jack 44627f15e4 added delete guard in chunk tables 2015-01-11 15:57:57 -08:00
Brian Jack 9d3c010a78 Account creates player if doesn't exist
Account creates player object if one doesn't exist for logged in user.
SQLiteDB::runOnce() retries automatically if database is busy.  Client
waits for server startup to complete (may take some time when database
needs to be initialized from scratch) before attempting connection.
2014-12-15 17:36:28 -08:00
Brian Jack 00dcff2f6d some object properties for core game 2014-12-15 09:44:25 -08:00
Brian Jack 4db671c268 more db work... 2014-12-15 05:48:20 -08:00
Brian Jack eda7b5a868 more db stuff for the game init 2014-12-14 16:40:43 -08:00
Brian Jack f98a6522b8 db fluff 2014-12-14 16:08:20 -08:00
Brian Jack 9f1f3e55f5 more setting up game core...
made functions out of the boilerplate code
2014-12-14 14:17:03 -08:00
Brian Jack 903405cfbc setting up game core continued... 2014-12-14 12:05:44 -08:00
Brian Jack 5a7c574883 setting up game core
in db and associated initialization code
2014-12-14 10:23:09 -08:00
Brian Jack 066deea298 more window responsiveness stuff...
irrlicht won't work outside main thread so needing to juggle stuff
around in worker thread to allow device mainloop to run more often
2014-12-14 08:13:35 -08:00
Brian Jack ed269f9a68 making window more responsive 2014-12-14 08:04:27 -08:00
Brian Jack 42d379a4a2 client fluff 2014-12-13 08:18:14 -08:00
Brian Jack cb154867dc moving some client stuff around 2014-12-13 02:03:20 -08:00
Brian Jack de145c8074 moving render code to a frontend class 2014-12-12 17:02:05 -08:00
Brian Jack 992269aa13 add function to set the GUI message line 2014-12-12 02:43:50 -08:00
Brian Jack 16a4113fcd key generation backgrounds itself
so that the window can respond to user input
2014-12-12 02:14:43 -08:00
Brian Jack 2190252a70 putting in the minetest fonts 2014-12-11 17:50:19 -08:00
Brian Jack 2cbef50139 continuing with last...
making the appropriate gitignore so the wholesale minetest sources
aren't included until specific parts are needed (when brought into
blockiverse directory structure as needed)
2014-12-11 17:00:11 -08:00
Brian Jack eb32d0334b not using the minetest sources wholesale
portions of minetest utilized will be brought into blockiverse directory
structure as needed.
2014-12-11 16:58:02 -08:00
Brian Jack 619bd1222b work on the client side... 2014-12-11 12:50:43 -08:00
Brian Jack 9c044e8971 column slots for the property and data tables 2014-12-11 08:48:09 -08:00
Brian Jack 41c8dd73c2 properties for entities (objects) 2014-12-11 08:43:55 -08:00
Brian Jack 61dce15bc4 fluff 2014-12-11 06:58:15 -08:00
Brian Jack 87cc49a72c update to SQLite 3.8.7.4
The server uses multithreaded access to the database so any update that
addresses missing mutex locks is rather important.
2014-12-11 06:35:49 -08:00
Brian Jack 5ce3e342ba controlling module for entityType and pivotType
entityType and pivotType should keep track of the module implementing
the entity type or pivot algorithm
2014-12-11 02:48:02 -08:00
Brian Jack 6bcf6bf7c1 making sure pivot/entity types are uniquely named 2014-12-09 17:07:52 -08:00
Brian Jack 2f7d9ce3ef db ctor now enables foreign key constraints 2014-12-09 17:04:23 -08:00
Brian Jack bab562acb9 working out arrangement for objects in DB 2014-12-09 12:34:51 -08:00
Brian Jack b8d77f09e2 stuff in db for scripting
various db tables for scripts, modules and dependency
2014-12-09 07:32:04 -08:00
Brian Jack c3fa77f317 ... 2014-12-09 02:43:30 -08:00
Brian Jack 43105d31b0 yet another client info/debug message... 2014-12-09 02:41:46 -08:00
Brian Jack df3a26a1d9 lualibs init for luastate in account objects 2014-12-09 02:35:13 -08:00
Brian Jack b1eb0ff9fd put a new convenience wrapper in its place... 2014-12-08 08:06:46 -08:00
Brian Jack 6d1e7d17be don't need nor want the extern "C" thingy
that is defined in lua,hpp
2014-12-08 07:58:39 -08:00
Brian Jack 36f30712c9 making the lua stuff compile as c++
otherwise lua-to-bv (bv is c++) callbacks and panic handlers (also in
c++ linkage) would be a mess (class-bound static-methods would be
unusable as callbacks and panic handlers)
2014-12-08 07:56:25 -08:00
Brian Jack 5fa655b88f adding embedded lua interpretor to project
lua 5.3.0 (beta) without the standalone interpretor nor compiler.  It'll
probably be non-beta by the time Blockiverse is finished. 👅
2014-12-08 03:57:18 -08:00
Brian Jack 5b7ae5103f single-login-only, dtor dependency logic
Added database table to maintain logged in accounts with a constraint
preventing multiple login attempts.  Account object utilizes this table
to fail on construction if a login attempt is duplicate (violates the
constraint).

Noticed issues with destruction order and added appropriate login to
session dtor to clean up objects before eliminating the registry (that
those objects depend on).

Also added session.clear_rooted_objects() which is a predestructor used
by the context manager to eliminate session's managed objects before the
context manager eliminating the root object tied to the session.

dtor order needs to be: non-root objects, then root object, then session

Also became important due to the fact that the listener thread creating
the session and thread running the session are not the same thread.  The
listener thread would start shutting down sessions to execute a server
shutdown but this left sessions (and thus registries) getting deleted
before the objects depending on them.  Session dtor explicitly removes
stuff in the right order now to avoid the problem (as well as context
manager's call to session's pre-destructor).
2014-12-06 22:27:50 -08:00
Brian Jack bc690b8413 adding logins table
for preventing a single account from being logged in more than once ;)
2014-12-06 18:38:34 -08:00
Brian Jack 4d04701e8b ...and taking precompiled header right back out...
crashes gcc so the precompiled header support is still buggy in gcc it
would appear...
one step forward, ten steps abckwards
2014-12-06 17:55:35 -08:00