Commit Graph

823 Commits

Author SHA1 Message Date
Martin Haye
3c49a6c7ce Fixed some disk split bugs. 2017-02-05 11:05:26 -08:00
Martin Haye
c060bf31d4 Lots of progress on disk split allocation. 2017-02-05 09:45:34 -08:00
Martin Haye
30dd953d44 Made some progress on disk splitting... lots left though. 2017-02-02 10:20:39 -08:00
Martin Haye
847228a73d Added clean script shortcut for Martin's use. 2017-02-02 07:10:51 -08:00
Martin Haye
2b78f31b5a I think I'm now tracking all the dependencies needed for proper disk splitting. 2017-01-29 10:47:58 -08:00
Martin Haye
6bf9889488 A couple little comments. 2017-01-29 09:43:02 -08:00
Martin Haye
cd090db01f Split long lines to making editing easier. 2017-01-29 09:40:14 -08:00
Martin Haye
9d313d5176 Added order field to maps. Fixed some loader bugs. 2017-01-29 09:23:58 -08:00
Martin Haye
32656bd6fc Removed dependency on lz4, since we have our own compression algorithm now. 2017-01-25 07:48:20 -08:00
Martin Haye
a143026583 Refactored packer to use compressed byte arrays most everywhere, because they're so much easier to work with then Java ByteBuffer. 2017-01-24 10:47:01 -08:00
Martin Haye
12760c330b Read XML file only once. 2017-01-22 14:45:41 -08:00
Martin Haye
1d131d523d Updated mem mgr to recognize that we no longer need buffers for ProDOS and copying. 2017-01-22 09:44:58 -08:00
Martin Haye
9e3cd2c45e Modified font engine's parse routine to work better when called multiple times in succession. 2017-01-22 09:23:29 -08:00
Martin Haye
9e5e955fbe Realized I could use simple PLASMA extern for global heap pointer. 2017-01-22 08:44:10 -08:00
Martin Haye
421807719b Slightly more readable. 2017-01-18 09:59:00 -08:00
Martin Haye
a8126a1c75 New disk polling code. 2017-01-18 09:29:26 -08:00
Martin Haye
7056e09458 Properly retain previous game save when rebuilding image. 2017-01-18 08:24:09 -08:00
Martin Haye
a00e019b75 Got game-exist check working. 2017-01-18 08:21:01 -08:00
Martin Haye
4dd4ae02b1 Fixed load game. 2017-01-18 07:43:55 -08:00
Martin Haye
3ff5b34603 Moved speed test code and commented it out until needed again. 2017-01-18 07:27:15 -08:00
Martin Haye
453f2687ab Modified speed test for just 3D transition. 2017-01-18 06:56:10 -08:00
Martin Haye
eed337af74 Used up the last two bytes. 2017-01-17 10:34:35 -08:00
Martin Haye
5c0ba2dfa3 Saved a byte, and a little time. 2017-01-17 10:29:49 -08:00
Martin Haye
ead90f2bf3 Optimized litlen=1 common case. 2017-01-17 10:19:19 -08:00
Martin Haye
a4fede35f7 Made gamma refactor permanent. 2017-01-15 15:40:47 -08:00
Martin Haye
5a9f8f749b Refactored gamma. 2017-01-15 15:19:22 -08:00
Martin Haye
22e4b4b681 Saved a byte. 2017-01-15 11:54:21 -08:00
Martin Haye
f9e219d493 Optimized some source increments. 2017-01-15 11:52:08 -08:00
Martin Haye
d20c4ec778 Saved 5 more bytes. 2017-01-15 11:37:34 -08:00
Martin Haye
ed02a8bdc9 Size optimization - saved 2 bytes. 2017-01-15 11:33:39 -08:00
Martin Haye
52840945d7 Optimized end check. 2017-01-15 11:31:02 -08:00
Martin Haye
324fbd48b0 Optimized gamma in decomp, for 1.2% gain. 2017-01-15 10:47:32 -08:00
Martin Haye
d93d70b172 Sped up decomp 3.7% by unrolling part of match loop. 2017-01-15 10:22:09 -08:00
Martin Haye
7fb830793c Doing some speed testing. 2017-01-15 09:10:43 -08:00
Martin Haye
18c9e9528f Fixed BRK handler to retain value of A-reg. 2017-01-13 07:50:23 -08:00
Martin Haye
2f8de46d0e Moved more of expander into aux LC to take advantage of space freed up by ProRWTS. Now expander is loaded at startup and remains locked in memory, rather than swapping in and out. 2017-01-12 09:08:05 -08:00
Martin Haye
4b9f2c9a85 Create proper save file on all disks. Updated memory map. 2017-01-12 07:30:54 -08:00
Martin Haye
99f9f9f35c Now supporting multi-floppy mode. 2017-01-11 19:02:31 -08:00
Martin Haye
6e47f62e84 Now building multiple floppies. 2017-01-11 16:22:31 -08:00
Martin Haye
6b52149938 Fixed copy/paste errors in ProRWTS floppy driver. 2017-01-11 16:00:24 -08:00
Martin Haye
094d4ca8da Smaller 140k image, now with ProBoot. 2017-01-11 15:32:32 -08:00
Martin Haye
2404025654 Working on floppy generation. 2017-01-11 15:20:22 -08:00
Martin Haye
d0ca62eb53 Adding ProBoot and floppy version. 2017-01-11 09:54:58 -08:00
Martin Haye
3c6814e7af Refactored disk images to slim down main 800k image. 2017-01-11 07:36:59 -08:00
Martin Haye
545538c5d0 Initial version of ProBoot (untested as of yet). 2017-01-11 07:14:16 -08:00
Martin Haye
994388940a Integrated new version of ProRWTS, now with support for big tree files\! Works beautifully. 2017-01-09 07:47:51 -08:00
Martin Haye
6e8089d3a3 Made decompression slightly faster. 2017-01-09 06:57:39 -08:00
Martin Haye
8dc84239e4 Now working in 3D mode (had to avoid loading over aux text pg, since hard disk driver uses screen holes there.) 2017-01-07 16:43:27 -08:00
Martin Haye
ae4210a050 Temporary workarounds. 2017-01-07 11:25:01 -08:00
Martin Haye
845239c2cf Got decompression working, yay\! 2017-01-06 17:49:51 -08:00
Martin Haye
bf179182b0 Added underlap verification in a better way. Going back to 2 partitions so qkumba can repro the ProDOS tree-file problem. 2017-01-06 11:09:01 -08:00
Martin Haye
485e9e7430 Added decompression underlap verification. 2017-01-06 09:04:29 -08:00
Martin Haye
572beb65e7 Added memory map. 2017-01-05 16:01:25 -08:00
Martin Haye
3123bdd903 Moved ProRWTS to aux LC. Also getting further in boot seq now. 2017-01-05 14:27:44 -08:00
Martin Haye
410ba2238f Slightly better build wrapper scripts. 2017-01-05 08:54:19 -08:00
Martin Haye
efc8a84396 Yay, I can reach the title screen now. 2017-01-04 17:57:18 -08:00
Martin Haye
e21f6cb423 More progress on ProRWTS. 2017-01-04 15:05:43 -08:00
Martin Haye
dd061c37c3 Making slow progress integrating ProRWTS with mem mgr. 2017-01-04 13:15:39 -08:00
Martin Haye
8ff169d1e6 Now loading and successfully relocating ProRWTS and PLASMA. 2017-01-04 09:17:13 -08:00
Martin Haye
d9786058d8 Adding ProRWTS. 2017-01-02 14:08:33 -08:00
Martin Haye
2f35ee17f0 Stripped out Plasma VM 'cmd' loading, in anticipation of dedicated LegendOS loader. 2017-01-02 13:52:35 -08:00
Martin Haye
b62f4cbe53 Better commenting of decompressor. 2017-01-02 11:33:52 -08:00
Martin Haye
c67a4ea718 I think decompressor is written now. 2017-01-02 11:14:59 -08:00
Martin Haye
917a6561f7 Better encoding of offset=64 2017-01-02 09:06:11 -08:00
Martin Haye
0e4c7df743 More efficient coding of zero-length lits results in even better compression, and faster decomp as well. 2017-01-02 07:44:48 -08:00
Martin Haye
7d8c562ffa Rearranged gamma scheme for faster decomp. 2017-01-01 08:59:35 -08:00
Martin Haye
05a63b3e54 Optimized code pair encoding for faster decompression. 2016-12-30 18:06:17 -08:00
Martin Haye
cff4b79931 Refactored into code pairs. 2016-12-30 17:56:11 -08:00
Martin Haye
ac70c14f31 Refactored into code pairs. 2016-12-30 17:46:21 -08:00
Martin Haye
cd17eb873e Fixed comment 2016-12-30 17:42:35 -08:00
Martin Haye
e8ea2e9f87 Fixed comment. 2016-12-30 08:33:46 -08:00
Martin Haye
77e2a7c3cf Tested with underlap of 2 for decompression. Changed cut-off to 8 or more saved bytes. 2016-12-30 07:59:26 -08:00
Martin Haye
9d04090881 Backed off a little bit so that all elias encoding is 8-bits or less. 2016-12-29 17:42:10 -08:00
Martin Haye
908eb71927 Parameterized offset exp. 2016-12-29 17:19:15 -08:00
Martin Haye
a761056723 Parameterized offset exp. 2016-12-29 17:18:53 -08:00
Martin Haye
b5ca1d32aa Fixed a bug, and fixed a big counting error. 2016-12-29 16:06:16 -08:00
Martin Haye
64bc3117f0 More efficient encoding of literal lengths. 2016-12-29 12:48:11 -08:00
Martin Haye
014abce085 Committing to gammas for offsets. 2016-12-29 08:23:36 -08:00
Martin Haye
5804cde556 Best compression yet, messing with offset encoding. 2016-12-29 08:19:11 -08:00
Martin Haye
77b55bbd14 Offsets with gamma. 2016-12-29 08:06:23 -08:00
Martin Haye
1d421aacf2 More experimentation. 2016-12-28 08:00:28 -08:00
Martin Haye
ccdbbb970b Now checking zx7 by decompressing. 2016-12-27 21:01:48 -08:00
Martin Haye
bfa91285a6 Some progress on decompressing lx47 2016-12-27 08:44:00 -08:00
Martin Haye
52d2b877f5 Got compressor working, but unverified. 2016-12-26 10:21:53 -08:00
Martin Haye
5f53550df2 Support getCharResponse; better handling of interdependent global scripts; support for backslash-backtick for explicit spaces in strings. 2016-12-13 09:07:36 -08:00
Martin Haye
652673ea01 Now supports 0..3 args on global funcs. 2016-12-08 07:05:28 -08:00
Martin Haye
056fb3857e Removing old script no longer needed. 2016-12-08 06:05:02 -08:00
Martin Haye
9d849736e2 More fleshing out of global function calling. 2016-12-06 09:38:24 -08:00
Martin Haye
4d414bd6ce Now compiling each global script as a separate module, in anticipation of large scripts like hotel, store, etc. 2016-12-05 09:23:00 -08:00
Martin Haye
075778b3a2 Fixed bug with tilesets becoming too large. 2016-11-18 12:03:37 -08:00
Martin Haye
3d595608cc Fixed map numbering to handle multiple 2D maps. 2016-11-15 06:14:58 -08:00
Martin Haye
1f55dea477 Basics of benching/unbenching for players. 2016-11-10 08:40:50 -08:00
Martin Haye
a4421e9882 Ignore player rows unless they have at least some basic data. 2016-11-10 06:43:02 -08:00
Martin Haye
0313db8d1a Progress on intimate mode - text display now mostly working. 2016-11-08 08:39:18 -08:00
Martin Haye
e6bcc747bd Outlines of 'intimate mode' 2016-11-07 07:58:46 -08:00
Martin Haye
99606c623c Return to graphics mode when using an item (like TNT) per Seth's request. 2016-11-04 08:27:22 -07:00
Martin Haye
2aa9e342e7 Added tile swap for 3D mode. 2016-11-01 09:25:36 -07:00
Martin Haye
831c0cd822 Fixed memory corruption issue when party screen updated during combat. 2016-10-31 08:04:22 -07:00
Martin Haye
c6e46398c1 Prefix 'You have died' with a newline. 2016-10-26 08:13:06 -07:00
Martin Haye
72fe0986fd Fix for text display followed by animation in 3D mode. 2016-10-26 08:04:29 -07:00
Martin Haye
72cb83c415 Exit inventory once an item is used. 2016-10-26 07:50:13 -07:00
Martin Haye
e363b01c60 Don't reset global avatar flag when re-entering map. It needs to stay what the scripts set it to. 2016-10-26 07:45:47 -07:00
Martin Haye
65b5bf001e Fix for fwd/bkwd animations. 2016-10-26 07:38:07 -07:00
Martin Haye
048c09edf4 Fixed portraitNum bug (was relying on a specific Lawless Legends portrait) 2016-10-25 15:05:00 -07:00
Martin Haye
dcb8fd1eaa Clean up warning and error handling in packer, so mem reports aren't generated in those cases. 2016-10-25 09:16:01 -07:00
Martin Haye
9dc84046c5 Further reduce aux mem fragmentation by putting the 3D expander at the start of aux mem, leaving one continuous space in the middle. 2016-10-25 08:58:38 -07:00
Martin Haye
63d38e5498 Reduce aux mem fragmentation by putting gameloop at end of it. 2016-10-25 08:49:38 -07:00
Martin Haye
4df31bea67 Fix hashing for images so we properly detect changes to ordering. 2016-10-25 08:08:41 -07:00
Martin Haye
4b674d20b7 Added cache version to packer, so we can force rebuild when necessary. 2016-10-24 08:26:48 -07:00
Martin Haye
520fc7216e Now animating 3D textures. 2016-10-24 08:20:52 -07:00
Martin Haye
33d9f17503 New blocks for setting and clearing full-screen img. 2016-10-24 07:08:37 -07:00
Martin Haye
f3aaa7c6ad Now supports animating title screen and final win screen. 2016-10-23 10:42:11 -07:00
Martin Haye
ee16d7a0d6 Most animations working properly now. 2016-10-23 09:09:43 -07:00
Martin Haye
2ef692c537 Animation progress. 2016-10-22 08:46:37 -07:00
Martin Haye
466cd1923d Re-wrote much anim patching to actually be right(er). Rearranged mem to fit. 2016-10-21 08:18:58 -07:00
Martin Haye
b2d0af04a8 Wrote the rest of anim unpacking code. 2016-10-19 09:58:09 -07:00
Martin Haye
0b0a849855 A new patching strategy. 2016-10-19 07:37:55 -07:00
Martin Haye
a2a3246b68 Maybe a wrong turn for anim patches. 2016-10-18 07:13:42 -07:00
Martin Haye
6a049d3e33 Adding support for animating all image resources. 2016-10-17 09:26:47 -07:00
Martin Haye
dce735786e Generate fancy new report showing how much each resource contributes to memory and disk usage. 2016-10-16 10:06:30 -07:00
Martin Haye
73c08b56dd Little changes: use portrait names instead of numbers in generated code; a little cleanup of interrupts; improve comments. 2016-10-16 08:16:45 -07:00
Martin Haye
d085707158 Fix bug - target addr wasn't being cleared by set heap. 2016-10-13 09:27:43 -07:00
Martin Haye
a6f68275d6 Fix order of frame loading, and properly free temporary buffer. 2016-10-13 09:26:51 -07:00
Martin Haye
4dd39aff55 Merge branch 'master' of https://github.com/badvision/lawless-legends 2016-10-11 09:04:03 -07:00
Martin Haye
0095407c7e Now blitting full screen images from aux mem rather than loading them directly to the hi-res buffer. Prelude to better support for full-screen. 2016-10-11 09:03:57 -07:00
badvision
6d61e2a75d Switching my source over to Windows 10 changed these file modes -- shouldn't really affect anyone. If it does we can revert this commit. 2016-10-08 13:35:27 -05:00
Martin Haye
49d025a44c Fleshed out ability to use an item on a map space. In addition, add item god-mode cheat moved to player info screen and made fancier. 2016-09-24 11:10:17 -07:00
Martin Haye
83a26c901b Made portrait test loop around. 2016-09-22 11:14:07 -07:00
Martin Haye
0fad632eee Better support for forcing combat, not backing up as far when fleeing / exiting a building. 2016-09-22 10:55:34 -07:00
Martin Haye
8dc394cf43 The whole fixupHint thing to avoid fragmentation was (a) not working anyway, and (b) causing crashes. Removed it. 2016-09-22 10:54:56 -07:00
Martin Haye
1d3b08204a Skip encounter check when backing up due to a script event or fleeing combat. 2016-09-22 08:13:17 -07:00
Martin Haye
1465bea426 Fixes for game load and save. 2016-09-22 08:04:24 -07:00
Martin Haye
9b6c00bebb Moved disk activity marker display logic to memory manager, so that it very accurately reflects real disk activity. 2016-09-22 07:51:07 -07:00
Martin Haye
cfadecc9f6 Optimized switching to and from render modes. 2016-09-22 07:32:54 -07:00
Martin Haye
ce7bf1d6cc Now processes 'leave' events on map scripts. 2016-09-20 06:15:49 -07:00
Martin Haye
a2c8008755 Initial infrastructure for event handling. 2016-09-15 11:08:43 -07:00
Martin Haye
c09142a164 Fixed so NPCs can attack now -- but only melee. 2016-09-08 09:34:02 -07:00
Martin Haye
51f73a8565 Finished cleanup of START_LOAD/FINISH_LOAD 2016-09-08 08:39:41 -07:00
Martin Haye
fe704379ce Good progress on reworking START_LOAD/FINISH_LOAD to figure out on their own what to do. 2016-09-08 08:30:08 -07:00
Martin Haye
65b414a954 Rearranged some things to make mem mgr more compact. 2016-08-31 08:34:00 -07:00
Martin Haye
c103afd893 Fixed out-of-mem bug adding Sasquatch to party. 2016-08-31 08:17:02 -07:00
Martin Haye
4238f62520 Fix sequence error when adding npc. 2016-08-31 07:23:11 -07:00
Martin Haye
c5a319d904 Fixed super-long error message. 2016-08-25 08:49:38 -07:00
Martin Haye
7ebe405c41 Fixed bugs with NPC creation, and made mem mgr debug slightly fancier. 2016-08-22 08:08:22 -07:00
Martin Haye
ecf76efde2 Mostly implemented ability to add/remove players, but got some debugging to do. 2016-08-17 08:09:14 -07:00
Martin Haye
243b6c362a Moved and extended garbage-collected heap, to make more room for game items (and take advantage of newly freed space in F800.FFFF range.) 2016-08-12 19:39:36 -07:00
Martin Haye
71895ed546 Fixed a bug with module reloading, and one involving the new F8xx refactor. 2016-08-12 19:18:31 -07:00
Martin Haye
f69b91ecca Removed a bit of useless code. 2016-08-08 08:13:03 -07:00
Martin Haye
779b61f7c0 Continued F8 refactoring. 2016-08-08 08:09:46 -07:00
Martin Haye
6c9515b63c Lots of progress toward freeing up up. 2016-08-08 07:47:01 -07:00