Commit Graph

437 Commits

Author SHA1 Message Date
Martin Haye
efe6525167 Tested and fixed heap intern of strings. 2015-09-19 13:44:41 -07:00
Martin Haye
2f67d1c72f Reworked GC algorithm to share code better. Passes heap test again. 2015-09-19 13:27:57 -07:00
Martin Haye
bd0426e622 Forgot to check in the actual player types. 2015-09-19 08:30:52 -07:00
Martin Haye
698ce413cc Added string interning to heap. Working on type system for players, items, combat. 2015-09-17 10:03:02 -07:00
Martin Haye
a1186596f9 Fix to allow blank lines and comments within struc definition. 2015-09-15 07:27:16 -07:00
Martin Haye
fa6bdfb86d Added PLASMA support for single-level source code include statement, without needing m4. Usage: include "yourfile.pla" 2015-09-13 09:30:10 -07:00
Martin Haye
a4e87954a3 All code under Apache 1.1 license as we agreed on this morning. We always intended to do this, now actually getting around to it. 2015-09-10 09:22:07 -07:00
Martin Haye
4934a84128 Correct spelling error in build file. 2015-09-10 08:01:14 -07:00
Martin Haye
24bf2c9519 Archived heap test code in a separate place. Ready to actually use the heap, instead of test it. 2015-09-09 07:52:10 -07:00
Martin Haye
f88866085f Heap test now runs for a long, long time. I think the heap code is solid. 2015-09-09 07:31:30 -07:00
Martin Haye
cc9b77f7e6 Heap test runs for a long time now without failing. It does eventually fail, but it's a long time. 2015-09-08 08:46:45 -07:00
Martin Haye
074befaca3 More heap testing and bug fixes. 2015-09-08 08:18:17 -07:00
Martin Haye
da6073fefa More generic linked list support. 2015-09-07 08:46:17 -07:00
Martin Haye
6d61a0073f First time free-and-collect works right. 2015-09-06 11:06:01 -07:00
Martin Haye
1f324ea547 Lots of heap debugging and fixes. 2015-09-05 11:01:45 -07:00
Martin Haye
b5eb726b25 Heap testing going well. 2015-09-02 10:16:39 -07:00
Martin Haye
7aee4a37f7 Now allocating players and items; starting GC debugging. 2015-09-02 09:55:21 -07:00
Martin Haye
95c549984c Hacked into PLASMA's memory accessors to give VM code transparent read/write access to main language card $E000.FFFF, and aux bank 1 language card $D000.DFFF. 2015-09-02 07:54:41 -07:00
Martin Haye
868837d040 More work on small-object heap testing. 2015-08-28 14:24:16 -07:00
Martin Haye
e7ec609e24 Merge branch 'master' of https://github.com/badvision/lawless-legends 2015-08-28 14:04:11 -07:00
Martin Haye
159f956bf7 More heap testing. 2015-08-28 14:04:08 -07:00
dschmenk
64ab54dbf3 Thanks MArtin Haye for the removal of unneccesary ALTRD code! 2015-08-28 12:19:08 -07:00
Martin Haye
ec6368a10b Fixed memory manager init that didn't properly copy heap code. 2015-08-28 08:24:21 -07:00
Martin Haye
f3b8b7b48d Increment random seed in my keyboard loop. 2015-08-21 09:40:53 -07:00
Martin Haye
9eb99c4dc5 Increment random seed in my keyboard loop. 2015-08-21 09:28:57 -07:00
Martin Haye
50a7123381 Added random number generator. 2015-08-21 08:57:15 -07:00
Martin Haye
6cfbe817c2 More cleanup. 2015-08-21 08:03:08 -07:00
Martin Haye
d2e1c28575 Cleanup. 2015-08-21 07:59:03 -07:00
Martin Haye
a8a4fdefed Working on implementing heap API. 2015-08-19 08:45:02 -07:00
Martin Haye
a8ec4fd42c Cleaned up some inefficient memory manager code. 2015-08-19 07:53:08 -07:00
Martin Haye
2e4a992c75 Simplified calling sequence for memory manager. 2015-08-19 07:22:20 -07:00
Martin Haye
39c37c2517 Made API for garbage collector (now called heap system) 2015-08-18 09:39:05 -07:00
Martin Haye
a6c2b46a92 Merged in GC code. 2015-08-18 07:11:59 -07:00
Martin Haye
56163b41d6 More work on GC code; moved init down to be one-time only (saves mem); minor mem mgr fixes. 2015-08-18 06:58:13 -07:00
Martin Haye
d347093dee Added moveFast mode for demos. 2015-08-06 08:43:41 -07:00
Martin Haye
fef4595e9a Using new font engine HTAB code now. 2015-07-11 08:58:00 -07:00
Martin Haye
5c95954cee Fix bug where text prompt on 3D maps was displayed on non-visible page. 2015-07-11 07:39:57 -07:00
Martin Haye
45c993d610 Modified for new XSD place for script names. Also, added new Tab code from Andrew. 2015-07-06 17:09:15 -07:00
Martin Haye
195decd122 Added support for println and clearWindow blocks. Added support for defaults in keyboard teleport. Fixed nasty page-boundary bug for strings in scripts. 2015-07-04 10:02:49 -07:00
Martin Haye
1becc7d61b Added clamping on 2d map, so player never sees the black area outside the map. 2015-07-01 10:04:19 -07:00
Martin Haye
a6876e8d39 Fix rendering bug when switching 3D map to 3D map. Fix keyboard teleport when switching maps. Fix redisplay of map name when changing section. 2015-06-30 09:27:10 -07:00
Martin Haye
03e0117537 Fixed bug with center scroll eventually overflowing. 2015-06-29 08:47:42 -07:00
Martin Haye
cf55e06347 Fixed fake character text; added support for control codes in packer. 2015-06-28 10:07:50 -07:00
Martin Haye
0c4aac3da9 Added aux mem check, and fixed bug in CROSS_WEST. 2015-06-28 09:26:52 -07:00
Martin Haye
6ddc105fd8 Made progress on garbage collection. 2015-06-23 18:33:58 -07:00
Martin Haye
f4e7586c13 Fix for null category, and new font from Seth. 2015-06-19 12:40:41 -07:00
Martin Haye
9e2c0fc3fe New font from Seth, and fixed a few font engine bugs that I introduced. 2015-06-11 11:02:02 -07:00
Martin Haye
f586bc6066 Seth's first tweak of the font. 2015-06-11 05:31:13 -07:00
Martin Haye
81a34f9a61 Checking in Andrew's original font. 2015-06-11 05:30:56 -07:00
Martin Haye
9e64a6df38 Andrew's shiny new proportional font engine is working! 2015-06-08 08:11:39 -07:00
Martin Haye
edc1e7d410 Andrew's shiny new font engine is working! 2015-06-08 08:07:37 -07:00
Martin Haye
0077d9ea05 Working on code to set font window boundaries. Also ported Andrew's word-break parser. 2015-06-07 15:50:06 -07:00
Martin Haye
9991cc1dc4 Displayed first chars from new font engine\! 2015-06-07 13:40:04 -07:00
Martin Haye
edf0433f07 Minor fixes. 2015-06-06 15:19:23 -07:00
Martin Haye
05a6f5390f Proportional font engine now assembles. 2015-06-06 14:57:42 -07:00
Martin Haye
e70280df73 Merge branch 'master' into pfont 2015-06-06 14:23:08 -07:00
Martin Haye
a92f2e1da9 Sped up decompression to aux mem, and sped up fixups, since memory manager now doesn't have to jump through hoops to get to aux mem. 2015-06-06 09:37:04 -07:00
Martin Haye
9d19b46cb1 Memory manager now working fully in LC ram. 2015-06-06 09:32:42 -07:00
Martin Haye
bd1274448d Moving memory manager up into Language Card RAM. 2015-06-06 09:25:04 -07:00
Martin Haye
cd68312dc6 Finished rearranging debug code. 2015-06-06 07:48:21 -07:00
Martin Haye
5b8f75ecd1 Refactored debug macro support to be always present, and provided by the memory manager. 2015-06-05 07:54:09 -07:00
Martin Haye
16509b9942 Fixed bug: need to repair line table in raycaster after using ProDOS, because ProDOS now uses aux ZP. 2015-06-04 10:21:04 -07:00
Martin Haye
a8e501c51b Now can actually make use of the RAM freed by moving ProDOS. 2015-06-04 10:11:38 -07:00
Martin Haye
53b956eccc Relocated ProDOS to aux bank. 2015-06-04 09:17:39 -07:00
Martin Haye
4a1a5b3fd5 Added original code of font and hi-res addr tbl for font engine. 2015-06-04 07:26:08 -07:00
Martin Haye
95c98b631e Converting pfont to ACME. 2015-06-04 07:03:58 -07:00
Martin Haye
de5fce5414 Fix problem with clearing the fake character data. 2015-06-03 09:12:15 -07:00
Martin Haye
960d61e422 Started porting Andrew's proportional font engine. 2015-06-03 09:10:22 -07:00
Martin Haye
5fa973ea7c Added a 'get any key' block. 2015-06-03 07:56:19 -07:00
Martin Haye
331918eb8b Fixed bug that chopped off long texts. Added some faked-up player character stats. 2015-06-01 10:38:22 -07:00
Martin Haye
6b51dff8b9 Added move_backward blockly block. 2015-05-31 19:03:38 -07:00
Martin Haye
26e7e1b119 More compact aux to main string-copy routine. 2015-05-31 11:35:01 -07:00
Martin Haye
57462b7638 Moved scenario script strings to aux mem. 2015-05-31 11:19:03 -07:00
Martin Haye
cccb136726 Raycaster needs to reserve memory for its tables. Also, fixed to properly display mem mgr debug info when loading fixups and modules into aux mem. 2015-05-31 08:45:23 -07:00
Martin Haye
fa266e6367 Fixed so portraits work right in 3D maps. 2015-05-28 09:05:24 -07:00
Martin Haye
f1dfcccff3 Added Blockly blocks for showing portraits. 2015-05-28 08:14:01 -07:00
Martin Haye
e7308b9ab6 Merge branch 'master' of https://github.com/badvision/lawless-legends 2015-05-27 08:13:18 -07:00
Martin Haye
a2454c1212 Fixes for map name display, sky/ground colors, and portrait rendering. 2015-05-27 08:13:09 -07:00
BagoZonde
c32a533cc9 C64: 2d proof of concept demo 2015-05-24 11:23:31 +02:00
Martin Haye
2069140e31 Fixed for broken scripting after loading new map sections. 2015-05-21 07:19:22 -07:00
Martin Haye
907666c716 Now able to script transitions from 2D to 3D and back. 2015-05-20 09:47:35 -07:00
Martin Haye
0a85fb5f1d Fixed more bugs. Now 2D to 3D, and back, work. 2015-05-16 11:00:31 -07:00
Martin Haye
7be0112be4 Symmetric improvements to 2D API. 2015-05-16 08:48:29 -07:00
Martin Haye
80cf3ddb03 Got triggers working right on 3D map, including multiple triggers per location. 2015-05-15 08:19:18 -07:00
Martin Haye
375cac1459 Getting 3D back into shape. 2015-05-07 10:17:38 -07:00
Martin Haye
64870ea6a8 Working on 2D to 3D transition. 2015-05-07 09:12:52 -07:00
Martin Haye
d4a550f760 Corrected handling of obstruction and script flags on 2D map. 2015-05-07 06:54:43 -07:00
Martin Haye
329a7070ce Cleaned some debug stuff up. 2015-05-06 09:45:59 -07:00
Martin Haye
f22f4ed9db Teleportation mostly fixed. 2015-05-06 09:36:27 -07:00
Martin Haye
be7b8a0b70 Testing long-range teleport. 2015-05-03 09:25:57 -07:00
Martin Haye
4f093e405f Fixed bug when freeing and then reloading a module. 2015-04-28 08:14:19 -07:00
Martin Haye
eada6ad85d Progress on 2D scrolling. 2015-04-27 08:25:15 -07:00
Martin Haye
8d4264d5f2 More 2D teleportation. 2015-04-27 06:21:42 -07:00
Martin Haye
1f5a6cec29 Basics of 2D teleport kinda working. 2015-04-20 08:32:02 -07:00
Martin Haye
783c011b53 Implemented the rest of the render API for the tile engine. 2015-04-15 10:22:05 -07:00
Martin Haye
7142365ed7 Okay, I think I finally have teleport code that might work. 2015-04-14 07:45:02 -07:00
Martin Haye
9739fb34e9 Working on 2D teleportation. 2015-04-14 07:19:42 -07:00
Martin Haye
9e94928f0a More refactoring. 2015-04-09 10:31:36 -07:00
Martin Haye
efe2415098 More refactoring. 2015-04-05 09:52:38 -07:00
Martin Haye
4227042b11 More work refactoring API to rendering engines. 2015-03-31 12:02:48 -07:00
Martin Haye
58da79a805 Working on standardized API to 2d and 3d engines. 2015-03-25 11:51:29 -07:00
Martin Haye
a835321b5f Implemented printf for handy debugging, and now generating a map index for the 2D sections. 2015-03-25 07:40:46 -07:00
Martin Haye
56897dd67d Implementing printf-like family of functions. 2015-03-05 09:34:42 -08:00
Martin Haye
d0505a756b Merge branch 'master' of https://github.com/badvision/lawless-legends 2015-03-04 06:51:15 -08:00
David Schmenk
d6091a87a1 Fix in-line string off-by-one 2015-03-03 18:37:00 -08:00
Martin Haye
315c6b6936 More work on 2D script triggers. 2015-03-03 09:03:22 -08:00
Martin Haye
152fa2bd8b Merge branch 'master' of https://github.com/badvision/lawless-legends 2015-02-27 05:33:15 -08:00
Martin Haye
2b686a8629 More work on script triggers. 2015-02-27 05:33:11 -08:00
dschmenk
42bc9441a3 Add in-line strings 2015-02-26 13:07:08 -08:00
Martin Haye
5109fcf41a Now calculating avatar X and Y offsets within current map section. 2015-02-23 08:39:10 -08:00
Martin Haye
abd63d0481 Now loading scripts for 2D maps, and registering the new trigger table. 2015-02-23 08:01:47 -08:00
Martin Haye
3376930f85 Rearranged 2D map section checks to add a 'calculate' mode, which will be used to check flags under the avatar. 2015-02-20 08:17:35 -08:00
Martin Haye
430ee9ce65 Now packing scripts for 2D map sections. 2015-02-19 10:44:17 -08:00
Martin Haye
2d06dc337a Merge branch 'master' of https://github.com/badvision/lawless-legends 2015-02-16 16:18:04 -08:00
Martin Haye
792b8854ac More 2d work: tileset division, show avatar in center, fix load bug. 2015-02-16 16:18:00 -08:00
dschmenk
bc93460bd6 Oops, forgot to add this in (old stdlib.plh) 2015-02-13 16:50:25 -08:00
dschmenk
d9614dfbb9 Force \r to 0x0A 2015-02-13 16:49:12 -08:00
dschmenk
b8affbb871 Merge branch 'master' of http://github.com/badvision/lawless-legends 2015-02-13 16:47:51 -08:00
dschmenk
da0c23e35a Minor fix for initial break_tag in repeat statement. Loadable module
return value fixes.
2015-02-03 22:04:11 -08:00
Martin Haye
cc23a96a09 Full map scrolling now works. 2015-02-03 09:16:24 -08:00
Martin Haye
ea10bfcdae Jump over debug support code, to avoid accidental problems when adding debugging. 2015-02-03 09:16:12 -08:00
Martin Haye
6ee15e1d9a Needed ability to free same block more than once. 2015-02-03 09:15:38 -08:00
dschmenk
508a2c84fb Fix VM bug in BRNE/BREQ, parse lvalue bug, and rename stdlib to cmdsys 2015-01-28 12:56:14 -08:00
Martin Haye
a71d652f30 Merge branch 'master' of https://github.com/badvision/lawless-legends 2015-01-27 10:08:23 -08:00
Martin Haye
3549f8635f Fixed exploding bug. 2015-01-27 08:47:07 -08:00
Martin Haye
b9a4caba1f Fixed tile address calculation and tileset numbering. 2015-01-27 08:36:05 -08:00
Martin Haye
dc194d44f7 Simplified section math. 2015-01-18 08:59:56 -08:00
Martin Haye
aa1c662d04 Simplified section math. 2015-01-18 08:49:45 -08:00
Martin Haye
4dec52a4d2 Got some tiles to display\! 2015-01-17 16:38:52 -08:00
Martin Haye
09583ce1ce Now loading the initial 4 map sections in the tile engine. 2015-01-10 13:17:56 -08:00
Martin Haye
4e4892381f Now splitting maps up into sections. Refactored game loop to make room for 2D variant. 2015-01-07 14:48:04 -08:00
David Schmenk
7d6860b1d5 Bring PLASMA up-to-date 2015-01-02 17:29:02 -08:00
Martin Haye
bc73588a20 Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-12-21 08:17:26 -08:00
Martin Haye
14193fb73d Working on splitting 2D maps into sections. 2014-12-21 08:17:21 -08:00
David Schmenk
dee30787b4 Add structures to PLASMA 2014-12-07 20:59:24 -08:00
David Schmenk
700b85280d Don't output module dependencies if not a module 2014-11-18 12:55:38 -08:00
David Schmenk
f2debb1b4d Add syntax sugar for array define and improve enter/leave sequence 2014-11-17 17:57:07 -08:00
Martin Haye
c43f381296 Much better error and warning pinpointing during pack process. 2014-09-11 08:54:37 -07:00
Martin Haye
a480dc8c96 Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-09-11 06:48:04 -07:00
Martin Haye
c1f0cdab58 Added partial code to pack 126x128 images. 2014-09-11 06:48:01 -07:00
Brendan Robert
bcd2e6c83e Started adding tile engine support to the build/pack -- still have to pack maps and tilesets and create a test stub for the tile engine 2014-09-05 09:44:14 -05:00
Martin Haye
e82f75009d Updated comment style for new PLASMA. 2014-08-21 08:17:50 -07:00
David Schmenk
d62f499c31 Update comment and multiple statements
Update comment symbol to "//" and allow multiple statements per line with ";"
2014-08-14 20:01:52 -07:00
David Schmenk
fb3f6722cf Convert comment symbol to '//' and allow multiple statements per line
with ';'
2014-08-14 19:28:31 -07:00
Brendan Robert
a6ebac6b5e Added logic to set tileset memory location prior to drawing 2014-08-13 01:01:15 -05:00
Brendan Robert
5c9c04f794 Added logic to load tilesets when moving across map 2014-08-13 00:59:05 -05:00
Brendan Robert
de57fc238d Got the compile kinks out of the tile code but it is still untested 2014-08-12 23:10:35 -05:00
Brendan Robert
bc47e0bc04 Finished outer drawing loop, now to get the code working... :-) 2014-08-11 22:47:42 -05:00
Martin Haye
f1f00fff4b Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-08-10 17:23:50 -07:00
Brendan Robert
8f49e482c5 Closer to having a workable first draft of tile rendering but not done yet 2014-08-08 01:24:55 -05:00