Commit Graph

962 Commits

Author SHA1 Message Date
Martin Haye
70174a3342 Forgot to check in some files from the combat refactor. 2015-12-11 06:48:00 -08:00
Martin Haye
54bdfdd47e Finished moving combat code to a module. 2015-12-10 09:43:21 -08:00
Martin Haye
a48e3cc9d8 Making some progress splitting the combat code into a separate module. 2015-12-09 10:16:05 -08:00
Martin Haye
be7ba4a3ed Added partial support for NPC party members; packer now produces headers for the PLASMA code so we don't have to hard-code image numbers. 2015-12-09 07:35:02 -08:00
Martin Haye
90187c007c Starting to work on translating enemy table to code. 2015-12-06 15:44:28 -08:00
Martin Haye
059f77aba1 Starting in on data generation. 2015-12-06 12:02:18 -08:00
Martin Haye
299b5aed2f Enemies fight back\! 2015-12-05 15:01:44 -08:00
Martin Haye
d6c321b11a Finally happy with combat pacing and spacing. 2015-12-05 11:40:27 -08:00
Martin Haye
c4a7e4fe6a Cleaning up display of combat. 2015-12-05 11:13:35 -08:00
Martin Haye
98d9631a90 More combat. 2015-11-30 08:49:46 -08:00
Martin Haye
f342bb55c0 Fixed scrolling in combat window. 2015-11-30 08:02:32 -08:00
Martin Haye
305e79977d Took out more debugging text. 2015-11-30 07:48:36 -08:00
Martin Haye
20576c9986 Turn off memory debugging when not needed. 2015-11-30 07:46:25 -08:00
Martin Haye
010570bca7 Added more combat mechanics; fixed totally-wrong structure numbers. 2015-11-30 07:46:05 -08:00
Martin Haye
da7356450c Combat order determination implemented. 2015-11-29 09:21:03 -08:00
Martin Haye
4eafd97388 Added a few more messages at the start of combat. 2015-11-29 07:50:29 -08:00
Martin Haye
6b38c49ffd Added fight/run logic. 2015-11-19 08:36:35 -08:00
Martin Haye
87cd0c3fd0 Handle singular/plural and singular(s) forms in display strings. 2015-11-19 08:27:04 -08:00
Martin Haye
ddaca82733 Now displaying start of combat. 2015-11-11 08:55:16 -08:00
Martin Haye
6b3b0372fd Now showing Hue's real data. 2015-11-05 09:09:45 -08:00
Martin Haye
c1bcb8d187 A few minor fixes to game logic. 2015-11-05 07:18:17 -08:00
Martin Haye
6e2187087f Added enemy grouping. 2015-10-01 10:04:01 -07:00
Martin Haye
679a9ae6fb Fleshed out first prototype player, Hue Hauser, along with his chaps and handgun. 2015-10-01 08:34:49 -07:00
Martin Haye
9ff4aeb793 Forgot to commit this. 2015-09-19 13:51:08 -07:00
Martin Haye
6ee122f942 Cleaner initialization of test string table. 2015-09-19 13:46:36 -07:00
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
Brendan Robert
9dbe9a9656 Inching my way towards a full drawing routine 2014-08-07 11:00:35 -05:00
Martin Haye
c7c969d2d0 Fixed bug where println wasn't recognized. 2014-07-25 18:33:44 -05:00
Martin Haye
d66d6acf97 Fixed horrible bug in the memory manager. 2014-07-25 17:05:34 -05:00
Martin Haye
d6d6dbf718 Was fooling around with scrolling. 2014-07-25 13:23:27 -05:00
Martin Haye
f7655e6c79 Fixed scrolling. 2014-07-23 15:39:43 -05:00
Martin Haye
760cccbb80 Fixed mem coalesce bug, and made return to wilderness resume the old position. 2014-07-23 14:50:16 -05:00
Martin Haye
e849051afd Implemented loading screen, fixed a bunch of bugs. 2014-07-21 18:28:39 -07:00
Martin Haye
45c0ccf6c3 Splitting strings into words. 2014-07-20 15:52:51 -07:00
Martin Haye
02116fad3c Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-07-20 14:44:02 -07:00
Martin Haye
a2830e9828 More work on init scripts, and proper redrawing after teleport. 2014-07-20 14:43:48 -07:00
Brendan Robert
542d0b2589 Clarifications in the comments 2014-07-20 11:23:32 -05:00
Martin Haye
c4e5e84461 Scripted transitions between maps work now. 2014-07-20 07:01:21 -07:00
Martin Haye
1e04d813a8 Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-07-20 06:02:15 -07:00
Martin Haye
97b942036f Added blocks for setting sky and ground colors, and teleporting the player. Added support for init scripts using Blockly. 2014-07-20 06:02:10 -07:00
Brendan Robert
1a2f49a117 Indicate which section is drawn with draw_section pointer now 2014-07-20 01:56:59 -05:00
Brendan Robert
04fff67eea Updated thoughts on what the upper 3 bits should be for (visible obstructions indicated in high-bit)
Updated main geometry calculation macro for the drawing routine (should be mostly ok now)
Allocated variables for main loop drawing routine
Conjured up use of memory holes for tracking drawing (clever?) with address calculation notes
2014-07-20 01:52:57 -05:00
Martin Haye
ebe228d15f Now processing IF statements with GETYN triggers, and SETMAP events. 2014-07-19 15:55:27 -07:00
Martin Haye
69026ed705 Now scripts have a flag of their own on the map, for speedy detection. 2014-07-19 14:22:31 -07:00
Martin Haye
f4342b12c1 Now scripts have a flag of their own on the map, for speedy detection. 2014-07-19 14:17:40 -07:00
Martin Haye
d6815eab05 Fixes for lots of scripts, and for empty script blocks. 2014-07-19 13:54:41 -07:00
Martin Haye
6084d6764e Added loading code, and fixed a typo in CROSS_SOUTH. 2014-07-17 09:34:34 -07:00
Brendan Robert
7901dba5f3 Removed extra lazy fetch stuff because it would complicate things down the line a lot (it can be added back to reduce/defer loads later if desired.) Started on the drawing routine, just trying to sort out all the geometry to feed in to the main loop. 2014-07-17 00:34:05 -05:00
Brendan Robert
50b64ab2a5 Removed extra, unnecessary label 2014-07-15 23:21:50 -05:00
Brendan Robert
2fe992370d Changed move_zp_word to move_word and got rid of indirect/jsr stuff (it saved a byte per call but was much slower, not worth it.) 2014-07-15 23:17:23 -05:00
Brendan Robert
68d9767947 Started on 2D tile routines, starting with the loading and boundary crossing logic 2014-07-15 23:11:28 -05:00
Martin Haye
278d769ade Now packing tilesets, but not yet segmenting 2D maps. 2014-07-15 13:09:36 -07:00
Martin Haye
3bbcc7ed92 Rearranged things a bit in preparation for segmented 2D map packing. 2014-07-15 09:52:58 -07:00
Martin Haye
df246c40c6 Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-07-08 19:11:11 -07:00
Martin Haye
e56ad5e7da Really running scripts on the map now. 2014-07-08 19:11:03 -07:00
David Schmenk
695fef7a15 Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-07-08 17:55:56 -07:00
David Schmenk
63da278ce3 Turn off DblHRes 2014-07-08 17:55:22 -07:00
Martin Haye
d06884c0e9 Kinda loading scripts module, but it appears to be trashing memory. 2014-07-08 16:02:10 -07:00
Martin Haye
8a8204ec77 Now packing very simple game scripts. 2014-07-08 15:43:12 -07:00
Martin Haye
a330b395fe Working on text functions and scripting in Outlaw. 2014-07-08 09:39:31 -07:00
Martin Haye
7961be3272 Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-07-08 09:34:07 -07:00
Martin Haye
15c118fe62 Hi-bit/lo-bit fix. 2014-07-08 09:34:02 -07:00
David Schmenk
3ebf9f11dd Use new when/is/otherwise with break 2014-07-07 22:18:42 -07:00
Martin Haye
3af48520a1 Implemented blocker sprites the right way. 2014-07-06 18:22:31 -07:00
Martin Haye
02cccb1270 Working on blocker sprites. 2014-07-06 17:25:48 -07:00
Martin Haye
af0c26944f Can now cycle through sky and ground colors. 2014-07-06 17:04:26 -07:00
Martin Haye
655fe7946f Lots of fixes. 2014-07-06 16:45:27 -07:00
Martin Haye
89d8721afd Added strafing. 2014-07-06 16:13:44 -07:00
Martin Haye
6ca538f33f Can now navigate using the plasma main loop. 2014-07-06 16:09:10 -07:00
Martin Haye
ca45c71605 Can now navigate using the plasma main loop. 2014-07-06 16:02:52 -07:00
Martin Haye
a399d81478 Converting main loop to PLASMA. 2014-07-06 14:40:35 -07:00
Martin Haye
0950b9357e Moved PLASMA compiler to be alongside other Apple platform tools. 2014-07-06 10:21:03 -07:00
Martin Haye
b28b7200fb More work on game loop. 2014-07-06 07:40:57 -07:00
Martin Haye
f43c51dd74 Really loading and running PLASMA code now. 2014-07-03 16:56:26 -07:00
Martin Haye
0f3c02f662 Fixed coalescing. 2014-07-03 15:17:50 -07:00
Martin Haye
269770da90 Debugging PLASMA loader. 2014-07-03 10:51:24 -07:00
Martin Haye
64c3c8298f More work on PLASMA loading. 2014-07-03 08:53:50 -07:00
Martin Haye
1dc4756d0c Added more looading for PLASMA modules. 2014-07-02 15:50:04 -07:00
Martin Haye
d4b90e32f8 Working on module loading in mem manager. 2014-06-29 14:32:51 -07:00
Martin Haye
68c70a3ec6 Working on parsing and compressing PLASMA modules. 2014-06-29 11:40:51 -07:00
Martin Haye
786853a4a7 Now runs PLASMA code\! 2014-06-25 08:47:28 -07:00
Martin Haye
10f9d8640b Getting Plasma running in the game. 2014-06-25 06:37:10 -07:00
Martin Haye
7c00d7272a More bit hacking, added collision detection, playing with blocker sprites. 2014-06-16 09:03:24 -07:00
Martin Haye
d9a203c522 Sprite fixes, and workaround for Outlaw NPE. 2014-06-13 13:10:38 -07:00
Martin Haye
a6db0f3d41 Merge branch 'master' of https://github.com/badvision/lawless-legends 2014-06-10 08:25:24 -07:00
Brendan Robert
04b9a40a7b Offically requiring Java 8 now. (sorry!) 2014-06-07 13:27:00 -05:00
Martin Haye
fa1bb0bd3c Hacked high-bits on tree sprite graphic. 2014-06-02 10:28:50 -07:00
Martin Haye
c9d84d11b5 Fixed raycaster going past the edge of the map. 2014-06-01 07:22:07 -07:00
Martin Haye
5bd7a7c1ed Fixed another sprite bug. 2014-06-01 07:10:12 -07:00
Martin Haye
c5182fb624 Fixed one sprite bug. 2014-06-01 07:04:37 -07:00
Martin Haye
bbac1ea183 Fix edge detection in II raycaster. 2014-05-30 09:10:20 -07:00
Martin Haye
c8d8c22478 Use real map data in Javascript raycaster, so I can more closely simulate the Apple II and thus debug problems more easily. 2014-05-30 08:33:11 -07:00
Martin Haye
25335cca9a Sprite debugging. 2014-05-29 07:20:34 -07:00
Martin Haye
2395e8e610 Wow, first sprite is like totally working. 2014-05-22 09:16:18 -07:00
Martin Haye
9902773b35 First sprite that actually appears where it's supposed to be. Sometimes at lest. 2014-05-22 08:15:20 -07:00
Martin Haye
3c1aa135f2 Math for first sprite finally generating all the right numbers. 2014-05-22 07:50:26 -07:00
Martin Haye
933fd769e7 Actually started debugging the sprite math. 2014-05-15 10:25:39 -07:00
Martin Haye
8c8ac40e32 Sprite math essentially complete, and actually assembles now. 2014-05-15 09:06:13 -07:00
Martin Haye
03a07270d9 Needed to calculate clipping and texture bump, for Apple II version. The javascript version didn't need these coordinates, because it renders differently, but it's still productive to do the math first in Javascript. 2014-05-08 18:51:10 -07:00
Martin Haye
0f3e840ec3 Fix tabs. 2014-05-08 11:43:46 -07:00
Martin Haye
9f7d551fd0 More work on sprite math in 6502. 2014-05-08 10:41:15 -07:00
Martin Haye
53318fc2cd Math fixes, and started on 6502 sprite math code. 2014-05-06 07:08:02 -07:00
Martin Haye
b060d37bb1 Hacked together first sprite compositing. 2014-05-01 10:15:02 -07:00
Martin Haye
7bf43d38a1 Making progress on compositing multiple shapes in the same column. 2014-04-23 09:37:39 -07:00
Martin Haye
a82379bbe5 Compression has been working great, so turned off debug checksums. 2014-04-20 09:20:35 -07:00
Martin Haye
91586d8b3c Added sprites to map data, and to ray casting loop. 2014-04-20 09:16:40 -07:00
Martin Haye
ec49808879 Laxen rules on name matching. 2014-04-12 18:01:46 -07:00
Martin Haye
802a02a5c7 Added a startup program to the base image so you don't have to remember what to type. 2014-03-19 07:59:42 -07:00
Martin Haye
f6a6e844bb Compression now fully working. Also, changed core to be a .system file, so we don't need BASIC.SYSTEM any more. 2014-03-18 13:29:02 -07:00
Martin Haye
b8d146ca73 More bug fixes -- raycaster now working except for some weird textures. 2014-03-18 07:30:10 -07:00
Martin Haye
654db6fd80 Decompression mostly working now. 2014-03-17 18:35:26 -07:00
Martin Haye
5b4046ca16 Fixing more bugs. 2014-03-17 12:01:13 -07:00
Martin Haye
14c006b521 Fixing lots of decompression bugs. 2014-03-17 11:35:05 -07:00
Martin Haye
e741c5d57e Fixing lots of decompression bugs. 2014-03-17 11:30:15 -07:00
Martin Haye
539c878c5f Fixing decompressor bugs. 2014-03-17 07:49:40 -07:00
Martin Haye
95fbd98acb Debugging decompression. 2014-03-13 10:22:49 -07:00
Martin Haye
37f4863e30 All compression code written and integrated; now to test. 2014-03-13 09:56:29 -07:00
Martin Haye
85f434aadf More work on compression. 2014-03-06 09:45:11 -08:00
Martin Haye
983f61b5c0 Making progress on LZ4 compression. 2014-03-06 07:25:04 -08:00
Martin Haye
625f2a44ea Added LZ5 compression to the packer. 2014-02-25 10:07:40 -08:00
Martin Haye
46ce69f333 Added lots of sample text, and also support for low-bit sky and ground colors. 2014-02-24 07:26:11 -08:00
Martin Haye
af2a552fa0 Added code to clear the current window. 2014-02-24 07:25:52 -08:00
Martin Haye
389b67cffa Added routines to calculate the amount of free memory. 2014-02-24 07:24:57 -08:00
Martin Haye
99827b9785 Now displays map name centered at top of window. 2014-02-20 09:13:30 -08:00
Martin Haye
ce5a45c920 Reorganized data dir and put in readmes to tell what goes where. 2014-02-20 07:55:07 -08:00
Martin Haye
14296ca13a Font engine integrated with raycaster. 2014-02-20 07:45:48 -08:00
Martin Haye
d1e654d3f1 Converting text code to ACME. 2014-02-12 09:28:55 -08:00
Martin Haye
9d90c5ed90 Antoine's original text engine code. 2014-02-10 10:18:41 -08:00
Martin Haye
8492905ad4 Updated sample build props. 2014-02-09 15:01:16 -08:00
Martin Haye
3eb021aad8 Switched over to ACME for raycaster. Also made output of packer more brief. 2014-02-09 14:59:43 -08:00
Martin Haye
74ffc67278 More work on 8-space tabs. 2014-02-09 12:09:25 -08:00
Martin Haye
0e64901af5 Using hi-bit ascii conversion table, and switched to 8-space tabs. 2014-02-09 12:03:48 -08:00
Martin Haye
3bc19d002a Migrated memory manager to ACME assembler format. 2014-02-09 08:59:13 -08:00
Martin Haye
b809ca801b Started porting to ACME assembler. 2014-02-07 10:11:59 -08:00
Martin Haye
e506a361bf Mem manager fixes, and added ground/sky/map changing to ray caster. 2014-01-30 09:27:39 -08:00
Martin Haye
83f0e24afa No longer need to include raycaster binaries as separate files, since they're in the partition file now. 2014-01-26 16:53:19 -08:00
Martin Haye
ca3181cb8e Put mem manager in non-debug mode by default. 2014-01-26 16:48:55 -08:00
Martin Haye
0d8584743e Finally got everything loading and displaying in the raycaster. 2014-01-26 16:32:03 -08:00
Martin Haye
c63eed8ee7 Making progress with packing all maps, not just one, and loading back one map and only its textures. 2014-01-26 08:26:51 -08:00
Martin Haye
21088c8f90 Texture header for maps. 2014-01-24 10:51:11 -08:00
Martin Haye
f503794c1e Header-ized mem manager, and cleaned up globals. 2014-01-20 12:14:02 -08:00
Martin Haye
e05d1c247f Tested MEM_RESET. 2014-01-17 09:43:51 -08:00
Martin Haye
4b951b53bc Testing load to aux mem. 2014-01-16 10:08:13 -08:00
Martin Haye
d78c7ed652 First disk load worked\! 2014-01-16 09:19:40 -08:00
Martin Haye
c31a65b746 Better documentation on the segment table. 2014-01-16 08:32:04 -08:00
Martin Haye
371ac1cdea Debugging memory manager. 2014-01-16 08:23:28 -08:00
Martin Haye
5a8b451703 Revised mem manager and partition packing code to do arbitrary sizes rather than whole pages. 2014-01-15 08:58:20 -08:00
Martin Haye
b2f49bad25 Working on actual disk loading. 2014-01-12 09:53:45 -08:00
Martin Haye
ec28cb6460 Now packing code segments as well. 2014-01-05 17:34:57 -08:00
Martin Haye
5af871d65b Working on packing partition files. 2014-01-05 17:16:30 -08:00
Martin Haye
48d222f017 Working on packing partition files. 2014-01-05 16:32:44 -08:00
Martin Haye
0dca7d1f26 Repaired renderer so it works again. 2014-01-03 17:05:54 -08:00
Martin Haye
5c428557eb Fixed so aux and main mem don't share a single scanPage variable. 2014-01-03 16:37:58 -08:00
Martin Haye
1315c387c4 Centralized debug code, fixed stack print and FATAL_ERROR code in mem mgr. 2014-01-02 15:27:31 -08:00
Martin Haye
48777e7af8 Added code to support queued loading into aux mem. 2014-01-01 12:31:09 -08:00
Martin Haye
2f8a504540 First draft of memory manager done. 2013-12-30 16:17:37 -08:00
Martin Haye
afaca91d28 Centralized some zero-page, I/O, and ROM defines. More memory manager code written. 2013-12-30 11:00:39 -08:00
Martin Haye
7bc7c94f8b Reworking the memory manager API, started coding. 2013-12-28 09:10:21 -08:00
Martin Haye
69116f7bad Working on sprite-ization 2013-12-26 09:31:40 -08:00
Martin Haye
65e7f9c5b0 Working on sprite calculations. 2013-11-21 07:39:07 -08:00
Martin Haye
52c5a40250 Added A/W/S/D keystroke equivalents for movement. 2013-11-10 16:41:38 -08:00
Martin Haye
ea7140524b Now with transparency flood-fill, and the dithered sky that makes possible. 2013-11-10 13:07:59 -08:00
Martin Haye
e48146085e Finished switching to pure 6502. 2013-11-10 11:43:39 -08:00
Martin Haye
fddd8a503f Adding transparency and switching to plain 6502. 2013-11-10 11:19:29 -08:00
Martin Haye
858973dc68 Transfer sprite-related constants and tables to 6502 code. 2013-11-10 09:13:33 -08:00
Martin Haye
229951d2e0 Math is now about as good as it's going to get. Less need for tables, and only need a byte for storing the z index. 2013-11-08 08:41:23 -08:00
Martin Haye
aa10516977 Trying to make math more accurate. 2013-11-04 08:14:29 -08:00
Martin Haye
d2e07e55e4 Took out visibleSprites stuff which wouldn't work well on the II. 2013-11-03 11:58:38 -08:00
Martin Haye
41db1087ee Do sprite math strictly in Apple II coordinates. 2013-11-03 09:47:44 -08:00
Martin Haye
40b66f083b No longer relying strictly on raycaster to determine visibility. 2013-11-03 09:29:33 -08:00
Martin Haye
77283e56b2 Separated floating point from integer versions of the sprite rendering routine. 2013-11-03 08:51:09 -08:00
Martin Haye
fe747eedfe Finished first pass of 100% integer math for sprites. 2013-10-20 10:27:38 -07:00
Martin Haye
20dd825927 Working on integer sprite math. 2013-10-19 13:12:12 -07:00
Martin Haye
6aedf0b72d More sprite math simplification. 2013-10-19 12:14:19 -07:00
Martin Haye
724e6dc39e Reworked sprite math to be simple. 2013-10-19 11:46:30 -07:00
Martin Haye
e17a94bffc Ported Javascript sprite code from http://dev.opera.com/articles/view/3d-games-with-canvas-and-raycasting-part-2/ 2013-10-13 14:54:38 -07:00
Brendan Robert
01a0f9d460 Stubbing out memory managment ideas -- I think I caputred how we can have delegated chain loaders that can be used to represent the game as a full expanse of 800kb -- even able to go as high as 896kb without any redesign work. The actual coding for each driver, as well as hardware detection logic, needs to happen. Hopefully this helps shape those drivers so that they can work seamlessly in tandem to provide a very fluid game experience. 2013-10-09 22:19:40 -05:00
Martin Haye
068db7c177 Modernized code refs for part 2. 2013-10-05 11:54:49 -07:00
Martin Haye
a512a48ff3 Finished fleshing out text for part 1. 2013-10-05 11:52:30 -07:00
Martin Haye
034453c370 Text done for part 4 of Big Blue. 2013-10-05 10:41:26 -07:00
Martin Haye
a37f4718f9 Text mostly done for Big Blue part 3. 2013-10-03 09:43:57 -07:00
Martin Haye
c57d935830 Moving the BigBlue marks to be clearer. 2013-09-29 12:17:28 -07:00
Martin Haye
fc0ccb441a Adding references to Big Blue's story, so they can be reliably searched and thus linked to. 2013-09-29 11:46:49 -07:00
Brendan Robert
cb6637083b Clear mixed hires mode on start -- now we can enjoy the full screen. :-) 2013-09-25 23:58:13 -05:00
Brendan Robert
237dce5ea0 Fixed ld65 arguments to work with newer versions that expect parameters in a more specific order 2013-09-25 23:46:47 -05:00
Martin Haye
2bc4e4c845 Different link flag order for picky version of ld65. 2013-09-25 20:05:36 -07:00
Martin Haye
e249cc81de Updated readme for PackMap. 2013-09-13 08:46:47 -07:00
Martin Haye
7445ee219d Added new tool: PackMap, to convert an Outlaw XML file to an Apple II packed map file. 2013-09-13 08:40:53 -07:00
Martin Haye
5bd05308af High/lo fixes, and dithered ground. 2013-09-09 13:04:31 -07:00
Martin Haye
99333da6aa Several bug fixes for the ray caster. 2013-09-08 08:10:32 -07:00
Martin Haye
af12b3862e Now handles variable sized maps, and many textures. 2013-09-06 14:52:52 -07:00
Martin Haye
2c3931c826 Refactored rendering / expander code to free up a bunch of aux mem. 2013-09-04 08:30:18 -07:00
Martin Haye
0f9ab95bea Added support for variable high bit in graphics. 2013-09-04 07:47:23 -07:00
Martin Haye
0df74eef43 Made room for up to 10 textures. 2013-09-01 12:44:03 -07:00
Martin Haye
3b55e1a336 Fixed several bugs in the ray caster. 2013-09-01 10:37:33 -07:00
Martin Haye
25432cb16a Added keys to rotate and move so you can wanter around BugTown. Crazy. 2013-08-30 13:22:56 -07:00
Martin Haye
98ec58291c Turned on double buffering, and enabled multiple steps. At least we can see the speed now. 2013-08-30 08:18:14 -07:00
Martin Haye
133c493c1c Fixed clear, now does proper sky and ground. 2013-08-29 18:25:24 -07:00
Martin Haye
357f49cb6e Hooked up drawing code to ray casting. Not beautiful yet, but recognizably 3D. 2013-08-29 09:52:43 -07:00
Martin Haye
cfe7edcf47 First ray successfully cast on Apple II. 2013-08-26 08:09:55 -07:00
Martin Haye
906018b6cc Tested and fixed the DDA algorithm, cool\! 2013-08-25 18:31:01 -07:00
Martin Haye
3703a45095 Tested and fixed log2_w_w and pow2_w_w 2013-08-25 16:35:47 -07:00
Martin Haye
c32b631f28 Tested and fixed umul_bb_b 2013-08-25 15:58:09 -07:00
Martin Haye
a63da49c97 Added linker config to get rid of ld65 warning message. 2013-08-25 14:51:30 -07:00
Martin Haye
3b28ac9209 6502 code all written and assmebling. Debug ho. 2013-08-25 14:50:48 -07:00
Martin Haye
4d44ad8723 Coding real raycasting on 6502. 2013-08-25 11:29:08 -07:00
Martin Haye
df312acf32 Switched 6502 code to mixed case, rather than all-upper. 2013-08-23 08:58:21 -07:00
Martin Haye
73b51d1b26 Fixes to the Apple II build system; step mode and proper ProDOS quit in render demo. 2013-08-21 10:07:13 -07:00
Martin Haye
69a61f9676 Added README. 2013-08-12 07:14:08 -07:00
Martin Haye
d435c2a94e Added README for Apple II build. 2013-08-12 07:12:17 -07:00
Martin Haye
57cf76357b Tentative build process for the Apple II. 2013-08-12 06:34:37 -07:00
Martin Haye
751d997a04 Revised version of A2Copy tool, which copies whole dirs in and out of image files. 2013-08-09 12:48:32 -07:00
Brendan Robert
4120579385 Seeding code repository directories 2013-08-02 18:42:05 -05:00