Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDL2 cleanup knife. #11

Merged
merged 15 commits into from
May 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 13 additions & 10 deletions README.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
(1999) Version 1.22
(2004) Version 1.4.1
(2008) Version 1.4.3
(202x) Version 1.5.x
(2024) Version 1.5.x

This game is FREE as in both BEER and SPEECH.
(Ruby and/or GPL licence)
Expand All @@ -30,15 +30,16 @@ It was originally inspired by playing Gauntlet II on the Atari ST.
___________________________________________________
*** Magic Maze and a Half ***

The 1.4.x (and subsequent 1.5.x) versions of
Magic Maze is dubbed "Magic Maze and a Half",
and is a port of MM to the language Ruby using SDL.
The 1.4.x versions of Magic Maze is dubbed "Magic Maze and a Half",
and was the initial port of MM to Ruby using SDL.

Subsequent 1.5.x versions are for porting to Ruby-SDL2 and
updating Ruby version.
It does not aim to introduce major new gameplay changes,
but some upgrades and improvements will rear their heads.

Hopefully there will be a playable version by the time
of the 10 year anniversary of the development start of
of the 30 year anniversary of the development start of
the original Turbo Pascal version, which began in
November 1994.

Expand Down Expand Up @@ -96,21 +97,23 @@ The following command-line options are available:
--fullscreen Start in fullscreen mode
--scale Scale the graphics and resolution up (1-5)
--savedir Directory to put savegame.
--datadir Asset data directory path.
--loadgame Automatically load the savegame.


___________________________________________________
*** Requirements ***

* Ruby 1.8 (or higher)
* Ruby 2.5.x, 3.2.x or higher
- http://www.ruby-lang.org/

* SDL, SDL_image, SDL_mixer (version 1.2 or higher?)
* SDL, SDL_image, SDL_mixer (version 2.25 or higher?)
- http://www.libsdl.org/

* Ruby-SDL 1.3.x (or higher)
- http://www.kmc.gr.jp/~ohai/rubysdl.en.html

* Ruby-SDL 0.3.6 (or higher)
- https://ohai.github.io/ruby-sdl2/
- Install using rubygems:
gem install ruby-sdl2
___________________________________________________
*** Web-site ***

Expand Down
Binary file removed data/gfx/background.pcx
Binary file not shown.
Binary file removed data/gfx/end.pcx
Binary file not shown.
Binary file removed data/gfx/sprites.pcx
Binary file not shown.
Binary file removed data/gfx/title.pcx
Binary file not shown.
2 changes: 1 addition & 1 deletion data/misc/com.github.kentdahl.magic_maze.desktop
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=Magicmaze
Name=Magic Maze
Comment=rescue the maiden while avoiding the monsters
Comment[de]=Rette das Burgfräulein und weiche den Monstern aus
Comment[nb]=Redd jomfruen mens du unngår monstrene
Expand Down
79 changes: 3 additions & 76 deletions doc/BUGS.TXT
Original file line number Diff line number Diff line change
@@ -1,78 +1,5 @@
## BUGS?

Please report any bugs found in issue tracker on GitHub:


__________
2008-10-30

Seems slower to start on the XO than before.

Multiple fade-in after stopping a game.



__________
2008-09-21


Title loop...
Loading level: 7
init: Player#location: 0 0
Updating checkpoint for level 7.
Game loop
./magicmaze/movement.rb:168:in `warn_could_not_find_old_entity': Moved entity not found on point of origin. (ArgumentError)
from ./magicmaze/movement.rb:128:in `set_coords!'
from ./magicmaze/movement.rb:34:in `add!'
from ./magicmaze/game.rb:35:in `move_forward'
from ./magicmaze/player.rb:90:in `move_forward'
from ./magicmaze/player.rb:145:in `send'
from ./magicmaze/player.rb:145:in `follow_impulses'
from ./magicmaze/player.rb:142:in `each'
from ./magicmaze/player.rb:142:in `follow_impulses'
... 11 levels...
from ./magicmaze/input.rb:278:in `check_input'
from ./magicmaze/magicmaze.rb:156:in `title_loop'
from ./magicmaze/magicmaze.rb:167:in `loop'





