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