Commit Graph

109 Commits (5eb6cf5db2c48280e0ceacdd6d75b82bcb3e87d1)

Author SHA1 Message Date
Vex 5eb6cf5db2 added more npcs, made changes to player file 2014-04-07 22:01:53 -07:00
Vex 543e714c86 Merge branch 'master' of ssh://kettek.exoss.net:4422/srv/eureka/timesynk 2014-04-07 19:40:52 -07:00
Vex 084344885c added more npcs 2014-04-07 19:39:44 -07:00
kts 9bf0e3c7fa newTile no longer takes x, y, and z params. Default values are set to 0 and are changed/set upon addTileToMap call. 2014-04-07 10:08:04 -07:00
Vex c1b8cf6c56 added more npcs, worked on tree, modified hatun warrior 2014-04-07 00:23:56 -07:00
Vex b7388533e3 updated city floors and city walls 2014-04-06 14:02:57 -07:00
Vex 9fd2a2833c Updated graphics, including pcs, npcs, weapons, armor, items, etc. 2014-04-04 16:38:24 -07:00
kts b45862f351 Windows PTime now uses native (non-SDL) millisecond precision for acquiring and delaying time. 2014-04-03 19:54:29 -07:00
kts 902e21ebc6 After far too long of a delay, a git commit. The updates pertain to vm_compile and implements the basic parsing of virtual machine C source files into global, group, and local scopes. At the moment it does not convert to op codes - it only identifies variables declared outside of functions for the given scope. 2014-04-02 00:37:31 -07:00
kts c7daa2d1b7 Added a test compiler program. Not much functionality yet, but it describes the precompilation (and, to a lesser extent, precompilation) of VM functions. 2014-03-16 19:37:51 -07:00
kts fa7a158ec9 The Mystery of the git Commit 2014-03-14 14:51:41 -07:00
Vex b0c5bea071 Added bone armor, capran blood shaman, human rogue, jaguar man, crow man, npcs; edited human mage -- all graphical 2014-03-14 02:08:53 -07:00
kts e3941fa552 Updated devcpp project. Engine runs fine on win64. 2014-03-13 16:29:13 -07:00
kts c1397f62fc Fixed addTablePair bug wherein a new TablePair would overwrite the old rather than add itself to the end of the TablePair linked list. Also moved timer.c/.h from engine/sdl/ to engine/. If compiling on Windows, getPTime and doNanoSleep still require SDL. 2014-03-13 16:13:35 -07:00
kts 0842a2252e Updated xcode project to compile the engine. tile_edtior and old engine probably will not compile in xcode at the moment, but this will be remedied later. Need to make modules directory definable in some way. 2014-03-13 04:10:59 -07:00
kts 6b0ef6fd83 Lots of fun abounded with segfaulting. Fixed it eventually - was accessing a state after it had already been freed, thus wreaking havoc in the next state. Maps and Tiles implemented now. Animation is a thing as well, but still a work in progress. It will likely be managed entirely by the Tile's doThink VM function. With modules now (partially loading) and Maps/Tiles figured out, the limited virtual machine will soon take shape. 2014-03-13 03:25:17 -07:00
kts b33b2a534c Added some (pretty bad) module loading code. At the moment modules/module_name/CONF is loaded (if not, it bails) into g_module_conf and the list of sprites and default scale is acquired. From this, g_module_spritesheets is malloced for (spritesheet count) * sizeof(struct Spritesheet*) and Spritesheets are created and loaded into their respective positions. NOTE: Spritesheets should be set up by the renderer in part - probably via function pointer, similar to Elements. After these are loaded, ../modules/module_name/module_name.tsd is attempted to be loaded as well. Not much error checking done yet, so eggshells abound. Module CONF error checking will probably be handled by some function when we first generate the list of modules in modules/ dir. ALSO, Spritesheet loading does not check sprites/CONF for width, height and columns - this will be fixed on next commit. 2014-03-12 03:46:46 -07:00
kts d42b12885f Added a load module state that provides a button list of modules found in the ../modules directory. When clicking on one, it will attempt to load ../modules/MODULE_NAME/MODULE_NAME.tsd into struct Data* g_tile_data. If it succeeds, it switches to a test state where I will be tweaking stuff like tile movement and similar. I will also add spritesheet loading in the load module state. 2014-03-11 23:56:23 -07:00
kts 722ceb5747 Reorganized the project root, deleted unnecessary files, moved data.c/.h, fio.c/.h, llist.c/.h into common and old code into old/ directory. All modules will now reside on the modules/ directory. 2014-03-10 12:41:49 -07:00
kts 53ffd0fce3 Added vm.c/.h in test. Implemented a good portion of the bytecode execution system. Need to implement non int data type operations. The VM is coming together\! 2014-03-06 23:54:19 -08:00
kts a590956502 Added vm_memory.c in test/ - basically just a test bed for vm memory. 2014-03-06 13:05:02 -08:00
Vex e9f2e33cf8 Created armor and weapons sprite sheets for Xibalba. Created system with Tiers(materials) on Y-axis and Types on X-axis. (ex. body slots) Also, created spell sprite sheet with system of Elements on Y and types (cone, bolt, ball, lode and combinations) on X. 2014-03-05 00:18:34 -08:00
kts 3b24b50e4c Added fio and llist to xcode project. Should move stuff like fio, llist, elements, etc. to a common/ directory in the top of the project hierarchy. 2014-03-03 22:57:22 -08:00
kts f9f65cd376 Added the linked list struct, LList, along with two functions for initializing and freeing a single LList. Also added the fio.c/.h files that will contain all functions pertaining to more complicated file or directory access. At the moment it provides two functions: dirToLList, which populates a linked list with the contents of the directory (as explained in the source), and fileExists, a simple function that checks if the file exists. 2014-03-03 22:48:00 -08:00
kts 1ebb045fef Fixed the freezing issue on Windows - apparently it does not handle type conversions as fluidly as *nix. Changed SDL_GetTicks in getPTime to be assigned to int64_t rather than int. I suspect bugs still exist, but this will likely become a non-issue once a high precision timer(or as close as we can get) is implemented for Windows. Also it is a mystery why fps is capped to 60 - perhaps some Windows-specific OpenGL voodoo. 2014-03-03 13:14:23 -08:00
kts 452bdf4a1d Cleaned up code in data.c and organized it. Current and future code will be formatted in adherence to the current draft of KCS. Also added datatype-specific writing and reading functions for TablePair values. This reduces the chance of unexpected behaviors when one datatype is interpreted as another. 2014-03-03 12:11:19 -08:00
kts 13df61167d Added dev-cpp project for the engine. It kind of works. For some reason, as soon as the fps goes over 60, the engine freezes. I've tried adding SDL_Delay(s), removing most of the engine, as well as tweaking both renderers, but the outcome is the same. No clue as to why it would stop responding after a couple seconds, but work fine during those initial moments. 2014-03-02 23:28:49 -08:00
kts bbcd6cd0aa More stuff added - how nondescript. In particular, data.c/.h now includes a function for loading in a .tsc, or timesynk configuration file, into a Table. This adheres to the information regarding the timesynk Configuration Syntax on the wiki. This feature has been implemented in the engine, as video width, height, and other similar options are loaded from the settings.tsc file relative to the engine. Also added a modules directory with a basic skeleton for the Xibalba module. 2014-03-02 22:10:49 -08:00
kts 1569e89715 Fixed elements rendering twice in state_menu. Added a moving background to state_menu for movement testing. 2014-02-26 18:43:05 -08:00
kts 2f596f4d50 Fixed PTime on OS X. OpenGL performance still terrible on OS X. 2014-02-26 16:36:12 -08:00
kts ffa74bd574 Fixed the high precision timer and renamed it to PTime. It seems a bit silly to use nanoseconds for game tickrate, as many systems only have microsecond precision at best - but why not. Still have to add support for higher-than-millisecond precision on Windows - will likely run with microsecond, but more research is needed. 2014-02-26 14:22:02 -08:00
kts c6efd2245b Made some changes for the timer to work on OS X. It is likely unoptimized, but more research will be done. Also, for some unknown reason, the OpenGL renderer now runs slower than the terrible software renderer (in OS X). No clue why as of yet. 2014-02-25 03:31:27 -08:00
kts 9b5a1ed4b3 Added rendering code for sprite and fonts, made a pretty bad high precision timer - while being higher precision than SDL_GetTicks, it has a few problems that I must sort out. Also need to make it crossplatform. 2014-02-25 02:45:10 -08:00
kts 3634e0cfa3 Added engine as a target for the xcode project. SDL_Surface to OpenGL Texture function now packs pixel data according to the endianness of the machine, as acquired from a run-time test in the function. This should probably be checked for on start and have an appropriate system flag set. 2014-02-22 01:09:37 -08:00
kts b3f50776e8 Lots of stuff added since last commit. ASCII-based Font system and Element system(similar to tile_editor)s now partially in place. State management now more flushed out, but still likely to be tweaked. Now sports two renderers - software-mode SDL and hardware-accelerated OpenGL mode. At the moment code is not in place to switch between the two renderers in-program (managed by a call to interfaceSetRenderer), but it will be added later with the appropriate freeing of surfaces and textures. A more generalized binary to .c/.h program was added to the new tools subdirectory - it takes a binary file as an argument and creates the appropriate .c/.h files. It also can handle the append flag, -a. 2014-02-22 00:20:44 -08:00
kts 478090d7c4 Began work on complete client rewrite within the engine/ subdirectory. This new client is written with game states in mind (i.e., main menu, net lobby, game) and a more expandable structure for multiple interfaces. Old code in the main directory will be removed entirely or reintegrated with the new engine. Majority of the code related to Tile(s) will be removed, as their properties are now dynamically loaded from TSD files (as generated by the tile_editor). Tiles will also have a local x and y coordinate for positioning within their currently occupied tile (or something very similar) - this will allow for smooth movement and more precise collision detection (according to quarters of tiles). Much more to come\! 2014-02-14 06:46:11 -08:00
kts 49ce932ece data.c/.h added to devcpp project. Tile editor runs fine on win32/64. 2014-01-21 00:15:02 -08:00
kts 48574819b8 I have Done The Right Thing(tm) and made the tab key jump to the next Spinner or TextInput element it can find in the Element chain. 2014-01-20 17:00:40 -08:00
kts 2e48e2e1fa The tile editor's Data struct(tiles_data) isa) and accompanying sets(up to 7 default) are now created on start. This allows for the saving of Data without a file needed to be loaded prior. Some code should be moved to data.c/.h and the entire thing needs to be stress tested. 2014-01-20 06:46:32 -08:00
kts 75b1960fe1 Table's count property was not initialized to 0 in newTable, thus causing erroneous behavior on OS X - now initialized properly. 2014-01-20 02:44:59 -08:00
kts 149cd25ef9 After much struggling due to a fool's lack of documentation, the tile_editor is now (seemingly) fully functional. Changes to tile entries can now be made by adding/deleting/modifying the UI elements and pressing the 'commit changes' button. This only does a change for the TileData, etc., stored in ram. These changes can be saved to a file by specifying a filename in the data field and pressing the 'save' button. On a more technical note, fixed some bugs in the data reading code, such as inventory lines being partially read but then being assigned as a simple key=>string pair rather than an InventoryData struct - this, of course, caused segfaults and was particularly mystifying. Table structs now also have a 'count' property that is incremented or decremented whenever a TablePair is added. 2014-01-20 02:21:15 -08:00
kts 9fe34501b5 Added a commit changes button that will save the key=>value Elements to TileData/TablePair/InventoryData, etc. structs. At the moment it only parses the elements and printf()s the key=>value pairs, including inventory elements. 2014-01-19 20:56:13 -08:00
kts 8615026e0b Fixed a minor bug wherein the editor_elements ElementList's last property was not set to the Inventory Item Element of a new Inventory declaration. 2014-01-19 18:02:54 -08:00
kts a81419d662 Adding and deleting of Pair(s) and Inventory(s), as well as adding and deleting of Inventory Items now fully works. Some of the code is messy, but it works fine. Next on the itinerary is the saving of changed Elements to TileData/TablePair(s), then the saving of all such changed data back to a tsd file\! 2014-01-19 17:43:36 -08:00
kts ff8409be64 Added UI elements for InventoryData in the tile editor. Also added various buttons for deleting key=>value pairs and for adding new pairs, new inventories, and new inventory items. These buttons do not change anything at the moment. Also changed the tile editor's dimensions. 2014-01-19 02:29:01 -08:00
kts 38f62c970e Spinner and TextInput Elements now change cursor position based on mouseup coordinates. 2014-01-18 03:52:31 -08:00
kts 4ea6159ef6 Added data.c/.h to xcode project for both the engine and the editor and tested both on OS X. 2014-01-17 04:34:43 -08:00
kts 30f71466fd Much progress on the tile editor, as it can now read in a .tsd file using the earlier developed data.c/data.h (Data, TileSetData, TileData, etc. structs and accompanying functions). Once a file is successfully loaded, changing the set/id will attempt to populate the GUI with key=>value pairs for the given tile, if it exists. Partially implemented is the parsing of InventoryData. Will implement adding new TablePairs through the GUI and the saving of any changes back to a .tsd file. Fixed some memory allocation problems as well - some leakage still existing in the tile editor as well as the Data functions/structs, but they are noted and will be taken care of in time. 2014-01-17 04:03:10 -08:00
kts 3b6160cb51 Spinner now has increment and decrement buttons, as well as mousewheel support. Mouse clicks now handled by the elements system rather than SDL. Tiles in the spritesheet view can now be clicked on, changing the currently focused tile id. 2014-01-15 05:52:36 -08:00
kts cfb2eda1c4 Added tile_editor/helper.c/.h to the Tile Editor target in xcode. Also removed tile_editor/.helper.c.swp file that accidentally was committed. 2014-01-15 00:32:48 -08:00