__________
2005-03-13

Coming to level 3, from level 2.

Was firing lowest attack spell (lightning) while exiting level 2.
Suddenly I could no longer fire lightning. All others were OK, just not lightning.
Tried to restart level, same problem.

Looks like the list of active spells aren't being emptied when we change levels.

Same as from 2004-10-27?


__________
2005-01-30

Level 2 - A fake wall blocks. Ditto level 9.


__________
2004-10-27

Level 3 - suddenly lowest missile spell stops working.
Upon exit, I get :
./magicmaze/movement.rb:157:in `warn_could_not_find_old_entity': Moved entity not found on point of origin. (ArgumentError)
from ./magicmaze/movement.rb:125:in `set_coords!'
from ./magicmaze/movement.rb:34:in `add!'
from ./magicmaze/game.rb:24:in `move_forward'
from ./magicmaze/player.rb:73:in `move_forward'
from ./magicmaze/player.rb:127:in `send'
from ./magicmaze/player.rb:127:in `follow_impulses'
from ./magicmaze/player.rb:124:in `each'
from ./magicmaze/player.rb:124:in `follow_impulses'
... 9 levels...
from ./magicmaze/input.rb:97:in `check_input'
from ./magicmaze/magicmaze.rb:81:in `title_loop'
from ./magicmaze/magicmaze.rb:88:in `loop'
from ./mm.rb:20
https://github.com/kentdahl/magic_maze/issues
13 changes: 9 additions & 4 deletions doc/TODO.TXT
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
TO DO
## TO DO ##

- ideas, suggestions, plans etc for Magic Maze.


Expand All @@ -16,9 +17,11 @@ MOVEMENT
* filter diagonal input for OLPC rocker game pad.

* mouse-aim
- replace mouse pointer with "wand" or "sparkly star"

* transform sprite (rotate) along movement/aim direction.
- realtime would require SGE...
-- SDL2 copy_ex probably does this.


GAMEPLAY
Expand Down Expand Up @@ -53,6 +56,7 @@ GAMEPLAY

* Map editor
- Educational; sharing maps?
-- experimental map editor exists, give '-E' option to try it out.


* Training level
Expand All @@ -73,13 +77,14 @@ MULTIPLAYER
("Can I move here? Can I shoot?") and
and distributes diffs of the gameplay
(Change tile X,Y from A to B etc)
-> separate project idea: "Magic Maze: Arcane Arena"



JOYSTICK SUPPORT
- should be easy, since SDL already provides it.

- In Linux on my home system, as root:
- needs proper testing on SDL2 version
- Old instructions:
-- In Linux on my home system, as root:
modprobe emu10k1-gp
modprobe analog
modprobe joydev
Expand Down
7 changes: 3 additions & 4 deletions magicmaze/editor/dungeonmaster.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@ module MapEditor

########################################
# The Dungeon Master - or map-editor player...
#
class DungeonMaster < Player
DM_SPELL_NAMES = {
:primary => DEFAULT_ALL_OBJECT_TILES.keys.sort{|a,b| a.to_s<=>b.to_s},
:secondary => DEFAULT_MONSTER_TILES.keys.sort{|a,b| a.to_s<=>b.to_s}
:primary => DEFAULT_ALL_OBJECT_TILES.keys.sort{|a,b| a.to_s<=>b.to_s },
:secondary => DEFAULT_MONSTER_TILES.keys.sort{|a,b| a.to_s<=>b.to_s }
}

DM_CREATE_SPELL_TILES = DEFAULT_ALL_OBJECT_TILES
Expand All @@ -41,8 +42,6 @@ def action_tick( *args )
end

def follow_impulses
# mf = @impulses[:move_forward]
# ta = @impulses[:turn_around]
IMPULSES.each{|key|
value = @impulses[key]
if value then
Expand Down
60 changes: 0 additions & 60 deletions magicmaze/engine/gosu/game.rb

This file was deleted.

Loading